home *** CD-ROM | disk | FTP | other *** search
/ Aminet 10 / aminetcdnumber101996.iso / Aminet / util / batch / BindNames36_19.lha / BindNames.h < prev    next >
C/C++ Source or Header  |  1995-11-05  |  2KB  |  83 lines

  1. /* File : BindNames.h
  2.  *
  3.  * $Project:         BindNames
  4.  *
  5.  * $Module Id:         
  6.  * $Original Author:   Robert Hardy
  7.  * $Date Started:      Mon Aug  8 1994
  8.  *
  9.  * $Revision: 1.1 $
  10.  *
  11.  * $State: Exp $
  12.  *
  13.  * $Locker:  $
  14.  *
  15.  * $Log: BindNames.h-v $
  16.  * Revision 1.1  1995/08/08  02:27:15  Bob
  17.  * Initial revision
  18.  * 
  19.  *
  20.  *
  21.  */
  22.  
  23.  
  24. typedef struct Arg_List
  25. {
  26.     char *arg_type;
  27.     char *arg_value;
  28. } ARG_LIST;
  29.  
  30. /* Macros */
  31.  
  32.  
  33. #define CADDR(x)    (   (BPTR)(  ( (ULONG)x ) >> 2  )   )
  34. #define NAMEDIR        "SYS:Names"
  35. #define FreeStr(s)    free(s)
  36.  
  37. #define BIT(x)            (1 << (x))
  38.  
  39. #define BNF_REMOVE        BIT(0)
  40. #define BNF_TEST        BIT(1)
  41. #define BNF_VERBOSE        BIT(2)
  42. #define BNF_ONEFILE        BIT(3)
  43.  
  44. /* The "-rr" option doesn't like NewList, bit it's real simple.  WHEN can
  45.    we have inline functions.... */
  46. #define nNewList(l)    { (l)->lh_Head     = (struct Node *)&(l)->lh_Tail; \
  47.               (l)->lh_TailPred = (struct Node *)&(l)->lh_Head; \
  48.               (l)->lh_Tail     = NULL;        \
  49.             }
  50.  
  51. /* ====================================================================== */
  52.  
  53. /* Global variables */
  54.  
  55. #define NULL     0L
  56. #define NIL     ((void *)0L)
  57. #define TRUE    1
  58. #define FALSE    0
  59. #define EQUAL    0
  60. #define private    static
  61.  
  62. typedef enum
  63. {
  64.     AO_NORMAL, AO_DEFER, AO_ADD, AO_PATH,
  65.     
  66. } ASSIGN_OPTION;
  67.  
  68. struct NameNode
  69. {
  70.     struct Node node;
  71.     struct NameNode *parent;
  72.     struct List children;
  73.     char *path;
  74.     ASSIGN_OPTION Option;    /* RWH - Added this to allow new assign types */
  75.  
  76. };
  77.  
  78.  
  79. extern short Icon_Launch( int argc, char **argv,
  80.                     ARG_LIST *program_args, short num_to_init );
  81. extern void Icon_Finish(void);
  82.  
  83.