00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef USTDIO_H
00023 #define USTDIO_H
00024
00025 #include <stdio.h>
00026 #include <stdarg.h>
00027
00028 #include "unicode/utypes.h"
00029 #include "unicode/ucnv.h"
00030 #include "unicode/utrans.h"
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00203 #define U_EOF 0xFFFF
00204
00206 typedef struct UFILE UFILE;
00207
00213 typedef enum {
00214 U_READ = 1,
00215 U_WRITE = 2,
00216 U_READWRITE =3
00217 } UFileDirection;
00218
00236 U_DRAFT UFILE* U_EXPORT2
00237 u_fopen(const char *filename,
00238 const char *perm,
00239 const char *locale,
00240 const char *codepage);
00241
00255 U_DRAFT UFILE* U_EXPORT2
00256 u_finit(FILE *f,
00257 const char *locale,
00258 const char *codepage);
00259
00274 U_DRAFT UFILE* U_EXPORT2
00275 u_fstropen(UChar *stringBuf,
00276 int32_t capacity,
00277 const char *locale);
00278
00284 U_DRAFT void U_EXPORT2
00285 u_fclose(UFILE *file);
00286
00295 U_DRAFT UBool U_EXPORT2
00296 u_feof(UFILE *f);
00297
00306 U_DRAFT void U_EXPORT2
00307 u_fflush(UFILE *file);
00308
00314 U_DRAFT void
00315 u_frewind(UFILE *file);
00316
00323 U_DRAFT FILE* U_EXPORT2
00324 u_fgetfile(UFILE *f);
00325
00326 #if !UCONFIG_NO_FORMATTING
00327
00336 U_DRAFT const char* U_EXPORT2
00337 u_fgetlocale(UFILE *file);
00338
00347 U_DRAFT int32_t U_EXPORT2
00348 u_fsetlocale(UFILE *file,
00349 const char *locale);
00350
00351 #endif
00352
00362 U_DRAFT const char* U_EXPORT2
00363 u_fgetcodepage(UFILE *file);
00364
00380 U_DRAFT int32_t U_EXPORT2
00381 u_fsetcodepage(const char *codepage,
00382 UFILE *file);
00383
00384
00391 U_DRAFT UConverter* U_EXPORT2 u_fgetConverter(UFILE *f);
00392
00393 #if !UCONFIG_NO_FORMATTING
00394
00395
00396
00405 U_DRAFT int32_t U_EXPORT2
00406 u_fprintf(UFILE *f,
00407 const char *patternSpecification,
00408 ... );
00409
00422 U_DRAFT int32_t U_EXPORT2
00423 u_vfprintf(UFILE *f,
00424 const char *patternSpecification,
00425 va_list ap);
00426
00435 U_DRAFT int32_t U_EXPORT2
00436 u_fprintf_u(UFILE *f,
00437 const UChar *patternSpecification,
00438 ... );
00439
00452 U_DRAFT int32_t U_EXPORT2
00453 u_vfprintf_u(UFILE *f,
00454 const UChar *patternSpecification,
00455 va_list ap);
00456 #endif
00457
00467 U_DRAFT int32_t U_EXPORT2
00468 u_fputs(const UChar *s,
00469 UFILE *f);
00470
00478 U_DRAFT UChar32 U_EXPORT2
00479 u_fputc(UChar32 uc,
00480 UFILE *f);
00481
00493 U_DRAFT int32_t U_EXPORT2
00494 u_file_write(const UChar *ustring,
00495 int32_t count,
00496 UFILE *f);
00497
00498
00499
00500 #if !UCONFIG_NO_FORMATTING
00501
00511 U_DRAFT int32_t U_EXPORT2
00512 u_fscanf(UFILE *f,
00513 const char *patternSpecification,
00514 ... );
00515
00529 U_DRAFT int32_t U_EXPORT2
00530 u_vfscanf(UFILE *f,
00531 const char *patternSpecification,
00532 va_list ap);
00533
00543 U_DRAFT int32_t U_EXPORT2
00544 u_fscanf_u(UFILE *f,
00545 const UChar *patternSpecification,
00546 ... );
00547
00561 U_DRAFT int32_t U_EXPORT2
00562 u_vfscanf_u(UFILE *f,
00563 const UChar *patternSpecification,
00564 va_list ap);
00565 #endif
00566
00579 U_DRAFT UChar* U_EXPORT2
00580 u_fgets(UChar *s,
00581 int32_t n,
00582 UFILE *f);
00583
00593 U_DRAFT UChar U_EXPORT2
00594 u_fgetc(UFILE *f);
00595
00606 U_DRAFT UChar32 U_EXPORT2
00607 u_fgetcx(UFILE *f);
00608
00620 U_DRAFT UChar32 U_EXPORT2
00621 u_fungetc(UChar32 c,
00622 UFILE *f);
00623
00634 U_DRAFT int32_t U_EXPORT2
00635 u_file_read(UChar *chars,
00636 int32_t count,
00637 UFILE *f);
00638
00639 #if !UCONFIG_NO_TRANSLITERATION
00640
00658 U_DRAFT UTransliterator* U_EXPORT2
00659 u_fsettransliterator(UFILE *file, UFileDirection direction,
00660 UTransliterator *adopt, UErrorCode *status);
00661
00662 #endif
00663
00664
00665
00666 #if !UCONFIG_NO_FORMATTING
00667
00668
00679 U_DRAFT int32_t U_EXPORT2
00680 u_sprintf(UChar *buffer,
00681 const char *patternSpecification,
00682 ... );
00683
00701 U_DRAFT int32_t U_EXPORT2
00702 u_snprintf(UChar *buffer,
00703 int32_t count,
00704 const char *patternSpecification,
00705 ... );
00706
00720 U_DRAFT int32_t U_EXPORT2
00721 u_vsprintf(UChar *buffer,
00722 const char *patternSpecification,
00723 va_list ap);
00724
00745 U_DRAFT int32_t U_EXPORT2
00746 u_vsnprintf(UChar *buffer,
00747 int32_t count,
00748 const char *patternSpecification,
00749 va_list ap);
00750
00760 U_DRAFT int32_t U_EXPORT2
00761 u_sprintf_u(UChar *buffer,
00762 const UChar *patternSpecification,
00763 ... );
00764
00781 U_DRAFT int32_t U_EXPORT2
00782 u_snprintf_u(UChar *buffer,
00783 int32_t count,
00784 const UChar *patternSpecification,
00785 ... );
00786
00800 U_DRAFT int32_t U_EXPORT2
00801 u_vsprintf_u(UChar *buffer,
00802 const UChar *patternSpecification,
00803 va_list ap);
00804
00825 U_DRAFT int32_t U_EXPORT2
00826 u_vsnprintf_u(UChar *buffer,
00827 int32_t count,
00828 const UChar *patternSpecification,
00829 va_list ap);
00830
00831
00832
00843 U_DRAFT int32_t U_EXPORT2
00844 u_sscanf(const UChar *buffer,
00845 const char *patternSpecification,
00846 ... );
00847
00862 U_DRAFT int32_t U_EXPORT2
00863 u_vsscanf(const UChar *buffer,
00864 const char *patternSpecification,
00865 va_list ap);
00866
00877 U_DRAFT int32_t U_EXPORT2
00878 u_sscanf_u(const UChar *buffer,
00879 const UChar *patternSpecification,
00880 ... );
00881
00896 U_DRAFT int32_t U_EXPORT2
00897 u_vsscanf_u(const UChar *buffer,
00898 const UChar *patternSpecification,
00899 va_list ap);
00900
00901 #endif
00902 #endif
00903
00904