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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? my_sys.h

?? 著名的入侵檢測系統snort的最新版本的源碼
?? H
?? 第 1 頁 / 共 3 頁
字號:
{  File file;  int	rc_seek,error,inited;  uint	rc_length,read_length,reclength;  my_off_t rc_record_pos,end_of_file;  byte	*rc_buff,*rc_buff2,*rc_pos,*rc_end,*rc_request_pos;#ifdef HAVE_AIOWAIT  int	use_async_io;  my_aio_result aio_result;#endif  enum cache_type type;} RECORD_CACHE;enum file_type{  UNOPEN = 0, FILE_BY_OPEN, FILE_BY_CREATE, STREAM_BY_FOPEN, STREAM_BY_FDOPEN,  FILE_BY_MKSTEMP, FILE_BY_DUP};struct st_my_file_info{  my_string		name;  enum file_type	type;#if defined(THREAD) && !defined(HAVE_PREAD)  pthread_mutex_t	mutex;#endif};extern struct st_my_file_info *my_file_info;typedef struct st_my_tmpdir{  char **list;  uint cur, max;#ifdef THREAD  pthread_mutex_t mutex;#endif} MY_TMPDIR;typedef struct st_dynamic_array{  char *buffer;  uint elements,max_element;  uint alloc_increment;  uint size_of_element;} DYNAMIC_ARRAY;typedef struct st_dynamic_string{  char *str;  uint length,max_length,alloc_increment;} DYNAMIC_STRING;struct st_io_cache;typedef int (*IO_CACHE_CALLBACK)(struct st_io_cache*);#ifdef THREADtypedef struct st_io_cache_share{  /* to sync on reads into buffer */  pthread_mutex_t mutex;  pthread_cond_t  cond;  int             count, total;  /* actual IO_CACHE that filled the buffer */  struct st_io_cache *active;#ifdef NOT_YET_IMPLEMENTED  /* whether the structure should be free'd */  my_bool alloced;#endif} IO_CACHE_SHARE;#endiftypedef struct st_io_cache		/* Used when cacheing files */{  /* Offset in file corresponding to the first byte of byte* buffer. */  my_off_t pos_in_file;  /*    The offset of end of file for READ_CACHE and WRITE_CACHE.    For SEQ_READ_APPEND it the maximum of the actual end of file and    the position represented by read_end.  */  my_off_t end_of_file;  /* Points to current read position in the buffer */  byte	*read_pos;  /* the non-inclusive boundary in the buffer for the currently valid read */  byte  *read_end;  byte  *buffer;				/* The read buffer */  /* Used in ASYNC_IO */  byte  *request_pos;  /* Only used in WRITE caches and in SEQ_READ_APPEND to buffer writes */  byte  *write_buffer;  /*    Only used in SEQ_READ_APPEND, and points to the current read position    in the write buffer. Note that reads in SEQ_READ_APPEND caches can    happen from both read buffer (byte* buffer) and write buffer    (byte* write_buffer).  */  byte *append_read_pos;  /* Points to current write position in the write buffer */  byte *write_pos;  /* The non-inclusive boundary of the valid write area */  byte *write_end;  /*    Current_pos and current_end are convenience variables used by    my_b_tell() and other routines that need to know the current offset    current_pos points to &write_pos, and current_end to &write_end in a    WRITE_CACHE, and &read_pos and &read_end respectively otherwise  */  byte  **current_pos, **current_end;#ifdef THREAD  /*    The lock is for append buffer used in SEQ_READ_APPEND cache    need mutex copying from append buffer to read buffer.  */  pthread_mutex_t append_buffer_lock;  /*    The following is used when several threads are reading the    same file in parallel. They are synchronized on disk    accesses reading the cached part of the file asynchronously.    It should be set to NULL to disable the feature.  Only    READ_CACHE mode is supported.  */  IO_CACHE_SHARE *share;#endif  /*    A caller will use my_b_read() macro to read from the cache    if the data is already in cache, it will be simply copied with    memcpy() and internal variables will be accordinging updated with    no functions invoked. However, if the data is not fully in the cache,    my_b_read() will call read_function to fetch the data. read_function    must never be invoked directly.  */  int (*read_function)(struct st_io_cache *,byte *,uint);  /*    Same idea as in the case of read_function, except my_b_write() needs to    be replaced with my_b_append() for a SEQ_READ_APPEND cache  */  int (*write_function)(struct st_io_cache *,const byte *,uint);  /*    Specifies the type of the cache. Depending on the type of the cache    certain operations might not be available and yield unpredicatable    results. Details to be documented later  */  enum cache_type type;  /*    Callbacks when the actual read I/O happens. These were added and    are currently used for binary logging of LOAD DATA INFILE - when a    block is read from the file, we create a block create/append event, and    when IO_CACHE is closed, we create an end event. These functions could,    of course be used for other things  */  IO_CACHE_CALLBACK pre_read;  IO_CACHE_CALLBACK post_read;  IO_CACHE_CALLBACK pre_close;  /*    Counts the number of times, when we were forced to use disk. We use it to    increase the binlog_cache_disk_use status variable.  */  ulong disk_writes;  void* arg;				/* for use by pre/post_read */  char *file_name;			/* if used with 'open_cached_file' */  char *dir,*prefix;  File file; /* file descriptor */  /*    seek_not_done is set by my_b_seek() to inform the upcoming read/write    operation that a seek needs to be preformed prior to the actual I/O    error is 0 if the cache operation was successful, -1 if there was a    "hard" error, and the actual number of I/O-ed bytes if the read/write was    partial.  */  int	seek_not_done,error;  /* buffer_length is memory size allocated for buffer or write_buffer */  uint	buffer_length;  /* read_length is the same as buffer_length except when we use async io */  uint  read_length;  myf	myflags;			/* Flags used to my_read/my_write */  /*    alloced_buffer is 1 if the buffer was allocated by init_io_cache() and    0 if it was supplied by the user.    Currently READ_NET is the only one that will use a buffer allocated    somewhere else  */  my_bool alloced_buffer;#ifdef HAVE_AIOWAIT  /*    As inidicated by ifdef, this is for async I/O, which is not currently    used (because it's not reliable on all systems)  */  uint inited;  my_off_t aio_read_pos;  my_aio_result aio_result;#endif} IO_CACHE;typedef int (*qsort2_cmp)(const void *, const void *, const void *);	/* defines for mf_iocache */	/* Test if buffer is inited */#define my_b_clear(info) (info)->buffer=0#define my_b_inited(info) (info)->buffer#define my_b_EOF INT_MIN#define my_b_read(info,Buffer,Count) \  ((info)->read_pos + (Count) <= (info)->read_end ?\   (memcpy(Buffer,(info)->read_pos,(size_t) (Count)), \    ((info)->read_pos+=(Count)),0) :\   (*(info)->read_function)((info),Buffer,Count))#define my_b_write(info,Buffer,Count) \ ((info)->write_pos + (Count) <=(info)->write_end ?\  (memcpy((info)->write_pos, (Buffer), (size_t)(Count)),\   ((info)->write_pos+=(Count)),0) : \   (*(info)->write_function)((info),(Buffer),(Count)))#define my_b_get(info) \  ((info)->read_pos != (info)->read_end ?\   ((info)->read_pos++, (int) (uchar) (info)->read_pos[-1]) :\   _my_b_get(info))	/* my_b_write_byte dosn't have any err-check */#define my_b_write_byte(info,chr) \  (((info)->write_pos < (info)->write_end) ?\   ((*(info)->write_pos++)=(chr)) :\   (_my_b_write(info,0,0) , ((*(info)->write_pos++)=(chr))))#define my_b_fill_cache(info) \  (((info)->read_end=(info)->read_pos),(*(info)->read_function)(info,0,0))#define my_b_tell(info) ((info)->pos_in_file + \			 (uint) (*(info)->current_pos - (info)->request_pos))/* tell write offset in the SEQ_APPEND cache */my_off_t my_b_append_tell(IO_CACHE* info);#define my_b_bytes_in_cache(info) (uint) (*(info)->current_end - \					  *(info)->current_pos)typedef uint32 ha_checksum;#include <my_alloc.h>	/* Prototypes for mysys and my_func functions */extern int my_copy(const char *from,const char *to,myf MyFlags);extern int my_append(const char *from,const char *to,myf MyFlags);extern int my_delete(const char *name,myf MyFlags);extern int my_getwd(my_string buf,uint size,myf MyFlags);extern int my_setwd(const char *dir,myf MyFlags);extern int my_lock(File fd,int op,my_off_t start, my_off_t length,myf MyFlags);extern gptr my_once_alloc(uint Size,myf MyFlags);extern void my_once_free(void);extern char *my_once_strdup(const char *src,myf myflags);extern char *my_once_memdup(const char *src, uint len, myf myflags);extern my_string my_tempnam(const char *dir,const char *pfx,myf MyFlags);extern File my_open(const char *FileName,int Flags,myf MyFlags);extern File my_register_filename(File fd, const char *FileName,				 enum file_type type_of_file,				 uint error_message_number, myf MyFlags);extern File my_create(const char *FileName,int CreateFlags,		      int AccsesFlags, myf MyFlags);extern int my_close(File Filedes,myf MyFlags);extern File my_dup(File file, myf MyFlags);extern int my_mkdir(const char *dir, int Flags, myf MyFlags);extern int my_readlink(char *to, const char *filename, myf MyFlags);extern int my_realpath(char *to, const char *filename, myf MyFlags);extern File my_create_with_symlink(const char *linkname, const char *filename,				   int createflags, int access_flags,				   myf MyFlags);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av激情亚洲男人天堂| 国产精品三级av| 免费视频最近日韩| 亚洲自拍偷拍综合| 夜夜揉揉日日人人青青一国产精品| 亚洲色图在线播放| 欧美日韩www| 久久亚洲影视婷婷| 岛国一区二区三区| 亚洲人妖av一区二区| 色香蕉久久蜜桃| 一区二区三区.www| 6080yy午夜一二三区久久| 久久综合综合久久综合| 欧美精品一区二区三区在线| 高清不卡一区二区在线| 一区二区三区成人在线视频| 一本一道波多野结衣一区二区| 亚洲欧美另类小说| 日韩欧美国产午夜精品| 国产精品18久久久久久vr| 亚洲日本免费电影| 欧美二区在线观看| 国产成人在线视频网站| 一区二区三区鲁丝不卡| 久久综合色婷婷| 一本大道综合伊人精品热热 | 欧美色综合网站| 蜜桃一区二区三区在线| 日本一区二区三区免费乱视频| 欧美日韩一级视频| 免费高清在线一区| 中文字幕一区二区三区四区不卡| 3atv一区二区三区| www.爱久久.com| 六月婷婷色综合| 一区二区三区欧美久久| 久久久午夜精品| 777精品伊人久久久久大香线蕉| 国产在线播放一区三区四| 亚洲欧洲成人av每日更新| 欧美日韩综合色| 成人av在线电影| 激情深爱一区二区| 亚洲乱码国产乱码精品精98午夜| 日韩亚洲欧美在线| 国产成人精品aa毛片| 精品免费国产二区三区| 青娱乐精品视频| 欧美人妖巨大在线| 亚洲第一福利一区| 91色.com| 亚洲免费观看高清| 欧洲视频一区二区| 国产精品久久一级| 91影视在线播放| 亚洲伦在线观看| 色悠悠久久综合| 一个色在线综合| 欧美日韩国产美| 日本不卡一区二区三区| 国产精品色哟哟| 97久久超碰国产精品| 亚洲精品久久久蜜桃| 国产91精品在线观看| 欧美精品一二三四| 日韩成人精品在线观看| 日韩精品一区二区三区在线观看| 国产成a人亚洲| 欧美亚洲一区三区| 精品欧美乱码久久久久久| 久久99久久99小草精品免视看| 亚洲国产aⅴ成人精品无吗| 亚洲综合色婷婷| 亚洲一线二线三线视频| 一区二区三区精品久久久| 亚洲精品国产视频| 一区二区免费视频| 午夜视频一区二区| 亚洲成人精品在线观看| 九九国产精品视频| 奇米色一区二区| 精品在线观看视频| 国内欧美视频一区二区| 韩国v欧美v日本v亚洲v| 国产在线精品免费| 粉嫩av一区二区三区在线播放| 国产成人高清在线| 99国产精品久久| 欧美丝袜第三区| 欧美在线三级电影| 51久久夜色精品国产麻豆| 欧美美女网站色| 欧美成人高清电影在线| 国产色91在线| 亚洲视频网在线直播| 一区二区日韩电影| 亚洲成人在线免费| 日韩vs国产vs欧美| 韩国一区二区三区| youjizz久久| 91国产福利在线| 91麻豆精品国产91久久久久久久久| 日韩欧美激情四射| 中文一区二区在线观看| 亚洲综合一二三区| 久久99精品一区二区三区| 国产乱子伦一区二区三区国色天香| 成人av综合一区| 欧美一区二区三区在线视频| 久久综合狠狠综合久久综合88 | 日本韩国精品在线| 91精品久久久久久蜜臀| 国产精品乱人伦中文| 亚洲午夜激情av| 激情丁香综合五月| 91在线观看免费视频| 欧美高清视频不卡网| 国产视频视频一区| 亚洲电影视频在线| 国产91精品精华液一区二区三区| 欧美午夜精品一区二区三区 | 欧美性色综合网| 久久免费电影网| 亚洲综合在线免费观看| 国产伦精品一区二区三区免费 | 日韩女同互慰一区二区| 中文av一区二区| 青草av.久久免费一区| 99精品视频在线观看免费| 日韩欧美在线一区二区三区| 中文字幕在线不卡一区二区三区| 日韩高清中文字幕一区| 不卡在线视频中文字幕| 精品成人一区二区| 日韩精品欧美精品| 91蝌蚪国产九色| 国产免费观看久久| 天天操天天色综合| 色菇凉天天综合网| 久久综合色之久久综合| 亚洲一区二区不卡免费| av在线不卡免费看| 中文字幕精品一区| 国产一区二区三区在线观看精品 | 精品999久久久| 亚洲精品高清在线| 色综合激情五月| 日韩美女视频一区二区| 高清在线不卡av| 国产欧美一区二区精品秋霞影院| 青草国产精品久久久久久| 国产欧美一二三区| av在线不卡电影| 久99久精品视频免费观看| 中文字幕av一区二区三区免费看| 亚洲欧美另类久久久精品| 久久精品72免费观看| 91精品福利在线一区二区三区 | 亚洲影视在线观看| 日韩成人dvd| 国产精品系列在线播放| 国产精品麻豆99久久久久久| 久88久久88久久久| 精品处破学生在线二十三| 精品一区二区三区视频在线观看| 欧美电影免费观看高清完整版在 | 欧美精品 日韩| 亚洲国产成人porn| 欧美日韩久久久久久| 亚洲成人在线观看视频| 制服丝袜亚洲网站| 免费在线看一区| 精品久久久久一区二区国产| 韩国三级电影一区二区| 久久嫩草精品久久久精品一| 国产成人精品影院| 国产精品福利一区二区三区| 一本大道久久a久久精品综合| 一区二区三区四区激情| 欧美日韩中文国产| 丝袜诱惑亚洲看片| 日韩欧美国产一二三区| 国产一本一道久久香蕉| 日本一区二区视频在线| 97久久超碰国产精品| 亚洲一区av在线| 精品久久国产字幕高潮| eeuss鲁一区二区三区| 亚洲精选视频在线| 欧美久久久影院| 国产在线视频精品一区| 1024成人网| 欧美一区二区三区四区视频| 国产乱国产乱300精品| 国产精品妹子av| 欧美日韩精品一区二区| 国产一区二区三区免费播放| 亚洲天堂中文字幕| 欧美一区二区三区系列电影|