wsp_strings.h
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:2k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. /* wsp-strings.h: interface to tables defined by WSP standard
  2.  *
  3.  * This file defines an interface to the Assigned Numbers tables
  4.  * in appendix A of the WSP specification.  For each supported
  5.  * table there is a function to convert from number to string and
  6.  * a function to convert from string to number.
  7.  *
  8.  * The tables are in wsp-strings.def, in a special format suitable for
  9.  * use with the C preprocessor, which we abuse liberally to get the
  10.  * interface we want. 
  11.  *
  12.  * For a table named foo, these functions will be declared:
  13.  *
  14.  * Octstr *wsp_foo_to_string(long number);
  15.  *   - return NULL if the number has no assigned string.
  16.  * 
  17.  * unsigned char *wsp_foo_to_cstr(long number);
  18.  *   - return NULL if the number has no assigned string.
  19.  *
  20.  * long wsp_string_to_foo(Octstr *ostr);
  21.  *   - case-insensitive lookup.
  22.  *   - Return -1 if the string has no assigned number.
  23.  *
  24.  * Richard Braakman
  25.  */
  26. #ifndef WSP_STRINGS_H
  27. #define WSP_STRINGS_H
  28. #include "gwlib/gwlib.h"
  29. /* Must be called before any of the other functions in this file.
  30.  * Can be called more than once, in which case multiple shutdowns
  31.  * are also required. */
  32. void wsp_strings_init(void);
  33. /* Call this to clean up memory allocations */
  34. void wsp_strings_shutdown(void);
  35. /* Declare the functions */
  36. #define LINEAR(name, strings) 
  37. Octstr *wsp_##name##_to_string(long number); 
  38. unsigned char *wsp_##name##_to_cstr(long number); 
  39. long wsp_string_to_##name(Octstr *ostr);
  40. #define STRING(string)
  41. #include "wsp_strings.def"
  42. /* Define the enumerated types */
  43. #define LINEAR(name, strings)
  44. #define STRING(string)
  45. #define NAMED(name, strings) enum name##_enum { strings name##_dummy };
  46. #define NSTRING(string, name) name,
  47. #include "wsp_strings.def"
  48. #endif