12e5b6d6dSopenharmony_ci// © 2016 and later: Unicode, Inc. and others. 22e5b6d6dSopenharmony_ci// License & terms of use: http://www.unicode.org/copyright.html 32e5b6d6dSopenharmony_ci/* 42e5b6d6dSopenharmony_ci****************************************************************************** 52e5b6d6dSopenharmony_ci* 62e5b6d6dSopenharmony_ci* Copyright (C) 1997-2005, International Business Machines 72e5b6d6dSopenharmony_ci* Corporation and others. All Rights Reserved. 82e5b6d6dSopenharmony_ci* 92e5b6d6dSopenharmony_ci****************************************************************************** 102e5b6d6dSopenharmony_ci* 112e5b6d6dSopenharmony_ci* File FILESTRM.H 122e5b6d6dSopenharmony_ci* 132e5b6d6dSopenharmony_ci* Contains FileStream interface 142e5b6d6dSopenharmony_ci* 152e5b6d6dSopenharmony_ci* @author Glenn Marcy 162e5b6d6dSopenharmony_ci* 172e5b6d6dSopenharmony_ci* Modification History: 182e5b6d6dSopenharmony_ci* 192e5b6d6dSopenharmony_ci* Date Name Description 202e5b6d6dSopenharmony_ci* 5/8/98 gm Created. 212e5b6d6dSopenharmony_ci* 03/02/99 stephen Reordered params in ungetc to match stdio 222e5b6d6dSopenharmony_ci* Added wopen 232e5b6d6dSopenharmony_ci* 242e5b6d6dSopenharmony_ci****************************************************************************** 252e5b6d6dSopenharmony_ci*/ 262e5b6d6dSopenharmony_ci 272e5b6d6dSopenharmony_ci#ifndef FILESTRM_H 282e5b6d6dSopenharmony_ci#define FILESTRM_H 292e5b6d6dSopenharmony_ci 302e5b6d6dSopenharmony_ci#include "unicode/utypes.h" 312e5b6d6dSopenharmony_ci 322e5b6d6dSopenharmony_citypedef struct _FileStream FileStream; 332e5b6d6dSopenharmony_ci 342e5b6d6dSopenharmony_ciU_CAPI FileStream* U_EXPORT2 352e5b6d6dSopenharmony_ciT_FileStream_open(const char* filename, const char* mode); 362e5b6d6dSopenharmony_ci 372e5b6d6dSopenharmony_ci/* 382e5b6d6dSopenharmony_ciU_CAPI FileStream* U_EXPORT2 392e5b6d6dSopenharmony_ciT_FileStream_wopen(const wchar_t* filename, const wchar_t* mode); 402e5b6d6dSopenharmony_ci*/ 412e5b6d6dSopenharmony_ciU_CAPI void U_EXPORT2 422e5b6d6dSopenharmony_ciT_FileStream_close(FileStream* fileStream); 432e5b6d6dSopenharmony_ci 442e5b6d6dSopenharmony_ciU_CAPI UBool U_EXPORT2 452e5b6d6dSopenharmony_ciT_FileStream_file_exists(const char* filename); 462e5b6d6dSopenharmony_ci 472e5b6d6dSopenharmony_ci/* 482e5b6d6dSopenharmony_ciU_CAPI FileStream* U_EXPORT2 492e5b6d6dSopenharmony_ciT_FileStream_tmpfile(void); 502e5b6d6dSopenharmony_ci*/ 512e5b6d6dSopenharmony_ci 522e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2 532e5b6d6dSopenharmony_ciT_FileStream_read(FileStream* fileStream, void* addr, int32_t len); 542e5b6d6dSopenharmony_ci 552e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2 562e5b6d6dSopenharmony_ciT_FileStream_write(FileStream* fileStream, const void* addr, int32_t len); 572e5b6d6dSopenharmony_ci 582e5b6d6dSopenharmony_ciU_CAPI void U_EXPORT2 592e5b6d6dSopenharmony_ciT_FileStream_rewind(FileStream* fileStream); 602e5b6d6dSopenharmony_ci 612e5b6d6dSopenharmony_ci/*Added by Bertrand A. D. */ 622e5b6d6dSopenharmony_ciU_CAPI char * U_EXPORT2 632e5b6d6dSopenharmony_ciT_FileStream_readLine(FileStream* fileStream, char* buffer, int32_t length); 642e5b6d6dSopenharmony_ci 652e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2 662e5b6d6dSopenharmony_ciT_FileStream_writeLine(FileStream* fileStream, const char* buffer); 672e5b6d6dSopenharmony_ci 682e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2 692e5b6d6dSopenharmony_ciT_FileStream_putc(FileStream* fileStream, int32_t ch); 702e5b6d6dSopenharmony_ci 712e5b6d6dSopenharmony_ciU_CAPI int U_EXPORT2 722e5b6d6dSopenharmony_ciT_FileStream_getc(FileStream* fileStream); 732e5b6d6dSopenharmony_ci 742e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2 752e5b6d6dSopenharmony_ciT_FileStream_ungetc(int32_t ch, FileStream *fileStream); 762e5b6d6dSopenharmony_ci 772e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2 782e5b6d6dSopenharmony_ciT_FileStream_peek(FileStream* fileStream); 792e5b6d6dSopenharmony_ci 802e5b6d6dSopenharmony_ciU_CAPI int32_t U_EXPORT2 812e5b6d6dSopenharmony_ciT_FileStream_size(FileStream* fileStream); 822e5b6d6dSopenharmony_ci 832e5b6d6dSopenharmony_ciU_CAPI int U_EXPORT2 842e5b6d6dSopenharmony_ciT_FileStream_eof(FileStream* fileStream); 852e5b6d6dSopenharmony_ci 862e5b6d6dSopenharmony_ciU_CAPI int U_EXPORT2 872e5b6d6dSopenharmony_ciT_FileStream_error(FileStream* fileStream); 882e5b6d6dSopenharmony_ci 892e5b6d6dSopenharmony_ci/* 902e5b6d6dSopenharmony_ciU_CAPI void U_EXPORT2 912e5b6d6dSopenharmony_ciT_FileStream_setError(FileStream* fileStream); 922e5b6d6dSopenharmony_ci*/ 932e5b6d6dSopenharmony_ci 942e5b6d6dSopenharmony_ciU_CAPI FileStream* U_EXPORT2 952e5b6d6dSopenharmony_ciT_FileStream_stdin(void); 962e5b6d6dSopenharmony_ci 972e5b6d6dSopenharmony_ciU_CAPI FileStream* U_EXPORT2 982e5b6d6dSopenharmony_ciT_FileStream_stdout(void); 992e5b6d6dSopenharmony_ci 1002e5b6d6dSopenharmony_ciU_CAPI FileStream* U_EXPORT2 1012e5b6d6dSopenharmony_ciT_FileStream_stderr(void); 1022e5b6d6dSopenharmony_ci 1032e5b6d6dSopenharmony_ciU_CAPI UBool U_EXPORT2 1042e5b6d6dSopenharmony_ciT_FileStream_remove(const char* fileName); 1052e5b6d6dSopenharmony_ci 1062e5b6d6dSopenharmony_ci#endif /* _FILESTRM*/ 107