亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jas_stream.h

?? JPEG2000是以小波變換為基礎(chǔ)
?? H
字號:
/* * Copyright (c) 1999-2000 Image Power, Inc. and the University of *   British Columbia. * Copyright (c) 2001-2003 Michael David Adams. * All rights reserved. *//* __START_OF_JASPER_LICENSE__ *  * JasPer License Version 2.0 *  * Copyright (c) 2001-2006 Michael David Adams * Copyright (c) 1999-2000 Image Power, Inc. * Copyright (c) 1999-2000 The University of British Columbia *  * All rights reserved. *  * Permission is hereby granted, free of charge, to any person (the * "User") obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without restriction, * including without limitation the rights to use, copy, modify, merge, * publish, distribute, and/or sell copies of the Software, and to permit * persons to whom the Software is furnished to do so, subject to the * following conditions: *  * 1.  The above copyright notices and this permission notice (which * includes the disclaimer below) shall be included in all copies or * substantial portions of the Software. *  * 2.  The name of a copyright holder shall not be used to endorse or * promote products derived from the Software without specific prior * written permission. *  * THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS * LICENSE.  NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER * THIS DISCLAIMER.  THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS * "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 OF THIRD PARTY RIGHTS.  IN NO * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.  NO ASSURANCES ARE * PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE * THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. * EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS * BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL * PROPERTY RIGHTS OR OTHERWISE.  AS A CONDITION TO EXERCISING THE RIGHTS * GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE * ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY.  THE SOFTWARE * IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL * SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, * AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL * SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH * THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, * PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH * RISK ACTIVITIES").  THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY * EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. *  * __END_OF_JASPER_LICENSE__ *//* * I/O Stream Class * * $Id$ */#ifndef JAS_STREAM_H#define JAS_STREAM_H/******************************************************************************\* Includes.\******************************************************************************/#include <jasper/jas_config.h>#include <stdio.h>#if defined(HAVE_FCNTL_H)#include <fcntl.h>#endif#include <string.h>#if defined(HAVE_UNISTD_H)#include <unistd.h>#endif#include <jasper/jas_types.h>#ifdef __cplusplusextern "C" {#endif/******************************************************************************\* Constants.\******************************************************************************//* On most UNIX systems, we probably need to define O_BINARY ourselves. */#ifndef O_BINARY#define O_BINARY	0#endif/* * Stream open flags. *//* The stream was opened for reading. */#define JAS_STREAM_READ	0x0001/* The stream was opened for writing. */#define JAS_STREAM_WRITE	0x0002/* The stream was opened for appending. */#define JAS_STREAM_APPEND	0x0004/* The stream was opened in binary mode. */#define JAS_STREAM_BINARY	0x0008/* The stream should be created/truncated. */#define JAS_STREAM_CREATE	0x0010/* * Stream buffering flags. *//* The stream is unbuffered. */#define JAS_STREAM_UNBUF	0x0000/* The stream is line buffered. */#define JAS_STREAM_LINEBUF	0x0001/* The stream is fully buffered. */#define JAS_STREAM_FULLBUF	0x0002/* The buffering mode mask. */#define	JAS_STREAM_BUFMODEMASK	0x000f/* The memory associated with the buffer needs to be deallocated when the  stream is destroyed. */#define JAS_STREAM_FREEBUF	0x0008/* The buffer is currently being used for reading. */#define JAS_STREAM_RDBUF	0x0010/* The buffer is currently being used for writing. */#define JAS_STREAM_WRBUF	0x0020/* * Stream error flags. *//* The end-of-file has been encountered (on reading). */#define JAS_STREAM_EOF	0x0001/* An I/O error has been encountered on the stream. */#define JAS_STREAM_ERR	0x0002/* The read/write limit has been exceeded. */#define	JAS_STREAM_RWLIMIT	0x0004/* The error mask. */#define JAS_STREAM_ERRMASK \	(JAS_STREAM_EOF | JAS_STREAM_ERR | JAS_STREAM_RWLIMIT)/* * Other miscellaneous constants. *//* The default buffer size (for fully-buffered operation). */#define JAS_STREAM_BUFSIZE	8192/* The default permission mask for file creation. */#define JAS_STREAM_PERMS	0666/* The maximum number of characters that can always be put back on a stream. */#define	JAS_STREAM_MAXPUTBACK	16/******************************************************************************\* Types.\******************************************************************************//* * Generic file object. */typedef void jas_stream_obj_t;/* * Generic file object operations. */typedef struct {	/* Read characters from a file object. */	int (*read_)(jas_stream_obj_t *obj, char *buf, int cnt);	/* Write characters to a file object. */	int (*write_)(jas_stream_obj_t *obj, char *buf, int cnt);	/* Set the position for a file object. */	long (*seek_)(jas_stream_obj_t *obj, long offset, int origin);	/* Close a file object. */	int (*close_)(jas_stream_obj_t *obj);} jas_stream_ops_t;/* * Stream object. */typedef struct {	/* The mode in which the stream was opened. */	int openmode_;	/* The buffering mode. */	int bufmode_;	/* The stream status. */	int flags_;	/* The start of the buffer area to use for reading/writing. */	uchar *bufbase_;	/* The start of the buffer area excluding the extra initial space for	  character putback. */	uchar *bufstart_;	/* The buffer size. */	int bufsize_;	/* The current position in the buffer. */	uchar *ptr_;	/* The number of characters that must be read/written before	the buffer needs to be filled/flushed. */	int cnt_;	/* A trivial buffer to be used for unbuffered operation. */	uchar tinybuf_[JAS_STREAM_MAXPUTBACK + 1];	/* The operations for the underlying stream file object. */	jas_stream_ops_t *ops_;	/* The underlying stream file object. */	jas_stream_obj_t *obj_;	/* The number of characters read/written. */	long rwcnt_;	/* The maximum number of characters that may be read/written. */	long rwlimit_;} jas_stream_t;/* * Regular file object. *//* * File descriptor file object. */typedef struct {	int fd;	int flags;	char pathname[L_tmpnam + 1];} jas_stream_fileobj_t;#define	JAS_STREAM_FILEOBJ_DELONCLOSE	0x01#define JAS_STREAM_FILEOBJ_NOCLOSE	0x02/* * Memory file object. */typedef struct {	/* The data associated with this file. */	uchar *buf_;	/* The allocated size of the buffer for holding file data. */	int bufsize_;	/* The length of the file. */	int_fast32_t len_;	/* The seek position. */	int_fast32_t pos_;	/* Is the buffer growable? */	int growable_;	/* Was the buffer allocated internally? */	int myalloc_;} jas_stream_memobj_t;/******************************************************************************\* Macros/functions for opening and closing streams.\******************************************************************************//* Open a file as a stream. */jas_stream_t *jas_stream_fopen(const char *filename, const char *mode);/* Open a memory buffer as a stream. */jas_stream_t *jas_stream_memopen(char *buf, int bufsize);/* Open a file descriptor as a stream. */jas_stream_t *jas_stream_fdopen(int fd, const char *mode);/* Open a stdio stream as a stream. */jas_stream_t *jas_stream_freopen(const char *path, const char *mode, FILE *fp);/* Open a temporary file as a stream. */jas_stream_t *jas_stream_tmpfile(void);/* Close a stream. */int jas_stream_close(jas_stream_t *stream);/******************************************************************************\* Macros/functions for getting/setting the stream state.\******************************************************************************//* Get the EOF indicator for a stream. */#define jas_stream_eof(stream) \	(((stream)->flags_ & JAS_STREAM_EOF) != 0)/* Get the error indicator for a stream. */#define jas_stream_error(stream) \	(((stream)->flags_ & JAS_STREAM_ERR) != 0)/* Clear the error indicator for a stream. */#define jas_stream_clearerr(stream) \	((stream)->flags_ &= ~(JAS_STREAM_ERR | JAS_STREAM_EOF))/* Get the read/write limit for a stream. */#define	jas_stream_getrwlimit(stream) \	(((const jas_stream_t *)(stream))->rwlimit_)/* Set the read/write limit for a stream. */int jas_stream_setrwlimit(jas_stream_t *stream, long rwlimit);/* Get the read/write count for a stream. */#define	jas_stream_getrwcount(stream) \	(((const jas_stream_t *)(stream))->rwcnt_)/* Set the read/write count for a stream. */long jas_stream_setrwcount(jas_stream_t *stream, long rwcnt);/******************************************************************************\* Macros/functions for I/O.\******************************************************************************//* Read a character from a stream. */#if defined(DEBUG)#define	jas_stream_getc(stream)	jas_stream_getc_func(stream)#else#define jas_stream_getc(stream)	jas_stream_getc_macro(stream)#endif/* Write a character to a stream. */#if defined(DEBUG)#define jas_stream_putc(stream, c)	jas_stream_putc_func(stream, c)#else#define jas_stream_putc(stream, c)	jas_stream_putc_macro(stream, c)#endif/* Read characters from a stream into a buffer. */int jas_stream_read(jas_stream_t *stream, void *buf, int cnt);/* Write characters from a buffer to a stream. */int jas_stream_write(jas_stream_t *stream, const void *buf, int cnt);/* Write formatted output to a stream. */int jas_stream_printf(jas_stream_t *stream, const char *fmt, ...);/* Write a string to a stream. */int jas_stream_puts(jas_stream_t *stream, const char *s);/* Read a line of input from a stream. */char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize);/* Look at the next character to be read from a stream without actually  removing it from the stream. */#define	jas_stream_peekc(stream) \	(((stream)->cnt_ <= 0) ? jas_stream_fillbuf(stream, 0) : \	  ((int)(*(stream)->ptr_)))/* Put a character back on a stream. */int jas_stream_ungetc(jas_stream_t *stream, int c);/******************************************************************************\* Macros/functions for getting/setting the stream position.\******************************************************************************//* Is it possible to seek on this stream? */int jas_stream_isseekable(jas_stream_t *stream);/* Set the current position within the stream. */long jas_stream_seek(jas_stream_t *stream, long offset, int origin);/* Get the current position within the stream. */long jas_stream_tell(jas_stream_t *stream);/* Seek to the beginning of a stream. */int jas_stream_rewind(jas_stream_t *stream);/******************************************************************************\* Macros/functions for flushing.\******************************************************************************//* Flush any pending output to a stream. */int jas_stream_flush(jas_stream_t *stream);/******************************************************************************\* Miscellaneous macros/functions.\******************************************************************************//* Copy data from one stream to another. */int jas_stream_copy(jas_stream_t *dst, jas_stream_t *src, int n);/* Display stream contents (for debugging purposes). */int jas_stream_display(jas_stream_t *stream, FILE *fp, int n);/* Consume (i.e., discard) characters from stream. */int jas_stream_gobble(jas_stream_t *stream, int n);/* Write a character multiple times to a stream. */int jas_stream_pad(jas_stream_t *stream, int n, int c);/* Get the size of the file associated with the specified stream.  The specified stream must be seekable. */long jas_stream_length(jas_stream_t *stream);/******************************************************************************\* Internal functions.\******************************************************************************//* The following functions are for internal use only!  If you call themdirectly, you will die a horrible, miserable, and painful death! *//* Read a character from a stream. */#define jas_stream_getc_macro(stream) \	((!((stream)->flags_ & (JAS_STREAM_ERR | JAS_STREAM_EOF | \	  JAS_STREAM_RWLIMIT))) ? \	  (((stream)->rwlimit_ >= 0 && (stream)->rwcnt_ >= (stream)->rwlimit_) ? \	  (stream->flags_ |= JAS_STREAM_RWLIMIT, EOF) : \	  jas_stream_getc2(stream)) : EOF)#define jas_stream_getc2(stream) \	((--(stream)->cnt_ < 0) ? jas_stream_fillbuf(stream, 1) : \	  (++(stream)->rwcnt_, (int)(*(stream)->ptr_++)))/* Write a character to a stream. */#define jas_stream_putc_macro(stream, c) \	((!((stream)->flags_ & (JAS_STREAM_ERR | JAS_STREAM_EOF | \	  JAS_STREAM_RWLIMIT))) ? \	  (((stream)->rwlimit_ >= 0 && (stream)->rwcnt_ >= (stream)->rwlimit_) ? \	  (stream->flags_ |= JAS_STREAM_RWLIMIT, EOF) : \	  jas_stream_putc2(stream, c)) : EOF)#define jas_stream_putc2(stream, c) \	(((stream)->bufmode_ |= JAS_STREAM_WRBUF, --(stream)->cnt_ < 0) ? \	  jas_stream_flushbuf((stream), (uchar)(c)) : \	  (++(stream)->rwcnt_, (int)(*(stream)->ptr_++ = (c))))/* These prototypes need to be here for the sake of the stream_getc andstream_putc macros. */int jas_stream_fillbuf(jas_stream_t *stream, int getflag);int jas_stream_flushbuf(jas_stream_t *stream, int c);int jas_stream_getc_func(jas_stream_t *stream);int jas_stream_putc_func(jas_stream_t *stream, int c);#ifdef __cplusplus}#endif#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频一区| 精品奇米国产一区二区三区| 国产精品国产三级国产三级人妇| 韩国成人精品a∨在线观看| 欧美videofree性高清杂交| 久久精品免费看| 久久免费午夜影院| 成人va在线观看| 夜夜爽夜夜爽精品视频| 欧美一区二区在线看| 美女在线观看视频一区二区| 久久综合色之久久综合| 国产成人精品免费看| 中文字幕中文字幕一区| 欧美三区在线观看| 美女任你摸久久| 欧美国产丝袜视频| 欧美制服丝袜第一页| 美女尤物国产一区| 国产精品久久福利| 欧美日韩专区在线| 国产一区二区不卡| 一区二区三区日韩在线观看| 欧美一级久久久| av一二三不卡影片| 丝袜亚洲另类欧美| 久久九九久久九九| 欧美日韩国产一级片| 激情都市一区二区| 亚洲一区在线看| 久久久久久久久99精品| 欧美在线观看一区二区| 国产夫妻精品视频| 亚洲成年人影院| 国产亚洲欧美色| 欧美精品 国产精品| 不卡的av电影| 另类综合日韩欧美亚洲| 亚洲人成精品久久久久久| 日韩欧美一区二区视频| 99精品欧美一区二区蜜桃免费| 日本最新不卡在线| 亚洲色图欧洲色图婷婷| 精品区一区二区| 欧美日韩国产在线播放网站| 国产69精品久久久久毛片| 日本欧美一区二区| 亚洲综合色婷婷| 国产精品免费视频一区| 精品日韩欧美一区二区| 欧美日韩久久久久久| a亚洲天堂av| 国产成人亚洲综合a∨婷婷图片 | 欧美怡红院视频| 国产精品伊人色| 麻豆国产精品官网| 日韩中文字幕1| 亚洲一区在线看| 最新成人av在线| 中文字幕乱码亚洲精品一区| 欧美裸体bbwbbwbbw| 日本道在线观看一区二区| 国产91在线|亚洲| 国产精品99久久久久久似苏梦涵| 免费在线看成人av| 午夜精品久久久| 亚洲在线观看免费视频| 亚洲色图视频网站| 日韩美女视频一区二区| 国产精品蜜臀在线观看| 日本一区二区高清| 国产亚洲欧美中文| 国产亚洲欧美日韩日本| 久久久久久免费| 国产视频一区二区在线| 久久久久久久久久久电影| 精品久久一二三区| 久久久久久日产精品| 久久久精品天堂| 国产亚洲精品超碰| 日本一区二区三级电影在线观看 | 国产电影一区在线| 国产99久久久久| av一区二区久久| 99re这里只有精品视频首页| www.日韩在线| 91女神在线视频| 欧美丝袜自拍制服另类| 欧美吻胸吃奶大尺度电影| 色呦呦国产精品| 精品1区2区3区| 欧美一区三区二区| 精品国产欧美一区二区| 久久久精品日韩欧美| 国产区在线观看成人精品| 国产精品日产欧美久久久久| 亚洲视频在线一区| 亚洲国产欧美日韩另类综合 | 久久欧美一区二区| 日本一区二区免费在线| 亚洲三级视频在线观看| 亚洲第一电影网| 狠狠狠色丁香婷婷综合激情| 国产成人综合亚洲91猫咪| www..com久久爱| 欧美日韩一区三区| 精品国产免费人成在线观看| 中国色在线观看另类| 亚洲韩国一区二区三区| 久久国产夜色精品鲁鲁99| 不卡视频在线观看| 欧美精品久久久久久久久老牛影院| 日韩午夜激情免费电影| 国产精品国产三级国产aⅴ入口| 亚洲自拍偷拍综合| 久久成人免费日本黄色| 成人av综合在线| 91麻豆精品久久久久蜜臀| 久久久高清一区二区三区| 亚洲欧美aⅴ...| 久久er99热精品一区二区| gogo大胆日本视频一区| 777亚洲妇女| 中国av一区二区三区| 日韩国产精品久久久| 成人高清视频在线| 日韩午夜av一区| 一区二区三区资源| 精品一区二区免费| 在线观看av一区二区| 久久久噜噜噜久久中文字幕色伊伊| 亚洲另类春色校园小说| 国产精品538一区二区在线| 欧美色大人视频| 专区另类欧美日韩| 狠狠色丁香久久婷婷综合_中 | 亚洲国产成人在线| 蜜芽一区二区三区| 色婷婷av一区二区三区软件| 久久先锋影音av鲁色资源网| 五月激情综合婷婷| 99精品黄色片免费大全| 久久免费视频一区| 奇米色777欧美一区二区| 欧美综合色免费| 成人免费一区二区三区视频| 极品少妇一区二区| 欧美久久久久免费| 夜夜嗨av一区二区三区中文字幕 | 韩国精品在线观看| 欧美一区二区观看视频| 亚洲国产一区二区三区| www.亚洲国产| 国产精品素人一区二区| 九九在线精品视频| 欧美一级专区免费大片| 亚洲一级二级在线| 91麻豆国产自产在线观看| 国产亚洲美州欧州综合国| 黑人精品欧美一区二区蜜桃| 91精品国产免费| 亚洲成av人**亚洲成av**| 在线观看日韩高清av| 亚洲黄色小说网站| 色狠狠一区二区| 亚洲综合一区在线| 91黄色激情网站| 亚洲国产精品久久不卡毛片 | 成人午夜短视频| 中文字幕高清不卡| av欧美精品.com| 亚洲视频电影在线| 在线观看视频一区| 亚洲不卡av一区二区三区| 欧美精品在欧美一区二区少妇| 亚洲成人1区2区| 欧美一二三区精品| 国内成+人亚洲+欧美+综合在线 | 国产欧美综合在线观看第十页 | 成人午夜电影久久影院| 欧美极品xxx| 91视频一区二区| 亚洲永久精品国产| 91精品国产色综合久久| 美女网站色91| 欧美国产一区视频在线观看| 99久久免费视频.com| 亚洲一区二区三区视频在线| 欧美日韩国产首页在线观看| 午夜精品久久久久影视| 日韩欧美亚洲一区二区| 国产激情视频一区二区三区欧美| 国产精品女人毛片| 欧美日韩综合在线| 九九热在线视频观看这里只有精品| 国产亚洲成aⅴ人片在线观看 | 色国产综合视频| 午夜视频久久久久久| 欧美精品一区二区不卡| 国产成人激情av|