📄 fob.h
字号:
typedef struct fob_t { FILE * fp; /* if not NULL, use stdio.h functions */ int read_byte_swap; /* if true, swap after read */ int write_byte_swap; /* if true, swap after write */ int length; /* #bytes read or written */ char * buf; /* allocated buffer pointer */ char * buf_swap; /* if the write operation requries byte*/ /* swapping, it's done here */ int bufsize; /* allocated buffer size */ char * pos; /* current position in buffer */} FOB;#define FOB_BUF_GRAN 8192#define FOBPNULL ( (FOB *) NULL )#if defined(__STDC__) || defined(__GNUC__) || defined(sgi)#define PROTO(ARGS) ARGS#else#define PROTO(ARGS) ()#endifFOB * fob_create PROTO((FILE *fp)) ;int fob_destroy PROTO((FOB *fobp)) ;int fob_fflush PROTO((FOB *fobp)) ;int fob_create2 PROTO((FILE *fpin, FILE *fpout, FOB **fobpin, FOB **fobpout)) ;int fob_destroy2 PROTO((FOB *fobpin, FOB *fobpout)) ;void fob_read_byte_swap PROTO((FOB *f)) ;void fob_write_byte_swap PROTO((FOB *f)) ;void fob_bufinit PROTO((FOB *f, char *buf, int len)) ;void fob_rewind PROTO((FOB *f)) ;int fob_ftell PROTO((FOB *f)) ;int fob_is_fp PROTO((FOB *f)) ;int fob_flush_to_fp PROTO((FOB *f, FILE *fp)) ;int fob_bufcleanup PROTO((FOB *f, char **buf, int *len)) ;int fob_bufput PROTO((FOB *fobp, char *p, int len)) ;int fob_bufget PROTO((FOB *fobp, char *p, int len)) ;void buffer_swap_bytes PROTO((char *mem, int blen)) ;void copy_buffer_swap_bytes PROTO((char *to, char *from, int blen)) ;int fob_fread PROTO((char *p, int size, int nitems, FOB *fobp)) ;int fob_fwrite PROTO((char *p, int size, int nitems, FOB *fobp)) ;int fob_putc PROTO((char c, FOB *fobp)) ;int fob_getc PROTO((FOB *fobp)) ;int fob_getw PROTO((FOB *fobp)) ;int fob_ferror PROTO((FOB *fobp)) ;int fob_feof PROTO((FOB *fobp)) ;/* * lseek & access args * * SEEK_* have to track L_* in sys/file.h & SEEK_* in 5include/stdio.h * ?_OK have to track ?_OK in sys/file.h */#ifndef SEEK_SET#define SEEK_SET 0 /* Set file pointer to "offset" */#define SEEK_CUR 1 /* Set file pointer to current plus "offset" */#define SEEK_END 2 /* Set file pointer to EOF plus "offset" */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -