📄 lber.h
字号:
#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(P128)
#endif
/*********************************************************************/
/* */
/* Licensed Materials - Property of IBM */
/* */
/* L-GHUS-5VMPGW, L-GHUS-5S3PEE */
/* (C) Copyright IBM Corp. 2002, 2005 All Rights Reserved */
/* */
/* US Government Users Restricted Rights - Use, duplication or */
/* disclosure restricted by GSA ADP Schedule Contract with */
/* IBM Corp. */
/* */
/*********************************************************************/
#ifndef _LBER_H
#define _LBER_H
#ifdef __cplusplus
extern "C" {
#endif
#define LBER_BIG_TAG_MASK 0x1f
#define LBER_MORE_TAG_MASK 0x80
/*
* Note that LBER_ERROR and LBER_DEFAULT are values that can never appear
* as valid BER tags, and so it is safe to use them to report errors. In
* fact, any tag for which the following is true is invalid:
* (( tag & 0x00000080 ) != 0 ) && (( tag & 0xFFFFFF00 ) != 0 )
*/
#define LBER_ERROR 0xffffffffL
#define LBER_DEFAULT 0xffffffffL
/* general BER types we know about */
#define LBER_BOOLEAN 0x01L
#define LBER_INTEGER 0x02L
#define LBER_BITSTRING 0x03L
#define LBER_OCTETSTRING 0x04L
#define LBER_NULL 0x05L
#define LBER_OBJECTID 0x06L
#define LBER_ENUMERATED 0x0aL
#define LBER_IA5STRING 0x16L
#define LBER_SEQUENCE 0x30L /* constructed */
#define LBER_SET 0x31L /* constructed */
typedef struct berelement BerElement;
#define NULLBER ((BerElement *) 0)
typedef unsigned long ber_tag_t;
typedef unsigned long ber_len_t;
typedef int ber_int_t;
typedef unsigned int ber_uint_t;
typedef long ber_slen_t;
/* Structure for returning a sequence of octet strings + length */
typedef struct berval
{
ber_len_t bv_len;
char *bv_val;
} Berval;
typedef Berval BerValue;
/*
* Function Prototypes
*/
#define ber_skip_tag(ber, len) ND_ber_skip_tag((ber), (len))
#define ber_peek_tag(ber, len) ND_ber_peek_tag((ber), (len))
#define ber_first_element(ber, len, last) ND_ber_first_element((ber), (len), (last))
#define ber_next_element(ber, len, last) ND_ber_next_element((ber), (len), (last))
#define ber_scanf ND_ber_scanf
#define ber_bvfree(bv) ND_ber_bvfree((bv))
#define ber_bvecfree(bv) ND_ber_bvecfree((bv))
#define ber_bvdup(bv) ND_ber_bvdup((bv))
#define ber_printf ND_ber_printf
#define ber_free(ber, freebuf) ND_ber_free((ber), (freebuf))
#define ber_alloc_t(options) ND_ber_alloc_t((options))
#define ber_init(bv) ND_ber_init((bv))
#define ber_flatten(ber, bvPtr) ND_ber_flatten((ber), (bvPtr))
/* for V3 API */
ber_tag_t LNPUBLIC ND_ber_skip_tag( BerElement *ber, ber_len_t *len );
ber_tag_t LNPUBLIC ND_ber_peek_tag( BerElement *ber, ber_len_t *len );
ber_tag_t LNPUBLIC ND_ber_first_element( BerElement *ber, ber_len_t *len, char **last);
ber_tag_t LNPUBLIC ND_ber_next_element( BerElement *ber, ber_len_t *len, char *last);
ber_tag_t LNVARARGS ND_ber_scanf( BerElement *ber, const char *fmt, ... );
void LNPUBLIC ND_ber_bvfree( struct berval *bv );
void LNPUBLIC ND_ber_bvecfree( struct berval **bv );
struct berval * LNPUBLIC ND_ber_bvdup( const struct berval *bv );
int LNVARARGS ND_ber_printf( BerElement *ber, const char *fmt, ... );
void LNPUBLIC ND_ber_free( BerElement *ber, int freebuf );
BerElement * LNPUBLIC ND_ber_alloc_t( int options );
BerElement * LNPUBLIC ND_ber_init( const struct berval *bv );
int LNPUBLIC ND_ber_flatten(BerElement *ber, struct berval **bvPtr);
#ifdef __cplusplus
}
#endif
#endif /* _LBER_H */
#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(pop)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -