#ifndef _CUPS_FILE_H_
# define _CUPS_FILE_H_
# include <sys/types.h>
# if defined(WIN32) && !defined(__CUPS_SSIZE_T_DEFINED)
# define __CUPS_SSIZE_T_DEFINED
typedef off_t ssize_t;
# endif
# ifdef __cplusplus
extern "C" {
# endif
# define CUPS_FILE_NONE 0
# define CUPS_FILE_GZIP 1
typedef struct _cups_file_s cups_file_t;
extern int cupsFileClose(cups_file_t *fp);
extern int cupsFileCompression(cups_file_t *fp);
extern int cupsFileEOF(cups_file_t *fp);
extern const char *cupsFileFind(const char *filename, const char *path,
int executable, char *buffer,
int bufsize);
extern int cupsFileFlush(cups_file_t *fp);
extern int cupsFileGetChar(cups_file_t *fp);
extern char *cupsFileGetConf(cups_file_t *fp, char *buf, size_t buflen,
char **value, int *linenum);
extern size_t cupsFileGetLine(cups_file_t *fp, char *buf,
size_t buflen);
extern char *cupsFileGets(cups_file_t *fp, char *buf, size_t buflen);
extern int cupsFileLock(cups_file_t *fp, int block);
extern int cupsFileNumber(cups_file_t *fp);
extern cups_file_t *cupsFileOpen(const char *filename, const char *mode);
extern cups_file_t *cupsFileOpenFd(int fd, const char *mode);
extern int cupsFilePeekChar(cups_file_t *fp);
extern int cupsFilePrintf(cups_file_t *fp, const char *format, ...);
extern int cupsFilePutChar(cups_file_t *fp, int c);
extern int cupsFilePuts(cups_file_t *fp, const char *s);
extern ssize_t cupsFileRead(cups_file_t *fp, char *buf, size_t bytes);
extern off_t cupsFileRewind(cups_file_t *fp);
extern off_t cupsFileSeek(cups_file_t *fp, off_t pos);
extern cups_file_t *cupsFileStderr(void);
extern cups_file_t *cupsFileStdin(void);
extern cups_file_t *cupsFileStdout(void);
extern off_t cupsFileTell(cups_file_t *fp);
extern int cupsFileUnlock(cups_file_t *fp);
extern ssize_t cupsFileWrite(cups_file_t *fp, const char *buf, size_t bytes);
# ifdef __cplusplus
}
# endif
#endif