mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
[winpr] mark all WINPR_ATTR_MALLOC also nodiscard
This commit is contained in:
@@ -182,6 +182,7 @@ extern "C"
|
||||
WINPR_API void BitStream_Free(wBitStream* bs);
|
||||
|
||||
WINPR_ATTR_MALLOC(BitStream_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wBitStream* BitStream_New(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -166,16 +166,20 @@ extern "C"
|
||||
WINPR_API void CommandLineParserFree(char** ptr);
|
||||
|
||||
WINPR_ATTR_MALLOC(CommandLineParserFree, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char** CommandLineParseCommaSeparatedValues(const char* list, size_t* count);
|
||||
|
||||
WINPR_ATTR_MALLOC(CommandLineParserFree, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char** CommandLineParseCommaSeparatedValuesEx(const char* name, const char* list,
|
||||
size_t* count);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* CommandLineToCommaSeparatedValues(int argc, char* argv[]);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* CommandLineToCommaSeparatedValuesEx(int argc, char* argv[],
|
||||
const char* filters[], size_t number);
|
||||
|
||||
|
||||
@@ -185,6 +185,7 @@ extern "C"
|
||||
* @return A newly allocated queue or \b NULL in case of failure
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(Queue_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wQueue* Queue_New(BOOL synchronized, SSIZE_T capacity, SSIZE_T growthFactor);
|
||||
|
||||
/* System.Collections.Stack */
|
||||
@@ -207,6 +208,7 @@ extern "C"
|
||||
WINPR_API void Stack_Free(wStack* stack);
|
||||
|
||||
WINPR_ATTR_MALLOC(Stack_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wStack* Stack_New(BOOL synchronized);
|
||||
|
||||
/* System.Collections.ArrayList */
|
||||
@@ -254,6 +256,7 @@ extern "C"
|
||||
WINPR_API void ArrayList_Free(wArrayList* arrayList);
|
||||
|
||||
WINPR_ATTR_MALLOC(ArrayList_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wArrayList* ArrayList_New(BOOL synchronized);
|
||||
|
||||
/* System.Collections.DictionaryBase */
|
||||
@@ -399,6 +402,7 @@ extern "C"
|
||||
* @return A newly allocated dictionary or \b NULL in case of failure
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(ListDictionary_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wListDictionary* ListDictionary_New(BOOL synchronized);
|
||||
|
||||
/* System.Collections.Generic.LinkedList<T> */
|
||||
@@ -526,6 +530,7 @@ extern "C"
|
||||
* @return A pointer to the newly allocated linked list or \b NULL in case of failure
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(LinkedList_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wLinkedList* LinkedList_New(void);
|
||||
|
||||
/** @brief Return the \b wObject function pointers for list elements
|
||||
@@ -612,6 +617,7 @@ extern "C"
|
||||
* @return The newly allocated event or \b NULL in case of failure
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(CountdownEvent_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wCountdownEvent* CountdownEvent_New(size_t initialCount);
|
||||
|
||||
/* Hash Table */
|
||||
@@ -651,6 +657,7 @@ extern "C"
|
||||
WINPR_API void HashTable_Free(wHashTable* table);
|
||||
|
||||
WINPR_ATTR_MALLOC(HashTable_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wHashTable* HashTable_New(BOOL synchronized);
|
||||
|
||||
WINPR_API void HashTable_Lock(wHashTable* table);
|
||||
@@ -678,6 +685,7 @@ extern "C"
|
||||
WINPR_API void BufferPool_Free(wBufferPool* pool);
|
||||
|
||||
WINPR_ATTR_MALLOC(BufferPool_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wBufferPool* BufferPool_New(BOOL synchronized, SSIZE_T fixedSize, DWORD alignment);
|
||||
|
||||
/* ObjectPool */
|
||||
@@ -693,6 +701,7 @@ extern "C"
|
||||
WINPR_API void ObjectPool_Free(wObjectPool* pool);
|
||||
|
||||
WINPR_ATTR_MALLOC(ObjectPool_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wObjectPool* ObjectPool_New(BOOL synchronized);
|
||||
|
||||
/* Message Queue */
|
||||
@@ -766,6 +775,7 @@ extern "C"
|
||||
* \return A pointer to a newly allocated MessageQueue or NULL.
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(MessageQueue_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wMessageQueue* MessageQueue_New(const wObject* callback);
|
||||
|
||||
/* Message Pipe */
|
||||
@@ -781,6 +791,7 @@ extern "C"
|
||||
WINPR_API void MessagePipe_Free(wMessagePipe* pipe);
|
||||
|
||||
WINPR_ATTR_MALLOC(MessagePipe_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wMessagePipe* MessagePipe_New(void);
|
||||
|
||||
/* Publisher/Subscriber Pattern */
|
||||
@@ -876,6 +887,7 @@ extern "C"
|
||||
WINPR_API void PubSub_Free(wPubSub* pubSub);
|
||||
|
||||
WINPR_ATTR_MALLOC(PubSub_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wPubSub* PubSub_New(BOOL synchronized);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -391,6 +391,7 @@ extern "C"
|
||||
* RegisterHandleCreator().
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CommCreateFileA(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode,
|
||||
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes,
|
||||
|
||||
@@ -192,26 +192,33 @@ extern "C"
|
||||
WINPR_API void winpr_aligned_free(void* memblock);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_aligned_malloc(size_t size, size_t alignment);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_aligned_calloc(size_t count, size_t size, size_t alignment);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_aligned_realloc(void* memblock, size_t size, size_t alignment);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_aligned_recalloc(void* memblock, size_t num, size_t size,
|
||||
size_t alignment);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_aligned_offset_malloc(size_t size, size_t alignment, size_t offset);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_aligned_offset_realloc(void* memblock, size_t size, size_t alignment,
|
||||
size_t offset);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_aligned_offset_recalloc(void* memblock, size_t num, size_t size,
|
||||
size_t alignment, size_t offset);
|
||||
|
||||
|
||||
@@ -80,6 +80,7 @@ extern "C"
|
||||
WINPR_API void winpr_HMAC_Free(WINPR_HMAC_CTX* ctx);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_HMAC_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_HMAC_CTX* winpr_HMAC_New(void);
|
||||
WINPR_API BOOL winpr_HMAC_Init(WINPR_HMAC_CTX* ctx, WINPR_MD_TYPE md, const void* key,
|
||||
size_t keylen);
|
||||
@@ -107,6 +108,7 @@ extern "C"
|
||||
WINPR_API void winpr_Digest_Free(WINPR_DIGEST_CTX* ctx);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_Digest_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_DIGEST_CTX* winpr_Digest_New(void);
|
||||
WINPR_API BOOL winpr_Digest_Init_Allow_FIPS(WINPR_DIGEST_CTX* ctx, WINPR_MD_TYPE md);
|
||||
WINPR_API BOOL winpr_Digest_Init(WINPR_DIGEST_CTX* ctx, WINPR_MD_TYPE md);
|
||||
@@ -156,9 +158,11 @@ extern "C"
|
||||
WINPR_API void winpr_RC4_Free(WINPR_RC4_CTX* ctx);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_RC4_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_RC4_CTX* winpr_RC4_New_Allow_FIPS(const void* key, size_t keylen);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_RC4_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_RC4_CTX* winpr_RC4_New(const void* key, size_t keylen);
|
||||
WINPR_API BOOL winpr_RC4_Update(WINPR_RC4_CTX* ctx, size_t length, const void* input,
|
||||
void* output);
|
||||
@@ -267,10 +271,9 @@ extern "C"
|
||||
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("[since 3.10.0] use winpr_Cipher_NewEx",
|
||||
WINPR_ATTR_MALLOC(winpr_Cipher_Free, 1)
|
||||
WINPR_API WINPR_CIPHER_CTX* winpr_Cipher_New(WINPR_CIPHER_TYPE cipher,
|
||||
WINPR_CRYPTO_OPERATION op,
|
||||
const void* key,
|
||||
const void* iv));
|
||||
WINPR_ATTR_NODISCARD WINPR_API WINPR_CIPHER_CTX* winpr_Cipher_New(
|
||||
WINPR_CIPHER_TYPE cipher, WINPR_CRYPTO_OPERATION op,
|
||||
const void* key, const void* iv));
|
||||
#endif
|
||||
|
||||
/** @brief Create a new \b WINPR_CIPHER_CTX
|
||||
@@ -290,6 +293,7 @@ extern "C"
|
||||
* @since version 3.10.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(winpr_Cipher_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_CIPHER_CTX* winpr_Cipher_NewEx(WINPR_CIPHER_TYPE cipher,
|
||||
WINPR_CRYPTO_OPERATION op, const void* key,
|
||||
size_t keylen, const void* iv, size_t ivlen);
|
||||
|
||||
@@ -36,9 +36,11 @@ extern "C"
|
||||
WINPR_API void winpr_backtrace_free(void* buffer);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_backtrace_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_backtrace(DWORD size);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char** winpr_backtrace_symbols(void* buffer, size_t* used);
|
||||
|
||||
WINPR_API void winpr_backtrace_symbols_fd(void* buffer, int fd);
|
||||
|
||||
@@ -91,9 +91,11 @@ extern "C"
|
||||
WINPR_API BOOL FreeEnvironmentStringsW(LPWCH lpszEnvironmentBlock);
|
||||
|
||||
WINPR_ATTR_MALLOC(FreeEnvironmentStringsA, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API LPCH GetEnvironmentStrings(VOID);
|
||||
|
||||
WINPR_ATTR_MALLOC(FreeEnvironmentStringsW, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API LPWCH GetEnvironmentStringsW(VOID);
|
||||
|
||||
WINPR_API BOOL SetEnvironmentStringsA(LPCH NewEnvironment);
|
||||
@@ -130,6 +132,7 @@ extern "C"
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API LPCH MergeEnvironmentStrings(PCSTR original, PCSTR merge);
|
||||
|
||||
WINPR_API DWORD GetEnvironmentVariableEBA(LPCSTR envBlock, LPCSTR lpName, LPSTR lpBuffer,
|
||||
@@ -137,11 +140,13 @@ extern "C"
|
||||
WINPR_API BOOL SetEnvironmentVariableEBA(LPSTR* envBlock, LPCSTR lpName, LPCSTR lpValue);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char** EnvironmentBlockToEnvpA(LPCH lpszEnvironmentBlock);
|
||||
|
||||
WINPR_API DWORD GetEnvironmentVariableX(const char* lpName, char* lpBuffer, DWORD nSize);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetEnvAlloc(LPCSTR lpName);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -566,8 +566,17 @@ extern "C"
|
||||
WINPR_API int UnixChangeFileMode(const char* filename, int flags);
|
||||
|
||||
WINPR_API BOOL IsNamedPipeFileNameA(LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetNamedPipeNameWithoutPrefixA(LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetNamedPipeUnixDomainSocketBaseFilePathA(void);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetNamedPipeUnixDomainSocketFilePathA(LPCSTR lpName);
|
||||
|
||||
WINPR_API int GetNamePipeFileDescriptor(HANDLE hNamedPipe);
|
||||
|
||||
@@ -137,12 +137,14 @@ extern "C"
|
||||
* as deallocator
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API void* winpr_image_write_buffer(wImage* image, UINT32 format, size_t* size);
|
||||
WINPR_API int winpr_image_read_buffer(wImage* image, const BYTE* buffer, size_t size);
|
||||
|
||||
WINPR_API void winpr_image_free(wImage* image, BOOL bFreeBuffer);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_image_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wImage* winpr_image_new(void);
|
||||
|
||||
/** @brief Check if a image format is supported
|
||||
|
||||
@@ -140,6 +140,7 @@ extern "C"
|
||||
* @return The newly allocated instance or \b NULL if failed.
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(IniFile_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wIniFile* IniFile_New(void);
|
||||
|
||||
/** @brief Clone a ini instance
|
||||
|
||||
@@ -76,6 +76,7 @@ extern "C"
|
||||
LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateIoCompletionPort(HANDLE FileHandle, HANDLE ExistingCompletionPort,
|
||||
ULONG_PTR CompletionKey,
|
||||
DWORD NumberOfConcurrentThreads);
|
||||
|
||||
@@ -64,6 +64,7 @@ extern "C"
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(WINPR_JSON_Delete, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_JSON* WINPR_JSON_Parse(const char* value);
|
||||
|
||||
/**
|
||||
@@ -75,6 +76,7 @@ extern "C"
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(WINPR_JSON_Delete, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_JSON* WINPR_JSON_ParseWithLength(const char* value, size_t buffer_length);
|
||||
|
||||
/**
|
||||
@@ -85,6 +87,7 @@ extern "C"
|
||||
* @since version 3.16.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(WINPR_JSON_Delete, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_JSON* WINPR_JSON_ParseFromFile(const char* filename);
|
||||
|
||||
/**
|
||||
@@ -95,6 +98,7 @@ extern "C"
|
||||
* @since version 3.16.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(WINPR_JSON_Delete, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WINPR_JSON* WINPR_JSON_ParseFromFileFP(FILE* fp);
|
||||
|
||||
/**
|
||||
@@ -403,6 +407,7 @@ extern "C"
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* WINPR_JSON_Print(WINPR_JSON* item);
|
||||
|
||||
/**
|
||||
@@ -414,6 +419,7 @@ extern "C"
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* WINPR_JSON_PrintUnformatted(WINPR_JSON* item);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -38,19 +38,23 @@ extern "C"
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateFileMappingA(HANDLE hFile, LPSECURITY_ATTRIBUTES lpAttributes,
|
||||
DWORD flProtect, DWORD dwMaximumSizeHigh,
|
||||
DWORD dwMaximumSizeLow, LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateFileMappingW(HANDLE hFile, LPSECURITY_ATTRIBUTES lpAttributes,
|
||||
DWORD flProtect, DWORD dwMaximumSizeHigh,
|
||||
DWORD dwMaximumSizeLow, LPCWSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenFileMappingA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenFileMappingW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);
|
||||
|
||||
WINPR_API LPVOID MapViewOfFile(HANDLE hFileMappingObject, DWORD dwDesiredAccess,
|
||||
|
||||
@@ -323,23 +323,29 @@ extern "C"
|
||||
* @since version 3.9.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* winpr_GetConfigFilePath(BOOL system, const char* filename);
|
||||
|
||||
WINPR_API const char* GetKnownPathIdString(int id);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetKnownPath(eKnownPathTypes id);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetKnownSubPath(eKnownPathTypes id, const char* path);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetEnvironmentPath(char* name);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetEnvironmentSubPath(char* name, const char* path);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* GetCombinedPath(const char* basePath, const char* subPath);
|
||||
|
||||
WINPR_API BOOL PathMakePathA(LPCSTR path, LPSECURITY_ATTRIBUTES lpAttributes);
|
||||
|
||||
@@ -74,12 +74,14 @@ extern "C"
|
||||
*/
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
|
||||
DWORD nMaxInstances, DWORD nOutBufferSize,
|
||||
DWORD nInBufferSize, DWORD nDefaultTimeOut,
|
||||
LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateNamedPipeW(LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
|
||||
DWORD nMaxInstances, DWORD nOutBufferSize,
|
||||
DWORD nInBufferSize, DWORD nDefaultTimeOut,
|
||||
|
||||
@@ -41,6 +41,7 @@ extern "C"
|
||||
size_t width);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* winpr_BinToHexString(const BYTE* data, size_t length, BOOL space);
|
||||
WINPR_API size_t winpr_BinToHexStringBuffer(const BYTE* data, size_t length, char* dstStr,
|
||||
size_t dstSize, BOOL space);
|
||||
|
||||
@@ -90,6 +90,7 @@ extern "C"
|
||||
WINPR_API void Stream_Free(wStream* s, BOOL bFreeBuffer);
|
||||
|
||||
WINPR_ATTR_MALLOC(Stream_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wStream* Stream_New(BYTE* buffer, size_t size);
|
||||
WINPR_API wStream* Stream_StaticConstInit(wStream* s, const BYTE* buffer, size_t size);
|
||||
WINPR_API wStream* Stream_StaticInit(wStream* s, BYTE* buffer, size_t size);
|
||||
@@ -1385,6 +1386,7 @@ extern "C"
|
||||
WINPR_API void Stream_Release(wStream* s);
|
||||
|
||||
WINPR_ATTR_MALLOC(Stream_Release, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wStream* StreamPool_Take(wStreamPool* pool, size_t size);
|
||||
|
||||
WINPR_API wStream* StreamPool_Find(wStreamPool* pool, const BYTE* ptr);
|
||||
@@ -1416,6 +1418,7 @@ extern "C"
|
||||
WINPR_API void StreamPool_Free(wStreamPool* pool);
|
||||
|
||||
WINPR_ATTR_MALLOC(StreamPool_Free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API wStreamPool* StreamPool_New(BOOL synchronized, size_t defaultSize);
|
||||
|
||||
WINPR_API char* StreamPool_GetStatistics(wStreamPool* pool, char* buffer, size_t size);
|
||||
|
||||
@@ -432,6 +432,7 @@ extern "C"
|
||||
|
||||
#if !defined(WINPR_HAVE_STRNDUP)
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API char* strndup(const char* s, size_t n);
|
||||
#endif
|
||||
|
||||
@@ -446,6 +447,7 @@ extern "C"
|
||||
* @since version 3.10.0
|
||||
*/
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API WCHAR* wcsndup(const WCHAR* s, size_t n);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -45,25 +45,31 @@ extern "C"
|
||||
#define CREATE_MUTEX_INITIAL_OWNER 0x00000001
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateMutexA(LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner,
|
||||
LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner,
|
||||
LPCWSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateMutexExA(LPSECURITY_ATTRIBUTES lpMutexAttributes, LPCSTR lpName,
|
||||
DWORD dwFlags, DWORD dwDesiredAccess);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateMutexExW(LPSECURITY_ATTRIBUTES lpMutexAttributes, LPCWSTR lpName,
|
||||
DWORD dwFlags, DWORD dwDesiredAccess);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenMutexA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenMutexW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);
|
||||
|
||||
WINPR_API BOOL ReleaseMutex(HANDLE hMutex);
|
||||
@@ -81,17 +87,21 @@ extern "C"
|
||||
/* Semaphore */
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateSemaphoreA(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
|
||||
LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
|
||||
LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenSemaphoreA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenSemaphoreW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);
|
||||
|
||||
#ifdef UNICODE
|
||||
@@ -109,25 +119,31 @@ extern "C"
|
||||
#define CREATE_EVENT_INITIAL_SET 0x00000002
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateEventA(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset,
|
||||
BOOL bInitialState, LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateEventW(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset,
|
||||
BOOL bInitialState, LPCWSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateEventExA(LPSECURITY_ATTRIBUTES lpEventAttributes, LPCSTR lpName,
|
||||
DWORD dwFlags, DWORD dwDesiredAccess);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateEventExW(LPSECURITY_ATTRIBUTES lpEventAttributes, LPCWSTR lpName,
|
||||
DWORD dwFlags, DWORD dwDesiredAccess);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenEventA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenEventW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);
|
||||
|
||||
WINPR_API BOOL SetEvent(HANDLE hEvent);
|
||||
@@ -250,19 +266,23 @@ extern "C"
|
||||
DWORD dwTimerHighValue);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES lpTimerAttributes,
|
||||
BOOL bManualReset, LPCSTR lpTimerName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES lpTimerAttributes,
|
||||
BOOL bManualReset, LPCWSTR lpTimerName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateWaitableTimerExA(LPSECURITY_ATTRIBUTES lpTimerAttributes,
|
||||
LPCSTR lpTimerName, DWORD dwFlags,
|
||||
DWORD dwDesiredAccess);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateWaitableTimerExW(LPSECURITY_ATTRIBUTES lpTimerAttributes,
|
||||
LPCWSTR lpTimerName, DWORD dwFlags,
|
||||
DWORD dwDesiredAccess);
|
||||
@@ -277,10 +297,12 @@ extern "C"
|
||||
ULONG TolerableDelay);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenWaitableTimerA(DWORD dwDesiredAccess, BOOL bInheritHandle,
|
||||
LPCSTR lpTimerName);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE OpenWaitableTimerW(DWORD dwDesiredAccess, BOOL bInheritHandle,
|
||||
LPCWSTR lpTimerName);
|
||||
|
||||
@@ -316,6 +338,7 @@ extern "C"
|
||||
typedef VOID (*WAITORTIMERCALLBACK)(PVOID lpParameter, BOOLEAN TimerOrWaitFired);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateTimerQueue(void);
|
||||
|
||||
WINPR_API BOOL DeleteTimerQueue(HANDLE TimerQueue);
|
||||
@@ -432,16 +455,19 @@ extern "C"
|
||||
WINPR_API VOID USleep(DWORD dwMicroseconds);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateFileDescriptorEventW(LPSECURITY_ATTRIBUTES lpEventAttributes,
|
||||
BOOL bManualReset, BOOL bInitialState,
|
||||
int FileDescriptor, ULONG mode);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateFileDescriptorEventA(LPSECURITY_ATTRIBUTES lpEventAttributes,
|
||||
BOOL bManualReset, BOOL bInitialState,
|
||||
int FileDescriptor, ULONG mode);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateWaitObjectEvent(LPSECURITY_ATTRIBUTES lpEventAttributes,
|
||||
BOOL bManualReset, BOOL bInitialState, void* pObject);
|
||||
|
||||
|
||||
@@ -232,11 +232,13 @@ extern "C"
|
||||
#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes, size_t dwStackSize,
|
||||
LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter,
|
||||
DWORD dwCreationFlags, LPDWORD lpThreadId);
|
||||
|
||||
WINPR_ATTR_MALLOC(CloseHandle, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE CreateRemoteThread(HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes,
|
||||
size_t dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress,
|
||||
LPVOID lpParameter, DWORD dwCreationFlags,
|
||||
|
||||
@@ -41,6 +41,7 @@ extern "C"
|
||||
WINPR_API void makecert_context_free(MAKECERT_CONTEXT* context);
|
||||
|
||||
WINPR_ATTR_MALLOC(makecert_context_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API MAKECERT_CONTEXT* makecert_context_new(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -305,6 +305,7 @@ extern "C"
|
||||
WINPR_API BOOL WSACloseEvent(HANDLE hEvent);
|
||||
|
||||
WINPR_ATTR_MALLOC(WSACloseEvent, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE WSACreateEvent(void);
|
||||
WINPR_API BOOL WSASetEvent(HANDLE hEvent);
|
||||
WINPR_API BOOL WSAResetEvent(HANDLE hEvent);
|
||||
|
||||
@@ -1012,15 +1012,19 @@ extern "C"
|
||||
WINPR_API VOID WINAPI WTSCloseServer(HANDLE hServer);
|
||||
|
||||
WINPR_ATTR_MALLOC(WTSCloseServer, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE WINAPI WTSOpenServerW(LPWSTR pServerName);
|
||||
|
||||
WINPR_ATTR_MALLOC(WTSCloseServer, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE WINAPI WTSOpenServerA(LPSTR pServerName);
|
||||
|
||||
WINPR_ATTR_MALLOC(WTSCloseServer, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE WINAPI WTSOpenServerExW(LPWSTR pServerName);
|
||||
|
||||
WINPR_ATTR_MALLOC(WTSCloseServer, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE WINAPI WTSOpenServerExA(LPSTR pServerName);
|
||||
|
||||
WINPR_API BOOL WINAPI WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Version,
|
||||
@@ -1081,10 +1085,12 @@ extern "C"
|
||||
WINPR_API BOOL WINAPI WTSVirtualChannelClose(HANDLE hChannelHandle);
|
||||
|
||||
WINPR_ATTR_MALLOC(WTSVirtualChannelClose, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE WINAPI WTSVirtualChannelOpen(HANDLE hServer, DWORD SessionId,
|
||||
LPSTR pVirtualName);
|
||||
|
||||
WINPR_ATTR_MALLOC(WTSVirtualChannelClose, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_API HANDLE WINAPI WTSVirtualChannelOpenEx(DWORD SessionId, LPSTR pVirtualName,
|
||||
DWORD flags);
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ typedef struct winpr_int_rc4_ctx winpr_int_RC4_CTX;
|
||||
void winpr_int_rc4_free(winpr_int_RC4_CTX* ctx);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_int_rc4_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
winpr_int_RC4_CTX* winpr_int_rc4_new(const BYTE* key, size_t keylength);
|
||||
BOOL winpr_int_rc4_update(winpr_int_RC4_CTX* ctx, size_t length, const BYTE* input, BYTE* output);
|
||||
|
||||
|
||||
@@ -872,6 +872,7 @@ typedef struct
|
||||
static const char file_search_magic[] = "file_srch_magic";
|
||||
|
||||
WINPR_ATTR_MALLOC(FindClose, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
static WIN32_FILE_SEARCH* file_search_new(const char* name, size_t namelen, const char* pattern,
|
||||
size_t patternlen)
|
||||
{
|
||||
|
||||
@@ -246,6 +246,7 @@ static BOOL isValidIP(const char* ipAddress)
|
||||
|
||||
#if defined(WITH_KRB5_MIT)
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
static char* get_realm_name(krb5_data realm, size_t* plen)
|
||||
{
|
||||
WINPR_ASSERT(plen);
|
||||
@@ -260,6 +261,7 @@ static char* get_realm_name(krb5_data realm, size_t* plen)
|
||||
}
|
||||
#elif defined(WITH_KRB5_HEIMDAL)
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
static char* get_realm_name(Realm realm, size_t* plen)
|
||||
{
|
||||
WINPR_ASSERT(plen);
|
||||
|
||||
@@ -47,6 +47,7 @@ SECURITY_STATUS schannel_openssl_decrypt_message(SCHANNEL_OPENSSL* context,
|
||||
void schannel_openssl_free(SCHANNEL_OPENSSL* context);
|
||||
|
||||
WINPR_ATTR_MALLOC(schannel_openssl_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
SCHANNEL_OPENSSL* schannel_openssl_new(void);
|
||||
|
||||
#endif /* WINPR_SSPI_SCHANNEL_OPENSSL_H */
|
||||
|
||||
@@ -272,6 +272,7 @@ fail:
|
||||
*/
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
static void* winpr_bitmap_write_buffer(const BYTE* data, WINPR_ATTR_UNUSED size_t size,
|
||||
UINT32 width, UINT32 height, UINT32 stride, UINT32 bpp,
|
||||
UINT32* pSize)
|
||||
|
||||
@@ -33,9 +33,11 @@ extern "C"
|
||||
void winpr_unwind_backtrace_free(void* buffer);
|
||||
|
||||
WINPR_ATTR_MALLOC(winpr_unwind_backtrace_free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
void* winpr_unwind_backtrace(DWORD size);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
WINPR_ATTR_NODISCARD
|
||||
char** winpr_unwind_backtrace_symbols(void* buffer, size_t* used);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "wlog.h"
|
||||
|
||||
WINPR_ATTR_MALLOC(WLog_Appender_Free, 2)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_LOCAL wLogAppender* WLog_BinaryAppender_New(wLog* log);
|
||||
|
||||
#endif /* WINPR_WLOG_BINARY_APPENDER_PRIVATE_H */
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "wlog.h"
|
||||
|
||||
WINPR_ATTR_MALLOC(WLog_Appender_Free, 2)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_LOCAL wLogAppender* WLog_CallbackAppender_New(wLog* log);
|
||||
|
||||
#endif /* WINPR_WLOG_CALLBACK_APPENDER_PRIVATE_H */
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "wlog.h"
|
||||
|
||||
WINPR_ATTR_MALLOC(WLog_Appender_Free, 2)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_LOCAL wLogAppender* WLog_ConsoleAppender_New(wLog* log);
|
||||
|
||||
#endif /* WINPR_WLOG_CONSOLE_APPENDER_PRIVATE_H */
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "wlog.h"
|
||||
|
||||
WINPR_ATTR_MALLOC(WLog_Appender_Free, 2)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_LOCAL wLogAppender* WLog_FileAppender_New(wLog* log);
|
||||
|
||||
#endif /* WINPR_WLOG_FILE_APPENDER_PRIVATE_H */
|
||||
|
||||
@@ -36,6 +36,7 @@ struct s_wLogLayout
|
||||
WINPR_LOCAL void WLog_Layout_Free(wLog* log, wLogLayout* layout);
|
||||
|
||||
WINPR_ATTR_MALLOC(WLog_Layout_Free, 2)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_LOCAL wLogLayout* WLog_Layout_New(wLog* log);
|
||||
|
||||
#endif /* WINPR_WLOG_LAYOUT_PRIVATE_H */
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "wlog.h"
|
||||
|
||||
WINPR_ATTR_MALLOC(WLog_Appender_Free, 2)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_LOCAL wLogAppender* WLog_SyslogAppender_New(wLog* log);
|
||||
|
||||
#endif /* WINPR_LIBWINPR_UTILS_WLOG_SYSLOGAPPENDER_H_ */
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "wlog.h"
|
||||
|
||||
WINPR_ATTR_MALLOC(WLog_Appender_Free, 2)
|
||||
WINPR_ATTR_NODISCARD
|
||||
WINPR_LOCAL wLogAppender* WLog_UdpAppender_New(wLog* log);
|
||||
|
||||
#endif /* WINPR_LIBWINPR_UTILS_WLOG_UDPAPPENDER_H_ */
|
||||
|
||||
Reference in New Issue
Block a user