X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fldif.h;h=9ffb8ee2712088af2d38ba7c78b0dc800b4c2f41;hb=b7334e30c15e2d528adea51f974775bb95e9ad71;hp=de4531625ecbacd9efd6358222ec7a9bcae4c062;hpb=eaaea51b538450656e746708732cfd36f45f77e7;p=openldap diff --git a/include/ldif.h b/include/ldif.h index de4531625e..9ffb8ee271 100644 --- a/include/ldif.h +++ b/include/ldif.h @@ -1,15 +1,18 @@ /* $OpenLDAP$ */ -/* - * Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA +/* This work is part of OpenLDAP Software . + * + * Copyright 1998-2007 The OpenLDAP Foundation. * All rights reserved. * - * Redistribution and use in source and binary forms are permitted only - * as authorized by the OpenLDAP Public License. A copy of this - * license is available at http://www.OpenLDAP.org/license.html or - * in file LICENSE in the top-level directory of the distribution. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. + * + * A copy of this license is available in file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . */ -/* Portions - * Copyright (c) 1996 Regents of the University of Michigan. +/* Portions Copyright (c) 1996 Regents of the University of Michigan. * All rights reserved. * * Redistribution and use in source and binary forms are permitted @@ -28,7 +31,7 @@ LDAP_BEGIN_DECL /* This is NOT a bogus extern declaration (unlike ldap_debug) */ -LIBLDIF_F (int) ldif_debug; +LDAP_LDIF_V (int) ldif_debug; #define LDIF_LINE_WIDTH 76 /* maximum length of LDIF lines */ @@ -49,29 +52,63 @@ LIBLDIF_F (int) ldif_debug; ((nlen) + 4 + LDIF_BASE64_LEN(vlen) \ + ((LDIF_BASE64_LEN(vlen) + (nlen) + 3) / LDIF_LINE_WIDTH * 2 )) -LIBLDIF_F( int ) +LDAP_LDIF_F( int ) ldif_parse_line LDAP_P(( LDAP_CONST char *line, char **name, char **value, ber_len_t *vlen )); -LIBLDIF_F( int ) +LDAP_LDIF_F( int ) +ldif_parse_line2 LDAP_P(( + char *line, + struct berval *type, + struct berval *value, + int *freeval )); + +LDAP_LDIF_F( FILE * ) +ldif_open_url LDAP_P(( LDAP_CONST char *urlstr )); + +LDAP_LDIF_F( int ) ldif_fetch_url LDAP_P(( LDAP_CONST char *line, char **value, ber_len_t *vlen )); -LIBLDIF_F( char * ) +LDAP_LDIF_F( char * ) ldif_getline LDAP_P(( char **next )); -LIBLDIF_F( int ) +LDAP_LDIF_F( int ) +ldif_countlines LDAP_P(( LDAP_CONST char *line )); + +/* ldif_ropen, rclose, read_record - just for reading LDIF files, + * no special open/close needed to write LDIF files. + */ +typedef struct LDIFFP { + FILE *fp; + struct LDIFFP *prev; +} LDIFFP; + +LDAP_LDIF_F( LDIFFP * ) +ldif_open LDAP_P(( LDAP_CONST char *file, LDAP_CONST char *mode )); + +LDAP_LDIF_F( void ) +ldif_close LDAP_P(( LDIFFP * )); + +LDAP_LDIF_F( int ) ldif_read_record LDAP_P(( - FILE *fp, + LDIFFP *fp, int *lineno, char **bufp, int *buflen )); +LDAP_LDIF_F( int ) +ldif_must_b64_encode_register LDAP_P(( + LDAP_CONST char *name, + LDAP_CONST char *oid )); + +LDAP_LDIF_F( void ) +ldif_must_b64_encode_release LDAP_P(( void )); #define LDIF_PUT_NOVALUE 0x0000 /* no value */ #define LDIF_PUT_VALUE 0x0001 /* value w/ auto detection */ @@ -83,7 +120,7 @@ ldif_read_record LDAP_P(( #define LDIF_PUT_URL 0x0020 /* url */ #define LDIF_PUT_SEP 0x0040 /* separator */ -LIBLDIF_F( void ) +LDAP_LDIF_F( void ) ldif_sput LDAP_P(( char **out, int type, @@ -91,14 +128,14 @@ ldif_sput LDAP_P(( LDAP_CONST char *val, ber_len_t vlen )); -LIBLDIF_F( char * ) +LDAP_LDIF_F( char * ) ldif_put LDAP_P(( int type, LDAP_CONST char *name, LDAP_CONST char *val, ber_len_t vlen )); -LIBLDIF_F( int ) +LDAP_LDIF_F( int ) ldif_is_not_printable LDAP_P(( LDAP_CONST char *val, ber_len_t vlen ));