26 #ifndef GWENHYWFAR_BUFFER_H
27 #define GWENHYWFAR_BUFFER_H
64 #define GWEN_BUFFER_MAX_BOOKMARKS 64
66 #define GWEN_BUFFER_MODE_DYNAMIC 0x0001
67 #define GWEN_BUFFER_MODE_ABORT_ON_MEMFULL 0x0002
68 #define GWEN_BUFFER_MODE_READONLY 0x0020
70 #define GWEN_BUFFER_MODE_DEFAULT \
72 GWEN_BUFFER_MODE_DYNAMIC | \
73 GWEN_BUFFER_MODE_ABORT_ON_MEMFULL\
552 const
char *openingString,
553 const
char *closingString,
GWENHYWFAR_API int GWEN_Buffer_AllocRoom(GWEN_BUFFER *bf, uint32_t size)
GWENHYWFAR_API char * GWEN_Buffer_GetPosPointer(const GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Buffer_KeepTextBetweenStrings(GWEN_BUFFER *bf, const char *openingString, const char *closingString, int onlyBetween)
GWENHYWFAR_API int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
GWENHYWFAR_API int GWEN_Buffer_ReadBytes(GWEN_BUFFER *bf, char *buffer, uint32_t *size)
GWENHYWFAR_API int GWEN_Buffer_SetPos(GWEN_BUFFER *bf, uint32_t i)
GWENHYWFAR_API int GWEN_Buffer_InsertBuffer(GWEN_BUFFER *bf, GWEN_BUFFER *sf)
GWENHYWFAR_API int GWEN_Buffer_Relinquish(GWEN_BUFFER *bf)
GWENHYWFAR_API uint32_t GWEN_Buffer_GetMaxUnsegmentedWrite(GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Buffer_InsertString(GWEN_BUFFER *bf, const char *buffer)
GWENHYWFAR_API int GWEN_Buffer_Crop(GWEN_BUFFER *bf, uint32_t pos, uint32_t l)
GWENHYWFAR_API int GWEN_Buffer_AdjustUsedBytes(GWEN_BUFFER *bf)
GWENHYWFAR_API uint32_t GWEN_Buffer_GetStep(GWEN_BUFFER *bf)
GWENHYWFAR_API void GWEN_Buffer_SetHardLimit(GWEN_BUFFER *bf, uint32_t l)
GWENHYWFAR_API uint32_t GWEN_Buffer_GetPos(const GWEN_BUFFER *bf)
GWENHYWFAR_API GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take_ownership)
GWENHYWFAR_API int GWEN_Buffer_PeekByte(GWEN_BUFFER *bf)
GWENHYWFAR_API void GWEN_Buffer_SetMode(GWEN_BUFFER *bf, uint32_t mode)
GWENHYWFAR_API int GWEN_Buffer_AppendByte(GWEN_BUFFER *bf, char c)
GWENHYWFAR_API int GWEN_Buffer_DecrementPos(GWEN_BUFFER *bf, uint32_t i)
GWENHYWFAR_API void GWEN_Buffer_SetBookmark(GWEN_BUFFER *bf, unsigned int idx, uint32_t v)
GWENHYWFAR_API uint32_t GWEN_Buffer_GetMode(GWEN_BUFFER *bf)
GWENHYWFAR_API uint32_t GWEN_Buffer_GetSize(const GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Buffer_InsertBytes(GWEN_BUFFER *bf, const char *buffer, uint32_t size)
GWENHYWFAR_API void GWEN_Buffer_Attach(GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Buffer_IncrementPos(GWEN_BUFFER *bf, uint32_t i)
GWENHYWFAR_API void GWEN_Buffer_OverwriteContent(GWEN_BUFFER *bf, int c)
GWENHYWFAR_API void GWEN_Buffer_AddMode(GWEN_BUFFER *bf, uint32_t mode)
GWENHYWFAR_API int GWEN_Buffer_RemoveRoom(GWEN_BUFFER *bf, uint32_t size)
GWENHYWFAR_API int GWEN_Buffer_InsertByte(GWEN_BUFFER *bf, char c)
GWENHYWFAR_API int GWEN_Buffer_AppendBytes(GWEN_BUFFER *bf, const char *buffer, uint32_t size)
GWENHYWFAR_API void GWEN_Buffer_free(GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Buffer_ReplaceBytes(GWEN_BUFFER *bf, uint32_t rsize, const char *buffer, uint32_t size)
GWENHYWFAR_API int GWEN_Buffer_ReserveBytes(GWEN_BUFFER *bf, uint32_t res)
GWENHYWFAR_API uint32_t GWEN_Buffer_GetUsedBytes(const GWEN_BUFFER *bf)
GWENHYWFAR_API void GWEN_Buffer_Dump(GWEN_BUFFER *bf, unsigned int insert)
GWENHYWFAR_API void GWEN_Buffer_SetStep(GWEN_BUFFER *bf, uint32_t step)
GWENHYWFAR_API GWEN_BUFFER * GWEN_Buffer_dup(GWEN_BUFFER *bf)
GWENHYWFAR_API void GWEN_Buffer_Reset(GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Buffer_InsertRoom(GWEN_BUFFER *bf, uint32_t size)
GWENHYWFAR_API int GWENHYWFAR_CB GWEN_Buffer_CacheFn_Attach(void *ptr)
GWENHYWFAR_API void GWEN_Buffer_Rewind(GWEN_BUFFER *bf)
GWENHYWFAR_API char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Buffer_ReadByte(GWEN_BUFFER *bf)
GWENHYWFAR_API uint32_t GWEN_Buffer_GetBookmark(const GWEN_BUFFER *bf, unsigned int idx)
GWENHYWFAR_API int GWEN_Buffer_AppendBuffer(GWEN_BUFFER *bf, GWEN_BUFFER *sf)
GWENHYWFAR_API const char GWENHYWFAR_API int GWEN_Buffer_FillWithBytes(GWEN_BUFFER *bf, unsigned char c, uint32_t size)
GWENHYWFAR_API int GWENHYWFAR_CB GWEN_Buffer_CacheFn_Free(void *ptr)
GWENHYWFAR_API uint32_t GWEN_Buffer_GetHardLimit(GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Buffer_FillLeftWithBytes(GWEN_BUFFER *bf, unsigned char c, uint32_t size)
GWENHYWFAR_API void GWEN_Buffer_SubMode(GWEN_BUFFER *bf, uint32_t mode)
GWENHYWFAR_API GWEN_FORMAT(printf, 2, 3) int GWEN_Buffer_AppendArgs(GWEN_BUFFER *bf
GWENHYWFAR_API const char * fmt
GWENHYWFAR_API uint32_t GWEN_Buffer_GetBytesLeft(GWEN_BUFFER *bf)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.