bufio.h
资源名称:X264CODEC.rar [点击查看]
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:3k
源码类别:
流媒体/Mpeg4/MP4
开发平台:
Visual C++
- /* $Xorg: bufio.h,v 1.4 2001/02/09 02:04:04 xorgcvs Exp $ */
- /*
- Copyright 1993, 1998 The Open Group
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- Except as contained in this notice, the name of The Open Group shall
- not be used in advertising or otherwise to promote the sale, use or
- other dealings in this Software without prior written authorization
- from The Open Group.
- */
- /* $XFree86: xc/lib/font/include/bufio.h,v 1.6 2001/07/31 16:44:55 alanh Exp $ */
- #ifndef ___BUFIO_H___
- #define ___BUFIO_H___ 1
- #include <X11/Xfuncproto.h>
- #ifdef TEST
- #define xalloc(s) malloc(s)
- #define xfree(s) free(s)
- #endif
- #define BUFFILESIZE 8192
- #define BUFFILEEOF -1
- typedef unsigned char BufChar;
- typedef struct _buffile *BufFilePtr;
- typedef struct _buffile {
- BufChar *bufp;
- int left;
- int eof;
- BufChar buffer[BUFFILESIZE];
- int (*input)( BufFilePtr /* f */);
- int (*output)( int /* c */, BufFilePtr /* f */);
- int (*skip)( BufFilePtr /* f */, int /* count */);
- int (*close)( BufFilePtr /* f */, int /* doClose */);
- char *private;
- } BufFileRec;
- extern BufFilePtr BufFileCreate (
- char*,
- int (*)(BufFilePtr),
- int (*)(int, BufFilePtr),
- int (*)(BufFilePtr, int),
- int (*)(BufFilePtr, int));
- extern BufFilePtr BufFileOpenRead ( int );
- extern BufFilePtr BufFileOpenWrite ( int );
- extern BufFilePtr BufFilePushCompressed ( BufFilePtr );
- #ifdef X_GZIP_FONT_COMPRESSION
- extern BufFilePtr BufFilePushZIP ( BufFilePtr );
- #endif
- #ifdef X_BZIP2_FONT_COMPRESSION
- extern BufFilePtr BufFilePushBZIP2 ( BufFilePtr );
- #endif
- extern int BufFileClose ( BufFilePtr, int );
- extern int BufFileRead ( BufFilePtr, char*, int );
- extern int BufFileWrite ( BufFilePtr, char*, int );
- #define BufFileGet(f) ((f)->left-- ? *(f)->bufp++ : ((f)->eof = (*(f)->input) (f)))
- #define BufFilePut(c,f) (--(f)->left ? *(f)->bufp++ = ((unsigned char)(c)) : (*(f)->output) ((unsigned char)(c),f))
- #define BufFileSkip(f,c) ((f)->eof = (*(f)->skip) (f, c))
- #ifndef TRUE
- #define TRUE 1
- #endif
- #ifndef FALSE
- #define FALSE 0
- #endif
- #endif /* ___BUFIO_H___ */