(file) Return to strarr.h CVS log (file) (dir) Up to [OMI] / omi / base

File: [OMI] / omi / base / strarr.h (download)
Revision: 1.3, Mon Apr 20 17:19:50 2015 UTC (9 years ago) by krisbash
Branch: MAIN
CVS Tags: OMI_1_0_8_2, OMI_1_0_8_1, HEAD
Changes since 1.2: +40 -3 lines
OMI 1.0.8-1

/*
**==============================================================================
**
** Open Management Infrastructure (OMI)
**
** Copyright (c) Microsoft Corporation
** 
** Licensed under the Apache License, Version 2.0 (the "License"); you may not 
** use this file except in compliance with the License. You may obtain a copy 
** of the License at 
**
**     http://www.apache.org/licenses/LICENSE-2.0 
**
** THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
** KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 
** WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
** MERCHANTABLITY OR NON-INFRINGEMENT. 
**
** See the Apache 2 License for the specific language governing permissions 
** and limitations under the License.
**
**==============================================================================
*/

#ifndef _omi_strarr_h
#define _omi_strarr_h

#include <common.h>
#ifdef _MSC_VER
#pragma prefast (disable: 28252)
#pragma prefast (disable: 28253)
#endif
#include <wchar.h>

#include "batch.h"

#if defined(CONFIG_ENABLE_WCHAR)
# define ZArr WcsArr
# define ZArrCat WcsArrCat
# define ZArrLen WcsArrLen
# define ZArrFree WcsArrFree
#else
# define ZArr StrArr
# define ZArrCat StrArrCat
# define ZArrLen StrArrLen
# define ZArrFree StrArrFree
#endif

BEGIN_EXTERNC

/* Allocate an empty null-terminated string array */
char** StrArr();

/* Append a string to the end of the string array */
void StrArrCat(_Inout_ CharPtrPtr * self_, _In_ ConstCharPtr str);

/* Return length of this array */
size_t StrArrLen(_In_ CharPtrPtr self);

/* Free the string array */
void StrArrFree(_Pre_valid_ _Post_ptr_invalid_ CharPtrPtr self);

/* Allocate an empty null-terminated string array */
wchar_t** WcsArr();

/* Append a string to the end of the string array */
void WcsArrCat(_Inout_ WcharPtrPtr * self_, _In_ ConstWcharPtr str);

/* Return length of this array */
size_t WcsArrLen(_In_ WcharPtrPtr self);

/* Free the string array */
void WcsArrFree(_Pre_valid_ _Post_ptr_invalid_ WcharPtrPtr self);

/* Clone string array */
ZChar** CloneStringArray(
    _In_count_(size) const ZChar** data, 
    _In_ MI_Uint32 size,
    _In_ Batch* batch);

END_EXTERNC

#endif /* _omi_strarr_h */

ViewCVS 0.9.2