#ifndef _LINESENDER_H_41bd1fe4_ #define _LINESENDER_H_41bd1fe4_ #include struct linesender; typedef struct linesender LINESENDER; extern LINESENDER *linesender_open(void (*)(const void *, int, void *), void *); extern void linesender_close(LINESENDER *); extern void send_line(LINESENDER *, ...); #define SL_STRLEN (-314159) #define SL_END SL__END #define SL__END 1 #define SL_BLOCK(s,l) SL__BLOCK, sl__const_void_p((s)), sl__int((l)) #define SL__BLOCK 2 #define SL_STRING(s,l) SL__STRING, sl__const_void_p((s)), sl__int((l)) #define SL__STRING 3 #define SL_OCTET(o) SL__OCTET, sl__unsigned_char((o)) #define SL__OCTET 4 #define SL_NUMBER(n) SL__NUMBER, sl__unsigned_int((n)) #define SL__NUMBER 5 extern void send_open(LINESENDER *); extern void send_append(LINESENDER *, ...); extern void send_append_v(LINESENDER *, va_list); extern void send_send(LINESENDER *); extern const void *sl__const_void_p(const void *); extern int sl__int(int); extern unsigned int sl__unsigned_int(unsigned int); extern unsigned char sl__unsigned_char(unsigned char); #endif