DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T m

⟦45b436675⟧ TextFile

    Length: 3159 (0xc57)
    Types: TextFile
    Names: »massoc.py«

Derivation

└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦e83f91978⟧ »EurOpenD22/isode/osimis-2.0.tar.Z« 
        └─⟦d846658bd⟧ 
            └─⟦this⟧ »osimis/msap/massoc.py« 

TextFile

--
-- Copyright (c) 1988 University College London
-- All rights reserved.
--
-- Redistribution and use in source and binary forms are permitted
-- provided that the above copyright notice and this paragraph are
-- duplicated in all such forms and that any documentation,
-- advertising materials, and other materials related to such
-- distribution and use acknowledge that the software was developed
-- by the Department of Computer Science, University College London.
-- The name of the University may not be used to
-- endorse or promote products derived from this software without
-- specific prior written permission.
-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
--

-- massoc.py - pepy source for user information in M-ASSOCIATE

-- By George Pavlou, April 1990


CMIPAssoc
{ joint-iso-ccitt ms(9) cmip(1) version1(1) aAssociateUserInfo(1) }
DEFINITIONS ::=

%{
#include <stdio.h>
#include <isode/rosap.h>
#include "msap.h"
%}

PREFIXES encode decode print

BEGIN

ENCODER build

CMIPUserInfo [[P struct MSAPassocinfo *]] ::= SEQUENCE
	{
	protocolVersion	[0] IMPLICIT ProtocolVersion [[p &parm -> mai_protvrsn]]
				DEFAULT { version1 } << parm -> mai_protvrsn >>,
	functionalUnits	[1] IMPLICIT FunctionalUnits [[p &parm -> mai_funits]]
				DEFAULT {} << parm -> mai_funits >>,
	accessControl	[2] EXTERNAL [[p parm -> mai_access]]
				OPTIONAL << parm -> mai_access >>,
	userInfo	[3] EXTERNAL [[p parm -> mai_info]]
				OPTIONAL << parm -> mai_info >>
	}

ProtocolVersion [[P int *]] %{ char * cp = int2strb(*parm, 1); %}
	::= BIT STRING [[x cp $ 1]]
	{
	version1 (0)
	}

FunctionalUnits [[P int *]] %{ char * cp = int2strb(*parm, 5); %}
	::= BIT STRING [[x cp $ 5]]
	{
	multipleObjectSelection	(0),
	filter			(1),
	multipleReply		(2),
	extendedService		(3),
	confirmedCancelGet	(4)
	}

DECODER parse

CMIPUserInfo [[P struct MSAPassocinfo *]] ::= SEQUENCE
	{
	protocolVersion	[0] IMPLICIT ProtocolVersion [[p &parm -> mai_protvrsn]]
				DEFAULT {version1 },
	functionalUnits	[1] IMPLICIT FunctionalUnits [[p &parm -> mai_funits]]
				DEFAULT {},
	accessControl	[2] EXTERNAL [[p &parm -> mai_access]] OPTIONAL,
	userInfo	[3] EXTERNAL [[p &parm -> mai_info]] OPTIONAL
	}

ProtocolVersion [[P int *]] %{ char * cp; int length; %}
	::= BIT STRING [[x cp $ length]]
	{
	version1 (0)
	}
	%{ *parm = strb2int(cp, length); free(cp); %}

FunctionalUnits [[P int *]] %{ char * cp; int length; %}
	::= BIT STRING [[x cp $ length]]
	{
	multipleObjectSelection	(0),
	filter			(1),
	multipleReply		(2),
	extendedService		(3),
	confirmedCancelGet	(4)
	}
	%{ *parm = strb2int(cp, length); free(cp); %}

END

%{

/* VARARGS2 */

static void  advise (what, fmt, a, b, c, d, e, f, g, h, i, j)
char  *what, *fmt, *a, *b, *c, *d, *e, *f, *g, *h, *i, *j;
{
    (void) fflush(stdout);
    (void) fprintf(stderr, "libmsap: ");
    (void) fprintf(stderr, fmt, a, b, c, d, e, f, g, h, i, j);
    if (what)
	(void) fputc(' ', stderr), perror(what);
    else
	(void) fputc('\n', stderr);
    (void) fflush(stderr);
}

%}