home *** CD-ROM | disk | FTP | other *** search
- /*
- *******************************************************************************
- * *
- * COPYRIGHT: *
- * (C) Copyright International Business Machines Corporation, 1998 *
- * Licensed Material - Program-Property of IBM - All Rights Reserved. *
- * US Government Users Restricted Rights - Use, duplication, or disclosure *
- * restricted by GSA ADP Schedule Contract with IBM Corp. *
- * *
- *******************************************************************************
- *
- * File ufile.h
- *
- * Modification History:
- *
- * Date Name Description
- * 12/01/98 stephen Creation.
- * 03/12/99 stephen Modified for new C API.
- * 05/26/99 stephen Created in tools/genrb from extra/ustdio.
- * Modified to use FileStream, removed LocaleBundle.
- *******************************************************************************
- */
-
- #ifndef UFILE_H
- #define UFILE_H 1
-
- #include "utypes.h"
- #include "ucnv.h"
- #include "filestrm.h"
-
- /* The buffer size for fromUnicode calls */
- #define UFILE_CHARBUFFER_SIZE 1024
-
- /* The buffer size for toUnicode calls */
- #define UFILE_UCHARBUFFER_SIZE 1024
-
- /* A UFILE */
- struct UFILE {
- FileStream *fFile; /* the actual fs interface */
- bool_t fOwnFile; /* TRUE if fFile should be closed */
-
- UConverter *fConverter; /* for codeset conversion */
-
- /* buffer used for fromUnicode */
- char fCharBuffer [UFILE_CHARBUFFER_SIZE];
-
- /* buffer used for toUnicode */
- UChar fUCBuffer [UFILE_UCHARBUFFER_SIZE];
-
- UChar *fUCLimit; /* data limit in fUCBuffer */
- UChar *fUCPos; /* current pos in fUCBuffer */
- };
- typedef struct UFILE UFILE;
-
- /**
- * Fill a UFILE's buffer with converted codepage data.
- * @param f The UFILE containing the buffer to fill.
- */
- void
- ufile_fill_uchar_buffer(UFILE *f,
- UErrorCode *status);
-
- #endif
-