|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 6286 (0x188e)
Types: TextFile
Names: »sa-enc.py«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z«
└─⟦de7628f85⟧
└─⟦this⟧ »isode-6.0/dsap/x500as/sa-enc.py«
-- sa-dec.py - Seleted Attributes
-- $Header: /f/osi/dsap/x500as/RCS/sa-enc.py,v 7.0 89/11/23 21:50:51 mrose Rel $
--
--
-- $Log: sa-enc.py,v $
-- Revision 7.0 89/11/23 21:50:51 mrose
-- Release 6.0
--
--
-- NOTICE
--
-- Acquisition, use, and distribution of this module and related
-- materials are subject to the restrictions of a license agreement.
-- Consult the Preface in the User's Manual for the full terms of
-- this agreement.
--
--
SA
{
joint-iso-ccitt
ds(5)
modules(1)
selectedAttributeTypes(5)
}
DEFINITIONS ::=
%{
#include <stdio.h>
#include "quipu/util.h"
#include "quipu/entry.h"
extern LLog * log_dsap;
#define encode_UNIV_PrintableString build_UNIV_PrintableString
#define encode_UNIV_TeletexString build_UNIV_TeletexString
#define encode_UNIV_OctetString build_UNIV_OctetString
#define encode_UNIV_IA5String build_UNIV_IA5String
#define encode_UNIV_T61String build_UNIV_T61String
%}
PREFIXES encode decode print
BEGIN
IMPORTS
AttributeType
FROM IF
{
joint-iso-ccitt
ds(5)
modules(1)
informationFramework(1)
};
ENCODER encode
FacsimileTelephoneNumber [[P struct fax *]]
%{
char *bit_parm;
%}
::=
%{
DLOG(log_dsap, LLOG_PDUS, ("About to encode FacsimileTelephoneNumber"));
%}
SEQUENCE
{
telephoneNumber
PrintableString [[s parm->number]],
parameters
BIT STRING
[[x bit_parm = bitstr2strb (parm -> bits, &len) $ len]]
%{
free (bit_parm);
%}
OPTIONAL <<parm -> bits>>
}
%{
DLOG(log_dsap, LLOG_PDUS, ("Done encode FacsimileTelephoneNumber"));
%}
PostalAddress [[P struct postaddr *]]
%{
struct postaddr * tmp;
%}
::=
%{
DLOG(log_dsap, LLOG_PDUS, ("About to encode PostalAddress"));
%}
SEQUENCE OF
<<tmp=parm; tmp != (struct postaddr *) NULL; tmp=tmp->pa_next>>
CHOICE << tmp->addrtype >>
{
T61String [[s tmp->addrcomp]],
PrintableString [[s tmp->addrcomp]]
}
%{
DLOG(log_dsap, LLOG_PDUS, ("Done encode PostalAddress"));
%}
TelexNumber [[P struct telex *]]
::=
%{
DLOG(log_dsap, LLOG_PDUS, ("About to encode TelexNumber"));
%}
SEQUENCE
{
telexNumber PrintableString [[s parm->telexnumber]],
countryCode PrintableString [[s parm->countrycode]],
answerback PrintableString [[s parm->answerback]]
}
%{
DLOG(log_dsap, LLOG_PDUS, ("Done encode TelexNumber"));
%}
TeletexTerminalIdentifier [[P struct teletex *]]
::=
%{
DLOG(log_dsap, LLOG_PDUS, ("About to encode TeletexTerminalIdentifier"));
%}
SEQUENCE
{
teletexTerminal
PrintableString [[s parm->terminal]],
parameters
SET {
graphic-character-sets [0] TeletexString
[[s parm->graphic]] OPTIONAL <<parm->graphic != NULLCP>>,
control-character-sets [1] TeletexString
[[s parm->control]] OPTIONAL << parm->control != NULLCP>>,
page-formats [2] OCTET STRING
[[s parm->page]] OPTIONAL << parm->page != NULLCP >>,
miscellaneous-terminal-capabilities [3] TeletexString
[[s parm->misc]] OPTIONAL << parm->misc != NULLCP >>,
private-use [4] OCTET STRING
[[s parm->t_private]] OPTIONAL << parm->t_private != NULLCP >>
} OPTIONAL << (parm->graphic != NULLCP) || (parm->control != NULLCP)
|| (parm->page != NULLCP) || (parm->misc != NULLCP)
|| (parm->t_private != NULLCP) >>
}
%{
DLOG(log_dsap, LLOG_PDUS, ("Done encode TeletexTerminalIdentifier"));
%}
PreferredDeliveryMethod [[P struct pref_deliv *]]
%{
struct pref_deliv * tmp;
%}
::=
%{
DLOG(log_dsap, LLOG_PDUS, ("About to encode PreferredDeliveryMethod"));
%}
SEQUENCE OF
<<tmp=parm; tmp != (struct pref_deliv *)NULL; tmp=tmp->pd_next>>
INTEGER [[i tmp->deliv ]]
{
any-delivery-method (0),
mhs-delivery (1),
physical-delivery (2),
telex-delivery (3),
teletex-delivery (4),
g3-facsimilie-delivery (5),
g4-facsimilie-delivery (6),
ia5-terminal-delivery (7),
videotex-delivery (8),
telephone-delivery (9)
}
%{
DLOG(log_dsap, LLOG_PDUS, ("Done encode PreferredDeliveryMethod"));
%}
CriteriaItem [[P struct CriteriaItem *]]
::=
CHOICE <<parm -> offset>> {
equality[0]
AttributeType
[[p parm -> attrib ]],
substrings[1]
AttributeType
[[p parm -> attrib ]],
greaterOrEqual[2]
AttributeType
[[p parm -> attrib ]],
lessOrEqual[3]
AttributeType
[[p parm -> attrib ]],
approximateMatch[4]
AttributeType
[[p parm -> attrib ]]
}
Criteria [[P struct Criteria *]]
%{
struct and_or_set *and_or_set;
%}
::=
CHOICE
%{
and_or_set = parm -> un.and_or;
%}
<<parm -> offset>>
{
type[0]
CriteriaItem
[[p parm -> un.type ]],
and[1]
SET OF
<<and_or_set = parm -> un.and_or;
and_or_set;
and_or_set = and_or_set -> and_or_next>>
Criteria
[[p and_or_set -> and_or_comp]],
or[2]
SET OF
<<and_or_set = parm -> un.and_or;
and_or_set;
and_or_set = and_or_set -> and_or_next>>
Criteria
[[p and_or_set -> and_or_comp]],
not[3]
Criteria
[[p parm -> un.not ]]
}
Guide [[ P struct Guide *]]
::=
SET {
objectClass [0]
OBJECT IDENTIFIER
[[O parm -> objectClass ]]
OPTIONAL <<parm -> objectClass>>,
criteria [1]
Criteria [[p parm -> criteria]]
}
END