⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_sys.h

📁 mysql 完整的封装类 ,希望有帮助 mysql 完整的封装类 ,希望有帮助
💻 H
📖 第 1 页 / 共 3 页
字号:
extern int check_if_legal_filename(const char *path);#if defined(__WIN__) && defined(__NT__)extern int nt_share_delete(const char *name,myf MyFlags);#define my_delete_allow_opened(fname,flags)  nt_share_delete((fname),(flags))#else#define my_delete_allow_opened(fname,flags)  my_delete((fname),(flags))#endif#ifndef TERMINATEextern void TERMINATE(FILE *file);#endifextern void init_glob_errs(void);extern FILE *my_fopen(const char *FileName,int Flags,myf MyFlags);extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags);extern int my_fclose(FILE *fd,myf MyFlags);extern int my_chsize(File fd,my_off_t newlength, int filler, myf MyFlags);extern int my_sync(File fd, myf my_flags);extern int my_error _VARARGS((int nr,myf MyFlags, ...));extern int my_printf_error _VARARGS((uint my_err, const char *format,				     myf MyFlags, ...)				    __attribute__ ((format (printf, 2, 4))));extern int my_error_register(const char **errmsgs, int first, int last);extern const char **my_error_unregister(int first, int last);extern int my_message(uint my_err, const char *str,myf MyFlags);extern int my_message_no_curses(uint my_err, const char *str,myf MyFlags);extern int my_message_curses(uint my_err, const char *str,myf MyFlags);extern my_bool my_init(void);extern void my_end(int infoflag);extern int my_redel(const char *from, const char *to, int MyFlags);extern int my_copystat(const char *from, const char *to, int MyFlags);extern my_string my_filename(File fd);#ifndef THREADextern void dont_break(void);extern void allow_break(void);#else#define dont_break()#define allow_break()#endifextern my_bool init_tmpdir(MY_TMPDIR *tmpdir, const char *pathlist);extern char *my_tmpdir(MY_TMPDIR *tmpdir);extern void free_tmpdir(MY_TMPDIR *tmpdir);extern void my_remember_signal(int signal_number,sig_handler (*func)(int));extern uint dirname_part(my_string to,const char *name);extern uint dirname_length(const char *name);#define base_name(A) (A+dirname_length(A))extern int test_if_hard_path(const char *dir_name);extern my_bool has_path(const char *name);extern char *convert_dirname(char *to, const char *from, const char *from_end);extern void to_unix_path(my_string name);extern my_string fn_ext(const char *name);extern my_string fn_same(my_string toname,const char *name,int flag);extern my_string fn_format(my_string to,const char *name,const char *dir,			   const char *form, uint flag);extern size_s strlength(const char *str);extern void pack_dirname(my_string to,const char *from);extern uint unpack_dirname(my_string to,const char *from);extern uint cleanup_dirname(my_string to,const char *from);extern uint system_filename(my_string to,const char *from);extern uint unpack_filename(my_string to,const char *from);extern my_string intern_filename(my_string to,const char *from);extern my_string directory_file_name(my_string dst, const char *src);extern int pack_filename(my_string to, const char *name, size_s max_length);extern my_string my_path(my_string to,const char *progname,			 const char *own_pathname_part);extern my_string my_load_path(my_string to, const char *path,			      const char *own_path_prefix);extern int wild_compare(const char *str,const char *wildstr,pbool str_is_pattern);extern WF_PACK *wf_comp(my_string str);extern int wf_test(struct wild_file_pack *wf_pack,const char *name);extern void wf_end(struct wild_file_pack *buffer);extern size_s strip_sp(my_string str);extern void get_date(my_string to,int timeflag,time_t use_time);extern void soundex(CHARSET_INFO *, my_string out_pntr, my_string in_pntr,pbool remove_garbage);extern int init_record_cache(RECORD_CACHE *info,uint cachesize,File file,			     uint reclength,enum cache_type type,			     pbool use_async_io);extern int read_cache_record(RECORD_CACHE *info,byte *to);extern int end_record_cache(RECORD_CACHE *info);extern int write_cache_record(RECORD_CACHE *info,my_off_t filepos,			      const byte *record,uint length);extern int flush_write_cache(RECORD_CACHE *info);extern long my_clock(void);extern sig_handler sigtstp_handler(int signal_number);extern void handle_recived_signals(void);extern sig_handler my_set_alarm_variable(int signo);extern void my_string_ptr_sort(void *base,uint items,size_s size);extern void radixsort_for_str_ptr(uchar* base[], uint number_of_elements,				  size_s size_of_element,uchar *buffer[]);extern qsort_t qsort2(void *base_ptr, size_t total_elems, size_t size,		      qsort2_cmp cmp, void *cmp_argument);extern qsort2_cmp get_ptr_compare(uint);void my_store_ptr(byte *buff, uint pack_length, my_off_t pos);my_off_t my_get_ptr(byte *ptr, uint pack_length);extern int init_io_cache(IO_CACHE *info,File file,uint cachesize,			 enum cache_type type,my_off_t seek_offset,			 pbool use_async_io, myf cache_myflags);extern my_bool reinit_io_cache(IO_CACHE *info,enum cache_type type,			       my_off_t seek_offset,pbool use_async_io,			       pbool clear_cache);extern void setup_io_cache(IO_CACHE* info);extern int _my_b_read(IO_CACHE *info,byte *Buffer,uint Count);#ifdef THREADextern int _my_b_read_r(IO_CACHE *info,byte *Buffer,uint Count);extern void init_io_cache_share(IO_CACHE *info,				IO_CACHE_SHARE *s, uint num_threads);extern void remove_io_thread(IO_CACHE *info);#endifextern int _my_b_seq_read(IO_CACHE *info,byte *Buffer,uint Count);extern int _my_b_net_read(IO_CACHE *info,byte *Buffer,uint Count);extern int _my_b_get(IO_CACHE *info);extern int _my_b_async_read(IO_CACHE *info,byte *Buffer,uint Count);extern int _my_b_write(IO_CACHE *info,const byte *Buffer,uint Count);extern int my_b_append(IO_CACHE *info,const byte *Buffer,uint Count);extern int my_b_safe_write(IO_CACHE *info,const byte *Buffer,uint Count);extern int my_block_write(IO_CACHE *info, const byte *Buffer,			  uint Count, my_off_t pos);extern int my_b_flush_io_cache(IO_CACHE *info, int need_append_buffer_lock);#define flush_io_cache(info) my_b_flush_io_cache((info),1)extern int end_io_cache(IO_CACHE *info);extern uint my_b_fill(IO_CACHE *info);extern void my_b_seek(IO_CACHE *info,my_off_t pos);extern uint my_b_gets(IO_CACHE *info, char *to, uint max_length);extern my_off_t my_b_filelength(IO_CACHE *info);extern uint my_b_printf(IO_CACHE *info, const char* fmt, ...);extern uint my_b_vprintf(IO_CACHE *info, const char* fmt, va_list ap);extern my_bool open_cached_file(IO_CACHE *cache,const char *dir,				 const char *prefix, uint cache_size,				 myf cache_myflags);extern my_bool real_open_cached_file(IO_CACHE *cache);extern void close_cached_file(IO_CACHE *cache);File create_temp_file(char *to, const char *dir, const char *pfx,		      int mode, myf MyFlags);#define my_init_dynamic_array(A,B,C,D) init_dynamic_array(A,B,C,D CALLER_INFO)#define my_init_dynamic_array_ci(A,B,C,D) init_dynamic_array(A,B,C,D ORIG_CALLER_INFO)extern my_bool init_dynamic_array(DYNAMIC_ARRAY *array,uint element_size,                                  uint init_alloc,uint alloc_increment                                  CALLER_INFO_PROTO);extern my_bool insert_dynamic(DYNAMIC_ARRAY *array,gptr element);extern byte *alloc_dynamic(DYNAMIC_ARRAY *array);extern byte *pop_dynamic(DYNAMIC_ARRAY*);extern my_bool set_dynamic(DYNAMIC_ARRAY *array,gptr element,uint array_index);extern void get_dynamic(DYNAMIC_ARRAY *array,gptr element,uint array_index);extern void delete_dynamic(DYNAMIC_ARRAY *array);extern void delete_dynamic_element(DYNAMIC_ARRAY *array, uint array_index);extern void freeze_size(DYNAMIC_ARRAY *array);#define dynamic_array_ptr(array,array_index) ((array)->buffer+(array_index)*(array)->size_of_element)#define dynamic_element(array,array_index,type) ((type)((array)->buffer) +(array_index))#define push_dynamic(A,B) insert_dynamic(A,B)#define reset_dynamic(array) ((array)->elements= 0)extern my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str,				   uint init_alloc,uint alloc_increment);extern my_bool dynstr_append(DYNAMIC_STRING *str, const char *append);my_bool dynstr_append_mem(DYNAMIC_STRING *str, const char *append,			  uint length);extern my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str);extern my_bool dynstr_realloc(DYNAMIC_STRING *str, ulong additional_size);extern void dynstr_free(DYNAMIC_STRING *str);#ifdef HAVE_MLOCKextern byte *my_malloc_lock(uint length,myf flags);extern void my_free_lock(byte *ptr,myf flags);#else#define my_malloc_lock(A,B) my_malloc((A),(B))#define my_free_lock(A,B) my_free((A),(B))#endif#define alloc_root_inited(A) ((A)->min_malloc != 0)#define ALLOC_ROOT_MIN_BLOCK_SIZE (MALLOC_OVERHEAD + sizeof(USED_MEM) + 8)#define clear_alloc_root(A) do { (A)->free= (A)->used= (A)->pre_alloc= 0; (A)->min_malloc=0;} while(0)extern void init_alloc_root(MEM_ROOT *mem_root, uint block_size,			    uint pre_alloc_size);extern gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size);extern gptr multi_alloc_root(MEM_ROOT *mem_root, ...);extern void free_root(MEM_ROOT *root, myf MyFLAGS);extern void set_prealloc_root(MEM_ROOT *root, char *ptr);extern void reset_root_defaults(MEM_ROOT *mem_root, uint block_size,                                uint prealloc_size);extern char *strdup_root(MEM_ROOT *root,const char *str);extern char *strmake_root(MEM_ROOT *root,const char *str,uint len);extern char *memdup_root(MEM_ROOT *root,const char *str,uint len);extern int get_defaults_options(int argc, char **argv,                                char **defaults, char **extra_defaults,                                char **group_suffix);extern int load_defaults(const char *conf_file, const char **groups,			 int *argc, char ***argv);extern int modify_defaults_file(const char *file_location, const char *option,                                const char *option_value,                                const char *section_name, int remove_option);extern int my_search_option_files(const char *conf_file, int *argc,                                  char ***argv, uint *args_used,                                  Process_option_func func, void *func_ctx);extern void free_defaults(char **argv);extern void my_print_default_files(const char *conf_file);extern void print_defaults(const char *conf_file, const char **groups);extern my_bool my_compress(byte *, ulong *, ulong *);extern my_bool my_uncompress(byte *, ulong *, ulong *);extern byte *my_compress_alloc(const byte *packet, ulong *len, ulong *complen);extern ha_checksum my_checksum(ha_checksum crc, const byte *mem, uint count);extern uint my_bit_log2(ulong value);extern uint my_count_bits(ulonglong v);extern uint my_count_bits_ushort(ushort v);extern void my_sleep(ulong m_seconds);extern ulong crc32(ulong crc, const uchar *buf, uint len);extern uint my_set_max_open_files(uint files);void my_free_open_file_info(void);ulonglong my_getsystime(void);my_bool my_gethwaddr(uchar *to);#ifdef HAVE_SYS_MMAN_H#include <sys/mman.h>#ifndef MAP_NOSYNC#define MAP_NOSYNC      0#endif#define my_mmap(a,b,c,d,e,f)    mmap(a,b,c,d,e,f)#ifdef HAVE_GETPAGESIZE#define my_getpagesize()        getpagesize()#else/* qnx ? */#define my_getpagesize()        8192#endif#define my_munmap(a,b)          munmap((a),(b))#else/* not a complete set of mmap() flags, but only those that nesessary */#define PROT_READ        1#define PROT_WRITE       2#define MAP_SHARED       0x0001#define MAP_NOSYNC       0x0800#define MAP_FAILED       ((void *)-1)#define MS_SYNC          0x0000#ifndef __NETWARE__#define HAVE_MMAP#endifint my_getpagesize(void);void *my_mmap(void *, size_t, int, int, int, my_off_t);int my_munmap(void *, size_t);#endifint my_msync(int, void *, size_t, int);/* character sets */extern uint get_charset_number(const char *cs_name, uint cs_flags);extern uint get_collation_number(const char *name);extern const char *get_charset_name(uint cs_number);extern CHARSET_INFO *get_charset(uint cs_number, myf flags);extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,					   uint cs_flags, myf my_flags);extern void free_charsets(void);extern char *get_charsets_dir(char *buf);extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2);extern my_bool init_compiled_charsets(myf flags);extern void add_compiled_collation(CHARSET_INFO *cs);extern ulong escape_string_for_mysql(CHARSET_INFO *charset_info,                                     char *to, ulong to_length,                                     const char *from, ulong length);#ifdef __WIN__#define BACKSLASH_MBTAIL/* File system character set */extern CHARSET_INFO *fs_character_set(void);#endifextern ulong escape_quotes_for_mysql(CHARSET_INFO *charset_info,                                     char *to, ulong to_length,                                     const char *from, ulong length);extern void thd_increment_bytes_sent(ulong length);extern void thd_increment_bytes_received(ulong length);extern void thd_increment_net_big_packet_count(ulong length);#ifdef __WIN__extern my_bool have_tcpip;		/* Is set if tcpip is used *//* implemented in my_windac.c */int my_security_attr_create(SECURITY_ATTRIBUTES **psa, const char **perror,                            DWORD owner_rights, DWORD everybody_rights);void my_security_attr_free(SECURITY_ATTRIBUTES *sa);/* implemented in my_conio.c */char* my_cgets(char *string, unsigned long clen, unsigned long* plen);#endif#ifdef __NETWARE__void netware_reg_user(const char *ip, const char *user,		      const char *application);#endifC_MODE_END#include "raid.h"#endif /* _my_sys_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -