Files
mars-tinyldap/ldif.h
leitner e04ca78ff8 add "generic" format string based encoder and decoder (scan_asn1generic,
fmt_asn1generic, see t10.c for example usage)
add "generic" asn.1 dumper (in t10.c)
fix some read off-by-one errors, minor cleanups
add real OID support
add bitstring support
2011-04-28 19:50:11 +00:00

33 lines
907 B
C

#define _FILE_OFFSET_BITS 64
#include <sys/stat.h>
#include <inttypes.h>
#include "asn1.h"
#include "ldap.h"
/* how many attributes do we allow per record? */
#define ATTRIBS 100
struct attribute {
uint32_t name, value;
};
struct ldaprec {
uint32_t dn;
unsigned int n; /* number of attributes */
struct attribute a[ATTRIBS];
struct ldaprec* next;
};
extern uint32_t dn, mail, sn, cn, objectClass;
extern struct ldaprec *first;
extern unsigned long ldifrecords;
int ldif_parse(const char* filename,off_t fromofs,struct stat* ss);
/* return non-zero if the record matches the search request */
int ldap_match(struct ldaprec* r,struct SearchRequest* sr);
int ldap_match_mapped(uint32_t ofs,struct SearchRequest* sr);
int ldap_match_present(uint32_t ofs,uint32_t attrofs);
uint32_t ldap_find_attr_value(uint32_t ofs,uint32_t attrofs);
int ldap_matchfilter_mapped(uint32_t ofs,struct Filter* f);