cwm@TWG.COM (Chris Moore) (12/06/88)
the following command:
gcc -g -w -I../../h -DDEBUG -c asn_ext.c
causes:
gcc: Program cc1 got fatal signal 6.
configuration: md -> i386.md
tm.h -> tm-sun386i.h
machine: Sun 386i/250
SunOS 4.0
with the following input: (generated by -E)
# 1 "asn_ext.c"
static char *rcsid = "$Header: /boomer/osi/dsap/pepy/RCS/asn_ext.c,v 5.4 88/11/07 15:58:34 cwm Exp Locker: cwm $";
# 1 "../../h/quipu/util.h"
# 1 "/usr/include/stdio.h"
extern struct _iobuf {
int _cnt;
unsigned char *_ptr;
unsigned char *_base;
int _bufsiz;
short _flag;
char _file;
} _iob[];
extern struct _iobuf *fopen();
extern struct _iobuf *fdopen();
extern struct _iobuf *freopen();
extern struct _iobuf *popen();
extern struct _iobuf *tmpfile();
extern long ftell();
extern char *fgets();
extern char *gets();
extern char *ctermid();
extern char *cuserid();
extern char *tempnam();
extern char *tmpnam();
# 31 "../../h/quipu/util.h"
# 1 "/usr/include/ctype.h"
extern char _ctype_[];
# 32 "../../h/quipu/util.h"
# 1 "/usr/include/setjmp.h"
extern int sigsetjmp(), setjmp(), _setjmp();
extern void siglongjmp(), longjmp(), _longjmp();
# 57 "/usr/include/setjmp.h"
typedef int jmp_buf[8 ];
typedef int sigjmp_buf[8 +1];
# 33 "../../h/quipu/util.h"
# 1 "/usr/include/sys/types.h"
# 1 "/usr/include/sys/sysmacros.h"
# 16 "/usr/include/sys/types.h"
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef struct _physadr { short r[1]; } *physadr;
typedef struct label_t {
int val[8];
} label_t;
typedef struct _quad { long val[2]; } quad;
typedef long daddr_t;
typedef char * caddr_t;
typedef u_long ino_t;
typedef long swblk_t;
typedef int size_t;
typedef long time_t;
typedef short dev_t;
typedef long off_t;
typedef u_short uid_t;
typedef u_short gid_t;
typedef long key_t;
typedef long fd_mask;
typedef struct fd_set {
fd_mask fds_bits[ ((((u_int)(256 ))+(((u_int)( (sizeof(fd_mask) * 8 ) ))-1))/((u_int)( (sizeof(fd_mask) * 8 ) ))) ];
} fd_set;
typedef char * addr_t;
# 105 "/usr/include/sys/types.h"
# 34 "../../h/quipu/util.h"
# 1 "/usr/include/errno.h"
# 1 "/usr/include/sys/errno.h"
# 7 "/usr/include/errno.h"
extern int errno;
# 35 "../../h/quipu/util.h"
# 1 "../../h/logger.h"
typedef struct ll_struct {
char *ll_file;
char *ll_hdr;
char *ll_dhdr;
int ll_events;
int ll_syslog;
int ll_msize;
int ll_stat;
int ll_fd;
} LLog;
int ll_open ();
int ll_log (), _ll_log ();
int ll_close ();
void ll_hdinit ();
void ll_dbinit ();
int ll_printf ();
int ll_sync ();
char *ll_preset ();
int ll_check ();
# 36 "../../h/quipu/util.h"
# 1 "../../h/quipu/config.h"
# 38 "../../h/quipu/util.h"
extern char *strcat ();
extern char *strcpy ();
extern char *strncpy ();
extern char *malloc ();
extern char *smalloc ();
extern char *strdup ();
extern char *multcat ();
extern char *multcpy ();
extern char *index ();
extern char *rindex ();
extern char *gets ();
extern long lseek ();
extern jmp_buf _timeobuf;
char * qmalloc ();
# 35 "asn_ext.c"
# 1 "../../h/quipu/quipu_pepy.h"
# 1 "../../h/quipu/common.h"
# 1 "../../h/quipu/attrvalue.h"
# 1 "../../h/quipu/name.h"
# 1 "../../h/quipu/attr.h"
# 1 "../../h/quipu/oid.h"
# 1 "../../h/psap.h"
# 1 "../../h/manifest.h"
# 1 "../../h/config.h"
# 43 "../../h/manifest.h"
# 69 "../../h/manifest.h"
# 104 "../../h/manifest.h"
# 140 "../../h/manifest.h"
# 173 "../../h/manifest.h"
typedef int *IP;
typedef int (*IFP) ();
typedef void (*VFP) ();
struct udvec {
caddr_t uv_base;
int uv_len;
int uv_inline;
};
struct qbuf {
struct qbuf *qb_forw;
struct qbuf *qb_back;
int qb_len;
char *qb_data;
char qb_base[1];
};
# 238 "../../h/manifest.h"
# 263 "../../h/manifest.h"
# 34 "../../h/psap.h"
# 1 "../../h/general.h"
# 85 "../../h/general.h"
char *index ();
char *mktemp ();
char *rindex ();
char *sprintf ();
char *strcat ();
int strcmp ();
char *strcpy ();
int strlen ();
char *strncat ();
int strncmp ();
char *strncpy ();
char *getenv ();
char *calloc (), *malloc (), *realloc ();
int explode (), implode ();
char *sprintb ();
int str2vecX ();
int str2elem ();
int str2sel ();
char *sel2str ();
char *getpassword ();
int baduser ();
char *sys_errname ();
void asprintf (), _asprintf ();
void isodetailor ();
unsigned short ntohs ();
unsigned short htons ();
unsigned long ntohl ();
unsigned long htonl ();
# 37 "../../h/psap.h"
# 1 "/usr/include/sys/time.h"
struct timeval {
long tv_sec;
long tv_usec;
};
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
# 1 "/usr/include/time.h"
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
char *tm_zone;
long tm_gmtoff;
};
extern struct tm *gmtime(), *localtime();
extern char *asctime(), *ctime();
# 62 "/usr/include/sys/time.h"
# 43 "../../h/psap.h"
typedef struct OIDentifier {
int oid_nelem;
unsigned int *oid_elements;
} OIDentifier, *OID;
OID ode2oid ();
int oid_cmp ();
OID oid_cpy ();
int oid_free ();
char *oid2ode ();
char *sprintoid ();
OID str2oid ();
typedef u_char PElementClass;
typedef u_char PElementForm;
typedef u_short PElementID;
typedef int PElementLen;
typedef u_char byte, *PElementData;
typedef struct PElement {
int pe_errno;
int pe_context;
PElementClass pe_class;
PElementForm pe_form;
PElementID pe_id;
PElementLen pe_len;
PElementLen pe_ilen;
union {
PElementData un_pe_prim;
struct PElement *un_pe_cons;
} pe_un1;
union {
int un_pe_cardinal;
int un_pe_nbits;
} pe_un2;
int pe_inline;
char *pe_realbase;
int pe_offset;
struct PElement *pe_next;
int pe_refcnt;
} PElement, *PE;
PE pe_alloc ();
int pe_free ();
int pe_cmp ();
PE pe_cpy ();
int pe_pullup ();
PE pe_expunge ();
int pe_extract ();
PE str2pe ();
PE qb2pe ();
extern int pe_maxclass;
extern char *pe_classlist[];
extern int pe_maxuniv;
extern char *pe_univlist[];
extern int pe_maxappl;
extern char **pe_applist;
extern int pe_maxpriv;
extern char **pe_privlist;
typedef struct UTCtime {
int ut_year;
int ut_mon;
int ut_mday;
int ut_hour;
int ut_min;
int ut_sec;
int ut_usec;
int ut_zone;
int ut_flags;
} UTCtime, *UTC;
void tm2ut ();
long gtime ();
struct tm *ut2tm ();
extern char *psapversion;
int prim2flag ();
PE flag2prim ();
int prim2num ();
PE num2prim ();
char *prim2str ();
PE str2prim ();
struct qbuf *prim2qb ();
PE qb2prim ();
PE prim2bit ();
PE bit2prim ();
int bit_on (), bit_off ();
int bit_test ();
OID prim2oid ();
PE obj2prim ();
UTC prim2time ();
PE time2prim ();
char *time2str ();
UTC str2utct (), str2gent ();
PE prim2set ();
int set_add (), set_addon (), set_del ();
PE set_find ();
int seq_add (), seq_addon (), seq_del ();
PE seq_find ();
char *pe_error ();
typedef struct {
int ps_errno;
union {
caddr_t un_ps_addr;
struct {
char *st_ps_base;
int st_ps_cnt;
char *st_ps_ptr;
int st_ps_bufsiz;
} un_ps_st;
struct {
struct udvec *uv_ps_head;
struct udvec *uv_ps_cur;
struct udvec *uv_ps_end;
int uv_ps_elems;
int uv_ps_slop;
int uv_ps_cc;
} un_ps_uv;
} ps_un;
caddr_t ps_extra;
int ps_inline;
int ps_scratch;
int ps_byteno;
IFP ps_primeP;
IFP ps_readP;
IFP ps_writeP;
IFP ps_flushP;
IFP ps_closeP;
} PStream, *PS;
PS ps_alloc ();
void ps_free ();
int ps_io ();
int ps_flush ();
int std_open ();
int str_open ();
int str_setup ();
int dg_open ();
int dg_setup ();
int fdx_open ();
int fdx_setup ();
int qbuf_open ();
int uvec_open ();
int uvec_setup ();
PE ps2pe_aux ();
int pe2ps_aux ();
PE pl2pe ();
int pe2pl ();
extern int ps_len_strategy;
int ps_get_abs ();
char *ps_error ();
struct isobject {
char *io_descriptor;
OIDentifier io_identity;
};
int setisobject (), endisobject ();
struct isobject *getisobject ();
struct isobject *getisobjectbyname ();
struct isobject *getisobjectbyoid ();
PE qbuf2pe ();
char *qb2str ();
struct qbuf *str2qb ();
int qb_free ();
int pe2ssdu ();
PE ssdu2pe ();
void pe2text (), text2pe ();
int pe2uvec ();
char *int2strb ();
int strb2int ();
PE strb2bitstr ();
char *bitstr2strb ();
extern char PY_pepy[];
void PY_advise ();
int PY_pp ();
int testdebug ();
int vpush (), vpop ();
int vname (), vtag ();
int vprint ();
int vstring (), vunknown ();
char *bit2str ();
int vpushfp (), vpopfp ();
int vpushstr (), vpopstr ();
int _vpdu ();
# 27 "../../h/quipu/oid.h"
typedef struct {
char ot_name [40 ];
char ot_stroid [40 ];
OID ot_oid;
} oid_table;
typedef struct {
oid_table oa_ot;
int oa_syntax;
} oid_table_attr;
typedef struct seq_tab {
oid_table_attr * ts_oa;
struct seq_tab * ts_next;
} * table_seq;
table_seq table_seq_new();
typedef struct {
oid_table oc_ot;
struct oid_seq * oc_hierachy;
table_seq oc_must;
table_seq oc_may;
} objectclass;
oid_table_attr * oid2attr();
oid_table_attr * name2attr();
char * attr2name();
objectclass * oid2oc();
objectclass * name2oc();
char * oc2name();
char * oid2name();
OID name2oid();
char * SkipSpace ();
void StripSpace ();
# 27 "../../h/quipu/attr.h"
typedef struct {
OID at_oid;
oid_table_attr * at_table;
} attrType, * AttributeType;
AttributeType AttrT_cpy();
AttributeType AttrT_new();
struct file_syntax {
int fs_real_syntax;
char * fs_name;
char fs_default;
};
typedef struct {
PE av_pe;
int av_syntax;
union {
char * av_str;
struct acl * av_acl;
PE av_asn;
char * av_num;
struct PSAPaddr * av_psap;
struct dn_seq * av_dnlist;
struct dncomp * av_dn;
struct tree_struct * av_tree;
struct edb_info * av_update;
int av_boolean;
int av_integer;
long av_time;
OID av_oid;
objectclass * av_objectclass;
struct file_syntax av_file;
} av_un;
} attrVal, * AttributeValue;
AttributeValue AttrV_cpy();
AttributeValue str_at2AttrV();
AttributeValue str2AttrV();
# 27 "../../h/quipu/name.h"
typedef struct rdncomp {
AttributeType rdn_at;
AttributeValue rdn_av;
struct rdncomp *rdn_next;
} rdncomp, *RDN;
RDN rdn_comp_new ();
RDN rdn_comp_cpy ();
RDN str2rdn();
RDN rdn_cpy ();
RDN rdn_merge ();
typedef struct dncomp {
RDN dn_rdn;
struct dncomp *dn_parent;
} dncomp, *DN;
DN dn_comp_new ();
DN dn_comp_cpy ();
DN dn_cpy ();
DN str2dn ();
# 26 "../../h/quipu/attrvalue.h"
typedef char Soundex;
char ** AttrV_soundex_key ();
typedef struct avseqcomp {
AttributeValue avseq_av;
Soundex avseq_soundex [6 ][4 ];
struct avseqcomp *avseq_next;
} avseqcomp, *AV_Sequence;
AV_Sequence avs_comp_new ();
AV_Sequence avs_comp_cpy ();
AV_Sequence avs_cpy ();
AV_Sequence avs_merge ();
AV_Sequence str2avs ();
typedef struct attrcomp {
AttributeType attr_type;
AV_Sequence attr_value;
struct attrcomp *attr_link;
struct acl_info *attr_acl;
} attrcomp, *Attr_Sequence;
Attr_Sequence as_comp_new ();
Attr_Sequence as_comp_cpy ();
Attr_Sequence as_cpy ();
Attr_Sequence as_cpy_type ();
Attr_Sequence as_comp_cpy_type ();
Attr_Sequence as_find_type ();
Attr_Sequence as_merge ();
Attr_Sequence str2as();
struct acl_info {
int acl_categories;
int acl_selector_type;
struct dn_seq *acl_name;
struct acl_info *acl_next;
};
struct acl_info *acl_info_new ();
struct acl_info *acl_info_cpy();
struct acl_info *acl_default();
# 27 "../../h/quipu/common.h"
# 1 "../../h/quipu/dsp.h"
# 1 "../../h/isoaddrs.h"
typedef struct AEInfo {
PE aei_ap_title;
PE aei_ae_qualifier;
int aei_ap_id;
int aei_ae_id;
int aei_flags;
} AEInfo, *AEI;
AEI str2aei ();
char *sprintaei ();
struct NSAPaddr {
long na_type;
union {
struct na_nsap {
char na_nsap_address[64 ];
char na_nsap_addrlen;
} un_na_nsap;
struct na_tcp {
char na_tcp_domain[64 ];
u_short na_tcp_port;
u_short na_tcp_tset;
} un_na_tcp;
struct na_x25 {
char na_x25_dte[36 + 1];
char na_x25_dtelen;
char na_x25_pid[4 ];
char na_x25_pidlen;
char na_x25_cudf[16 ];
char na_x25_cudflen;
char na_x25_fac[6 ];
char na_x25_faclen;
} un_na_x25;
} na_un;
};
struct TSAPaddr {
struct NSAPaddr ta_addrs[3 ];
int ta_naddr;
int ta_selectlen;
union {
char ta_un_selector[64 ];
u_short ta_un_port;
} un_ta;
};
struct SSAPaddr {
struct TSAPaddr sa_addr;
int sa_selectlen;
union {
char sa_un_selector[64 ];
u_short sa_un_port;
} un_sa;
};
struct PSAPaddr {
struct SSAPaddr pa_addr;
int pa_selectlen;
union {
char pa_un_selector[64 ];
u_short pa_un_port;
} un_pa;
};
struct PSAPaddr *aei2addr ();
struct ns_query {
int ns_id;
char *ns_name;
char *ns_attribute;
};
struct ns_response {
int ns_id;
PE ns_name;
PE ns_value;
};
char *alias2name ();
PE name2value ();
struct isoentity {
OIDentifier ie_identifier;
char *ie_descriptor;
struct PSAPaddr ie_addr;
};
int setisoentity (), endisoentity ();
struct isoentity *getisoentity ();
AEI oid2aei ();
struct PSAPaddr *is2paddr ();
struct SSAPaddr *is2saddr ();
struct TSAPaddr *is2taddr ();
struct PSAPaddr *asn2paddr ();
struct TSAPaddr *asn2taddr ();
char *paddr2asn ();
char *taddr2asn ();
struct nsap_entry {
char *ns_service;
IFP ns_parse;
};
extern struct nsap_entry _nsap_entries[];
struct PSAPaddr *str2paddr ();
struct TSAPaddr *str2taddr ();
char *paddr2str ();
char *taddr2str ();
char *na2str ();
int isodeserver ();
struct QOStype {
int qos_reliability;
};
# 26 "../../h/quipu/dsp.h"
struct op_progress {
int op_resolution_phase;
int op_nextrdntoberesolved;
};
struct access_point {
DN ap_name;
struct PSAPaddr ap_address;
struct access_point *ap_next;
};
typedef struct continuation_ref {
DN cr_name;
struct op_progress cr_progress;
int cr_rdn_resolved;
int cr_aliasedRDNs;
int cr_reftype;
struct access_point cr_accesspoints;
struct continuation_ref *cr_next;
}continuation_ref, *ContinuationRef;
struct trace_info {
DN ti_target;
DN ti_dsa;
struct op_progress ti_progress;
struct trace_info *ti_next;
};
typedef struct svccontrol {
int svc_options;
char svc_prio;
int svc_timelimit;
int svc_sizelimit;
int svc_scopeofreferral;
} svccontrol, ServiceControl;
# 28 "../../h/quipu/common.h"
# 1 "../../h/quipu/commonarg.h"
# 1 "../../h/quipu/attrvalue.h"
# 115 "../../h/quipu/attrvalue.h"
# 27 "../../h/quipu/commonarg.h"
# 1 "../../h/quipu/dsp.h"
# 99 "../../h/quipu/dsp.h"
# 28 "../../h/quipu/commonarg.h"
typedef struct common_args {
ServiceControl ca_servicecontrol;
DN ca_requestor;
DN ca_initiator;
DN ca_target;
struct op_progress ca_progress;
struct trace_info *ca_trace;
int ca_aliased_rdns;
int ca_return_cross_refs;
int ca_reftype;
} common_args, CommonArgs;
typedef struct common_results {
DN cr_requestor;
char cr_aliasdereferenced;
} common_results, CommonResults;
typedef struct entrystruct {
DN ent_dn;
Attr_Sequence ent_attr;
int ent_iscopy;
time_t ent_age;
struct entrystruct *ent_next;
} entrystruct, EntryInfo;
typedef struct entryinfoselection {
char eis_allattributes;
Attr_Sequence eis_select;
char eis_infotypes;
}entryinfoselection, EntryInfoSelection;
typedef struct ava {
AttributeType ava_type;
AttributeValue ava_value;
}ava, AVA;
# 29 "../../h/quipu/common.h"
# 1 "../../h/quipu/bind.h"
struct ds_bind_arg {
int dba_version;
DN dba_dn;
int dba_passwd_len;
char dba_passwd[512 ];
};
struct ds_bind_error {
int dbe_version;
char dbe_type;
int dbe_value;
};
# 30 "../../h/quipu/common.h"
# 1 "../../h/quipu/read.h"
# 1 "../../h/quipu/commonarg.h"
# 100 "../../h/quipu/commonarg.h"
# 27 "../../h/quipu/read.h"
# 1 "../../h/quipu/ds_error.h"
struct DSE_abandon_fail {
int DSE_ab_problem;
int DSE_ab_invokeid;
};
struct DSE_at_problem {
int DSE_at_what;
AttributeType DSE_at_type;
AttributeValue DSE_at_value;
struct DSE_at_problem *dse_at_next;
};
struct DSE_attribute {
DN DSE_at_name;
struct DSE_at_problem DSE_at_plist;
} ;
struct DSE_name {
int DSE_na_problem;
DN DSE_na_matched;
};
struct DSE_referral {
ContinuationRef DSE_ref_candidates;
DN DSE_ref_prefix;
};
struct DSE_security {
int DSE_sc_problem;
};
struct DSE_service {
int DSE_sv_problem;
};
struct DSE_update {
int DSE_up_problem;
};
struct DSE_alias {
DN DSE_al_name;
DN DSE_al_alias;
};
struct DSError {
int dse_type;
union {
struct DSE_abandon_fail dse_un_abandon_fail;
struct DSE_attribute dse_un_attribute;
struct DSE_name dse_un_name;
struct DSE_referral dse_un_referral;
struct DSE_security dse_un_security;
struct DSE_service dse_un_service;
struct DSE_update dse_un_update;
struct DSE_alias dse_un_alias;
} dse_un;
};
# 28 "../../h/quipu/read.h"
struct ds_read_arg {
CommonArgs rda_common;
DN rda_object;
EntryInfoSelection rda_eis;
};
struct ds_read_result {
CommonResults rdr_common;
EntryInfo rdr_entry;
};
# 31 "../../h/quipu/common.h"
# 1 "../../h/quipu/compare.h"
# 1 "../../h/quipu/commonarg.h"
# 100 "../../h/quipu/commonarg.h"
# 27 "../../h/quipu/compare.h"
# 1 "../../h/quipu/ds_error.h"
# 168 "../../h/quipu/ds_error.h"
# 28 "../../h/quipu/compare.h"
struct ds_compare_arg {
CommonArgs cma_common;
DN cma_object;
AVA cma_purported;
};
struct ds_compare_result {
CommonResults cmr_common;
DN cmr_object;
char cmr_matched;
int cmr_iscopy;
time_t cmr_age;
};
# 32 "../../h/quipu/common.h"
# 1 "../../h/quipu/abandon.h"
struct ds_abandon_arg {
int aba_invokeid;
};
# 33 "../../h/quipu/common.h"
# 1 "../../h/quipu/list.h"
# 1 "../../h/quipu/commonarg.h"
# 100 "../../h/quipu/commonarg.h"
# 27 "../../h/quipu/list.h"
# 1 "../../h/quipu/ds_error.h"
# 168 "../../h/quipu/ds_error.h"
# 28 "../../h/quipu/list.h"
struct ds_list_arg {
CommonArgs lsa_common;
DN lsa_object;
};
struct subordinate {
RDN sub_rdn;
char sub_aliasentry;
char sub_copy;
struct subordinate *sub_next;
};
struct ds_list_result {
CommonResults lsr_common;
DN lsr_object;
time_t lsr_age;
struct subordinate *lsr_subordinates;
int lsr_limitproblem;
ContinuationRef lsr_cr;
};
static struct list_cache {
DN list_dn;
struct subordinate *list_subs;
struct subordinate *list_sub_top;
int list_count;
int list_problem;
struct list_cache *list_next;
};
struct list_cache *find_list_cache ();
# 34 "../../h/quipu/common.h"
# 1 "../../h/quipu/ds_search.h"
# 1 "../../h/quipu/commonarg.h"
# 100 "../../h/quipu/commonarg.h"
# 27 "../../h/quipu/ds_search.h"
# 1 "../../h/quipu/ds_error.h"
# 168 "../../h/quipu/ds_error.h"
# 28 "../../h/quipu/ds_search.h"
typedef struct {
AttributeType fi_sub_type;
AV_Sequence fi_sub_initial;
AV_Sequence fi_sub_any;
AV_Sequence fi_sub_final;
} Filter_Substrings;
struct filter_item {
int fi_type;
union {
AttributeType fi_un_type;
AVA fi_un_ava;
Filter_Substrings fi_un_substrings;
} fi_un;
Soundex fi_soundex [6 ][4 ];
};
typedef struct filter {
char flt_type;
struct filter *flt_next;
union {
struct filter_item flt_un_item;
struct filter *flt_un_filter;
} flt_un;
}filter, *Filter;
struct ds_search_arg {
CommonArgs sra_common;
DN sra_baseobject;
int sra_subset;
Filter sra_filter;
EntryInfoSelection sra_eis;
};
struct ds_search_result {
CommonResults srr_common;
DN srr_object;
EntryInfo *srr_entries;
int srr_limitproblem;
ContinuationRef srr_cr;
};
struct ds_search_task {
DN st_baseobject;
DN st_alias;
int st_subset;
int st_size;
time_t st_time;
ContinuationRef st_cr;
struct ds_search_task * st_next;
};
# 35 "../../h/quipu/common.h"
# 1 "../../h/quipu/add.h"
# 1 "../../h/quipu/commonarg.h"
# 100 "../../h/quipu/commonarg.h"
# 27 "../../h/quipu/add.h"
# 1 "../../h/quipu/ds_error.h"
# 168 "../../h/quipu/ds_error.h"
# 28 "../../h/quipu/add.h"
struct ds_addentry_arg {
CommonArgs ada_common;
DN ada_object;
Attr_Sequence ada_entry;
};
# 36 "../../h/quipu/common.h"
# 1 "../../h/quipu/modify.h"
# 1 "../../h/quipu/commonarg.h"
# 100 "../../h/quipu/commonarg.h"
# 27 "../../h/quipu/modify.h"
# 1 "../../h/quipu/ds_error.h"
# 168 "../../h/quipu/ds_error.h"
# 28 "../../h/quipu/modify.h"
struct entrymod {
int em_type;
Attr_Sequence em_what;
struct entrymod *em_next;
};
struct ds_modifyentry_arg {
CommonArgs mea_common;
DN mea_object;
struct entrymod *mea_changes;
};
# 37 "../../h/quipu/common.h"
# 1 "../../h/quipu/modifyrdn.h"
# 1 "../../h/quipu/commonarg.h"
# 100 "../../h/quipu/commonarg.h"
# 27 "../../h/quipu/modifyrdn.h"
# 1 "../../h/quipu/ds_error.h"
# 168 "../../h/quipu/ds_error.h"
# 28 "../../h/quipu/modifyrdn.h"
struct ds_modifyrdn_arg {
CommonArgs mra_common;
DN mra_object;
RDN mra_newrdn;
char deleterdn;
};
# 38 "../../h/quipu/common.h"
# 1 "../../h/quipu/remove.h"
# 1 "../../h/quipu/commonarg.h"
# 100 "../../h/quipu/commonarg.h"
# 27 "../../h/quipu/remove.h"
# 1 "../../h/quipu/ds_error.h"
# 168 "../../h/quipu/ds_error.h"
# 28 "../../h/quipu/remove.h"
struct ds_removeentry_arg {
CommonArgs rma_common;
DN rma_object;
};
# 39 "../../h/quipu/common.h"
# 1 "../../h/quipu/ds_error.h"
# 168 "../../h/quipu/ds_error.h"
# 40 "../../h/quipu/common.h"
# 27 "../../h/quipu/quipu_pepy.h"
typedef struct
{
DN usc_dn;
int usc_passwd_len;
char *usc_passwd;
} USC;
typedef struct
{
int poq_limitproblem;
ContinuationRef poq_cref;
} POQ;
struct subordinate * subord_comp_new();
struct entrymod * em_comp_cpy();
EntryInfo * ent_comp_cpy();
Filter filter_comp_alloc();
int strb2int();
# 36 "asn_ext.c"
# 1 "../../h/quipu/entry.h"
# 1 "../../h/quipu/attrvalue.h"
# 115 "../../h/quipu/attrvalue.h"
# 27 "../../h/quipu/entry.h"
# 1 "../../h/quipu/dsp.h"
# 99 "../../h/quipu/dsp.h"
# 28 "../../h/quipu/entry.h"
struct acl_attr {
struct oid_seq *aa_types;
struct acl_info *aa_acl;
struct acl_attr *aa_next;
};
struct acl_attr * acl_attr_cpy();
struct acl {
struct acl_info *ac_child;
struct acl_info *ac_entry;
struct acl_info *ac_default;
struct acl_attr *ac_attributes;
};
struct acl * acl_cpy();
struct acl * str2acl();
typedef struct entry {
RDN e_name;
Attr_Sequence e_attributes;
objectclass * e_objectclass;
char e_leaf;
char e_complete;
int e_data;
char *e_passwd;
struct tree_struct *e_struct;
struct acl *e_acl;
DN e_alias;
struct dsa_info *e_dsainfo;
char e_allchildrenpresent;
char *e_edbversion;
struct dn_seq *e_master;
struct dn_seq *e_slave;
struct entry *e_sibling;
struct entry *e_parent;
struct entry *e_child;
char e_lock;
} entry, *Entry;
Entry getentry_block();
Entry directory_load();
Entry find_entry ();
Entry really_find_entry ();
Entry get_default_entry ();
struct oid_seq {
OID oid_oid;
struct oid_seq *oid_next;
};
struct oid_seq * oid_seq_cpy();
struct oid_seq * oid_seq_merge();
struct tree_struct {
objectclass *tree_object;
struct tree_struct *tree_next;
};
struct tree_struct * tree_struct_cpy ();
struct tree_struct * str2schema ();
struct dn_seq {
DN dns_dn;
struct dn_seq *dns_next;
};
struct dn_seq *dn_seq_cpy();
struct dn_seq *str2dnseq();
struct dsa_info {
struct PSAPaddr *dsa_addr;
struct edb_info *dsa_edb;
};
struct edb_info {
DN edb_name;
int edb_distance;
DN edb_getfrom;
struct dn_seq *edb_sendto;
struct edb_info *edb_next;
};
struct edb_info * edb_info_cpy ();
struct edb_info * str2update ();
DN get_copy_dn ();
# 37 "asn_ext.c"
extern LLog * log_dsap;
OID grab_oid(at)
AttributeType at;
{
if(at->at_oid == ((OID) 0) ) {
if (log_dsap -> ll_events & ( 0x20 )) { (void) ll_log (log_dsap, 0x20 , ((char *)0) , "%s", ll_preset ("table %s",sprintoid(at->at_table->oa_ot.ot_oid))); } else ;
return(at->at_table->oa_ot.ot_oid);
} else {
if (log_dsap -> ll_events & ( 0x20 )) { (void) ll_log (log_dsap, 0x20 , ((char *)0) , "%s", ll_preset ("attrib %s",sprintoid(at->at_oid))); } else ;
return(at->at_oid);
}
}
PE grab_pe(av)
AttributeValue av;
{
PE ret_pe = ((PE) 0) ;
if(av->av_pe != ((PE) 0) )
return(pe_cpy(av->av_pe));
switch(av->av_syntax)
{
case 1 :
case 2 :
ret_pe = str2prim ((av->av_un.av_str), ( strlen(av->av_un.av_str)), 0x0 , 0x013 ) ;
break;
case 5 :
ret_pe = str2prim ((av->av_un.av_num), ( strlen(av->av_un.av_num)), 0x0 , 0x012 ) ;
break;
case 13 :
ret_pe = obj2prim ((av->av_un.av_oid), 0x0 , 0x006 ) ;
break;
case 15 :
ret_pe = obj2prim ((av->av_un.av_objectclass->oc_ot.ot_oid), 0x0 , 0x006 ) ;
break;
case 3 :
(void) encode_Quipu_ACLSyntax (&ret_pe,1,0,((char *)0) ,av->av_un.av_acl);
break;
case 6 :
(void) encode_Quipu_ISODEPresentationAddress (&ret_pe,1,0,((char *)0) ,av->av_un.av_psap);
break;
case 7 :
(void) encode_Quipu_NameList (&ret_pe,1,0,((char *)0) ,av->av_un.av_dnlist);
break;
case 16 :
(void) encode_Quipu_DistinguishedName (&ret_pe,1,0,((char *)0) ,av->av_un.av_dn);
break;
case 8 :
(void) encode_Quipu_TreeStructureSyntax(&ret_pe,1,0,((char *)0) ,av->av_un.av_tree);
break;
case 9 :
(void) encode_Quipu_EDBInfoSyntax (&ret_pe,1,0,((char *)0) ,av->av_un.av_update);
break;
case 10 :
ret_pe = flag2prim ((av->av_un.av_boolean), 0x0 , 0x001 ) ;
break;
case 11 :
ret_pe = num2prim ((av->av_un.av_integer), 0x0 , 0x002 ) ;
break;
case 12 :
{
UTCtime utime;
tm2ut (gmtime(&(av->av_un.av_time)),&utime);
ret_pe = time2prim ((utime), 0, 0x0 , 0x017 ) ;
break;
}
case 14 :
{
struct _iobuf * fptr;
if ((fptr = fopen (av->av_un.av_file.fs_name,"r")) != 0 ) {
if (av->av_un.av_file.fs_real_syntax == 4 ) {
PS fps;
fps = ps_alloc (std_open);
if ((((fps) -> ps_un.un_ps_addr = (caddr_t) (fptr), 0 ) ) == -1 ) {
(void) fclose (fptr);
ps_free (fps);
break;
}
ret_pe = ps2pe_aux ((fps), 1) ;
(void) fclose (fptr);
ps_free (fps);
} else {
char buffer [512 ];
AttributeValue newav;
extern char * TidyString ();
(void) fread (buffer,512 ,1,fptr);
(void) fclose (fptr);
if ((newav = str2AttrV (TidyString(buffer),av->av_un.av_file.fs_real_syntax)) == (AttributeValue) 0 ){
if (log_dsap -> ll_events & ( 0x02 )) { (void) ll_log (log_dsap, 0x02 , ((char *)0) , "%s", ll_preset ("invalid format in file %s",av->av_un.av_file.fs_name)); } else ;
break;
}
ret_pe = grab_pe (newav);
}
} else
if (log_dsap -> ll_events & ( 0x02 )) { (void) ll_log (log_dsap, 0x02 , ((char *)0) , "%s", ll_preset ("Can't open %s",av->av_un.av_file.fs_name)); } else ;
break;
}
default:
if (log_dsap -> ll_events & ( 0x02 )) { (void) ll_log (log_dsap, 0x02 , ((char *)0) , "%s", ll_preset ("Unknown syntax %d in grap_pe",av->av_syntax)); } else ;
case 4 :
case 17 :
return(pe_cpy(av->av_un.av_asn));
}
return (ret_pe);
}
AttrV_do_decode(x,y)
register AttributeType x;
register AttributeValue y;
{
int z;
if (x == (AttributeType) 0 )
return;
AttrT_decode (x);
if (x->at_table == ((oid_table_attr *)0) )
return;
if (y == (AttributeValue) 0 )
return;
y->av_syntax = x->at_table->oa_syntax;
switch (x->at_table->oa_syntax) {
case 1 :
case 2 :
y->av_un.av_str = prim2str (y->av_pe, &z);
break;
case 5 :
y->av_un.av_num = prim2str (y->av_pe, &z);
break;
case 13 :
y->av_un.av_oid = prim2oid(y->av_pe);
break;
case 15 :
y->av_un.av_objectclass = oid2oc (prim2oid(y->av_pe));
break;
case 4 :
case 17 :
y->av_un.av_asn = y->av_pe;
break;
case 10 :
y->av_un.av_boolean = (char) prim2flag (y->av_pe) ;
break;
case 11 :
y->av_un.av_integer = prim2num (y->av_pe);
break;
case 12 :
y->av_un.av_time = gtime(ut2tm( prim2time ((y->av_pe), 0) ));
break;
case 6 :
{
y->av_un.av_psap = (struct PSAPaddr *) calloc (1,sizeof (struct PSAPaddr));
(void) decode_Quipu_ISODEPresentationAddress (y->av_pe,1, ((IP) 0) ,((char **) 0) ,y->av_un.av_psap);
break;
}
case 3 :
y->av_un.av_acl = (struct acl *) qmalloc (sizeof (struct acl)) ; ;
(void) decode_Quipu_ACLSyntax(y->av_pe,1, ((IP) 0) ,((char **) 0) ,y->av_un.av_acl);
acl_decode (y->av_un.av_acl);
break;
case 7 :
(void) decode_Quipu_NameList(y->av_pe,1, ((IP) 0) ,((char **) 0) ,&(y->av_un.av_dnlist));
dn_seq_decode (y->av_un.av_dnlist);
break;
case 16 :
(void) decode_Quipu_DistinguishedName(y->av_pe,1, ((IP) 0) ,((char **) 0) ,&(y->av_un.av_dn));
dn_decode (y->av_un.av_dn);
break;
case 8 :
(void) decode_Quipu_TreeStructureSyntax(y->av_pe,1, ((IP) 0) ,((char **) 0) ,&(y->av_un.av_tree));
break;
case 9 :
y->av_un.av_update = (struct edb_info *) qmalloc (sizeof (struct edb_info)) ; ;
(void) decode_Quipu_EDBInfoSyntax(y->av_pe,1, ((IP) 0) ,((char **) 0) ,y->av_un.av_update);
edb_info_decode (y->av_un.av_update);
break;
default:
y->av_syntax = 0 ;
if (log_dsap -> ll_events & ( 0x02 )) { (void) ll_log (log_dsap, 0x02 , ((char *)0) , "%s", ll_preset ("Un decoded syntax %d",x->at_table->oa_syntax)); } else ;
break;
}
}
------- End of Forwarded Message