/* %Z%%M% %I% %E% */

/*
 * Copyright (c) 1990, 1991, 1995 by Wayne C. Gramlich.
 * All rights reserved.
 *
 * Permission to use, copy, modify, distribute, and sell this software
 * for any purpose is hereby granted without fee provided that the above
 * copyright notice and this permission are retained.  The author makes
 * no representations about the suitability of this software for any purpose.
 * It is provided "as is" without express or implied warranty.
 */

/* This file contains the module typedefs: */

#ifndef MODULE_TYPES_H
#define MODULE_TYPES_H

typedef struct Export_struct	*Export;
typedef struct Module_struct	*Module;
typedef struct Import_struct	*Import;
typedef enum Export_from_enum	Export_from;
typedef enum Export_to_enum	Export_to;

/* Defining the enum here shuts alint up! */
enum Export_from_enum {
	Export_from_all,
	Export_from_const,
	Export_from_iterator,
	Export_from_module,
	Export_from_routine,
	Export_from_type,
	Export_from_type_get,
	Export_from_type_non_set,
	Export_from_type_other,
	Export_from_type_set
};

enum Export_to_enum {
	Export_to_all,
	Export_to_iterator,
	Export_to_module,
	Export_to_routine,
	Export_to_type
};

#endif /* MODULE_TYPES_H */
