Re: stdio.h FILE struct definition
Re: stdio.h FILE struct definition
- Subject: Re: stdio.h FILE struct definition
- From: Andrew Pinski <email@hidden>
- Date: Wed, 13 Aug 2003 23:39:05 -0400
On Wednesday, Aug 13, 2003, at 23:30 US/Eastern, William Bug wrote:
Hi All,
We are trying to port a large image processing application that has
been compiled for various Unices in the past.
One of the sticking points is the need to specify an OS-specific FILE
struct in a .h file of it's own.
Does anyone know in what Darwin header we'd find this struct declared?
We haven't been able to track stdio.h anywhere.
stdio.h is in /usr/include/stdio.h:
typedef struct __sFILE {
unsigned char *_p; /* current position in (some) buffer */
int _r; /* read space left for getc() */
int _w; /* write space left for putc() */
short _flags; /* flags, below; this FILE is free if 0
*/
short _file; /* fileno, if Unix descriptor, else -1
*/
struct __sbuf _bf; /* the buffer (at least 1 byte, if
!NULL) */
int _lbfsize; /* 0 or -_bf._size, for inline putc */
/* operations */
void *_cookie; /* cookie passed to io functions */
int (*_close) __P((void *));
int (*_read) __P((void *, char *, int));
fpos_t (*_seek) __P((void *, fpos_t, int));
int (*_write) __P((void *, const char *, int));
/* separate buffer for long sequences of ungetc() */
struct __sbuf _ub; /* ungetc buffer */
unsigned char *_up; /* saved _p when _p is doing ungetc
data */
int _ur; /* saved _r when _r is counting ungetc
data */
/* tricks to meet minimum requirements even when malloc() fails
*/
unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */
unsigned char _nbuf[1]; /* guarantee a getc() buffer */
/* separate buffer for fgetln() when line crosses buffer
boundary */
struct __sbuf _lb; /* buffer for fgetln() */
/* Unix stdio files get aligned to block boundaries on fseek()
*/
int _blksize; /* stat.st_blksize (may be !=
_bf._size) */
fpos_t _offset; /* current lseek offset (see WARNING) */
} FILE;
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.