Subversion Repositories Kolibri OS

Rev

Rev 6431 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6431 Rev 6432
1
#ifndef stdio_h
1
#ifndef stdio_h
2
#define stdio_h
2
#define stdio_h
3
 
3
 
4
#include "kolibrisys.h"
4
#include "kolibrisys.h"
5
#include 
5
#include 
6
/* use stdarg.h
6
/* use stdarg.h
7
typedef char *va_list;
7
typedef char *va_list;
8
#define _roundsize(n)    ( (sizeof(n) + 3) & ~3 )
8
#define _roundsize(n)    ( (sizeof(n) + 3) & ~3 )
9
#define va_start(ap,v) (ap = (va_list)&v+_roundsize(v))
9
#define va_start(ap,v) (ap = (va_list)&v+_roundsize(v))
10
#define va_arg(ap,t)    ( *(t *)((ap += _roundsize(t)) - _roundsize(t)) )
10
#define va_arg(ap,t)    ( *(t *)((ap += _roundsize(t)) - _roundsize(t)) )
11
#define va_end(ap) (ap = (va_list)0)
11
#define va_end(ap) (ap = (va_list)0)
12
*/
12
*/
13
#ifndef NULL
13
#ifndef NULL
14
# define NULL ((void*)0)
14
# define NULL ((void*)0)
15
#endif
15
#endif
16
 
16
 
17
int format_print(char *dest, size_t maxlen,const char *fmt0, va_list argp);
17
int format_print(char *dest, size_t maxlen,const char *fmt0, va_list argp);
18
 
18
 
19
typedef struct {
19
typedef struct {
20
  char*   buffer;
20
  char*   buffer;
21
  dword   buffersize;
21
  dword   buffersize;
22
  dword   filesize;
22
  dword   filesize;
23
  dword   filepos;
23
  dword   filepos;
24
  char*   filename;
24
  char*   filename;
25
  int     mode;
25
  int     mode;
26
} FILE;
26
} FILE;
27
 
27
 
28
#define stderr ((FILE*)3) /* works inly for fprintf!!! */
28
#define stderr ((FILE*)3) /* works inly for fprintf!!! */
29
 
29
 
30
 
30
 
31
#define FILE_OPEN_READ 0
31
#define FILE_OPEN_READ 0
32
#define FILE_OPEN_WRITE 1
32
#define FILE_OPEN_WRITE 1
33
#define FILE_OPEN_APPEND 2
33
#define FILE_OPEN_APPEND 2
34
#define FILE_OPEN_TEXT 4
34
#define FILE_OPEN_TEXT 4
35
#define FILE_OPEN_PLUS 8
35
#define FILE_OPEN_PLUS 8
36
#define EOF -1
36
#define EOF -1
37
 
37
 
38
extern FILE* fopen(const char* filename, const char *mode);
38
extern FILE* fopen(const char* filename, const char *mode);
39
extern void fclose(FILE* file);
39
extern void fclose(FILE* file);
40
extern int feof(FILE* file);
40
extern int feof(FILE* file);
41
extern int fflush(FILE* file);
41
extern int fflush(FILE* file);
42
extern int fgetc(FILE* file);
42
extern int fgetc(FILE* file);
43
extern int fgetpos(FILE* file,fpos_t* pos);
43
extern int fgetpos(FILE* file,fpos_t* pos);
44
extern int fsetpos(FILE* file,const fpos_t* pos);
44
extern int fsetpos(FILE* file,const fpos_t* pos);
45
extern int fputc(int c,FILE* file);
45
extern int fputc(int c,FILE* file);
46
extern int fread(void* buffer,int size,int count,FILE* file);
46
extern int fread(void* buffer,int size,int count,FILE* file);
47
extern int fwrite(void *buffer,int size,int count,FILE* file);
47
extern int fwrite(void *buffer,int size,int count,FILE* file);
48
extern long ftell(FILE* file);
48
extern long ftell(FILE* file);
49
#define SEEK_CUR 0
49
#define SEEK_CUR 0
50
#define SEEK_END 1
50
#define SEEK_END 1
51
#define SEEK_SET 2
51
#define SEEK_SET 2
52
extern int fseek(FILE* file,long offset,int origin);
52
extern int fseek(FILE* file,long offset,int origin);
53
extern void rewind(FILE* file);
53
extern void rewind(FILE* file);
54
extern int cdecl fprintf(FILE* file, const char* format,...);
54
extern int cdecl fprintf(FILE* file, const char* format,...);
55
extern int fscanf(FILE* file,const char* format,...);
55
extern int fscanf(FILE* file,const char* format,...);
56
extern int ungetc(int c,FILE* file);
56
extern int ungetc(int c,FILE* file);
57
 
57
 
58
extern int cdecl printf(const char *format,...);
58
extern int cdecl printf(const char *format,...);
59
 
59
 
60
extern int vsnprintf(char *dest, size_t size,const char *format,va_list ap);
60
extern int vsnprintf(char *dest, size_t size,const char *format,va_list ap);
61
extern int cdecl snprintf(char *dest, size_t size, const char *format,...);
61
extern int cdecl snprintf(char *dest, size_t size, const char *format,...);
62
extern int cdecl sprintf(char *dest,const char *format,...);
62
extern int cdecl sprintf(char *dest,const char *format,...);
63
 
63
 
64
#define getc(a) fgetc(a)
64
#define getc(a) fgetc(a)
65
char * fgets (char * str, int num, FILE * stream);
65
char * fgets (char * str, int num, FILE * stream);
66
int putchar (int ch);
66
int putchar (int ch);
67
int getchar (void);
67
int getchar (void);
68
int puts (const char * str);
68
int puts (const char * str);
69
char * gets (char * str);
69
char * gets (char * str);
70
 
70
 
71
typedef int (*virtual_getc)(void *sp, const void *obj);
71
typedef int (*virtual_getc)(void *sp, const void *obj);
72
typedef void (*virtual_ungetc)(void *sp, int c, const void *obj);
72
typedef void (*virtual_ungetc)(void *sp, int c, const void *obj);
73
int format_scan(const void *src, const char *fmt, va_list argp, virtual_getc vgetc, virtual_ungetc vungetc);
73
int format_scan(const void *src, const char *fmt, va_list argp, virtual_getc vgetc, virtual_ungetc vungetc);
-
 
74
int vscanf ( const char * format, va_list arg );
-
 
75
int scanf ( const char * format, ...);
-
 
76
int vsscanf ( const char * s, const char * format, va_list arg );
-
 
77
int sscanf ( const char * s, const char * format, ...);
-
 
78
int vfscanf ( FILE * stream, const char * format, va_list arg );
-
 
79
 
-
 
80
 
74
 
81
 
75
#endif
82
#endif