Codebase list citadel / upstream/7.63 user_ops.h
upstream/7.63

Tree @upstream/7.63 (Download .tar.gz)

user_ops.h @upstream/7.63raw · history · blame

/* $Id: user_ops.h 7360 2009-04-17 00:44:52Z dothebart $ */
int hash (char *str);
int getuser (struct ctdluser *, char *);
int lgetuser (struct ctdluser *, char *);
void putuser (struct ctdluser *);
void lputuser (struct ctdluser *);
int is_aide (void);
int is_room_aide (void);
int getuserbynumber (struct ctdluser *usbuf, long int number);
void rebuild_usersbynumber(void);
void cmd_user (char *cmdbuf);
void session_startup (void);
void logged_in_response(void);
void logout (void);
int purge_user (char *pname);
int create_user (char *newusername, int become_user);
void do_login(void);
int CtdlInvtKick(char *iuser, int op);
void ForEachUser(void (*CallBack)(struct ctdluser *EachUser, void *out_data),
	void *in_data);
void ListThisUser(struct ctdluser *usbuf, void *data);
int NewMailCount(void);
int InitialMailCheck(void);
void put_visit(struct visit *newvisit);
void CtdlGetRelationship(struct visit *vbuf,
                        struct ctdluser *rel_user,
                        struct ctdlroom *rel_room);
void CtdlSetRelationship(struct visit *newvisit,
                        struct ctdluser *rel_user,
                        struct ctdlroom *rel_room);
void MailboxName(char *buf, size_t n, const struct ctdluser *who,
		 const char *prefix);
int GenerateRelationshipIndex(  char *IndexBuf,
                                long RoomID,
                                long RoomGen,
                                long UserID);
int CtdlAssociateSystemUser(char *screenname, char *loginname);
int CtdlLoginExistingUser(char *authname, char *username);

/*
 * Values which may be returned by CtdlLoginExistingUser()
 */
enum {
	pass_ok,
	pass_already_logged_in,
	pass_no_user,
	pass_internal_error,
	pass_wrong_password
};




int CtdlTryPassword(char *password);
void CtdlSetPassword(char *new_pw);

/*
 * Values which may be returned by CtdlTryPassword()
 */
enum {
	login_ok,
	login_already_logged_in,
	login_too_many_users,
	login_not_found
};


int CtdlForgetThisRoom(void);

void cmd_newu (char *cmdbuf);
void BumpNewMailCounter(long);
void start_chkpwd_daemon(void);


#define RENAMEUSER_OK			0	/* Operation succeeded */
#define RENAMEUSER_LOGGED_IN		1	/* Cannot rename a user who is currently logged in */
#define RENAMEUSER_NOT_FOUND		2	/* The old user name does not exist */
#define RENAMEUSER_ALREADY_EXISTS	3	/* An account with the desired new name already exists */

int rename_user(char *oldname, char *newname);
INLINE void makeuserkey(char *key, char *username);
int internal_create_user (char *username, struct ctdluser *usbuf, uid_t uid);