holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/winber.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     1 /*
       
     2   winber.h - Header file for the Windows LDAP Basic Encoding Rules API
       
     3 
       
     4   Written by Filip Navara <xnavara@volny.cz>
       
     5 
       
     6   References:
       
     7     The C LDAP Application Program Interface
       
     8     http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt
       
     9 
       
    10     Lightweight Directory Access Protocol Reference
       
    11     http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
       
    12 
       
    13   This library is distributed in the hope that it will be useful,
       
    14   but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
       
    16 */
       
    17 
       
    18 #ifndef _WINBER_H
       
    19 #define _WINBER_H
       
    20 #if __GNUC__ >= 3
       
    21 #pragma GCC system_header
       
    22 #endif
       
    23 
       
    24 #ifdef __cplusplus
       
    25 extern "C" {
       
    26 #endif
       
    27 
       
    28 #ifndef WINBERAPI
       
    29 #define WINBERAPI DECLSPEC_IMPORT
       
    30 #endif
       
    31 
       
    32 typedef struct berelement BerElement;
       
    33 typedef ULONG ber_len_t;
       
    34 #include <pshpack4.h>
       
    35 typedef struct berval {
       
    36 	ber_len_t bv_len;
       
    37 	char *bv_val;
       
    38 } BerValue, LDAP_BERVAL, *PLDAP_BERVAL, BERVAL, *PBERVAL;
       
    39 #include <poppack.h>
       
    40 
       
    41 typedef ULONG ber_tag_t;
       
    42 typedef INT ber_int_t;
       
    43 typedef UINT ber_uint_t;
       
    44 typedef INT ber_slen_t;
       
    45 
       
    46 #define LBER_ERROR ((ber_tag_t)-1)
       
    47 #define LBER_DEFAULT ((ber_tag_t)-1)
       
    48 #define LBER_USE_DER 0x01
       
    49 
       
    50 WINBERAPI BerElement *ber_init(const BerValue*);
       
    51 WINBERAPI int ber_printf(BerElement*,const char*,...);
       
    52 WINBERAPI int ber_flatten(BerElement*,BerValue**);
       
    53 WINBERAPI ber_tag_t ber_scanf(BerElement*,const char*,...);
       
    54 WINBERAPI ber_tag_t ber_peek_tag(BerElement*,ber_len_t*);
       
    55 WINBERAPI ber_tag_t ber_skip_tag(BerElement*,ber_len_t*);
       
    56 WINBERAPI ber_tag_t ber_first_element(BerElement*,ber_len_t*,char**);
       
    57 WINBERAPI ber_tag_t ber_next_element(BerElement*,ber_len_t*,char*);
       
    58 WINBERAPI void ber_bvfree(BerValue*);
       
    59 WINBERAPI void ber_bvecfree(BerValue**);
       
    60 WINBERAPI void ber_free(BerElement*,int);
       
    61 WINBERAPI BerValue *ber_bvdup(BerValue*);
       
    62 WINBERAPI BerElement *ber_alloc_t(int);
       
    63 
       
    64 #ifdef __cplusplus
       
    65 }
       
    66 #endif
       
    67 #endif /* _WINBER_H */