]> git.sur5r.net Git - openldap/blob - libraries/liblber/lber-int.h
Add simple copyright notice
[openldap] / libraries / liblber / lber-int.h
1 /*
2  * Copyright 1998 The OpenLDAP Foundation, All Rights Reserved.
3  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
4  */
5 /*
6  * Copyright (c) 1990 Regents of the University of Michigan.
7  * All rights reserved.
8  *
9  * Redistribution and use in source and binary forms are permitted
10  * provided that this notice is preserved and that due credit is given
11  * to the University of Michigan at Ann Arbor. The name of the University
12  * may not be used to endorse or promote products derived from this
13  * software without specific prior written permission. This software
14  * is provided ``as is'' without express or implied warranty.
15  */
16
17 #ifndef _LBER_INT_H
18 #define _LBER_INT_H
19
20 #include "lber.h"
21 #include "ldap_log.h"
22
23 LDAP_BEGIN_DECL
24
25 #define LBER_ITEM_BERELEMENT 1
26 #define LBER_ITEM_SOCKBUF 2
27
28 extern int lber_int_debug;
29
30 struct berelement {
31         short           ber_item_type;  /* always LBER_ITEM_BERELEMENT */
32         short           ber_options;
33         int                     ber_debug;
34
35         int                     ber_usertag;
36
37         unsigned long   ber_tag;
38         unsigned long   ber_len;
39
40         char            *ber_buf;
41         char            *ber_ptr;
42         char            *ber_end;
43
44         struct seqorset *ber_sos;
45         char            *ber_rwptr;
46         BERTranslateProc ber_encode_translate_proc;
47         BERTranslateProc ber_decode_translate_proc;
48 };
49 #define NULLBER ((BerElement *) 0)
50
51 struct sockbuf {
52         short           sb_item_type;   /* always LBER_ITEM_SOCKBUF */
53         short           sb_options;     /* to support copying ber elements */
54         int                     sb_debug;
55
56         int                     sb_fd;
57 #ifndef MACOS
58         int             sb_sd;
59 #else /* MACOS */
60         void            *sb_sd;
61 #endif /* MACOS */
62
63         long            sb_max_incoming;
64
65         BerElement      sb_ber;
66
67         int                     sb_naddr;       /* > 0 implies using CLDAP (UDP) */
68         void            *sb_useaddr;    /* pointer to sockaddr to use next */
69         void            *sb_fromaddr;   /* pointer to message source sockaddr */
70         void            **sb_addrs;     /* actually an array of pointers to
71                                                 sockaddrs */
72 };
73 #define READBUFSIZ      8192
74
75 struct seqorset {
76         BerElement      *sos_ber;
77         unsigned long   sos_clen;
78         unsigned long   sos_tag;
79         char            *sos_first;
80         char            *sos_ptr;
81         struct seqorset *sos_next;
82 };
83 #define NULLSEQORSET    ((Seqorset *) 0)
84
85 /*
86  * bprint.c
87  */
88 LDAP_F int lber_log_printf LDAP_P((
89         int errlvl,
90         int loglvl,
91         char *fmt,
92         ... ));
93
94 LDAP_F int lber_log_bprint LDAP_P((
95         int errlvl,
96         int loglvl,
97         char *data,
98         int len ));
99
100 LDAP_F int lber_log_dump LDAP_P((
101         int errlvl,
102         int loglvl,
103         BerElement *ber,
104         int inout ));
105
106 LDAP_F int lber_log_sos_dump LDAP_P((
107         int errlvl,
108         int loglvl,
109         Seqorset *sos ));
110
111 #endif /* _LBER_INT_H */