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

File: [OMI] / omi / mof / ptrarray.h (download)
Revision: 1.4, Mon Apr 20 17:19:53 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.3: +0 -0 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 _mof_ptrarray_h
#define _mof_ptrarray_h

#ifndef MI_CHAR_TYPE
# define MI_CHAR_TYPE 1
#endif

#include <MI.h>
#include <stddef.h>

/*
**==============================================================================
**
** PtrArray
**
**     This type manages an array of pointers. PtrArray.data is the array of
**     pointers and PtrArray.size is the number of pointers in the array.
**     Functions are provided for prepending and appending pointers to the
**     array. The array of pointers is null terminated.
**
**==============================================================================
*/

typedef struct PtrArray
{
    void** data;
    MI_Uint32 size;
}
PtrArray;

#define PTRARRAY_INITIALIZER { NULL, 0 }

extern int PtrArray_Append(PtrArray* self, void* ptr);

extern int PtrArray_Prepend(PtrArray* self, void* ptr);

#endif /* _mof_ptrarray_h */

ViewCVS 0.9.2