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
00191 #define U_EOF 0xFFFF
00192
00194 typedef struct UFILE UFILE;
00195
00196 #ifndef U_HIDE_DRAFT_API
00197
00202 typedef enum {
00203 U_READ = 1,
00204 U_WRITE = 2,
00205 U_READWRITE =3
00206 } UFileDirection;
00207
00208 #endif
00209
00227 U_DRAFT UFILE* U_EXPORT2
00228 u_fopen(const char *filename,
00229 const char *perm,
00230 const char *locale,
00231 const char *codepage);
00232
00246 U_DRAFT UFILE* U_EXPORT2
00247 u_finit(FILE *f,
00248 const char *locale,
00249 const char *codepage);
00250
00265 U_DRAFT UFILE* U_EXPORT2
00266 u_fstropen(UChar *stringBuf,
00267 int32_t capacity,
00268 const char *locale);
00269
00275 U_DRAFT void U_EXPORT2
00276 u_fclose(UFILE *file);
00277
00286 U_DRAFT UBool U_EXPORT2
00287 u_feof(UFILE *f);
00288
00297 U_DRAFT void U_EXPORT2
00298 u_fflush(UFILE *file);
00299
00305 U_DRAFT void
00306 u_frewind(UFILE *file);
00307
00314 U_DRAFT FILE* U_EXPORT2
00315 u_fgetfile(UFILE *f);
00316
00317 #if !UCONFIG_NO_FORMATTING
00318
00327 U_DRAFT const char* U_EXPORT2
00328 u_fgetlocale(UFILE *file);
00329
00338 U_DRAFT int32_t U_EXPORT2
00339 u_fsetlocale(UFILE *file,
00340 const char *locale);
00341
00342 #endif
00343
00353 U_DRAFT const char* U_EXPORT2
00354 u_fgetcodepage(UFILE *file);
00355
00371 U_DRAFT int32_t U_EXPORT2
00372 u_fsetcodepage(const char *codepage,
00373 UFILE *file);
00374
00375
00382 U_DRAFT UConverter* U_EXPORT2 u_fgetConverter(UFILE *f);
00383
00384 #if !UCONFIG_NO_FORMATTING
00385
00386
00387
00396 U_DRAFT int32_t U_EXPORT2
00397 u_fprintf(UFILE *f,
00398 const char *patternSpecification,
00399 ... );
00400
00413 U_DRAFT int32_t U_EXPORT2
00414 u_vfprintf(UFILE *f,
00415 const char *patternSpecification,
00416 va_list ap);
00417
00426 U_DRAFT int32_t U_EXPORT2
00427 u_fprintf_u(UFILE *f,
00428 const UChar *patternSpecification,
00429 ... );
00430
00443 U_DRAFT int32_t U_EXPORT2
00444 u_vfprintf_u(UFILE *f,
00445 const UChar *patternSpecification,
00446 va_list ap);
00447 #endif
00448
00458 U_DRAFT int32_t U_EXPORT2
00459 u_fputs(const UChar *s,
00460 UFILE *f);
00461
00469 U_DRAFT UChar32 U_EXPORT2
00470 u_fputc(UChar32 uc,
00471 UFILE *f);
00472
00484 U_DRAFT int32_t U_EXPORT2
00485 u_file_write(const UChar *ustring,
00486 int32_t count,
00487 UFILE *f);
00488
00489
00490
00491 #if !UCONFIG_NO_FORMATTING
00492
00502 U_DRAFT int32_t U_EXPORT2
00503 u_fscanf(UFILE *f,
00504 const char *patternSpecification,
00505 ... );
00506
00520 U_DRAFT int32_t U_EXPORT2
00521 u_vfscanf(UFILE *f,
00522 const char *patternSpecification,
00523 va_list ap);
00524
00534 U_DRAFT int32_t U_EXPORT2
00535 u_fscanf_u(UFILE *f,
00536 const UChar *patternSpecification,
00537 ... );
00538
00552 U_DRAFT int32_t U_EXPORT2
00553 u_vfscanf_u(UFILE *f,
00554 const UChar *patternSpecification,
00555 va_list ap);
00556 #endif
00557
00570 U_DRAFT UChar* U_EXPORT2
00571 u_fgets(UChar *s,
00572 int32_t n,
00573 UFILE *f);
00574
00584 U_DRAFT UChar U_EXPORT2
00585 u_fgetc(UFILE *f);
00586
00597 U_DRAFT UChar32 U_EXPORT2
00598 u_fgetcx(UFILE *f);
00599
00611 U_DRAFT UChar32 U_EXPORT2
00612 u_fungetc(UChar32 c,
00613 UFILE *f);
00614
00625 U_DRAFT int32_t U_EXPORT2
00626 u_file_read(UChar *chars,
00627 int32_t count,
00628 UFILE *f);
00629
00630 #if !UCONFIG_NO_TRANSLITERATION
00631
00649 U_DRAFT UTransliterator* U_EXPORT2
00650 u_fsettransliterator(UFILE *file, UFileDirection direction,
00651 UTransliterator *adopt, UErrorCode *status);
00652
00653 #endif
00654
00655
00656
00657 #if !UCONFIG_NO_FORMATTING
00658
00659
00670 U_DRAFT int32_t U_EXPORT2
00671 u_sprintf(UChar *buffer,
00672 const char *patternSpecification,
00673 ... );
00674
00691 U_DRAFT int32_t U_EXPORT2
00692 u_snprintf(UChar *buffer,
00693 int32_t count,
00694 const char *patternSpecification,
00695 ... );
00696
00710 U_DRAFT int32_t U_EXPORT2
00711 u_vsprintf(UChar *buffer,
00712 const char *patternSpecification,
00713 va_list ap);
00714
00734 U_DRAFT int32_t U_EXPORT2
00735 u_vsnprintf(UChar *buffer,
00736 int32_t count,
00737 const char *patternSpecification,
00738 va_list ap);
00739
00749 U_DRAFT int32_t U_EXPORT2
00750 u_sprintf_u(UChar *buffer,
00751 const UChar *patternSpecification,
00752 ... );
00753
00769 U_DRAFT int32_t U_EXPORT2
00770 u_snprintf_u(UChar *buffer,
00771 int32_t count,
00772 const UChar *patternSpecification,
00773 ... );
00774
00788 U_DRAFT int32_t U_EXPORT2
00789 u_vsprintf_u(UChar *buffer,
00790 const UChar *patternSpecification,
00791 va_list ap);
00792
00812 U_DRAFT int32_t U_EXPORT2
00813 u_vsnprintf_u(UChar *buffer,
00814 int32_t count,
00815 const UChar *patternSpecification,
00816 va_list ap);
00817
00818
00819
00830 U_DRAFT int32_t U_EXPORT2
00831 u_sscanf(const UChar *buffer,
00832 const char *patternSpecification,
00833 ... );
00834
00849 U_DRAFT int32_t U_EXPORT2
00850 u_vsscanf(const UChar *buffer,
00851 const char *patternSpecification,
00852 va_list ap);
00853
00864 U_DRAFT int32_t U_EXPORT2
00865 u_sscanf_u(const UChar *buffer,
00866 const UChar *patternSpecification,
00867 ... );
00868
00883 U_DRAFT int32_t U_EXPORT2
00884 u_vsscanf_u(const UChar *buffer,
00885 const UChar *patternSpecification,
00886 va_list ap);
00887
00888 #endif
00889 #endif
00890
00891