home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_10_01 / 1001116a < prev    next >
Text File  |  1991-11-19  |  2KB  |  85 lines

  1. /************************************************************
  2.  *  Program:    CMENU/RMENU Menu Compiler
  3.  *  Written by: Leor Zolman, 11/90
  4.  *
  5.  *  Module: cmenu.h -- master header file
  6.  *
  7.  *  This include file contains definitions common to both 
  8.  *  the cmenu and rmenu programs.
  9.  ************************************************************/
  10.  
  11. #include <stdio.h>
  12.  
  13. #define VERSION     "1.2 (10/7/91)"
  14.  
  15. /************** System-dependent stuff: *********************/
  16.  
  17. #if __STDC__ || XENIX
  18. #   define Void void
  19. #else
  20. #   define Void int
  21. #endif
  22.  
  23. /******************** Maximum sizes/lengths: ****************/
  24.  
  25. #define MAX_PATH    30
  26. #define MAX_MENUS   25
  27. #define MAX_NEST    3
  28. #define MAX_TXTWID  60
  29. #define MAX_ITEMS   36
  30. #define MAX_CMD     130
  31. #define MAX_HELP    79
  32. #define MAX_NAME    20
  33.  
  34. /****************** Magic constants: ************************/
  35.  
  36. #define DEFAULT     0
  37. #define YES         1
  38. #define NO          2
  39.  
  40. #define ERROR       (-1)
  41.  
  42. /******************** Nextitem types: ***********************/
  43.  
  44. #define NXT_FIRST   1
  45. #define NXT_LAST    2
  46. #define NXT_NEXT    3
  47. #define NXT_DIRECT  4
  48.  
  49. /********************** Action types: ***********************/
  50.  
  51. #define ACT_NONE    0
  52. #define ACT_CMND    1
  53. #define ACT_LMENU   2
  54. #define ACT_EMENU   3
  55. #define ACT_EXIT    4
  56.  
  57. /*********************** typedefs: **************************/
  58.  
  59. typedef char    BOOL;
  60.  
  61. typedef struct menu {
  62.     char    title[MAX_TXTWID];
  63.     char    path[MAX_PATH];
  64.     int     nitems;
  65.     char    align;
  66.     int     columns;
  67.     int     spacing;
  68.     int     widest;
  69.     char    escape;
  70. } MENU;
  71.  
  72. typedef struct item {
  73.     char    text[MAX_TXTWID];
  74.     char    path[MAX_PATH];
  75.     char    action[MAX_CMD];
  76.     char    help[MAX_HELP];
  77.     char    pre_clear,
  78.             post_clear,
  79.             prompt;
  80.     char    acttyp;
  81.     int     lmenunum;
  82.     char    nextcode;
  83.     int     nextitem;
  84. } ITEM;
  85.