X-Git-Url: http://git.pk910.de/?p=TransparentIRC.git;a=blobdiff_plain;f=src%2FUserClient.h;h=bde600145e9fd4cc1c5aea87c33d973cafe85813;hp=6b95ea1f99336ff2d13d0cb9c0d5b70357fe78a5;hb=4fdc419424dd18df5807ed4218a84fa38e1dd6f6;hpb=1f2baa2e7b90ea83c5a0c93598e22e5063fc6d95 diff --git a/src/UserClient.h b/src/UserClient.h index 6b95ea1..bde6001 100644 --- a/src/UserClient.h +++ b/src/UserClient.h @@ -21,13 +21,35 @@ struct IODescriptor; struct ServerSocket; -//struct UserSession; +struct UserSession; + +#define USERCLIENT_LOGIN_PROCESSING 0x01 +#define USERCLIENT_LOGGED_IN 0x02 + +struct UserLogin { + struct UserClient *client; + char *username; + char *password; + char *nick; + + int login_accepted : 1; + char *reject_reason; + + char *session_class; + + struct IODescriptor *login_iofd; +}; struct UserClient { struct IODescriptor *iofd; struct ServerSocket *server; - //struct UserSession *user; + int flags; + void *user; /* struct UserSession / struct UserLogin */ + + char *username; + char *password; + char *nick; struct UserClient *next, *prev; }; @@ -35,5 +57,7 @@ struct UserClient { void userclient_accepted(struct ServerSocket *server, int sockfd); void userclient_close(struct UserClient *client); void userclient_close_server(struct ServerSocket *server, int keep_clients); +void userclient_login_failed(struct UserLogin *login, char *reason); +void userclient_login_successful(struct UserLogin *login, struct UserSession *session, int recover); #endif