00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _SESSION_H
00023 #define _SESSION_H 1
00024
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028
00029 #ifndef SESSION_FILE_PREFIX
00030 #define SESSION_FILE_PREFIX "cgisess_"
00031 #endif
00032
00033
00034 #define session_var(name) cgi_session_var(name)
00035 #define session_destroy() cgi_session_destroy()
00036 #define session_register_var(name, value) cgi_session_register_var(name, value)
00037 #define session_alter_var(name, value) cgi_session_alter_var(name, value)
00038 #define session_var_exists(name) cgi_session_var_exists(name)
00039 #define session_unregister_var(name) cgi_session_unregister_var(name)
00040 #define session_start() cgi_session_start()
00041
00042 char SESSION_SAVE_PATH[255] = "/tmp/";
00043 char SESSION_COOKIE_NAME[50] = "CGISID";
00044 #define cgi_session_cookie_name(cookie_name) strncpy(SESSION_COOKIE_NAME, cookie_name, 49)
00045 #define cgi_session_save_path(path) strncpy(SESSION_SAVE_PATH, path, 254)
00046
00047 #define cgi_session_var(var_name) List_item(var_name, sess_list_start)
00048
00049
00050 extern int sess_initialized;
00051 extern int session_lasterror;
00052
00053 extern formvars *sess_list_start;
00054
00055
00056
00057
00058 const char *session_error_message[] = {
00059 "Session not initialized",
00060 "Session file not initialized",
00061 "Headers already been sent",
00062 "Session already started",
00063 "Failed to create session file",
00064 "Failed to remove session file",
00065 "Failed to destroy the session",
00066 "Failed to remove session value from list",
00067 "Session variable already registered",
00068 "Session variable not registered",
00069 "Failed to open session file for manipulation"
00070 };
00071
00072
00073 extern int session_lasterror;
00074
00075 extern int cgi_session_destroy();
00076 extern int cgi_session_register_var(const char *name, const char *value);
00077 extern int cgi_session_alter_var(const char *name, const char *new_value);
00078 extern int cgi_session_var_exists(const char *name);
00079 extern int cgi_session_unregister_var(char *name);
00080 extern int cgi_session_start();
00081
00082 #ifdef __cplusplus
00083 }
00084 #endif
00085
00086 #endif // _SESSION_H