adamc@764: #ifndef URWEB_TYPES_H adamc@764: #define URWEB_TYPES_H adamc@764: adamc@436: #include adamc@436: adamc@311: typedef long long uw_Basis_int; adamc@311: typedef double uw_Basis_float; adamc@311: typedef char* uw_Basis_string; adamc@436: typedef time_t uw_Basis_time; adamc@737: typedef struct { adamc@737: size_t size; adamc@737: char *data; adamc@737: } uw_Basis_blob; adamc@102: adamc@311: struct __uws_0 { adamc@102: }; adamc@102: adamc@311: typedef struct __uws_0 uw_unit; adamc@311: typedef uw_unit uw_Basis_unit; adamc@117: adamc@311: typedef enum uw_Basis_bool { uw_Basis_False, uw_Basis_True } uw_Basis_bool; adamc@186: adamc@311: typedef struct uw_context *uw_context; adamc@117: adamc@311: typedef uw_Basis_string uw_Basis_xhtml; adamc@311: typedef uw_Basis_string uw_Basis_page; adamc@757: typedef uw_Basis_string uw_Basis_xbody; adamc@721: typedef uw_Basis_string uw_Basis_css_class; adamc@682: adamc@682: typedef unsigned uw_Basis_client; adamc@682: typedef struct { adamc@682: unsigned cli, chn; adamc@682: } uw_Basis_channel; adamc@167: adamc@737: typedef struct uw_Basis_file { adamc@740: uw_Basis_string name, type; adamc@737: uw_Basis_blob data; adamc@737: } uw_Basis_file; adamc@737: adamc@741: typedef enum { SUCCESS, FATAL, BOUNDED_RETRY, UNLIMITED_RETRY, RETURN_BLOB } failure_kind; adamc@295: adamc@756: typedef struct input *uw_input; adamc@295: adamc@295: #define INTS_MAX 50 adamc@295: #define FLOATS_MAX 100 adamc@436: #define TIMES_MAX 100 adamc@668: adamc@764: #endif