Mercurial > urweb
comparison include/urweb.h @ 682:5bbb542243e8
Redo channels, making them single-client
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 29 Mar 2009 11:37:29 -0400 |
parents | 44f23712020d |
children | 9a2c18dab11d |
comparison
equal
deleted
inserted
replaced
681:6c9b8875f347 | 682:5bbb542243e8 |
---|---|
6 | 6 |
7 extern uw_unit uw_unit_v; | 7 extern uw_unit uw_unit_v; |
8 | 8 |
9 void uw_global_init(void); | 9 void uw_global_init(void); |
10 | 10 |
11 void uw_client_connect(size_t id, int pass, int sock); | 11 void uw_client_connect(unsigned id, int pass, int sock); |
12 void uw_prune_clients(time_t timeout); | 12 void uw_prune_clients(time_t timeout); |
13 | 13 |
14 uw_context uw_init(size_t outHeaders_len, size_t script_len, size_t page_len, size_t heap_len); | 14 uw_context uw_init(size_t outHeaders_len, size_t script_len, size_t page_len, size_t heap_len); |
15 void uw_set_db(uw_context, void*); | 15 void uw_set_db(uw_context, void*); |
16 void *uw_get_db(uw_context); | 16 void *uw_get_db(uw_context); |
20 void uw_reset_keep_error_message(uw_context); | 20 void uw_reset_keep_error_message(uw_context); |
21 | 21 |
22 failure_kind uw_begin_init(uw_context); | 22 failure_kind uw_begin_init(uw_context); |
23 void uw_set_headers(uw_context, char *headers); | 23 void uw_set_headers(uw_context, char *headers); |
24 failure_kind uw_begin(uw_context, char *path); | 24 failure_kind uw_begin(uw_context, char *path); |
25 void uw_login(uw_context); | |
25 void uw_commit(uw_context); | 26 void uw_commit(uw_context); |
26 int uw_rollback(uw_context); | 27 int uw_rollback(uw_context); |
27 | 28 |
28 __attribute__((noreturn)) void uw_error(uw_context, failure_kind, const char *fmt, ...); | 29 __attribute__((noreturn)) void uw_error(uw_context, failure_kind, const char *fmt, ...); |
29 char *uw_error_message(uw_context); | 30 char *uw_error_message(uw_context); |
53 char *uw_Basis_htmlifyInt(uw_context, uw_Basis_int); | 54 char *uw_Basis_htmlifyInt(uw_context, uw_Basis_int); |
54 char *uw_Basis_htmlifyFloat(uw_context, uw_Basis_float); | 55 char *uw_Basis_htmlifyFloat(uw_context, uw_Basis_float); |
55 char *uw_Basis_htmlifyString(uw_context, uw_Basis_string); | 56 char *uw_Basis_htmlifyString(uw_context, uw_Basis_string); |
56 char *uw_Basis_htmlifyBool(uw_context, uw_Basis_bool); | 57 char *uw_Basis_htmlifyBool(uw_context, uw_Basis_bool); |
57 char *uw_Basis_htmlifyTime(uw_context, uw_Basis_time); | 58 char *uw_Basis_htmlifyTime(uw_context, uw_Basis_time); |
58 char *uw_Basis_htmlifyChannel(uw_context, uw_Basis_channel); | |
59 | 59 |
60 uw_unit uw_Basis_htmlifyInt_w(uw_context, uw_Basis_int); | 60 uw_unit uw_Basis_htmlifyInt_w(uw_context, uw_Basis_int); |
61 uw_unit uw_Basis_htmlifyFloat_w(uw_context, uw_Basis_float); | 61 uw_unit uw_Basis_htmlifyFloat_w(uw_context, uw_Basis_float); |
62 uw_unit uw_Basis_htmlifyString_w(uw_context, uw_Basis_string); | 62 uw_unit uw_Basis_htmlifyString_w(uw_context, uw_Basis_string); |
63 uw_unit uw_Basis_htmlifyBool_w(uw_context, uw_Basis_bool); | 63 uw_unit uw_Basis_htmlifyBool_w(uw_context, uw_Basis_bool); |
64 uw_unit uw_Basis_htmlifyTime_w(uw_context, uw_Basis_time); | 64 uw_unit uw_Basis_htmlifyTime_w(uw_context, uw_Basis_time); |
65 | 65 |
66 char *uw_Basis_attrifyInt(uw_context, uw_Basis_int); | 66 char *uw_Basis_attrifyInt(uw_context, uw_Basis_int); |
67 char *uw_Basis_attrifyFloat(uw_context, uw_Basis_float); | 67 char *uw_Basis_attrifyFloat(uw_context, uw_Basis_float); |
68 char *uw_Basis_attrifyString(uw_context, uw_Basis_string); | 68 char *uw_Basis_attrifyString(uw_context, uw_Basis_string); |
69 char *uw_Basis_attrifyTime(uw_context, uw_Basis_time); | |
69 char *uw_Basis_attrifyChannel(uw_context, uw_Basis_channel); | 70 char *uw_Basis_attrifyChannel(uw_context, uw_Basis_channel); |
71 char *uw_Basis_attrifyClient(uw_context, uw_Basis_client); | |
70 | 72 |
71 uw_unit uw_Basis_attrifyInt_w(uw_context, uw_Basis_int); | 73 uw_unit uw_Basis_attrifyInt_w(uw_context, uw_Basis_int); |
72 uw_unit uw_Basis_attrifyFloat_w(uw_context, uw_Basis_float); | 74 uw_unit uw_Basis_attrifyFloat_w(uw_context, uw_Basis_float); |
73 uw_unit uw_Basis_attrifyString_w(uw_context, uw_Basis_string); | 75 uw_unit uw_Basis_attrifyString_w(uw_context, uw_Basis_string); |
74 | 76 |
88 uw_Basis_int uw_Basis_unurlifyInt(uw_context, char **); | 90 uw_Basis_int uw_Basis_unurlifyInt(uw_context, char **); |
89 uw_Basis_float uw_Basis_unurlifyFloat(uw_context, char **); | 91 uw_Basis_float uw_Basis_unurlifyFloat(uw_context, char **); |
90 uw_Basis_string uw_Basis_unurlifyString(uw_context, char **); | 92 uw_Basis_string uw_Basis_unurlifyString(uw_context, char **); |
91 uw_Basis_bool uw_Basis_unurlifyBool(uw_context, char **); | 93 uw_Basis_bool uw_Basis_unurlifyBool(uw_context, char **); |
92 uw_Basis_time uw_Basis_unurlifyTime(uw_context, char **); | 94 uw_Basis_time uw_Basis_unurlifyTime(uw_context, char **); |
93 uw_Basis_channel uw_Basis_unurlifyChannel(uw_context, char **); | |
94 | 95 |
95 uw_Basis_string uw_Basis_strcat(uw_context, const char *, const char *); | 96 uw_Basis_string uw_Basis_strcat(uw_context, const char *, const char *); |
96 uw_Basis_string uw_Basis_strdup(uw_context, const char *); | 97 uw_Basis_string uw_Basis_strdup(uw_context, const char *); |
97 uw_Basis_string uw_Basis_maybe_strdup(uw_context, const char *); | 98 uw_Basis_string uw_Basis_maybe_strdup(uw_context, const char *); |
98 | 99 |
100 uw_Basis_string uw_Basis_sqlifyFloat(uw_context, uw_Basis_float); | 101 uw_Basis_string uw_Basis_sqlifyFloat(uw_context, uw_Basis_float); |
101 uw_Basis_string uw_Basis_sqlifyString(uw_context, uw_Basis_string); | 102 uw_Basis_string uw_Basis_sqlifyString(uw_context, uw_Basis_string); |
102 uw_Basis_string uw_Basis_sqlifyBool(uw_context, uw_Basis_bool); | 103 uw_Basis_string uw_Basis_sqlifyBool(uw_context, uw_Basis_bool); |
103 uw_Basis_string uw_Basis_sqlifyTime(uw_context, uw_Basis_time); | 104 uw_Basis_string uw_Basis_sqlifyTime(uw_context, uw_Basis_time); |
104 uw_Basis_string uw_Basis_sqlifyChannel(uw_context, uw_Basis_channel); | 105 uw_Basis_string uw_Basis_sqlifyChannel(uw_context, uw_Basis_channel); |
106 uw_Basis_string uw_Basis_sqlifyClient(uw_context, uw_Basis_client); | |
105 | 107 |
106 uw_Basis_string uw_Basis_sqlifyIntN(uw_context, uw_Basis_int*); | 108 uw_Basis_string uw_Basis_sqlifyIntN(uw_context, uw_Basis_int*); |
107 uw_Basis_string uw_Basis_sqlifyFloatN(uw_context, uw_Basis_float*); | 109 uw_Basis_string uw_Basis_sqlifyFloatN(uw_context, uw_Basis_float*); |
108 uw_Basis_string uw_Basis_sqlifyStringN(uw_context, uw_Basis_string); | 110 uw_Basis_string uw_Basis_sqlifyStringN(uw_context, uw_Basis_string); |
109 uw_Basis_string uw_Basis_sqlifyBoolN(uw_context, uw_Basis_bool*); | 111 uw_Basis_string uw_Basis_sqlifyBoolN(uw_context, uw_Basis_bool*); |
110 uw_Basis_string uw_Basis_sqlifyTimeN(uw_context, uw_Basis_time*); | 112 uw_Basis_string uw_Basis_sqlifyTimeN(uw_context, uw_Basis_time*); |
111 | 113 |
112 char *uw_Basis_ensqlBool(uw_Basis_bool); | 114 char *uw_Basis_ensqlBool(uw_Basis_bool); |
113 | 115 |
114 char *uw_Basis_jsifyString(uw_context, uw_Basis_string); | 116 char *uw_Basis_jsifyString(uw_context, uw_Basis_string); |
117 char *uw_Basis_jsifyChannel(uw_context, uw_Basis_channel); | |
115 | 118 |
116 uw_Basis_string uw_Basis_intToString(uw_context, uw_Basis_int); | 119 uw_Basis_string uw_Basis_intToString(uw_context, uw_Basis_int); |
117 uw_Basis_string uw_Basis_floatToString(uw_context, uw_Basis_float); | 120 uw_Basis_string uw_Basis_floatToString(uw_context, uw_Basis_float); |
118 uw_Basis_string uw_Basis_boolToString(uw_context, uw_Basis_bool); | 121 uw_Basis_string uw_Basis_boolToString(uw_context, uw_Basis_bool); |
119 uw_Basis_string uw_Basis_timeToString(uw_context, uw_Basis_time); | 122 uw_Basis_string uw_Basis_timeToString(uw_context, uw_Basis_time); |
120 | 123 |
121 uw_Basis_int *uw_Basis_stringToInt(uw_context, uw_Basis_string); | 124 uw_Basis_int *uw_Basis_stringToInt(uw_context, uw_Basis_string); |
122 uw_Basis_float *uw_Basis_stringToFloat(uw_context, uw_Basis_string); | 125 uw_Basis_float *uw_Basis_stringToFloat(uw_context, uw_Basis_string); |
123 uw_Basis_bool *uw_Basis_stringToBool(uw_context, uw_Basis_string); | 126 uw_Basis_bool *uw_Basis_stringToBool(uw_context, uw_Basis_string); |
124 uw_Basis_time *uw_Basis_stringToTime(uw_context, uw_Basis_string); | 127 uw_Basis_time *uw_Basis_stringToTime(uw_context, uw_Basis_string); |
125 uw_Basis_channel *uw_Basis_stringToChannel(uw_context, uw_Basis_string); | |
126 | 128 |
127 uw_Basis_int uw_Basis_stringToInt_error(uw_context, uw_Basis_string); | 129 uw_Basis_int uw_Basis_stringToInt_error(uw_context, uw_Basis_string); |
128 uw_Basis_float uw_Basis_stringToFloat_error(uw_context, uw_Basis_string); | 130 uw_Basis_float uw_Basis_stringToFloat_error(uw_context, uw_Basis_string); |
129 uw_Basis_bool uw_Basis_stringToBool_error(uw_context, uw_Basis_string); | 131 uw_Basis_bool uw_Basis_stringToBool_error(uw_context, uw_Basis_string); |
130 uw_Basis_time uw_Basis_stringToTime_error(uw_context, uw_Basis_string); | 132 uw_Basis_time uw_Basis_stringToTime_error(uw_context, uw_Basis_string); |
131 uw_Basis_channel uw_Basis_stringToChannel_error(uw_context, uw_Basis_string); | 133 uw_Basis_channel uw_Basis_stringToChannel_error(uw_context, uw_Basis_string); |
134 uw_Basis_client uw_Basis_stringToClient_error(uw_context, uw_Basis_string); | |
132 | 135 |
133 uw_Basis_string uw_Basis_requestHeader(uw_context, uw_Basis_string); | 136 uw_Basis_string uw_Basis_requestHeader(uw_context, uw_Basis_string); |
134 | 137 |
135 void uw_write_header(uw_context, uw_Basis_string); | 138 void uw_write_header(uw_context, uw_Basis_string); |
136 | 139 |
137 uw_Basis_string uw_Basis_get_cookie(uw_context, uw_Basis_string c); | 140 uw_Basis_string uw_Basis_get_cookie(uw_context, uw_Basis_string c); |
138 uw_unit uw_Basis_set_cookie(uw_context, uw_Basis_string prefix, uw_Basis_string c, uw_Basis_string v); | 141 uw_unit uw_Basis_set_cookie(uw_context, uw_Basis_string prefix, uw_Basis_string c, uw_Basis_string v); |
139 | 142 |
140 uw_Basis_channel uw_Basis_new_channel(uw_context, uw_unit); | 143 uw_Basis_channel uw_Basis_new_channel(uw_context, uw_unit); |
141 uw_unit uw_Basis_subscribe(uw_context, uw_Basis_channel); | |
142 uw_unit uw_Basis_send(uw_context, uw_Basis_channel, uw_Basis_string); | 144 uw_unit uw_Basis_send(uw_context, uw_Basis_channel, uw_Basis_string); |
145 | |
146 uw_Basis_client uw_Basis_self(uw_context, uw_unit); |