home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / PROCINST.ZIP / HELP.ZIP / PASSWD.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-08-07  |  5.1 KB  |  159 lines

  1. #define NAMELEN 14    /* Max length of user name and password */
  2. #define PWDLEN 11
  3. #define MODLEN 14        /* Max length of module name - corresponds to max         */
  4.                             /* length of a filename in operating system                */
  5. #define PERMLEN 4        /* Max length of permissions string                         */
  6.                             /*  - presently allows for 'a', 'c', 'd', 'i'            */
  7.  
  8. # define PASSKEY  "password"
  9.  
  10. /*
  11.  * The following are used for space allocation - they must be at least the
  12.  * size of the corresponding parameter above plus one.
  13. */
  14. #define NAMEARLEN 16
  15. #define PWDARLEN 16
  16. #define MODARLEN 16
  17. #define PERMARLEN 5
  18.  
  19. typedef struct user_entry
  20. {
  21.     char user[NAMEARLEN];
  22.     char pwd[PWDARLEN];
  23. } USER_ENT;
  24.  
  25. typedef struct mod_entry
  26. {
  27.     char mod[MODARLEN];
  28.     char perm[PERMARLEN];
  29.     char user[NAMEARLEN];
  30.     int writeflag;
  31. } MOD_ENT;
  32.  
  33.  
  34. /*******************************
  35. *  Password Permissions flags  *
  36. *******************************/
  37. #define PERM_INIT         0
  38. #define PERM_NOTMPFILE    1
  39. #define PERM_LOCKED       2
  40. #define PERM_NOFILE       4
  41. #define PERM_NOACC        8
  42. #define PERM_INVFILE     16
  43. #define PERM_NONE        32
  44. #define PERM_EXISTS      64
  45. #define PERM_ADD        128
  46. #define PERM_CHANGE     256
  47. #define PERM_DELETE     512
  48. #define PERM_INQUIRE   1024
  49. #define PERM_DEFAULT   2047
  50.  
  51. typedef struct perms
  52. {
  53.     char         code;
  54.     unsigned int perms;
  55. } PERMS;
  56.  
  57.  
  58. #ifdef UNIX
  59. #define OPN_FILE(fname, mode)    open(fname, mode);
  60. #define PCRT_FILE(fname)         open(fname, O_CREAT | O_RDWR, 00666);
  61. #define TCRT_FILE(fname)         open(fname, O_CREAT | O_EXCL | O_RDWR, 00644);
  62. #endif
  63.  
  64. #ifdef MSC
  65. #define  OPN_FILE(fname, mode)    open(fname, O_TEXT | O_RDWR )
  66. #define  PCRT_FILE(fname)         open(fname, O_CREAT | O_TEXT | O_RDWR, S_IREAD | S_IWRITE)
  67. #define  TCRT_FILE(fname)         open(fname, O_CREAT | O_TEXT | O_RDWR, S_IREAD | S_IWRITE)
  68. #endif
  69.  
  70. #ifdef __TURBOC__
  71. #define  OPN_FILE(fname, mode)    open(fname, O_BINARY | O_RDWR)
  72. #define  PCRT_FILE(fname)         open(fname, O_CREAT  | O_TEXT | O_RDWR, S_IREAD | S_IWRITE)
  73. #define  TCRT_FILE(fname)         open(fname, O_CREAT | O_TEXT | O_RDWR, S_IREAD | S_IWRITE)
  74. #endif
  75.  
  76. #ifdef LATTICE
  77. #define  OPN_FILE(fname, mode)    open(fname, O_RAW | O_RDWR)
  78. #define  CRT_FILE(fname)          open(fname, O_CREAT | O_RAW | O_RDWR)
  79. #endif
  80.  
  81. #ifdef __WATCOMC__
  82. #define  OPN_FILE(fname, mode)    open(fname, O_TEXT | O_RDWR )
  83. #define  PCRT_FILE(fname)         open(fname, O_CREAT | O_TEXT | O_RDWR, S_IREAD | S_IWRITE)
  84. #define  TCRT_FILE(fname)         open(fname, O_CREAT | O_TEXT | O_RDWR, S_IREAD | S_IWRITE)
  85. #endif
  86.  
  87. #ifdef __ZTC__
  88. #define  OPN_FILE(fname, mode)    open(fname, O_RDWR)
  89. #define  CRT_FILE(fname)          creat(fname, O_RDWR)
  90. #endif
  91.  
  92.  
  93.  
  94.  
  95. /* MODFILE.C */
  96. PROTO (void bin_to_text_64, (int [], unsigned char *));
  97. PROTO (void text_to_bin_64, (unsigned char *, int []));
  98. PROTO (void mod_file, (char *));
  99. PROTO (void initpwdscreen, (char *));
  100. PROTO (void setvars, (char *));
  101. PROTO (int openpwdfile, (void));
  102. PROTO (void pwdscreenmaint, (void));
  103. PROTO (void closepwdfile, (void));
  104. PROTO (void display_extras_passwd, (void));
  105. PROTO (void pswd_add_mode, (void));
  106. PROTO (void pswd_change_mode, (void));
  107. PROTO (void pswd_delete_mode, (void));
  108. PROTO (void pswd_inquire_mode, (void));
  109. PROTO (void add_user, (void));
  110. PROTO (void add_module, (void));
  111. PROTO (void chg_user, (void));
  112. PROTO (void chg_module, (void));
  113. PROTO (void del_user, (void));
  114. PROTO (void del_module, (void));
  115. PROTO (void inq_user, (void));
  116. PROTO (void inq_module, (void));
  117. PROTO (void getperms, (int, int, char *, int));
  118. PROTO (void get_pwd, ( int, int, int, char * ));
  119. PROTO (void clear_window, (void));
  120. PROTO (void get_module_from_list, ( int, int, int, int, int ));
  121. PROTO (void get_user_from_list, ( int, int, int, int, int ));
  122. PROTO (int cmpperms, (char *, char *));
  123. PROTO (char *user_dsp, (struct user_entry *));
  124. PROTO (char *mod_dsp, (struct mod_entry *));
  125. PROTO (char *userperm_dsp, (struct mod_entry *));
  126. PROTO (char *modperm_dsp, (struct mod_entry *));
  127. /* MFOPS.C */
  128. PROTO (int readfile, (void));
  129. PROTO (int validfile, (FILE *));
  130. PROTO (int writefile, (void));
  131. PROTO (void writelist, (FILE *));
  132. PROTO (void writeusers, (FILE *));
  133. PROTO (void writemods, (FILE *));
  134. PROTO (void writehdr, (FILE *));
  135. PROTO (int usercmp, (struct user_entry *, struct user_entry *));
  136. PROTO (int modcmp, (struct mod_entry *, struct mod_entry *));
  137. /* LOGINMOD.C */
  138. PROTO (unsigned int checkperms, (char *, int, char *[], char *, char *));
  139. PROTO (void input_pwd, (char *, char *));
  140. PROTO (char *basename, (char *));
  141. PROTO (int retry_win, (void));
  142. PROTO (void chg_win, (char *, char *));
  143. /* LFOPS.C */
  144. PROTO (unsigned int passwd, (char *, char *, char *, char *));
  145. PROTO (char *parsename, (FILE *));
  146. PROTO (char *parsestr, (FILE *));
  147. PROTO (int eatspace, (FILE *));
  148. PROTO (int eatline, (FILE *));
  149. PROTO (int parseuser, (FILE *, char *, char *));
  150. PROTO (unsigned int parseperms, (FILE *, char *, char *));
  151. PROTO (void lower, (register char *));
  152. PROTO (void upper, (register char *));
  153. PROTO (int cistrcmp, (char *, char *));
  154. /* CRYPT.C */
  155. PROTO (void setkey, (char *));
  156. /* CRC.C */
  157. PROTO (long crc_calc, (FILE *));
  158.  
  159.