packages feed

hdirect-0.21.0: comlib/SafeArray.h

/*
Automatically generated by HaskellDirect (ihc.exe), version 0.20
Created: 20:11 Pacific Standard Time, Tuesday 16 December, 2003
Command line: -fno-qualified-names -fhs-to-c -fno-export-lists --gen-headers -fout-pointers-are-not-refs --gen-headers -c SafeArray.idl -o SafeArray.hs
*/


#ifndef __INT64_DEFINED__
#ifdef __GNUC__
typedef long long int64;
typedef unsigned long long uint64;
#else
#ifdef _MSC_VER
typedef __int64 int64;
typedef unsigned __int64 uint64;
#else
/* Need some help here, please. */
#endif
#endif
#define __INT64_DEFINED__
#endif


#ifndef __SAFEARRAY_H__
#define __SAFEARRAY_H__
#if defined(__MINGW32__) || defined(__CYGWIN32__)
#include <w32api.h>
#endif
#if !defined(_MSC_VER) && __W32API_MAJOR_VERSION == 1
typedef struct SAFEARRAY *SAFEARRAY;
typedef struct tagSAFEARRAYBOUND {
           unsigned long cElements;
           long lLbound;
        } SAFEARRAYBOUND;
extern HRESULT __stdcall SafeArrayAccessData ( /*[in, ptr]*/SAFEARRAY* psa
                                             , /*[out, ref]*/void** ppvData );
extern HRESULT __stdcall SafeArrayAllocData ( /*[in, ptr]*/SAFEARRAY* psa );
extern HRESULT __stdcall SafeArrayAllocDescriptor ( /*[in]*/unsigned long cDims
                                                  , /*[out]*/SAFEARRAY** ppsaOut );
extern HRESULT __stdcall SafeArrayCopy ( /*[in, ptr]*/SAFEARRAY* psa
                                       , /*[out]*/SAFEARRAY** ppsaOut );
/*[ref, finaliser("primSafeArrayDestroy"), finaliser("primSafeArrayDestroy"), ref, ref]*/
extern SAFEARRAY* __stdcall SafeArrayCreate ( /*[in]*/unsigned short vt
                                            , /*[in]*/unsigned long cDims
                                            , /*[in, size_is(cDims)]*/SAFEARRAYBOUND* rgsabound );
extern HRESULT __stdcall SafeArrayDestroy ( /*[in, ptr]*/SAFEARRAY* psa );
extern HRESULT __stdcall SafeArrayDestroyData ( /*[in, ptr]*/SAFEARRAY* psa );
extern HRESULT __stdcall SafeArrayDestroyDescriptor ( /*[in, ptr]*/SAFEARRAY* psa );
extern unsigned long __stdcall SafeArrayGetDim ( /*[in, ptr]*/SAFEARRAY* psa );
extern HRESULT __stdcall SafeArrayGetElement ( /*[in, ptr]*/SAFEARRAY* psa
                                             , /*[in, ptr]*/long* rgIndices
                                             , /*[in, ptr]*/void* pv );
extern unsigned long __stdcall SafeArrayGetElemsize ( /*[in, ptr]*/SAFEARRAY* psa );
extern HRESULT __stdcall SafeArrayGetLBound ( /*[in, ptr]*/SAFEARRAY* psa
                                            , /*[in]*/unsigned long nDim
                                            , /*[out]*/long* plLbound );
extern HRESULT __stdcall SafeArrayGetUBound ( /*[in, ptr]*/SAFEARRAY* psa
                                            , /*[in]*/unsigned long nDim
                                            , /*[out]*/long* plLbound );
extern HRESULT __stdcall SafeArrayLock ( /*[in, ptr]*/SAFEARRAY* psa );
extern HRESULT __stdcall SafeArrayPtrOfIndex ( /*[in, ptr]*/SAFEARRAY* psa
                                             , /*[in, ptr]*/long* rgIndices
                                             , /*[out]*/void** ppvData );
extern HRESULT __stdcall SafeArrayPutElement ( /*[in, ptr]*/SAFEARRAY* psa
                                             , /*[in, ptr]*/long* rgIndices
                                             , /*[in, ptr]*/void* pv );
extern HRESULT __stdcall SafeArrayRedim ( /*[in, ptr]*/SAFEARRAY* psa
                                        , /*[in, ref]*/SAFEARRAYBOUND* psaboundNew );
extern HRESULT __stdcall SafeArrayUnaccessData ( /*[in, ptr]*/SAFEARRAY* psa );
extern HRESULT __stdcall SafeArrayUnlock ( /*[in, ptr]*/SAFEARRAY* psa );
#endif

#endif