/* Public domain */ #ifndef _LIBPERCGI_LOAD_STRING_H_ #define _LIBPERCGI_LOAD_STRING_H_ #define CGI_LOAD_STRING_MAX (1024*1024*100) /* 100MB */ __BEGIN_DECLS char *SYS_ReadStringLen(int, size_t); int SYS_ReadStringLenv(int, size_t, char **); #define SYS_ReadString(nb) \ SYS_ReadStringLen((nb),CGI_LOAD_STRING_MAX) #define SYS_ReadStringv(nb,s) \ SYS_ReadStringLenv((nb),CGI_LOAD_STRING_MAX,(s)) int SYS_WriteString(int, const char *); int SYS_WriteStringv(int, const char *); int SYS_CopyString(char *, int, size_t) BOUNDED_ATTRIBUTE(__string__, 1, 3); void SYS_SkipString(int); char *SYS_ReadNulStringLen(int, size_t); size_t SYS_CopyNulString(char *, int, size_t); #define SYS_ReadNulString(nb) \ SYS_ReadNulStringLen((nb),CGI_LOAD_STRING_MAX) __END_DECLS #endif /* _LIBPERCGI_LOAD_STRING_H_ */