diff options
Diffstat (limited to 'usr/src/lib/libldap4/include/entry.h')
-rw-r--r-- | usr/src/lib/libldap4/include/entry.h | 271 |
1 files changed, 0 insertions, 271 deletions
diff --git a/usr/src/lib/libldap4/include/entry.h b/usr/src/lib/libldap4/include/entry.h deleted file mode 100644 index 81320b9bd1..0000000000 --- a/usr/src/lib/libldap4/include/entry.h +++ /dev/null @@ -1,271 +0,0 @@ -/* - * - * Copyright 1998 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - * - */ - -#pragma ident "%Z%%M% %I% %E% SMI" - -/* - * structs for storing and updating entries - */ - -#if !defined(_ENTRY_H_) && !defined(_PROTO_SLAP) -#define _ENTRY_H_ - -#ifndef _SLDAPD_H_ - -/* - * represents an attribute (type + values + syntax + oid) - */ -typedef struct attr { - char *a_type; - struct berval **a_vals; - int a_syntax; - struct attr *a_next; -} Attribute; - -/* - * the attr_syntax() routine returns one of these values - * telling what kind of syntax an attribute supports. - * - * NOTE: The syntax may not be available in libentry unless you have - * read the slapd.conf config file. - */ -#define SYNTAX_CIS 0x01 /* case insensitive string */ -#define SYNTAX_CES 0x02 /* case sensitive string */ -#define SYNTAX_BIN 0x04 /* binary data */ -#define SYNTAX_TEL 0x08 /* telephone number string */ -#define SYNTAX_DN 0x10 /* dn string */ -#define SYNTAX_LONG 0x20 /* integer */ -#define SYNTAX_ULONG 0x40 /* integer */ -#define SYNTAX_CRYPT 0x80 /* crypted password */ -#define SYNTAX_UTCTIME 0x0100 /* Utctime string YYMMDDhhmm[ss]Z */ -#define SYNTAX_GENTIME 0x0200 /* gentime string YYYYMMDDhhmm[ss]Z */ - -/* These next two are used by libentry. They are overloaded into a_syntax - * because there's no extra room and we didn't want to enlarge the structure - * because of the performance hit. - */ -#define ATTRIBUTE_FOUND 0x1000 /* Set if attribute was found */ -#define ATTRIBUTE_ADD 0x2000 /* Set if values are to be added instead of replaced */ - -#define DEFAULT_SYNTAX SYNTAX_CIS - -typedef struct asyntaxinfo { - char **asi_names; - char *asi_oid; - int asi_options; -#define ATTR_OPT_SINGLE 0x01 /* Single Valued attr */ -#define ATTR_OPT_OPERATIONAL 0x02 /* Operational attr */ -#define ATTR_OPT_NAMING 0x10 /* Naming Attribute */ - char *asi_default_oc; - int asi_maxlen; - int asi_syntax; -} AttrSyntaxInfo; - -/* - * the id used in the indexes to refer to an entry - */ -typedef unsigned int ID; -#define NOID ((unsigned int)-1) - -/* - * represents an entry in core - */ -typedef struct entry { - char *e_dn; /* DN of this entry */ - Attribute *e_attrs; /* list of attributes + values */ - - ID e_id; /* not used in libentry */ - char e_state; /* only ENTRY_FOUND is used below */ -#define ENTRY_STATE_DELETED 0x01 /* value not used in libentry */ -#define ENTRY_STATE_CREATING 0x02 /* value not used in libentry */ - int e_refcnt; /* # threads ref'ing this entry */ - pthread_mutex_t e_mutex; /* to lock for add/modify */ - struct entry *e_lrunext; - struct entry *e_lruprev; /* not used in libentry, (could be added) */ -} Entry; - -/* This next #define is used by libentry. It is overloaded into e_state. - * It is used to mark entries as found/not found so that they can be deleted - * if they are not found (for example on a remote replica). - */ -#define ENTRY_FOUND 0x80 - -#endif _SLDAPD_H_ - -/* entry.c */ - -/* output_ldif takes a modlist structure and prints out ldif. Since there are 3 ways - * you can use a modlist structure, you need to tell this routine what you're doing. - * The three choices are: - * LDAP_MODIFY_ENTRY - * LDAP_ADD_ENTRY - * LDAP_DELETE_ENTRY - * ldif suitable for feeding to ldapmodify will be produced. - */ - -/* op arg to output_ldif() */ -#define LDAP_MODIFY_ENTRY 1 -#define LDAP_ADD_ENTRY 2 -#define LDAP_DELETE_ENTRY 3 - -void output_ldif(char *dn, int op, LDAPMod **modlist, FILE *out); - -/* Checks that base exist. If not, create it. - * ld - ldap context, you must supply it because it's used in ldap_search - * out - file to output ldif to. If supplied, ldif will be printed here, - * if not supplied, ldap_mod will be called for you (using ld). - * - * returns number of entries created if all is ok, -1 if an error occured. - * - * mutex locks: if you are outputting to out from other threads, you need - * to lock output_mutex. output_ldif locks this mutex before outputting. - */ - -int make_base(LDAP *ld, FILE *out, char *base); - -/* Add an entry to ldap. You supply an Entry struct. Will either add entry - * to ldap or output ldif to an open file (stdout for example). - * - * ld - ldap context. Must be valid if you want entry_add to add entries to ldap - * for you. - * out - open file where to send ldif output. One of ld or out should be valid. - * new_entry is an Entry which you want added to ldap - * - * returns number of entries created or -1 if an error occured in ldap_add() - */ - -int entry_add(LDAP *ld, FILE *out, Entry *new_entry); - -/* Compares two entries and issue changes to make old look like new. - * - * ld - ldap context. Must be valid if you want entry_update to add entries to ldap - * for you. - * out - open file where to send ldif output. One of ld or out should be valid. - * new_entry is an Entry which you want old_entry to look like - * - * returns number of entries modified or -1 if an error occured in ldap_modify() - */ - -int entry_update(LDAP *ld, FILE *out, Entry *old_entry, Entry *new_entry); - -/* Deletes an entry. - * ld - ldap context. Must be valid if you want delete_entry to call ldap - * for you. - * out - open file where to send ldif output. One of ld or out should be valid. - * ldap_entry is an Entry which you want to delete - * - * returns number of entries deleted or -1 if an error occured in ldap_modify() - * usually one, but for future it might delete more than one. - */ - -int entry_delete(LDAP *ld, FILE *out, Entry *ldap_entry); - -/* attr.c */ -void attr_free( Attribute *a ); -int attr_merge_fast( - Entry *e, - char *type, - struct berval **vals, - int nvals, - int naddvals, - int *maxvals, - Attribute ***a -); -int attr_merge( - Entry *e, - char *type, - struct berval **vals -); - -Attribute *attr_find( - Attribute *a, - char *type, - int ignoreOpt -); -int attr_delete( - Attribute **attrs, - char *type -); -int attr_syntax( char *type ); -int attr_syntax_by_oid( char *oid ); -void attr_syntax_config( - char *fname, - int lineno, - int argc, - char **argv -); -char * attr_normalize( char *s ); -char * alias_normalize( char *s ); -int type_compare(char * t1, char *t2); -int type_list_compare( - char **a, - char *s -); - -int attr_cmp(Attribute *attr1, Attribute *attr2); -char * get_type_from_list(char **a, char *s); -int attr_single_valued_check(char *type, struct berval **vals); -AttrSyntaxInfo *get_attrSyntaxInfo(char *type); -char * attr_syntax2oid(int aSyntax); - -/* value.c */ -int value_add_fast( - struct berval ***vals, - struct berval **addvals, - int nvals, - int naddvals, - int *maxvals -); -int value_delete( - struct berval ***vals, - struct berval *v, - int syntax, - int normalize -); -int value_add_one( - struct berval ***vals, - struct berval *v, - int syntax, - int normalize -); -time_t utc2seconds(char * utctime); -int value_add( - struct berval ***vals, - struct berval **addvals -); -void value_normalize( - char *s, - int syntax -); -int value_cmp( - struct berval *v1, - struct berval *v2, - int syntax, - int normalize /* 1 => arg 1; 2 => arg 2; 3 => both */ -); -int value_ncmp( - struct berval *v1, - struct berval *v2, - int syntax, - int len, - int normalize -); -int value_find( - struct berval **vals, - struct berval *v, - int syntax, - int normalize -); -int value_cnt(struct berval **vals); - -/* dn.c */ -char *dn_normalize( char *dn ); -char *dn_normalize_case( char *dn ); -int dn_issuffix(char *dn, char *suffix); -char *dn_upcase( char *dn ); - -#endif _ENTRY_H_ |