-- $Header
: /f
/osi
/vt
/RCS
/send_asr
.py
,v
7.1 91/02/22 09:48:15 mrose Interim $
-- Revision
7.1 91/02/22 09:48:15 mrose
-- Revision
7.0 89/11/23 22:31:43 mrose
-- 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
static char my_version = 0x01;
static char my_fu = 0x1c;
ud.version.bitstring = my_version;
ud.arg_list.num_sp_param = 1;
ud.arg_list.num_cds_objects = 2;
ud.arg_list.num_css_objects = 0;
ud.arg_list.num_dev_objects = 0;
ud.arg_list.sp_val[0].param_num = 1;
ud.arg_list.sp_val[0].param_type = 1;
ud.arg_list.sp_val[0].args.int_arg = 80;
ud.arg_list.cds_val[0].obj_name = "KB";
ud.arg_list.cds_val[1].obj_name = "DI";
for(i=0; i<ud.arg_list.num_cds_objects; i++)
ud.arg_list.cds_val[i].dimensions = 0;
ud.arg_list.cds_val[i].valid_x_dim = 0;
ud.arg_list.cds_val[i].valid_y_dim = 0;
ud.arg_list.cds_val[i].valid_z_dim = 0;
ud.arg_list.cds_val[i].valid_erasure = 0;
ud.arg_list.cds_val[i].valid_rep_list = 1;
ud.arg_list.cds_val[i].valid_emp_list = 0;
ud.arg_list.cds_val[i].valid_fore_color = 0;
ud.arg_list.cds_val[i].valid_back_color = 0;
ud.arg_list.cds_val[i].valid_access_right = 0;
ud.arg_list.cds_val[i].rep_value.valid_cap = 1;
ud.arg_list.cds_val[i].rep_value.capability = 1;
ud.arg_list.cds_val[i].rep_value.num_reps = 1;
ud.arg_list.cds_val[i].rep_value.repertoire[0].rep_type = 2;
ud.arg_list.cds_val[i].rep_value.repertoire[0].rep_assign =
ud.arg_list.cds_val[i].rep_value.repertoire[0].valid_font_cap =
ud.func_units.bitstring = my_fu;
ud.func_units.bitcount = 5;
build_ASRPDU_ASRpdu(&pe,1,NULL,NULLCP,&ud);
print_ASRPDU_ASRpdu(pe,1,NULLIP,NULLVP,&ud);
asrpdu [1] IMPLICIT ASRcontent [[p (PEPYPARM)parm]]
ASR_MSG *arg = (ASR_MSG *)parm;
userReason [0] IMPLICIT PrintableString [[s arg->reason.usr_reason]]
OPTIONAL <<(arg->valid_reason && (arg->reason.type == 0))>>,
provReason [1] IMPLICIT INTEGER [[i arg->reason.provider_reason]]
OPTIONAL <<(arg->valid_reason && (arg->reason.type == 1))>>,
[2] IMPLICIT INTEGER [[i arg->result]],
[3] IMPLICIT ImplemIdent [[p (PEPYPARM)&(arg->imp_id)]]
OPTIONAL <<arg->valid_imp>>,
[[x int2strb (arg->version.bitstring, arg->version.bitcount)
$ arg->version.bitcount]],
[5] IMPLICIT ArgumValueList [[p (PEPYPARM)&(arg->arg_list)]]
OPTIONAL <<arg->valid_arg_list>>,
[[x int2strb (arg->func_units.bitstring, arg->func_units.bitcount)
$ arg->func_units.bitcount]],
[7] IMPLICIT INTEGER [[i arg->coll_winner]]
OPTIONAL <<arg->valid_coll>>
IMPLEM_ID *arg = (IMPLEM_ID *)parm;
impIdent [0] IMPLICIT OBJECT IDENTIFIER
OPTIONAL <<arg->oid_true>>,
impName [1] IMPLICIT PrintableString
OPTIONAL <<arg->name_true>>,
impVersion [2] IMPLICIT PrintableString
OPTIONAL <<arg->version_true>>
ARG_VAL_LIST *arg = (ARG_VAL_LIST *)parm;
::= SET OF <<l=0; l<(arg->num_sp_param
+ (arg->num_cds_objects?1:0)); l++>> Goobers [[p parm]]
ARG_VAL_LIST *arg = (ARG_VAL_LIST *)parm;
::= CHOICE <<(l < arg->num_sp_param) ? 1 : 2>>
[0] IMPLICIT SpecialArgs [[p (PEPYPARM)&(arg->sp_val[l])]],
vteParams [1] IMPLICIT ParamValueList [[p parm]]
SPECIAL_VALUE *arg = (SPECIAL_VALUE *)parm;
identifier INTEGER [[i arg->param_num]],
value CHOICE <<arg->param_type + 1>>
BOOLEAN [[b arg->args.bool_arg]],
INTEGER [[i arg->args.int_arg]],
PrintableString[[s arg->args.string_arg]]
ARG_VAL_LIST *arg = (ARG_VAL_LIST *)parm;
displayObjects [0] IMPLICIT CDSValues [[p parm]]
OPTIONAL <<arg->num_cds_objects>>,
-- controlObjects [1] IMPLICIT CSSValues [[p parm]]
-- OPTIONAL <<arg->num_css_objects>>,
-- deviceObjects [2] IMPLICIT DEVValues [[p parm]]
-- OPTIONAL <<arg->num_dev_objects>>,
deliveryControl [3] IMPLICIT INTEGER
OPTIONAL <<arg->del_ctrl>>
--Note Problem with IMPLICIT SEQUENCE Definition below. PEPY does not accept
--it as defined in 9041 and in fact that definition is ridiculous. At the
--moment it is not clear if even hand coding available in ISODE 3.0 can
--produce the requirement of 9041.
ARG_VAL_LIST *arg = (ARG_VAL_LIST *)parm;
::= SET OF <<l=0; l<arg->num_cds_objects; l++>> SEQUENCE
objectName PrintableString
[[s arg->cds_val[l].obj_name]],
ObjectOffer [[p (PEPYPARM)&(arg->cds_val[l])]]
CSSValues ::= NULL --Unused for now--
DEVValues ::= NULL --Unused for now--
CDS_VALUE *arg = (CDS_VALUE *)parm;
dimensionValue [0] IMPLICIT INTEGER
OPTIONAL <<arg->dimensions>>,
xParamValue [1] IMPLICIT DimValue [[p
(PEPYPARM)&(arg->x_dim)]]
OPTIONAL <<arg->valid_x_dim>>,
yParamValue [2] IMPLICIT DimValue [[p (PEPYPARM)&(arg->y_dim)]]
OPTIONAL <<arg->valid_y_dim>>,
zParamValue [3] IMPLICIT DimValue [[p (PEPYPARM)&(arg->z_dim)]]
OPTIONAL <<arg->valid_z_dim>>,
-- erasurevalue [4] IMPLICIT BOOLEAN
-- OPTIONAL <<arg->valid_erasure>>,
repValueList [5] IMPLICIT CompRepValue [[p (PEPYPARM)&(arg->rep_value)]]
OPTIONAL <<arg->valid_rep_list>>,
-- empValueList [6] IMPLICIT CompEmpValue [[p (PEPYPARM)&(arg->emp_value)]]
-- OPTIONAL <<arg->valid_emp_list>>,
-- foreColorVal [7] IMPLICIT ColorValue [[p (PEPYPARM)&(arg->fore_color_list)]]
-- OPTIONAL <<arg->valid_fore_color>>,
-- backColorVal [8] IMPLICIT ColorValue [[p (PEPYPARM)&(arg->back_color_list)]]
-- OPTIONAL <<arg->valid_back_color>>,
objectAccRight [9] IMPLICIT INTEGER
OPTIONAL <<arg->valid_access_right>>
DIMEN_VALUE *arg = (DIMEN_VALUE *)parm;
OPTIONAL <<arg->bound_type>>,
addressing [1] IMPLICIT INTEGER
OPTIONAL <<arg->valid_addr>>,
absolute [2] IMPLICIT INTEGER
OPTIONAL <<arg->valid_abs>>,
OPTIONAL <<arg->window_type>>
REP_VALUE *arg = (REP_VALUE *)parm;
repCapability [0] IMPLICIT INTEGER
OPTIONAL <<arg->valid_cap>>,
[1] IMPLICIT SEQUENCE OF <<m=0; m<arg->num_reps; m++>>
RepFontValue [[p (PEPYPARM)&(arg->repertoire[m])]]
OPTIONAL <<arg->num_reps>>
FONT_VALUE *arg = (FONT_VALUE *)parm;
repertoire [0] IMPLICIT PrintableString
OPTIONAL <<arg->rep_assign>>,
fontCapability [1] IMPLICIT INTEGER
OPTIONAL <<arg->valid_font_cap>>,
<<i=0; i<arg->num_fonts; i++>>
[[s arg->font_names[i] ]]
OPTIONAL <<arg->num_fonts>>
-- EMP_VALUE *arg = (EMP_VALUE *)parm;
-- empCap [0] IMPLICIT INTEGER
-- OPTIONAL <<arg->valid_cap>>,
-- SEQUENCE OF <<i=0; i<arg->num_emps; i++>>
-- [[s arg->emp_string[i] ]]
-- OPTIONAL <<arg->num_emps>>
-- COLOR_VALUE *arg = (COLOR_VALUE *)parm;
-- colorCap [0] IMPLICIT INTEGER
-- OPTIONAL <<arg->valid_cap>>,
-- colorNames SEQUENCE OF <<i=0; i<arg->num_colors; i++>>
-- [[s arg->color_string[i] ]]
-- OPTIONAL <<arg->num_colors>>
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;
fprintf(stderr,"%s: ",myname);
fprintf(stderr,fmt,a,b,c,d,e,f,g,h,i,j);
(void) fputc(' ',stderr),perror(what);
(void) fputc('\n',stderr);
PE pe; /*Not Really, but pretend*/