44 lines
1.5 KiB
C
44 lines
1.5 KiB
C
#if !defined(_YYCDLL_WFASSOC_UTILS_H__IMPORTED_)
|
|
#define _YYCDLL_WFASSOC_UTILS_H__IMPORTED_
|
|
|
|
#include "wfassoc.h"
|
|
#include <inttypes.h>
|
|
|
|
typedef struct _WFString {
|
|
wchar_t* mRawData;
|
|
uint32_t mLength;
|
|
uint32_t mCapacity;
|
|
|
|
uint32_t mRealLength;
|
|
uint32_t mRealCapacity;
|
|
}WFString;
|
|
|
|
WFERROR WFString_Alloc(WFString** strl, wchar_t* raw_data);
|
|
WFERROR WFString_Alloc(WFString** strl, char* raw_data, BOOL is_utf8);
|
|
WFERROR WFString_Alloc(WFString** strl, uint32_t size);
|
|
WFERROR WFString_Free(WFString* strl);
|
|
WFERROR WFString_Resize(WFString* strl, uint32_t new_size);
|
|
WFERROR WFString_GetData(WFString* strl, wchar_t** pdata);
|
|
WFERROR WFString_SetData(WFString* strl, wchar_t* data);
|
|
WFERROR WFString_GetLength(WFString* strl, uint32_t* len);
|
|
WFERROR WFString_Printf(WFString* strl, wchar_t* format, ...);
|
|
|
|
typedef WFERROR(*WFLinkedListNode_FreeDataFunc)(void* data);
|
|
typedef struct _WFLinkedListNode {
|
|
void* mRawData;
|
|
WFLinkedListNode* mNext;
|
|
}WFLinkedListNode;
|
|
typedef struct _WFLinkedList {
|
|
WFLinkedListNode* mHead;
|
|
WFLinkedListNode* mTail;
|
|
uint32_t mLength;
|
|
}WFLinkedList;
|
|
|
|
WFERROR WFLinkedList_Alloc(WFLinkedList** list);
|
|
WFERROR WFLinkedList_Free(WFLinkedList* list);
|
|
WFERROR WFLinkedList_Free_Full(WFLinkedList* list, WFLinkedListNode_FreeDataFunc free_func);
|
|
WFERROR WFLinkedList_Add(WFLinkedList* list, void* data);
|
|
WFERROR WFLinkedList_NodeIterator(WFLinkedList* list, WFLinkedListNode** node_ptr);
|
|
WFERROR WFLinkedListNode_GetData(WFLinkedListNode* node, void** pdata);
|
|
|
|
#endif |