-int create_user (char *newusername);
-void cmd_newu (char *cmdbuf);
-void cmd_setp (char *new_pw);
-void cmd_getu (void);
-void cmd_setu (char *new_parms);
-void cmd_slrp (char *new_ptr);
-void cmd_invt_kick (char *iuser, int op);
-void cmd_forg (void);
-void cmd_gnur (void);
-void cmd_vali (char *v_args);
-void ForEachUser(void (*CallBack)(struct usersupp *EachUser));
-void ListThisUser(struct usersupp *usbuf);
-void cmd_list (void);
-void cmd_chek (void);
-void cmd_qusr (char *who);
-void cmd_ebio (void);
-void cmd_rbio (char *cmdbuf);
-void cmd_lbio (void);
-void cmd_agup (char *cmdbuf);
-void cmd_asup (char *cmdbuf);
+int getuserbyuid(struct ctdluser *usbuf, uid_t number);
+
+int create_user(char *newusername, int become_user, uid_t uid);
+enum {
+ CREATE_USER_DO_NOT_BECOME_USER,
+ CREATE_USER_BECOME_USER
+};
+#define NATIVE_AUTH_UID (-1)
+
+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);