OSDN Git Service

* add cookie simulator.
[modchxj/mod_chxj.git] / include / chxj_cookie.h
1 /*
2  * Copyright (C) 2005 QSDN,Inc. All rights reserved.
3  * Copyright (C) 2005 Atsushi Konno All rights reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 #ifndef __CHXJ_COOKIE_H__
18 #define __CHXJ_COOKIE_H__
19
20 #include "mod_chxj.h"
21 #include "apr_file_io.h"
22 #include "apr_tables.h"
23
24 #define CHXJ_COOKIE_PARAM  "_chxj_cc"
25
26
27 typedef struct cookie_t cookie_t;
28
29
30 struct cookie_t {
31   char*               cookie_id;
32   apr_array_header_t* cookie_headers;
33 };
34
35
36 extern cookie_t* chxj_save_cookie(
37   request_rec *r);
38
39 extern char*     chxj_add_cookie_parameter(
40   request_rec* r, 
41   char*        value, 
42   cookie_t*    cookie);
43
44 extern int chxj_cookie_check_host(
45   request_rec* r, 
46   char*        value);
47
48 extern cookie_t* chxj_load_cookie(
49   request_rec* r, 
50   char*        cookie_id);
51
52 extern apr_file_t* chxj_cookie_db_lock(
53   request_rec* r);
54
55 extern void chxj_cookie_db_unlock(
56   request_rec* r, 
57   apr_file_t*  file);
58
59 extern void chxj_delete_cookie(
60   request_rec* r, 
61   char*        cookie_id);
62
63 extern char* chxj_cookie_db_name_create(
64   request_rec* r, 
65   const char*  dir);
66
67 extern char* chxj_cookie_db_lock_name_create(
68   request_rec* r, 
69   const char*  dir);
70
71 #endif
72 /*
73  * vim:ts=2 et
74  */