home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gwm18a.zip / wl_atom.h < prev    next >
C/C++ Source or Header  |  1995-07-03  |  2KB  |  82 lines

  1. /* Copyright 1989 GROUPE BULL -- See license conditions in file COPYRIGHT
  2.  * Copyright 1989 Massachusetts Institute of Technology
  3.  */
  4. /*********************\
  5. *               *
  6. *  WOOL_OBJECT  Atom  *
  7. *  DEFINITIONS          *
  8. *               *
  9. \*********************/
  10.  
  11. #ifndef INCLUDE_WL_ATOM_H
  12. #define INCLUDE_WL_ATOM_H
  13.  
  14. /* type */
  15.  
  16. typedef struct _WOOL_Atom {
  17.     WOOL_HEADER;
  18.     WOOL_OBJECT     c_val;
  19.     char            p_name[1];
  20. }              *WOOL_Atom;
  21.  
  22. typedef struct _WOOL_Quark {
  23.     WOOL_OBJECT        pre_ptr;
  24.     WOOL_HEADER;
  25.     WOOL_OBJECT     c_val;
  26.     char            p_name[1];
  27. }              *WOOL_Quark;
  28.  
  29. /* exported functions */
  30.  
  31. EXT WOOL_Atom   wool_atom();
  32. EXT WOOL_OBJECT WLAtom_eval();
  33. EXT WOOL_OBJECT WLAtom_print();
  34. EXT WOOL_OBJECT WLAtom_free();
  35. EXT WOOL_OBJECT WLAtom_execute();
  36. EXT WOOL_OBJECT WLAtom_set();
  37. EXT WOOL_OBJECT WLAtom_setq();
  38. EXT WOOL_OBJECT WLAtom_equal();
  39. EXT WOOL_OBJECT WLAtom_silent_eval();
  40. EXT int        WLAtom_get_C_value();
  41. EXT void    must_be_atom();
  42. EXT WOOL_Atom   find_next_prefixed_atom();
  43. EXT WOOL_OBJECT WLAtom_unbind();
  44. /* methods */
  45.  
  46. EXT WOOL_METHOD WLAtom[]
  47. #ifdef DO_INIT
  48. = {
  49.    (WOOL_METHOD) 0,        /* METHODS_ARRAY */
  50.    WLAtom_eval,            /* WOOL_eval 1 */
  51.    WLAtom_print,        /* WOOL_print 2 */
  52.    WLAtom_free,            /* WOOL_free 3 */
  53.    WLAtom_execute,        /* WOOL_execute 4 */
  54.    WLAtom_set,            /* WOOL_set 5 */
  55.    (WOOL_METHOD) WLAtom_get_C_value,/* WOOL_get_C_value 6 */
  56.    wool_undefined_method_1,    /* WOOL_open 7 */
  57.    wool_undefined_method_1,    /* WOOL_close 8 */
  58.    wool_undefined_method_2,    /* WOOL_process_event 9 */
  59.    wool_undefined_method_1,    /* WOOL_copy 10 */
  60.    wool_undefined_method_2,    /* WOOL_get_dimensions 11 */
  61.    wool_undefined_method_2,    /* WOOL_draw 12 */
  62.    WLAtom_equal,        /* WOOL_equal 13 */
  63.    wool_undefined_method_2,
  64.    WLAtom_setq,            /* WOOL_setq 15 */
  65.    wool_undefined_method_1,
  66.    WLAtom_silent_eval,
  67.    wool_undefined_method_1,
  68.    wool_undefined_method_1,
  69.    wool_undefined_method_1
  70. }
  71. #endif /* DO_INIT */
  72.                ;
  73.  
  74. #ifdef STATS
  75. EXT WOOL_OBJECT hashstats();
  76. EXT WOOL_OBJECT WlMstats();
  77. EXT WOOL_OBJECT oblist();
  78.  
  79. #endif /* STATS */
  80.  
  81. #endif /* INCLUDE_WL_ATOM_H */
  82.