home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 125.img / PRO-C4.ZIP / BENCH1.ZIP / HDR / PASSWD.H < prev    next >
C/C++ Source or Header  |  1990-05-28  |  6KB  |  226 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. #ifdef ANSI
  96. /* MODFILE.C */
  97. void bin_to_text_64(int [], unsigned char *);
  98. void text_to_bin_64(unsigned char *, int []);
  99. void mod_file(char *);
  100. void initpwdscreen(char *);
  101. void setvars(char *);
  102. int openpwdfile(void);
  103. void pwdscreenmaint(void);
  104. void closepwdfile(void);
  105. void display_extras_passwd(void);
  106. void pswd_add_mode(void);
  107. void pswd_change_mode(void);
  108. void pswd_delete_mode(void);
  109. void pswd_inquire_mode(void);
  110. void add_user(void);
  111. void add_module(void);
  112. void chg_user(void);
  113. void chg_module(void);
  114. void del_user(void);
  115. void del_module(void);
  116. void inq_user(void);
  117. void inq_module(void);
  118. void getperms(int, int, char *, int);
  119. void get_pwd( int, int, int, char * );
  120. void clear_window(void);
  121. void get_module_from_list( int, int, int, int, int );
  122. void get_user_from_list( int, int, int, int, int );
  123. int cmpperms(char *, char *);
  124. char *user_dsp(struct user_entry *);
  125. char *mod_dsp(struct mod_entry *);
  126. char *userperm_dsp(struct mod_entry *);
  127. char *modperm_dsp(struct mod_entry *);
  128. /* MFOPS.C */
  129. int readfile(void);
  130. int validfile(FILE *);
  131. int writefile(void);
  132. void writelist(FILE *);
  133. void writeusers(FILE *);
  134. void writemods(FILE *);
  135. void writehdr(FILE *);
  136. int usercmp(struct user_entry *, struct user_entry *);
  137. int modcmp(struct mod_entry *, struct mod_entry *);
  138. /* LOGINMOD.C */
  139. unsigned int checkperms(char *, int, char *[], char *, char *);
  140. void input_pwd(char *, char *);
  141. char *basename(char *);
  142. int retry_win(void);
  143. void chg_win(char *, char *);
  144. /* LFOPS.C */
  145. unsigned int passwd(char *, char *, char *, char *);
  146. char *parsename(FILE *);
  147. char *parsestr(FILE *);
  148. int eatspace(FILE *);
  149. int eatline(FILE *);
  150. int parseuser(FILE *, char *, char *);
  151. unsigned int parseperms(FILE *, char *, char *);
  152. void lower(register char *);
  153. void upper(register char *);
  154. int cistrcmp(char *, char *);
  155. /* CRYPT.C */
  156. void setkey(char *);
  157. /* CRC.C */
  158. long crc_calc(FILE *);
  159. #else
  160. /* MODFILE.C */
  161. void bin_to_text_64();
  162. void text_to_bin_64();
  163. void mod_file();
  164. void initpwdscreen();
  165. void setvars();
  166. int openpwdfile();
  167. void pwdscreenmaint();
  168. void closepwdfile();
  169. void display_extras_passwd();
  170. void pswd_add_mode();
  171. void pswd_change_mode();
  172. void pswd_delete_mode();
  173. void pswd_inquire_mode();
  174. void add_user();
  175. void add_module();
  176. void chg_user();
  177. void chg_module();
  178. void del_user();
  179. void del_module();
  180. void inq_user();
  181. void inq_module();
  182. void getperms();
  183. void get_pwd();
  184. void clear_window();
  185. void get_module_from_list();
  186. void get_user_from_list();
  187. int cmpperms();
  188. char *user_dsp();
  189. char *mod_dsp();
  190. char *userperm_dsp();
  191. char *modperm_dsp();
  192. /* MFOPS.C */
  193. int readfile();
  194. int validfile();
  195. void deluserfmod();
  196. int writefile();
  197. void writelist();
  198. void writeusers();
  199. void writemods();
  200. void writehdr();
  201. int usercmp();
  202. int modcmp();
  203. /* LOGINMOD.C */
  204. unsigned int checkperms();
  205. void input_pwd();
  206. char *basename();
  207. int retry_win();
  208. void chg_win();
  209. /* LFOPS.C */
  210. unsigned int passwd();
  211. char *parsename();
  212. char *parsestr();
  213. int eatspace();
  214. int eatline();
  215. int parseuser();
  216. unsigned int parseperms();
  217. void lower();
  218. void upper();
  219. int cistrcmp();
  220. /* CRYPT.C */
  221. void setkey();
  222. /* CRC.C */
  223. long crc_calc();
  224. #endif
  225.  
  226.