home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / jove-4.16-src.tgz / tar.out / bsd / jove / dataobj.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  1KB  |  42 lines

  1. /************************************************************************
  2.  * This program is Copyright (C) 1986-1996 by Jonathan Payne.  JOVE is  *
  3.  * provided to you without charge, and with no warranty.  You may give  *
  4.  * away copies of JOVE, including sources, provided that this notice is *
  5.  * included in all the files.                                           *
  6.  ************************************************************************/
  7.  
  8. #define COMMAND    1
  9. #define VARIABLE    2
  10. #define MACRO        3
  11. #define FULL_KEYMAP    4
  12. #define SPARSE_KEYMAP    5
  13. #ifdef MAC
  14. # define BUFFER        6    /* menus can point to buffers, too */
  15. # define STRING        7    /* a menu string or divider */
  16. #endif
  17.  
  18. #define TYPEMASK    07
  19. #define obj_type(o)    ((o)->Type & TYPEMASK)
  20. #define MAJOR_MODE    010
  21. #define MINOR_MODE    020
  22. #define MODIFIER    040
  23. #define MODCMD        (COMMAND|MODIFIER)
  24. #define MAJOR_SHIFT    8
  25. #define DefMajor(x)    (COMMAND|MAJOR_MODE|((x) << MAJOR_SHIFT))
  26. #define DefMinor(x)    (COMMAND|MINOR_MODE|((x) << MAJOR_SHIFT))
  27.  
  28. /* prefix of cmd, macro, keymap, variable, and sometimes buffer structs */
  29. typedef struct {
  30.     int    Type;
  31.     char    *Name;
  32. } data_obj;
  33.  
  34. extern data_obj    *LastCmd;    /* last command invoked */
  35.  
  36. extern char    *ProcFmt;    /* ": %f " -- name of LastCmd */
  37.  
  38. extern data_obj
  39.     *findcom proto((const char *prompt)),
  40.     *findmac proto((const char *prompt)),
  41.     *findvar proto((const char *prompt));
  42.