/* Licensed to the Apache Software Foundation (ASF) under one or more *contributorlicenseagreements.SeetheNOTICEfiledistributedwith *thisworkforadditionalinformationregardingcopyrightownership. *TheASFlicensesthisfiletoYouundertheApacheLicense,Version2.0 *(the"License");youmaynotusethisfileexceptincompliancewith *theLicense.YoumayobtainacopyoftheLicenseat * *http://www.apache.org/licenses/LICENSE-2.0 * *Unlessrequiredbyapplicablelaworagreedtoinwriting,software *distributedundertheLicenseisdistributedonan"ASIS"BASIS, *WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied. *SeetheLicenseforthespecificlanguagegoverningpermissionsand *limitationsundertheLicense.
*/
#ifndef MOD_SESSION_H #define MOD_SESSION_H
/* Create a set of SESSION_DECLARE(type), SESSION_DECLARE_NONSTD(type) and *SESSION_DECLARE_DATAwithappropriateexportandimporttagsfortheplatform
*/ #if !defined(WIN32) #define SESSION_DECLARE(type) type #define SESSION_DECLARE_NONSTD(type) type #define SESSION_DECLARE_DATA #elifdefined(SESSION_DECLARE_STATIC) #define SESSION_DECLARE(type) type __stdcall #define SESSION_DECLARE_NONSTD(type) type #define SESSION_DECLARE_DATA #elifdefined(SESSION_DECLARE_EXPORT) #define SESSION_DECLARE(type) __declspec(dllexport) type __stdcall #define SESSION_DECLARE_NONSTD(type) __declspec(dllexport) type #define SESSION_DECLARE_DATA __declspec(dllexport) #else #define SESSION_DECLARE(type) __declspec(dllimport) type __stdcall #define SESSION_DECLARE_NONSTD(type) __declspec(dllimport) type #define SESSION_DECLARE_DATA __declspec(dllimport) #endif
/** *Asessionstructure. * *Atthecoreofthesessionisasetofnamevaluepairsmakingupthe *session. * *Thesessionmightbeuniquelyidentifiedbyananonymousuuid,or *aremote_uservalue,orboth.
*/ typedefstruct {
apr_pool_t *pool; /* pool to be used for this session */
apr_uuid_t *uuid; /* anonymous uuid of this particular session */ constchar *remote_user; /* user who owns this particular session */
apr_table_t *entries; /* key value pairs */ constchar *encoded; /* the encoded version of the key value pairs */
apr_time_t expiry; /* if > 0, the time of expiry of this session */ long maxage; /* if > 0, the maxage of the session, from
* which expiry is calculated */ int dirty; /* dirty flag */ int cached; /* true if this session was loaded from a
* cache of some kind */ int written; /* true if this session has already been
* written */
} session_rec;
/** *Structuretocarrytheper-dirsessionconfig.
*/ typedefstruct { int enabled; /* whether the session has been enabled for
* this directory */ int enabled_set; long maxage; /* seconds until session expiry */ int maxage_set; constchar *header; /* header to inject session */ int header_set; int env; /* whether the session has been enabled for
* this directory */ int env_set;
apr_array_header_t *includes; /* URL prefixes to be included. All
* URLs included if empty */
apr_array_header_t *excludes; /* URL prefixes to be excluded. No
* URLs excluded if empty */
apr_time_t expiry_update_time; /* seconds the session expiry may change and
* not have to be rewritten */ int expiry_update_set;
} session_dir_conf;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.