6#ifndef OC_FLEX_ARRAY_LIB_H
7#define OC_FLEX_ARRAY_LIB_H
9#if !defined (OC_TRACE_FLEX)
10#define OC_TRACE_FLEX DEBUG_VERBOSE
90 IN CONST UINTN InsertIndex
200 IN CONST CHAR8 *AppendString OPTIONAL
218 IN CONST CHAR8 *AppendString, OPTIONAL
237 IN CONST CHAR8 *FormatString,
289 IN CONST VOID *String,
290 IN CONST CHAR16 Delim,
VOID OcFlexArrayFree(IN OUT OC_FLEX_ARRAY **FlexArray)
VOID * OcFlexArrayInsertItem(IN OUT OC_FLEX_ARRAY *FlexArray, IN CONST UINTN InsertIndex)
CHAR8 * OcAsciiStringBufferFreeContainer(IN OUT OC_ASCII_STRING_BUFFER **StringBuffer)
OC_FLEX_ARRAY * OcFlexArrayInit(IN CONST UINTN ItemSize, IN CONST OC_FLEX_ARRAY_FREE_ITEM FreeItem OPTIONAL)
VOID(* OC_FLEX_ARRAY_FREE_ITEM)(IN VOID *Item)
EFI_STATUS OcAsciiStringBufferAppendN(IN OUT OC_ASCII_STRING_BUFFER *Buffer, IN CONST CHAR8 *AppendString, OPTIONAL IN CONST UINTN Length)
VOID OcFlexArrayFreePointerItem(IN VOID *Item)
VOID OcFlexArrayFreeContainer(IN OUT OC_FLEX_ARRAY **FlexArray, IN OUT VOID **Items, IN OUT UINTN *Count)
VOID * OcFlexArrayAddItem(IN OUT OC_FLEX_ARRAY *FlexArray)
EFI_STATUS OcAsciiStringBufferAppend(IN OUT OC_ASCII_STRING_BUFFER *Buffer, IN CONST CHAR8 *AppendString OPTIONAL)
VOID * OcFlexArrayItemAt(IN CONST OC_FLEX_ARRAY *FlexArray, IN CONST UINTN Index)
VOID OcFlexArrayDiscardItem(IN OUT OC_FLEX_ARRAY *FlexArray, IN CONST BOOLEAN FreeItem)
EFI_STATUS EFIAPI OcAsciiStringBufferSPrint(IN OUT OC_ASCII_STRING_BUFFER *Buffer, IN CONST CHAR8 *FormatString,...)
OC_FLEX_ARRAY * OcStringSplit(IN CONST VOID *String, IN CONST CHAR16 Delim, IN CONST OC_STRING_FORMAT StringFormat)
OC_ASCII_STRING_BUFFER * OcAsciiStringBufferInit(VOID)
VOID OcAsciiStringBufferFree(IN OUT OC_ASCII_STRING_BUFFER **StringBuffer)
enum _OC_STRING_FORMAT OC_STRING_FORMAT
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
OC_FLEX_ARRAY_FREE_ITEM FreeItem