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

/*
 * Copyright (c) 1990, 1991, 1993, 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.
 */

/* File exported type defintions: */

#ifndef FILE_TYPES_H
#define FILE_TYPES_H

/* Defining these enum's here will shut lint up! */

enum File_argument_enum {
	File_argument_ok,
	File_argument_none
};

/* These are the status modes returned from file_integer_read: */
enum File_integer_enum {
	File_integer_bad_digit,
	File_integer_decimal,
	File_integer_hexadecimal,
	File_integer_none,
	File_integer_octal
};

/* These are the status modes returned from file_string_read: */
enum File_string_enum {
	File_string_bad_backslash,
	File_string_bad_character,
	File_string_double_quoted,
	File_string_embedded_tab,
	File_string_none,
	File_string_single_quoted,
	File_string_unterminated
};

/* These are the status modes returned from file_symbol_read: */
enum File_symbol_enum {
	File_symbol_ok,
	File_symbol_none
};

typedef struct File_struct	*File;
typedef enum File_argument_enum	File_argument;
typedef enum File_integer_enum	File_integer;
typedef enum File_string_enum	File_string;
typedef enum File_symbol_enum	File_symbol;

#endif /* FILE_TYPES_H */

