1 /**
2  * This file is part of the mingw-w64 runtime package.
3  * No warranty is given; refer to the file DISCLAIMER within this package.
4  */
5 
6 #ifndef _WINBER_DEFINED_
7 #define _WINBER_DEFINED_
8 
9 #include <winapifamily.h>
10 
11 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #ifndef _WINBER_
18 #define WINBERAPI DECLSPEC_IMPORT
19 #else
20 #define WINBERAPI
21 #endif
22 
23 #ifndef BERAPI
24 #define BERAPI __cdecl
25 #endif
26 
27 #define LBER_ERROR __MSABI_LONG(0xffffffff)
28 #define LBER_DEFAULT __MSABI_LONG(0xffffffff)
29 
30   typedef unsigned int ber_tag_t;
31   typedef int ber_int_t;
32   typedef unsigned int ber_uint_t;
33   typedef unsigned int ber_len_t;
34   typedef int ber_slen_t;
35 
36   WINBERAPI BerElement *BERAPI ber_init (BERVAL *pBerVal);
37   WINBERAPI VOID BERAPI ber_free (BerElement *pBerElement, INT fbuf);
38   WINBERAPI VOID BERAPI ber_bvfree (BERVAL *pBerVal);
39   WINBERAPI VOID BERAPI ber_bvecfree (PBERVAL *pBerVal);
40   WINBERAPI BERVAL *BERAPI ber_bvdup (BERVAL *pBerVal);
41   WINBERAPI BerElement *BERAPI ber_alloc_t (INT options);
42   WINBERAPI ULONG BERAPI ber_skip_tag (BerElement *pBerElement, ULONG *pLen);
43   WINBERAPI ULONG BERAPI ber_peek_tag (BerElement *pBerElement, ULONG *pLen);
44   WINBERAPI ULONG BERAPI ber_first_element (BerElement *pBerElement, ULONG *pLen, CHAR **ppOpaque);
45   WINBERAPI ULONG BERAPI ber_next_element (BerElement *pBerElement, ULONG *pLen, CHAR *opaque);
46   WINBERAPI INT BERAPI ber_flatten (BerElement *pBerElement, PBERVAL *pBerVal);
47   WINBERAPI INT BERAPI ber_printf (BerElement *pBerElement, PSTR fmt,...);
48   WINBERAPI ULONG BERAPI ber_scanf (BerElement *pBerElement, PSTR fmt,...);
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 #endif
55 
56 #endif
57