Support the idea of a 'master user' logging in
[citadel.git] / citadel / user_ops.h
1 /* $Id$ */
2 int hash (char *str);
3 int getuser (struct ctdluser *, char *);
4 int lgetuser (struct ctdluser *, char *);
5 void putuser (struct ctdluser *);
6 void lputuser (struct ctdluser *);
7 int is_aide (void);
8 int is_room_aide (void);
9 int getuserbynumber (struct ctdluser *usbuf, long int number);
10 void cmd_user (char *cmdbuf);
11 void session_startup (void);
12 void logout (struct CitContext *who);
13 void cmd_pass (char *buf);
14 int purge_user (char *pname);
15 int create_user (char *newusername, int become_user);
16 void do_login(void);
17 void cmd_newu (char *cmdbuf);
18 void cmd_creu (char *cmdbuf);
19 void cmd_setp (char *new_pw);
20 void cmd_getu (void);
21 void cmd_setu (char *new_parms);
22 void cmd_slrp (char *new_ptr);
23 int CtdlInvtKick(char *iuser, int op);
24 void cmd_invt_kick (char *iuser, int op);
25 void cmd_forg (void);
26 void cmd_gnur (void);
27 void cmd_vali (char *v_args);
28 void ForEachUser(void (*CallBack)(struct ctdluser *EachUser, void *out_data),
29         void *in_data);
30 void ListThisUser(struct ctdluser *usbuf, void *data);
31 void cmd_list (char *);
32 void cmd_chek (void);
33 void cmd_qusr (char *who);
34 void cmd_agup (char *cmdbuf);
35 void cmd_asup (char *cmdbuf);
36 void cmd_view (char *cmdbuf);
37 int NewMailCount(void);
38 int InitialMailCheck(void);
39 void put_visit(struct visit *newvisit);
40 void CtdlGetRelationship(struct visit *vbuf,
41                         struct ctdluser *rel_user,
42                         struct ctdlroom *rel_room);
43 void CtdlSetRelationship(struct visit *newvisit,
44                         struct ctdluser *rel_user,
45                         struct ctdlroom *rel_room);
46 void MailboxName(char *buf, size_t n, const struct ctdluser *who,
47                  const char *prefix);
48 int GenerateRelationshipIndex(  char *IndexBuf,
49                                 long RoomID,
50                                 long RoomGen,
51                                 long UserID);
52 int CtdlAssociateSystemUser(char *screenname, char *loginname);
53 int CtdlLoginExistingUser(char *authname, char *username);
54
55 /*
56  * Values which may be returned by CtdlLoginExistingUser()
57  */
58 enum {
59         pass_ok,
60         pass_already_logged_in,
61         pass_no_user,
62         pass_internal_error,
63         pass_wrong_password
64 };
65
66
67
68
69 int CtdlTryPassword(char *password);
70
71 /*
72  * Values which may be returned by CtdlTryPassword()
73  */
74 enum {
75         login_ok,
76         login_already_logged_in,
77         login_too_many_users,
78         login_not_found
79 };
80
81
82 int CtdlForgetThisRoom(void);
83 void cmd_seen(char *argbuf);
84 void cmd_gtsn(char *argbuf);
85 void BumpNewMailCounter(long);
86 void start_chkpwd_daemon(void);