Go to the documentation of this file.00001 #ifndef _PRO_UHTTP_STREAMIO_H_
00002 #define _PRO_UHTTP_STREAMIO_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #include <pro/uhttp/compiler.h>
00043
00044 #if defined _WIN32
00045 #include <pro/uhttp/os/win/streamio.h>
00046 #elif defined __linux__
00047 #include <unistd.h>
00048 #else
00049 #include <pro/uhttp/os/nut/streamio.h>
00050 #endif
00051
00057
00058
00059 typedef struct _HTTP_STREAM HTTP_STREAM;
00060
00061
00062 typedef void (*HTTP_CLIENT_HANDLER) (HTTP_STREAM *);
00063
00064
00073 extern int StreamInit(void);
00074
00088 extern int StreamClientAccept(HTTP_CLIENT_HANDLER handler, const char *params);
00089
00107 extern int StreamReadUntilChars(HTTP_STREAM *sp, const char *delim, const char *ignore, char *buf, int siz);
00108
00126 extern int StreamReadUntilString(HTTP_STREAM *sp, const char *delim, char *buf, int siz);
00127
00141 extern int s_write(const void *buf, size_t size, size_t count, HTTP_STREAM *sp);
00142
00153 extern int s_puts(const char *str, HTTP_STREAM *sp);
00154
00162 extern int s_vputs(HTTP_STREAM *sp, ...);
00163
00175 extern int s_printf(HTTP_STREAM *sp, const char *fmt, ...);
00176
00190 extern int s_flush(HTTP_STREAM *sp);
00191
00195 #define SITEM_REMOTE_ADDR 1
00196
00197 #define SITEM_REMOTE_PORT 2
00198
00199 #define SITEM_SERVER_ADDR 3
00200
00201 #define SITEM_SERVER_NAME 4
00202
00203 #define SITEM_SERVER_PORT 5
00204
00206 extern const char *StreamInfo(HTTP_STREAM *hs, int item);
00207
00209 #endif