openldap/servers/ldapd/common.h

73 lines
2.3 KiB
C
Raw Normal View History

1998-08-08 20:43:13 -04:00
/*
* Copyright (c) 1990 Regents of the University of Michigan.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted
* provided that this notice is preserved and that due credit is given
* to the University of Michigan at Ann Arbor. The name of the University
* may not be used to endorse or promote products derived from this
* software without specific prior written permission. This software
* is provided ``as is'' without express or implied warranty.
*/
/*
* This structure represents an association to a dsa. There is one of
* these for each association open (a new association is made for each
* new dsa, and for each dn).
*/
struct conn {
int c_ad; /* association descriptor */
char *c_dn; /* the dn this asoc is bound as */
char *c_cred; /* corresponding pw */
long c_credlen;
unsigned long c_method;
struct PSAPaddr *c_paddr; /* the dsa address */
int c_time; /* time this association inited */
int c_refcnt; /* number of ops referencing this ad */
struct conn *c_next;
};
/*
* This structure represents an outstanding request. There is one of
* these for each client request for which we have not yet received a
* response from a dsa.
*/
struct msg {
int m_msgid; /* the message id */
int m_uniqid; /* unique id for this message */
int m_msgtype; /* the ldap operation type */
LDAPMod *m_mods; /* for modify operations only */
BerElement *m_ber; /* the unparsed ber for the op */
struct conn *m_conn; /* connection structure */
#ifdef CLDAP
int m_cldap; /* connectionless transport? (CLDAP) */
struct sockaddr m_clientaddr; /* client address (if using CLDAP) */
DN m_searchbase; /* base used in search */
#endif /* CLDAP */
struct msg *m_next;
};
#define DEFAULT_TIMEOUT 3600 /* idle client connections */
#define DEFAULT_REFERRAL_TIMEOUT 900 /* DSA connections */
#ifdef NEEDPROTOS
#include "proto-ldapd.h"
#else
extern struct msg *add_msg();
extern struct msg *get_msg();
extern struct msg *get_cldap_msg();
extern int del_msg();
extern struct conn *conn_getfd();
extern struct conn *conn_find();
extern struct conn *conn_dup();
extern void conn_del();
extern AttributeValue ldap_str2AttrV();
extern DN ldap_str2dn();
extern void ldap_str2alg();
extern void ldap_print_algid();
#endif /* don't need protos */