diff options
author | ilsimo <ilsimo> | 2006-01-13 15:51:23 +0000 |
---|---|---|
committer | ilsimo <ilsimo> | 2006-01-13 15:51:23 +0000 |
commit | 153b59ad8447d47d4a241e0f63307b096585172b (patch) | |
tree | d2aea8fe354a291308d80a2124dbfc05ec3fdaa8 /sesman/session.h | |
parent | fade58ba2bf869e7e872d3003ac0962cb8f1233c (diff) | |
download | xrdp-proprietary-153b59ad8447d47d4a241e0f63307b096585172b.tar.gz xrdp-proprietary-153b59ad8447d47d4a241e0f63307b096585172b.zip |
new session list code
added support for new [sessions] configuration options
Diffstat (limited to 'sesman/session.h')
-rw-r--r-- | sesman/session.h | 75 |
1 files changed, 71 insertions, 4 deletions
diff --git a/sesman/session.h b/sesman/session.h index c8615c05..5d677911 100644 --- a/sesman/session.h +++ b/sesman/session.h @@ -24,6 +24,20 @@ #ifndef SESSION_H #define SESSION_H +#define SESMAN_SESSION_TYPE_XRDP 1 +#define SESMAN_SESSION_TYPE_XVNC 2 + +#define SESMAN_SESSION_STATUS_ACTIVE 1 +#define SESMAN_SESSION_STATUS_IDLE 2 +#define SESMAN_SESSION_STATUS_DISCONNECTED 3 +/* future expansion +#define SESMAN_SESSION_STATUS_REMCONTROL 4 +*/ + +#define SESMAN_SESSION_KILL_OK 0 +#define SESMAN_SESSION_KILL_NULLITEM 1 +#define SESMAN_SESSION_KILL_NOTFOUND 2 + struct session_item { char name[256]; @@ -33,17 +47,70 @@ struct session_item int height; int bpp; long data; + + /* status info */ + unsigned char status; + unsigned char type; + + /* time data */ + time_t connect_time; + time_t disconnect_time; + time_t idle_time; }; -/******************************************************************************/ +struct session_chain +{ + struct session_chain* next; + struct session_item* item; +}; + +/** + * + * finds a session matching the supplied parameters + * + * @return session data or 0 + * + */ struct session_item* DEFAULT_CC -session_find_item(char* name, int width, int height, int bpp); +session_get_bydata(char* name, int width, int height, int bpp); +#ifndef session_find_item + #define session_find_item(a, b, c, d) session_get_bydata(a, b, c, d); +#endif -/******************************************************************************/ -/* returns 0 if error else the display number the session was started on */ +/** + * + * starts a session + * + * @return 0 on error, display number if success + * + */ int DEFAULT_CC session_start(int width, int height, int bpp, char* username, char* password, long data); +/** + * + * kills a session + * + * @param the id of the session to be killed + * + * @return + * + */ +int DEFAULT_CC +session_kill(int pid); + +/** + * + * retrieves a session's descriptor + * + * @param pid the session pid + * + * @return a pointer to the session descriptor on success, NULL otherwise + * + */ +struct session_item* DEFAULT_CC +session_get_bypid(int pid); + #endif |