#include <stdarg.h>
#include <syslog.h>
#include "ldap_structs.h"
#ifndef _LDAP_UTIL_H
#define _LDAP_UTIL_H
#ifdef __cplusplus
extern "C" {
#endif
#define T 1
#define F 0
#define NIL(s) (((s) != 0) ? (s) : "<nil>")
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
#define MSG_ALWAYS -1
#define MSG_NOTIMECHECK 0
#define MSG_NOMEM 1
#define MSG_MEMPARAM 2
#define MSG_TSDERR 3
#define MSG_BER 4
#define MSG_INVALIDDELDISP 5
#define MSG_NORULEVALUE 6
#define MSG_NONPCOLDSTART 7
#define MSG_VLV_INSUFF_ACC 8
#define MSG_LASTMSG 9
#define NPL_NOERROR 0
#define NPL_NOMEM 1
#define NPL_TSDERR 2
#define NPL_BERENCODE 3
#define NPL_BERDECODE 4
typedef struct {
char *buf;
int len;
} __nis_buffer_t;
extern __nis_buffer_t pb;
typedef struct {
int error;
char *message;
} __nis_deferred_error_t;
extern unsigned long numMisaligned;
void logmsg(int msgtype, int priority, const char *fmt, ...);
void reportError(int error, char *fmt, ...);
int getError(char **message);
void clearError(void);
void logError(int priority);
void *am(const char *msg, int size);
int slen(const char *str);
char *sdup(const char *msg, int allocate, char *str);
char *scat(const char *msg, int deallocate, char *s1, char *s2);
void sfree(void *ptr);
char lastChar(__nis_single_value_t *v);
void *appendString2SingleVal(char *str, __nis_single_value_t *v,
int *newLen);
int scmp(char *s, __nis_single_value_t *v);
int scasecmp(char *s, __nis_single_value_t *v);
int vp2buf(const char *msg, char **buf, int buflen, const char *fmt,
va_list ap);
void p2buf(char *msg, char *fmt, ...);
void bp2buf(const char *msg, __nis_buffer_t *b, const char *fmt, ...);
void bc2buf(const char *msg, void *buf, int len, __nis_buffer_t *b);
void sbc2buf(const char *msg, void *buf, int len, __nis_buffer_t *b);
void c2buf(char *msg, void *buf, int len);
void sc2buf(char *msg, void *buf, int len);
void printbuf(void);
void *extendArray(void *array, int newsize);
int checkIPaddress(char *addr, int len, char **newaddr);
int sstrncmp(const char *s1, const char *s2, int n);
char *trimWhiteSpaces(char *str, int *len, int deallocate);
int escapeSpecialChars(__nis_value_t *val);
void removeEscapeChars(__nis_value_t *val);
#ifdef __cplusplus
}
#endif
#endif