132
|
1 /**
|
|
2 * D header file for POSIX.
|
|
3 *
|
|
4 * Copyright: Public Domain
|
|
5 * License: Public Domain
|
|
6 * Authors: Sean Kelly
|
|
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
|
|
8 */
|
|
9 module tango.stdc.posix.stdio;
|
|
10
|
|
11 private import tango.stdc.posix.config;
|
|
12 public import tango.stdc.stdio;
|
|
13 public import tango.stdc.posix.sys.types; // for off_t
|
|
14
|
|
15 extern (C):
|
|
16
|
|
17 //
|
|
18 // Required (defined in tango.stdc.stdio)
|
|
19 //
|
|
20 /*
|
|
21 BUFSIZ
|
|
22 _IOFBF
|
|
23 _IOLBF
|
|
24 _IONBF
|
|
25 L_tmpnam
|
|
26 SEEK_CUR
|
|
27 SEEK_END
|
|
28 SEEK_SET
|
|
29 FILENAME_MAX
|
|
30 FOPEN_MAX
|
|
31 TMP_MAX
|
|
32 EOF
|
|
33 NULL
|
|
34 stderr
|
|
35 stdin
|
|
36 stdout
|
|
37 FILE
|
|
38 fpos_t
|
|
39 size_t
|
|
40
|
|
41 void clearerr(FILE*);
|
|
42 int fclose(FILE*);
|
|
43 int feof(FILE*);
|
|
44 int ferror(FILE*);
|
|
45 int fflush(FILE*);
|
|
46 int fgetc(FILE*);
|
|
47 int fgetpos(FILE*, fpos_t *);
|
|
48 char* fgets(char*, int, FILE*);
|
|
49 FILE* fopen(char*, char*);
|
|
50 int fprintf(FILE*, char*, ...);
|
|
51 int fputc(int, FILE*);
|
|
52 int fputs(char*, FILE*);
|
|
53 size_t fread(void *, size_t, size_t, FILE*);
|
|
54 FILE* freopen(char*, char*, FILE*);
|
|
55 int fscanf(FILE*, char*, ...);
|
|
56 int fseek(FILE*, c_long, int);
|
|
57 int fsetpos(FILE*, fpos_t *);
|
|
58 c_long ftell(FILE*);
|
|
59 size_t fwrite(void *, size_t, size_t, FILE*);
|
|
60 int getc(FILE*);
|
|
61 int getchar();
|
|
62 char* gets(char*);
|
|
63 void perror(char*);
|
|
64 int printf(char*, ...);
|
|
65 int putc(int, FILE*);
|
|
66 int putchar(int);
|
|
67 int puts(char*);
|
|
68 int remove(char*);
|
|
69 int rename(char*, char*);
|
|
70 void rewind(FILE*);
|
|
71 int scanf(char*, ...);
|
|
72 void setbuf(FILE*, char*);
|
|
73 int setvbuf(FILE*, char*, int, size_t);
|
|
74 int snprintf(char*, size_t, char*, ...);
|
|
75 int sprintf(char*, char*, ...);
|
|
76 int sscanf(char*, char*, int ...);
|
|
77 FILE* tmpfile();
|
|
78 char* tmpnam(char*);
|
|
79 int ungetc(int, FILE*);
|
|
80 int vfprintf(FILE*, char*, va_list);
|
|
81 int vfscanf(FILE*, char*, va_list);
|
|
82 int vprintf(char*, va_list);
|
|
83 int vscanf(char*, va_list);
|
|
84 int vsnprintf(char*, size_t, char*, va_list);
|
|
85 int vsprintf(char*, char*, va_list);
|
|
86 int vsscanf(char*, char*, va_list arg);
|
|
87 */
|
|
88
|
|
89 //
|
|
90 // C Extension (CX)
|
|
91 //
|
|
92 /*
|
|
93 L_ctermid
|
|
94
|
|
95 char* ctermid(char*);
|
|
96 FILE* fdopen(int, char*);
|
|
97 int fileno(FILE*);
|
|
98 int fseeko(FILE*, off_t, int);
|
|
99 off_t ftello(FILE*);
|
|
100 char* gets(char*);
|
|
101 FILE* popen(char*, char*);
|
|
102 */
|
|
103
|
|
104 version( linux )
|
|
105 {
|
|
106 const L_ctermid = 9;
|
|
107 }
|
|
108
|
|
109 char* ctermid(char*);
|
|
110 FILE* fdopen(int, char*);
|
|
111 int fileno(FILE*);
|
|
112 int fseeko(FILE*, off_t, int);
|
|
113 off_t ftello(FILE*);
|
|
114 char* gets(char*);
|
|
115 FILE* popen(char*, char*);
|
|
116
|
|
117 //
|
|
118 // Thread-Safe Functions (TSF)
|
|
119 //
|
|
120 /*
|
|
121 void flockfile(FILE*);
|
|
122 int ftrylockfile(FILE*);
|
|
123 void funlockfile(FILE*);
|
|
124 int getc_unlocked(FILE*);
|
|
125 int getchar_unlocked();
|
|
126 int putc_unlocked(int, FILE*);
|
|
127 int putchar_unlocked(int);
|
|
128 */
|
|
129
|
|
130 version( linux )
|
|
131 {
|
|
132 void flockfile(FILE*);
|
|
133 int ftrylockfile(FILE*);
|
|
134 void funlockfile(FILE*);
|
|
135 int getc_unlocked(FILE*);
|
|
136 int getchar_unlocked();
|
|
137 int putc_unlocked(int, FILE*);
|
|
138 int putchar_unlocked(int);
|
|
139 }
|
|
140
|
|
141 //
|
|
142 // XOpen (XSI)
|
|
143 //
|
|
144 /*
|
|
145 P_tmpdir
|
|
146 va_list (defined in tango.stdc.stdarg)
|
|
147
|
|
148 char* tempnam(char*, char*);
|
|
149 */
|
|
150
|
|
151 version( linux )
|
|
152 {
|
|
153 const P_tmpdir = "/tmp";
|
|
154
|
|
155 char* tempnam(char*, char*);
|
|
156 }
|