home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / internet / tcpipsrc / h / if / syslog / var < prev    next >
Encoding:
Text File  |  1995-01-29  |  1.5 KB  |  58 lines

  1. #ifndef _var_h
  2. #define _var_h
  3.  
  4. enum var_types {
  5.   vart_null,     /* Temporary type for un-assigned variables */
  6.   vart_integer,  /* 32 bit signed Integer type */
  7.   vart_real,     /* 32 bit signed floating point value */
  8.   vart_string,   /* NULL terminated string value */
  9.   vart_pointer,  /* Pointer to another variable */
  10.   vart_function, /* Function descriptor on an execution thread */
  11.   vart_osvar     /* An OS variable */
  12. };
  13.  
  14. typedef struct var_str *var;
  15. typedef struct varlist_str *varlist;
  16.  
  17. typedef struct var_str {
  18.   var link;
  19.   char type;
  20.   char *name;
  21.   union {
  22.     void *nothing;
  23.     int integer;
  24.     float real;
  25.     char *string;
  26.     void *function;
  27.     void *thread;
  28.     void *stream;
  29.   } value;
  30. } var_str;
  31.  
  32. typedef struct varlist_str {
  33.   var head;
  34.   var tail;
  35.   varlist back; /* Link back to other variable chains within scope */
  36. } varlist_str;
  37.  
  38.  
  39. int var_extract(char *s);
  40.  
  41. var var_create_null(varlist list, char *name, int n);
  42. var var_create_integer(varlist list, char *name, int n, int value);
  43. var var_create_string(varlist list, char *name, int n, char *value);
  44. var var_create_osvar(varlist list, char *name, int n, char *value);
  45. var var_create_function(varlist list, char *name, int n, void *value);
  46.  
  47. void var_init_osvars(varlist list, int type, char *var);
  48.  
  49. var var_lookup(varlist list, char *s, int n);
  50. int var_output(var vp, char *buf, int len);
  51. int var_translate(varlist list, char *inbuf, int incnt, char *outbuf, int outcnt);
  52. void var_dispose(varlist list, var vp);
  53.  
  54. varlist varlist_create(varlist list);
  55. void varlist_dispose(varlist list);
  56.  
  57. #endif
  58.