1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #ifndef _printbuf_h_
- #define _printbuf_h_
- #ifdef __cplusplus
- extern "C" {
- #endif
- struct printbuf {
- char *buf;
- int bpos;
- int size;
- };
- extern struct printbuf*
- printbuf_new(void);
- extern int
- printbuf_memappend(struct printbuf *p, const char *buf, int size);
- #define printbuf_memappend_fast(p, bufptr, bufsize) \
- do { \
- if ((p->size - p->bpos) > bufsize) { \
- memcpy(p->buf + p->bpos, (bufptr), bufsize); \
- p->bpos += bufsize; \
- p->buf[p->bpos]= '\0'; \
- } else { printbuf_memappend(p, (bufptr), bufsize); } \
- } while (0)
- #define printbuf_length(p) ((p)->bpos)
- extern int
- printbuf_memset(struct printbuf *pb, int offset, int charvalue, int len);
- extern int
- sprintbuf(struct printbuf *p, const char *msg, ...);
- extern void
- printbuf_reset(struct printbuf *p);
- extern void
- printbuf_free(struct printbuf *p);
- #ifdef __cplusplus
- }
- #endif
- #endif
|