version 1.24, 2003/10/13 16:09:15
|
version 1.35, 2006/01/03 22:12:05
|
Line 1
|
Line 1
|
/* $OpenLDAP: pkg/ldap/include/lber_pvt.h,v 1.23 2003/05/31 02:22:49 kurt Exp $ */ |
/* $OpenLDAP: pkg/ldap/include/lber_pvt.h,v 1.34 2005/11/14 14:41:08 hallvard Exp $ */ |
/* |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
* Copyright 1998-2003 The OpenLDAP Foundation, Redwood City, California, USA |
* |
|
* Copyright 1998-2006 The OpenLDAP Foundation. |
* All rights reserved. |
* All rights reserved. |
* |
* |
* Redistribution and use in source and binary forms, with or without |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted only as authorized by the OpenLDAP |
* modification, are permitted only as authorized by the OpenLDAP |
* Public License. A copy of this license is available at |
* Public License. |
* http://www.OpenLDAP.org/license.html or in file LICENSE in the |
* |
* top-level directory of the distribution. |
* A copy of this license is available in file LICENSE in the |
|
* top-level directory of the distribution or, alternatively, at |
|
* <http://www.OpenLDAP.org/license.html>. |
*/ |
*/ |
|
|
/* |
/* |
* lber_pvt.h - Header for ber_pvt_ functions. These are meant to be used |
* lber_pvt.h - Header for ber_pvt_ functions. |
* by the OpenLDAP distribution only. |
* These are meant to be internal to OpenLDAP Software. |
*/ |
*/ |
|
|
#ifndef _LBER_PVT_H |
#ifndef _LBER_PVT_H |
Line 22
|
Line 26
|
LDAP_BEGIN_DECL |
LDAP_BEGIN_DECL |
|
|
/* for allocating aligned buffers (on the stack) */ |
/* for allocating aligned buffers (on the stack) */ |
#define LBER_ALIGN_BUFFER(uname,size) \ |
#define LBER_ALIGNED_BUFFER(uname,size) \ |
union LDAP_CONCAT(lber_,uname) { \ |
union uname { \ |
char buffer[size]; \ |
char buffer[size]; \ |
\ |
|
/* force alignment */ \ |
/* force alignment */ \ |
int ialign; \ |
int ialign; \ |
long lalign; \ |
long lalign; \ |
Line 35 LDAP_BEGIN_DECL
|
Line 38 LDAP_BEGIN_DECL
|
} |
} |
|
|
#define LBER_ELEMENT_SIZEOF (256) /* must be >= sizeof(BerElement) */ |
#define LBER_ELEMENT_SIZEOF (256) /* must be >= sizeof(BerElement) */ |
typedef LBER_ALIGN_BUFFER(berelement_u,LBER_ELEMENT_SIZEOF) BerElementBuffer; |
typedef LBER_ALIGNED_BUFFER(lber_berelement_u,LBER_ELEMENT_SIZEOF) |
|
BerElementBuffer; |
|
|
typedef struct sockbuf_buf { |
typedef struct sockbuf_buf { |
ber_len_t buf_size; |
ber_len_t buf_size; |
Line 131 LBER_F( char * )
|
Line 135 LBER_F( char * )
|
ber_strdup_x LDAP_P(( |
ber_strdup_x LDAP_P(( |
LDAP_CONST char *, void *ctx )); |
LDAP_CONST char *, void *ctx )); |
|
|
|
LBER_F( struct berval * ) |
|
ber_bvreplace_x LDAP_P(( |
|
struct berval *dst, LDAP_CONST struct berval *src, void *ctx )); |
|
|
LBER_F( void ) |
LBER_F( void ) |
ber_bvarray_free_x LDAP_P(( BerVarray p, void *ctx )); |
ber_bvarray_free_x LDAP_P(( BerVarray p, void *ctx )); |
|
|
Line 159 ber_bvarray_add_x LDAP_P(( BerVarray *p,
|
Line 167 ber_bvarray_add_x LDAP_P(( BerVarray *p,
|
( (s)[0] == (c) && (s)[1] == '\0' ) |
( (s)[0] == (c) && (s)[1] == '\0' ) |
|
|
#define ber_bvchr(bv,c) \ |
#define ber_bvchr(bv,c) \ |
memchr( (bv)->bv_val, (c), (bv)->bv_len ) |
((char *) memchr( (bv)->bv_val, (c), (bv)->bv_len )) |
|
|
|
#define ber_bvrchr(bv,c) \ |
|
((char *) memrchr( (bv)->bv_val, (c), (bv)->bv_len )) |
|
|
#define BER_BVC(x) { sizeof( (x) ) - 1, (x) } |
#define ber_bvchr_right(dst,bv,c) \ |
#define BER_BVNULL { 0L, NULL } |
do { \ |
|
(dst)->bv_val = memchr( (bv)->bv_val, (c), (bv)->bv_len ); \ |
|
(dst)->bv_len = (dst)->bv_val ? (bv)->bv_len - ((dst)->bv_val - (bv)->bv_val) : 0; \ |
|
} while (0) |
|
|
|
#define ber_bvchr_left(dst,bv,c) \ |
|
do { \ |
|
(dst)->bv_val = memchr( (bv)->bv_val, (c), (bv)->bv_len ); \ |
|
(dst)->bv_len = (dst)->bv_val ? ((dst)->bv_val - (bv)->bv_val) : (bv)->bv_len; \ |
|
(dst)->bv_val = (bv)->bv_val; \ |
|
} while (0) |
|
|
|
#define ber_bvrchr_right(dst,bv,c) \ |
|
do { \ |
|
(dst)->bv_val = memrchr( (bv)->bv_val, (c), (bv)->bv_len ); \ |
|
(dst)->bv_len = (dst)->bv_val ? (bv)->bv_len - ((dst)->bv_val - (bv)->bv_val) : 0; \ |
|
} while (0) |
|
|
|
#define ber_bvrchr_left(dst,bv,c) \ |
|
do { \ |
|
(dst)->bv_val = memrchr( (bv)->bv_val, (c), (bv)->bv_len ); \ |
|
(dst)->bv_len = (dst)->bv_val ? ((dst)->bv_val - (bv)->bv_val) : (bv)->bv_len; \ |
|
(dst)->bv_val = (bv)->bv_val; \ |
|
} while (0) |
|
|
|
#define BER_BVC(s) { STRLENOF(s), (s) } |
|
#define BER_BVNULL { 0L, NULL } |
|
#define BER_BVZERO(bv) \ |
|
do { \ |
|
(bv)->bv_len = 0; \ |
|
(bv)->bv_val = NULL; \ |
|
} while (0) |
|
#define BER_BVSTR(bv,s) \ |
|
do { \ |
|
(bv)->bv_len = STRLENOF(s); \ |
|
(bv)->bv_val = (s); \ |
|
} while (0) |
|
#define BER_BVISNULL(bv) ((bv)->bv_val == NULL) |
|
#define BER_BVISEMPTY(bv) ((bv)->bv_len == 0) |
|
|
LDAP_END_DECL |
LDAP_END_DECL |
|
|