Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

session_t - session handling


Functions

int session_load (session_t *ss)
int session_save (session_t *ss)
int session_remove (session_t *ss)
int session_prv_init (session_t *ss, request_t *rq, response_t *rs)
int session_prv_load_from_io (session_t *ss, io_t *io)
int session_free (session_t *ss)
vars_tsession_get_vars (session_t *ss)
 Get session variables.
const char * session_get (session_t *ss, const char *name)
 Get session variable with given name.
int session_set (session_t *ss, const char *name, const char *value)
 Set session variable with given name to a value.
int session_age (session_t *ss)
 Get the amount of time a session has been inactive.
int session_clean (session_t *ss)
 Remove all session variables.
int session_del (session_t *ss, const char *name)
 Delete session variable given a name.
int session_prv_save_to_io (session_t *ss, io_t *out)
int session_prv_save_var (var_t *v, void *vp)
int session_create (session_opt_t *so, request_t *rq, response_t *rs, session_t **pss)

Detailed Description


Function Documentation

int session_age session_t ss  ) 
 

Return the number of seconds since the session was last modified.

Parameters:
ss session object
Returns:
  • the number of seconds since last modification
  • -1 on error

Definition at line 598 of file session.c.

References session_s::mtime, and session_t.

Referenced by session_create().

int session_clean session_t ss  ) 
 

Remove all session variables from ss.

Parameters:
ss session object
Returns:
0 if successful, non-zero on error

Definition at line 619 of file session.c.

References session_t, var_free(), var_t, session_s::vars, vars_del(), and vars_getn().

Referenced by session_create().

int session_create session_opt_t so,
request_t rq,
response_t rs,
session_t **  pss
 

Definition at line 783 of file session.c.

References session_opt_s::max_age, request_t, response_t, session_age(), session_clean(), session_client_create(), session_file_create(), session_free(), session_load(), session_mem_create(), session_opt_t, session_remove(), session_t, SESSION_TYPE_CLIENT, SESSION_TYPE_FILE, SESSION_TYPE_MEMORY, and session_opt_s::type.

int session_del session_t ss,
const char *  name
 

Delete session variable name in ss.

Parameters:
ss session object
name session variable name
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 648 of file session.c.

References session_t, var_free(), var_t, session_s::vars, vars_del(), and vars_get().

int session_free session_t ss  ) 
 

Definition at line 491 of file session.c.

References session_s::removed, session_save(), session_t, session_s::term, session_s::vars, and vars_free().

Referenced by session_client_create(), session_create(), session_file_create(), and session_mem_create().

const char* session_get session_t ss,
const char *  name
 

Return a string representation of variable in ss with given name.

Parameters:
ss session object
name session variable name
Returns:
the variable value corresponding to the given name (may be NULL)

Definition at line 537 of file session.c.

References session_t, var_get_value(), var_t, session_s::vars, and vars_get().

vars_t* session_get_vars session_t ss  ) 
 

Return a vars_t containing the session variables.

Parameters:
ss session object
Returns:
the variables' list of the given ss (may be NULL)

Definition at line 519 of file session.c.

References session_t, session_s::vars, and vars_t.

int session_load session_t ss  ) 
 

Definition at line 353 of file session.c.

References session_s::load, and session_t.

Referenced by session_create().

int session_prv_init session_t ss,
request_t rq,
response_t rs
 

Definition at line 390 of file session.c.

References request_get_cookie(), request_t, response_t, session_s::rq, session_s::rs, session_priv_set_id(), session_t, session_s::vars, and vars_create().

Referenced by session_client_create(), session_file_create(), and session_mem_create().

int session_prv_load_from_io session_t ss,
io_t io
 

Definition at line 413 of file session.c.

References codec_cipher_create(), codec_free(), codec_gzip_create(), codec_t, session_opt_s::compress, session_opt_s::encrypt, GZIP_UNCOMPRESS, io_codec_add_tail(), io_codecs_remove(), io_t, session_opt_s::session_iv, session_opt_s::session_key, session_t, session_s::so, u_getline(), var_get_name(), var_get_value(), var_get_value_size(), var_set_bin_value(), var_t, session_s::vars, vars_add_urlvar(), vars_del(), and vars_get().

Referenced by session_prv_load_from_buf().

int session_prv_save_to_io session_t ss,
io_t out
 

Definition at line 664 of file session.c.

References codec_cipher_create(), codec_free(), codec_gzip_create(), codec_t, session_opt_s::compress, session_opt_s::encrypt, GZIP_COMPRESS, io_codec_add_tail(), io_codecs_remove(), io_t, save_cb_params_t, session_prv_save_var(), session_t, session_s::so, session_s::vars, and vars_foreach().

Referenced by session_prv_save_to_buf().

int session_prv_save_var var_t v,
void *  vp
 

Definition at line 712 of file session.c.

References CODEC_CIPHER_BLOCK_SIZE, CODEC_CIPHER_KEY_SIZE, io_printf(), save_cb_params_t, u_urlncpy(), URLCPY_ENCODE, var_get_name(), var_get_value(), var_get_value_size(), var_set_bin_value(), and var_t.

Referenced by session_prv_save_to_io().

int session_remove session_t ss  ) 
 

Definition at line 380 of file session.c.

References session_s::remove, session_s::removed, and session_t.

Referenced by session_create().

int session_save session_t ss  ) 
 

Definition at line 361 of file session.c.

References session_s::id, session_s::save, session_priv_set_id(), session_t, session_s::vars, and vars_count().

Referenced by session_free().

int session_set session_t ss,
const char *  name,
const char *  value
 

Put variable with name and value into ss.

Parameters:
ss session object
name session variable name
value session variable value
Returns:
0 if successful, non-zero on error

Definition at line 559 of file session.c.

References session_t, var_create(), var_free(), var_set_value(), var_t, session_s::vars, vars_add(), and vars_get().


←Products
© 2005-2006 - KoanLogic S.r.l. - All rights reserved