Mercurial > urweb
annotate include/types.h @ 820:91f465ded07e
Change monoization of monads to allow partial applications of operations
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 23 May 2009 10:14:51 -0400 |
parents | eac1974924bb |
children | 395a5d450cc0 |
rev | line source |
---|---|
adamc@764 | 1 #ifndef URWEB_TYPES_H |
adamc@764 | 2 #define URWEB_TYPES_H |
adamc@764 | 3 |
adamc@436 | 4 #include <time.h> |
adamc@436 | 5 |
adamc@311 | 6 typedef long long uw_Basis_int; |
adamc@311 | 7 typedef double uw_Basis_float; |
adamc@311 | 8 typedef char* uw_Basis_string; |
adamc@436 | 9 typedef time_t uw_Basis_time; |
adamc@737 | 10 typedef struct { |
adamc@737 | 11 size_t size; |
adamc@737 | 12 char *data; |
adamc@737 | 13 } uw_Basis_blob; |
adamc@102 | 14 |
adamc@311 | 15 struct __uws_0 { |
adamc@102 | 16 }; |
adamc@102 | 17 |
adamc@311 | 18 typedef struct __uws_0 uw_unit; |
adamc@311 | 19 typedef uw_unit uw_Basis_unit; |
adamc@117 | 20 |
adamc@311 | 21 typedef enum uw_Basis_bool { uw_Basis_False, uw_Basis_True } uw_Basis_bool; |
adamc@186 | 22 |
adamc@311 | 23 typedef struct uw_context *uw_context; |
adamc@117 | 24 |
adamc@311 | 25 typedef uw_Basis_string uw_Basis_xhtml; |
adamc@311 | 26 typedef uw_Basis_string uw_Basis_page; |
adamc@757 | 27 typedef uw_Basis_string uw_Basis_xbody; |
adamc@721 | 28 typedef uw_Basis_string uw_Basis_css_class; |
adamc@682 | 29 |
adamc@682 | 30 typedef unsigned uw_Basis_client; |
adamc@682 | 31 typedef struct { |
adamc@682 | 32 unsigned cli, chn; |
adamc@682 | 33 } uw_Basis_channel; |
adamc@167 | 34 |
adamc@737 | 35 typedef struct uw_Basis_file { |
adamc@740 | 36 uw_Basis_string name, type; |
adamc@737 | 37 uw_Basis_blob data; |
adamc@737 | 38 } uw_Basis_file; |
adamc@737 | 39 |
adamc@741 | 40 typedef enum { SUCCESS, FATAL, BOUNDED_RETRY, UNLIMITED_RETRY, RETURN_BLOB } failure_kind; |
adamc@295 | 41 |
adamc@756 | 42 typedef struct input *uw_input; |
adamc@295 | 43 |
adamc@295 | 44 #define INTS_MAX 50 |
adamc@295 | 45 #define FLOATS_MAX 100 |
adamc@436 | 46 #define TIMES_MAX 100 |
adamc@668 | 47 |
adamc@771 | 48 typedef void (*uw_callback)(void *); |
adamc@771 | 49 |
adamc@764 | 50 #endif |