saacproto_util.h
上传用户:qys8201
上传日期:2021-12-11
资源大小:978k
文件大小:5k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef _SAACPROTOUTIL_H_
  2. #define _SAACPROTOUTIL_H_
  3. #include "version.h"
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #ifndef WIN32
  7. #include <strings.h>
  8. #include <unistd.h>
  9. #endif
  10. #define saacproto__NOENCRYPT
  11. #define saacproto__NODEBUG
  12. struct saacproto_ {
  13. int (*write_func)(int,char*,int) ;    /* write function */
  14. size_t workbufsize;                   /* size of work area */
  15.     char  *work,*arraywork,*escapework,*val_str,*ret_work;      /* work areas which have same size  */
  16. char *cryptwork,*jencodecopy,*jencodeout,*compresswork;     /* these work has bigger size (3times)*/
  17.     char** token_list;                    /* token list */
  18.     unsigned long message_id; /*= 1,  */       /* for generating message IDs */
  19. };
  20. #ifdef _SAACPROTOUTIL_C_
  21. struct saacproto_ saacproto = {
  22. NULL,
  23. 0,
  24. NULL,NULL,NULL,NULL,NULL,
  25. NULL,NULL,NULL,NULL,
  26. NULL,
  27. 1,
  28. };
  29. char **saacproto_stringwrapper;
  30. char saacproto_readlogfilename[1024];
  31. char saacproto_writelogfilename[1024];
  32. #else
  33. extern char **saacproto_stringwrapper;
  34. extern struct saacproto_ saacproto;
  35. extern char saacproto_readlogfilename[1024];
  36. extern char saacproto_writelogfilename[1024];
  37. #endif
  38. char* saacproto_escapeString( char*a );
  39. char* saacproto_descapeString( char*a );
  40. void saacproto_splitString( char *src  );
  41. void saacproto_strcpysafe( char *dest, char *src, int len );
  42. void saacproto_strcatsafe( char *dest , char *src , int maxlen );
  43. char*saacproto_mkstr_int( int i );
  44. char*saacproto_mkstr_u_int( unsigned int i );
  45. char*saacproto_mkstr_long( long l );
  46. char*saacproto_mkstr_u_long( unsigned long l );
  47. char*saacproto_mkstr_short( short s );
  48. char*saacproto_mkstr_u_short( short s );
  49. char*saacproto_mkstr_char( char c );
  50. char*saacproto_mkstr_u_char( char c);
  51. char*saacproto_mkstr_string( char*a );
  52. char*saacproto_mkstr_float( float f );
  53. char*saacproto_mkstr_double( double d );
  54. char*saacproto_mkstr_int_array( int size , int *array );
  55. char*saacproto_mkstr_u_int_array( int size , int *array );
  56. char*saacproto_mkstr_short_array( int size , short *array );
  57. char*saacproto_mkstr_u_short_array(int size , short *array );
  58. char *saacproto_mkstr_char_array( int size , char *array );
  59. char *saacproto_mkstr_u_char_array( int size , unsigned char *array );
  60. char *saacproto_mkstr_float_array( int size , float *array );
  61. char *saacproto_mkstr_double_array( int size , double *array );
  62. int saacproto_demkstr_int( char*a );
  63. unsigned int saacproto_demkstr_u_int( char*a );
  64. long saacproto_demkstr_long( char*a );
  65. unsigned long saacproto_demkstr_u_long(char*a );
  66. short saacproto_demkstr_short( char*a );
  67. unsigned short saacproto_demkstr_u_short( char*a );
  68. char saacproto_demkstr_char( char*a );
  69. unsigned char saacproto_demkstr_u_char( char*a );
  70. float saacproto_demkstr_float( char*a );
  71. double saacproto_demkstr_double(char*a );
  72. char* saacproto_demkstr_string( char*a);
  73. int *saacproto_demkstr_int_array( char**tk ,int *buf  ,int start , int size );
  74. int *saacproto_demkstr_u_int_array( char **tk , int *buf , int start , int size );
  75. unsigned int *saacproto_demkstr_long_array(
  76. char **tk , unsigned int *buf , int start , int size );
  77. unsigned long *saacproto_demkstr_u_long_array(
  78. char **tk , unsigned long *buf , int start , int size );
  79. short *saacproto_demkstr_short_array( char **tk , short *buf , int start , int size );
  80. unsigned short*saacproto_demkstr_u_short_array( 
  81. char **tk , unsigned short *buf , int start , int size );
  82. char *saacproto_demkstr_char_array( char **tk , char *buf , int start , int size );
  83. unsigned char *saacproto_demkstr_u_char_array( 
  84. char **tk , unsigned char*buf , int start , int size );
  85. float *saacproto_demkstr_float_array( char **tk , float *buf , int start , int size );
  86. double *saacproto_demkstr_u_double_array( char **tk , double *buf , int start , int size );
  87. char *saacproto_wrapStringAddr( char *copy , int maxcopylen , char*src );
  88. void saacproto_GetMessageInfo( int *id , char *funcname , int len,char **tk );
  89. int saacproto_ClientRead(void);
  90. void saacproto_consumeLine(char *buf , int ofs );
  91. void saacproto_copyLine( char*src , char *out , int maxoutlen );
  92. void saacproto_Send( int fd , char *msg );
  93. int saacproto_AllocateCommonWork(int bufsiz);
  94. unsigned int saacproto_GetNewMessageID(void);
  95. void saacproto_CreateHeader(char*out, char *fname );
  96. void saacproto_CreateHeaderID( char *out,unsigned long msgid , char *fname );
  97. int saacproto_default_write_wrap( int fd , char *buf , int size );
  98. void saacproto_bzero( char *b , int siz );
  99. void saacproto_bcopy(char*s , char *d , int siz );
  100. char *saacproto_Ltoa( long v );
  101. char *saacproto_Ultoa( unsigned long v );
  102. void saacproto_DebugSend( int fd , char *msg );
  103. /* Modified by ringo to fasten int type transfer */
  104. char *saacproto_cnv10to62( int a, char *out, int outlen );
  105. int saacproto_a62toi( char *a );
  106. #endif