72 lines
2 KiB
C
72 lines
2 KiB
C
/******************************************************************************
|
|
* Copyright (c) 2004, 2008 IBM Corporation
|
|
* All rights reserved.
|
|
* This program and the accompanying materials
|
|
* are made available under the terms of the BSD License
|
|
* which accompanies this distribution, and is available at
|
|
* http://www.opensource.org/licenses/bsd-license.php
|
|
*
|
|
* Contributors:
|
|
* IBM Corporation - initial implementation
|
|
*****************************************************************************/
|
|
|
|
#ifndef _STDIO_H
|
|
#define _STDIO_H
|
|
|
|
#include <stdarg.h>
|
|
#include "stddef.h"
|
|
|
|
#define EOF (-1)
|
|
|
|
#define _IONBF 0
|
|
#define _IOLBF 1
|
|
#define _IOFBF 2
|
|
#define BUFSIZ 80
|
|
|
|
typedef struct {
|
|
int fd;
|
|
int mode;
|
|
int pos;
|
|
char *buf;
|
|
int bufsiz;
|
|
} FILE;
|
|
|
|
extern FILE stdin_data;
|
|
extern FILE stdout_data;
|
|
extern FILE stderr_data;
|
|
|
|
#define stdin (&stdin_data)
|
|
#define stdout (&stdout_data)
|
|
#define stderr (&stderr_data)
|
|
|
|
int fileno(FILE *stream);
|
|
|
|
int _printf(const char *format, ...) __attribute__((format (printf, 1, 2)));
|
|
|
|
#ifndef pr_fmt
|
|
#define pr_fmt(fmt) fmt
|
|
#endif
|
|
|
|
#define printf(f, ...) do { _printf(pr_fmt(f), ##__VA_ARGS__); } while(0)
|
|
|
|
int fprintf(FILE *stream, const char *format, ...) __attribute__((format (printf, 2, 3)));
|
|
int snprintf(char *str, size_t size, const char *format, ...) __attribute__((format (printf, 3, 4)));
|
|
int vfprintf(FILE *stream, const char *format, va_list);
|
|
int vsnprintf(char *str, size_t size, const char *format, va_list);
|
|
void setbuf(FILE *stream, char *buf);
|
|
int setvbuf(FILE *stream, char *buf, int mode , size_t size);
|
|
|
|
int fputc(int ch, FILE *stream);
|
|
#define putc(ch, stream) fputc(ch, stream)
|
|
int putchar(int ch);
|
|
int puts(const char *str);
|
|
int fputs(const char *str, FILE *stream);
|
|
|
|
int scanf(const char *format, ...) __attribute__((format (scanf, 1, 2)));
|
|
int fscanf(FILE *stream, const char *format, ...) __attribute__((format (scanf, 2, 3)));
|
|
int vfscanf(FILE *stream, const char *format, va_list);
|
|
int vsscanf(const char *str, const char *format, va_list);
|
|
int getc(FILE *stream);
|
|
int getchar(void);
|
|
|
|
#endif
|