|
|
DataMuseum.dkPresents historical artifacts from the history of: DANOSI |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DANOSI Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 25245 (0x629d)
Types: TextFile
Names: »NET.ENV«
└─⟦5bf9983c6⟧ Bits:30010496 DANOSI SW50070 Disk 2/2 MegaSwitch Development Toolset Rel. 1.1 PN: 798-66-79 DVBS1.SW50070.rel.1.1.2/2
└─⟦this⟧ »PAXENV\NET.ENV«
netenv;\r
(**********************************************************************)\r
(* *)\r
(* netenv *)\r
(* *)\r
(* common netnet environment *)\r
(* *)\r
(* description: *)\r
(* This environment contain constants and types, relevant for most of *)\r
(* the PAXNET modules. *)\r
(* Furthermore it contains some of the very important configuration *)\r
(* parameters for a PAXNET node. *)\r
(* *)\r
(* This environment is intented to be used by all PAXNET modules. *)\r
(* *)\r
(* date init changes *)\r
(* ---------------------------------------------------------------- *)\r
(* 820730 chh first released version *)\r
(* 82.... ??? various changes *)\r
(* 821104 tsg head_lgt_rout changed (paxnet router head lgt) *)\r
(* rlmax changed to 3 (no. of routing levels) *)\r
(* 821119 jbf dok_indent_type inserted *)\r
(* f_l_n_type changed *)\r
(* 821119 peho ts_conf_type inserted *)\r
(* 830304 peho ts_conf_type changed *)\r
(* 830526 chh new hdlc driver interface (hdlc2). *)\r
(* 830621 jli new ph_type(pool handler) *)\r
(* 840101 uh SL buffer parameters inserted. *)\r
(* 840323 chh dnic_type and net_addr_type inserted. *)\r
(* 840331 UH min_inp_ctr_f_sl, min_inp_dt_f_sl from slenv *)\r
(* 840528 tsg stdpriority ch. to minpriority (from -3) *)\r
(* 841011 tsg exchange-lcp operation defined (u1, u2, type) *)\r
(* 870923 phk inserted paxopsys_zone declarations *)\r
(* 870924 phk inserted the new paxopsys process families *)\r
(* 880302 phk inserted declaration af hdlc_line_type and the *)\r
(* get_hdlc_line function *)\r
(* 880808 kgj lic_max_window defined *)\r
(* 880628 bb inserted idte declarations *)\r
(* 890524 bb paxsem_type extended with net_addr_modifier *)\r
(* paxsem access routines included *)\r
(* 890524 bb tofrom included *)\r
(* stdpriority and releasepool removed *)\r
(* 911111 inb mini/midi/maxi param type extended to Mega *)\r
(* 920204 tog target RC5000 changed to TA *)\r
(* 920228 bb merged with rc8000 version of netenv *)\r
(* and now common for rtp3502 and notrtp3502 *)\r
(* 930920 bb initpool, initsem, tofrom, uadd, usub, madd *)\r
(* included once again for rtp3502 *)\r
(* *)\r
(**********************************************************************)\r
\r
const\r
(****************************)\r
(**** version number ****)\r
(****************************)\r
\r
vers_netenv = 0; (* version number *)\r
rel_netenv = 0; (* release number *)\r
\r
\r
(******************************************************)\r
(**** important PAXNET configuration constants ****)\r
(******************************************************)\r
\r
x25_packet_size = 256; (* length in bytes of data part of x25 packet *)\r
\r
(*************************************)\r
(**** u1 values (function) ****)\r
(*************************************)\r
\r
exch_lcp_u1 = 155; (* exchange lcp values (requester/server) *)\r
\r
\r
(********************************)\r
(**** u2 values (result) ****)\r
(********************************)\r
\r
(* basic function 0 *)\r
ab_term = 16; (* abnormal termination/disconnection *)\r
ab_user_term = 24; (* -"- -"- upon user request *)\r
ok = 0; (* processed successfully *)\r
rem_ass_req = 8; (* connection/setup/establish request received *)\r
\r
(* basic function 1 *)\r
sys_not_process = 1; (* not processed from basis system *)\r
not_processed = 9; (* not processed *)\r
rejected = 17; (* messages rejected by module or remote user *)\r
\r
(* basic function 2 *)\r
busy = 2; (* no internal resources, module busy *)\r
net_not_accs = 18; (* network not accessible *)\r
timeout = 10; (* timeout has occured *)\r
\r
(* basic function 3 *)\r
no_user_res = 11; (* the user has not delivered the needed resource *)\r
retr_exh = 27; (* number of retries exhausted *)\r
rem_user_term = 19; (* disconnection/clear by remote user *)\r
user_term = 3; (* local user has closed/cleared/disconnected the data path *)\r
\r
(* basic function 4 *)\r
buf_lgth_err = 28; (* buffer length error *)\r
fct_not_allw = 12; (* function not allowed *)\r
format_err = 20; (* format error in message *)\r
ill_opcode = 4; (* illegal ( unknown ) opcode *)\r
not_mess = 44; (* value in u2 of message header <> 7 *)\r
rec_unkw = 36; (* receiver unknown *)\r
\r
(* basic function 7 *)\r
message = 7; (* message *)\r
\r
\r
(*******************************)\r
(**** general constants ****)\r
(*******************************)\r
\r
forever = false;\r
$IF fln > 0\r
drv_param_lgt = 6; (* length of drvbuftype *)\r
$ELSE\r
drv_param_lgt = 0;\r
$ENDIF\r
pax_break_code = 80; (* break code, when a process is breaked *)\r
\r
\r
type\r
(***************************)\r
(**** general types ****)\r
(***************************)\r
\r
$IF language <> rtp3502\r
sempointer = ^mailbox;\r
$ELSE\r
sempointer = ^semaphore;\r
$ENDIF\r
\r
tap_pointer = record\r
s: sempointer;\r
w: sempointer;\r
end;\r
\r
int32 = record\r
msp: integer;\r
lsp: integer;\r
end;\r
\r
relation = (ls, eq, gr);\r
\r
drvbuftype = record\r
$IF fln > 0\r
first: integer;\r
last: integer;\r
next: integer;\r
$ENDIF\r
end;\r
\r
f_l_n_type = record\r
$IF fln > 0\r
first,\r
last,\r
next : integer;\r
$ENDIF\r
end;\r
\r
exch_lcp_type = record (* for exchange lcp function *)\r
fln : drvbuftype;\r
user_index : integer;\r
user_lcpid : integer;\r
server_lcpid : integer;\r
end;\r
\r
\r
(*********************************)\r
(**** configuration types ****)\r
(*********************************)\r
\r
$IF target <> TA\r
dnic_type = packed array(1..4) of 0..15;\r
$ELSE\r
dnic_type = packed3502 array(1..4) of 0..15;\r
$ENDIF\r
\r
net_addr_type = record\r
dnic: dnic_type;\r
net: byte;\r
$if language = rtp\r
region_: byte;\r
$else\r
region: byte;\r
$endif\r
node: byte;\r
end;\r
\r
\r
(******************************)\r
(**** hdlc parameters *****)\r
(******************************)\r
\r
const\r
max_hdlc_lines = 64; (* maximum number of hdlc lines. must be even *)\r
\r
type\r
hdlc_semaphores = record\r
hl_control: tap_pointer;\r
hl_input: tap_pointer;\r
hl_output: tap_pointer;\r
hl_reserve: tap_pointer;\r
end;\r
\r
hdlc_table_type = array(0..max_hdlc_lines - 1) of record\r
hdlc_sems: hdlc_semaphores;\r
user: integer;\r
?: array(1..4) of integer;\r
end;\r
\r
$IF language <> rtp3502\r
hdlc_line_type = record\r
input, output, control,\r
reserve : ^mailbox\r
end;\r
$ELSE\r
hdlc_line_type = record\r
input, output, control,\r
reserve : ^semaphore\r
end;\r
$ENDIF\r
\r
\r
(*******************************)\r
(**** router parameters ****)\r
(*******************************)\r
\r
const\r
cmax = 9; (* max number of connectors *)\r
rlmax = 3; (* number of routing levels *)\r
cparam_max = 10; (* max. number of parameters in connector create *)\r
\r
rparam_lgt = 4*typesize(integer); (* length of rparams *)\r
head_lgt_rout = 22; (* max. length of router headers *)\r
min_f_rout = drv_param_lgt + rparam_lgt + head_lgt_rout; (* min. value of first *)\r
\r
type\r
nwadr = array(1..rlmax) of integer;\r
\r
ltsmarray = array(1..cmax) of tap_pointer;\r
\r
conn_typ = (none, typ_locon, typ_hlcon, typ_dtecon, typ_lancon); (* connector types *)\r
\r
cparams_type = array(1..cparam_max) of integer;\r
\r
conn_desc_type = record\r
ctyp: conn_typ;\r
cparams: cparams_type;\r
end;\r
\r
conn_desc_array = array(1..cmax) of conn_desc_type;\r
\r
\r
(****************************)\r
(**** LIC parameters ****)\r
(****************************)\r
\r
const\r
head_lgt_lic = 10; (* max. length of lic headers *)\r
min_f_lic = min_f_rout + head_lgt_lic; (* min. value of first *)\r
lic_max_window = 16; (* max possible window size *)\r
\r
(* constants used for stack size computing (words) *)\r
bst_lic = 400; (* basic stack *)\r
licdescsz = 31; (* size of lic descriptor per lic port *)\r
linksz = 8; (* size of ???? *)\r
\r
(* formula for computing stack size:\r
stacksize = bst_lic +\r
no_of_lics * (licdescsz + lic_max_window * linksz) *)\r
\r
\r
(****************************)\r
(**** DCE parameters ****)\r
(****************************)\r
\r
\r
(*************************************)\r
(**** internal DTE parameters ****)\r
(*************************************)\r
\r
const\r
head_lgt_idte = 3; (* max. length of x25 headers *)\r
min_f_idte = min_f_lic + head_lgt_idte; (* min. value of first *)\r
\r
dte_addr_lgt = 14; (* DTE address length *)\r
\r
\r
(*********************************)\r
(**** x.21 dte parameters ****)\r
(*********************************)\r
\r
type\r
charge_type = (yes,no);\r
allowed_type = (allowed,not_allowed);\r
x21_call_type = (normal,direct,sel_direct,abbreviated);\r
\r
\r
(***************************)\r
(**** TS parameters ****)\r
(***************************)\r
\r
const\r
ctr_lgt_ts = 40; (* maximum length of control parameters *)\r
dt_lgt_ts = 4; (* maximum length of data parameters *)\r
\r
ctr_dt_ts = 128; (* maximun length of user data in control packets *)\r
\r
min_f_ctr_ts = drv_param_lgt + ctr_lgt_ts; (* min. value of first in control primitives *)\r
min_f_dt_ts = drv_param_lgt + dt_lgt_ts; (* min. value of first in data transfer primitives *)\r
\r
min_rctr_ts = min_f_ctr_ts + ctr_dt_ts; (* min. length of receive control buffer (bytes) *)\r
\r
tsap_id_length = 3; (* length of tsap identifier *)\r
ts_pool_id_length= 3;\r
\r
type\r
nuid_type = array(1..dte_addr_lgt) of char;\r
tsap_id_type = array(1..tsap_id_length) of char;\r
ts_pool_id_type= array(1..ts_pool_id_length) of char;\r
\r
nuid_mask = record\r
nuid_signf : byte;\r
nuid : nuid_type;\r
end;\r
\r
tsap_id_mask = record\r
tsap_id_signf : byte;\r
tsap_id : tsap_id_type;\r
end;\r
\r
ts_pool_id_mask = record\r
pool_id_signf : byte;\r
pool_id : ts_pool_id_type;\r
end;\r
\r
ts_conf_type = record\r
tsa_max,\r
tcep_id_max,\r
pool_no_max: byte;\r
tc_max: integer;\r
nc_max,\r
xdte_maxstream,\r
idte_maxstream,\r
gen_number,\r
dedic_number,\r
recv_tsi_no,\r
no_event_buffers,\r
dedic_input_no,\r
xdte_gen_no,\r
idte_gen_no,\r
t_low_no_tc_pr_nc,\r
t_high_no_tc_pr_nc,\r
t_sup_high_no_tc_pr_nc,\r
t_low_credit,\r
t_high_credit,\r
t_sup_high_credit,\r
t_low_min_credit,\r
t_high_min_credit,\r
t_sup_high_min_credit,\r
ack_mins,\r
ack_secs,\r
ack_msecs,\r
tick_mins,\r
tick_secs,\r
tick_msecs,\r
cr_ticks,\r
dt_ticks,\r
dr_ticks,\r
ed_ticks,\r
pr_ticks,\r
err_ticks,\r
crd_ticks : byte;\r
end;\r
\r
\r
(*****************************)\r
(* SL parameters *)\r
(*****************************)\r
const\r
head_lgt_sl = 52;\r
min_ctr_f_sl = 140;\r
max_ctr_dt_sl = ctr_dt_ts - head_lgt_sl; (* max data in sl control output*)\r
min_dt_f_sl = 20;\r
inp_ctr_f_sl =min_f_ctr_ts; (* the value of first in input control buffers*)\r
inp_dt_f_sl = 22;\r
min_inp_ctr_l_sl = inp_ctr_f_sl + ctr_dt_ts -1;\r
min_inp_dt_l_sl = inp_dt_f_sl + head_lgt_sl + 64;\r
(* SAP address type *)\r
\r
const\r
sap_adr_suf = 4;\r
sap_adr_lgt = dte_addr_lgt + sap_adr_suf;\r
\r
type\r
\r
hex_digit = 0 .. 15;\r
\r
sap_adr_t = packed array (1 .. sap_adr_lgt) of hex_digit;\r
\r
(* Logic id types *)\r
\r
const\r
\r
logic_id_lgt = 63;\r
\r
type\r
\r
$IF target <> TA\r
logic_id_arr = array (1 .. logic_id_lgt) of char;\r
$ELSE\r
logic_id_arr = string( logic_id_lgt ); -- RC5000 change\r
$ENDIF\r
\r
logic_id_t = record\r
lgt : byte;\r
id : logic_id_arr;\r
end;\r
\r
restart_type = ( runs_restart, poll_restart);\r
\r
paxsem_type = record\r
restarted : boolean;\r
net_addr : net_addr_type;\r
restart_kind : restart_type;\r
poll_restart_count : integer;\r
poll_restart_limit : integer;\r
runs_restart_count : integer;\r
nmc_ssap : sap_adr_t;\r
nmc_luid : logic_id_t;\r
no_of_files : byte;\r
net_addr_modifier : alfa;\r
end;\r
\r
const\r
paxsem_type_size = typesize (paxsem_type); -- bytes\r
\r
init_paxsem_value =\r
paxsem_type(:\r
false,\r
(: (: 4 *** 0 :), 0, 0, 0 :),\r
runs_restart,\r
0,\r
0,\r
0,\r
(: sap_adr_lgt *** 0:),\r
(: 0, (: logic_id_lgt *** nul :) :),\r
7, -- will never be changed when loading from fpa\r
" ":);\r
\r
(**** TSAT parameters ****)\r
(******************************)\r
\r
const\r
max_tsat_tcep_id = 4; (* max. tcep_id for one tsat incarnation *)\r
\r
type\r
tr_sem_type = array(1..max_tsat_tcep_id) of tap_pointer;\r
\r
\r
\r
(*****************************)\r
(**** POBOX parameters ****)\r
(*****************************)\r
\r
const\r
ss_pool_id_length = 3;\r
doc_ident_length = 12;\r
\r
type\r
doc_ident_type = array(1..doc_ident_length) of char;\r
ss_pool_id_type = array(1..ss_pool_id_length) of char;\r
ss_pool_id_mask = record\r
pool_id_signf: byte;\r
pool_id: ss_pool_id_type;\r
end;\r
\r
\r
(*****************)\r
(**** com ****)\r
(*****************)\r
\r
const\r
com_sem_max = 5; (* max. number of command children *)\r
com_number_max = 30; (* max. number of commands in command field *)\r
com_index_max = 40; (* max. number of commands used *)\r
\r
type\r
com_index_type = array(1..com_index_max) of integer;\r
alfa36 = array(1..36) of char;\r
com_type = array(1..com_number_max) of alfa36;\r
$IF language <> rtp3502\r
com_sem_type = array(1..com_sem_max) of mailbox;\r
$ELSE\r
com_sem_type = array(1..com_sem_max) of semaphore;\r
$ENDIF\r
\r
(***********************)\r
(* ISO TEST PARAMETERS *)\r
(***********************)\r
\r
netsem_array = array (61..62) of tap_pointer;\r
\r
\r
\r
(*************************************)\r
(**** pool handler parameters ****)\r
(*************************************)\r
\r
type\r
stat = record\r
req, (* total no of requests *)\r
wreq, (* waiting requests *)\r
mwreq, (* max waiting requests *)\r
twreq, (* total no of waits *)\r
tmout: integer; (* no of timeouts *)\r
end;\r
\r
bst = record\r
buffer_size, (* buffer size in words *)\r
buf, (* total no of buffers *)\r
wait_for_dealloc,\r
freebuf, (* no of free buffers *)\r
maxfree, (* max no of free buffers *)\r
minfree: integer; (* min no of free buffers *)\r
end;\r
\r
prelement = record\r
st: stat;\r
$IF language <> rtp3502\r
sem: mailbox;\r
$ELSE\r
sem: semaphore;\r
$ENDIF\r
end;\r
\r
prtable = array(0..3) of prelement;\r
\r
pst = record\r
wreq: integer;\r
stb: bst;\r
end;\r
\r
$IF language <> rtp3502\r
ph_type = record\r
key: mailbox; (* semaphore to protect ph *)\r
mess_sem:mailbox;\r
answ_sem:mailbox;\r
buffer_sem: mailbox;\r
bpool: pst;\r
prio: prtable;\r
end;\r
$ELSE\r
ph_type = record\r
key: semaphore; (* semaphore to protect ph *)\r
mess_sem:semaphore;\r
answ_sem:semaphore;\r
buffer_sem: semaphore;\r
bpool: pst;\r
prio: prtable;\r
end;\r
$ENDIF\r
\r
\r
(********************************)\r
(**** snooper parameters ****)\r
(********************************)\r
\r
const\r
max_pickups = 20; (* max. number of pickups *)\r
\r
type\r
snoop_semp_type = array(1..max_pickups) of tap_pointer;\r
\r
(************************************)\r
(*** paxopsys zone parameters ***)\r
(************************************)\r
\r
const\r
sync_pax_message = 1;\r
pax_create_semaphore = 2;\r
pax_free_semaphore = 3;\r
pax_get_hdlc_line = 4;\r
\r
type\r
paxopsys_type = record\r
name1 : alfa;\r
name2 : alfa;\r
aux : integer\r
end;\r
\r
$IF language <> rtp3502\r
paxopsys_zone = record\r
? :^mailbox;\r
? : pool;\r
? : mailbox;\r
? : reference\r
end;\r
$ELSE\r
paxopsys_zone = record\r
? :^semaphore;\r
? : pool 1 of paxopsys_type;\r
? : semaphore;\r
? : reference\r
end;\r
$ENDIF\r
\r
(*************************************)\r
(*** paxopsys process families ***)\r
(*************************************)\r
\r
type\r
$IF target <> TA\r
mini_param_type = array(1.. 8) of byte;\r
midi_param_type = array(1.. 32) of byte;\r
maxi_param_type = array(1..128) of byte;\r
$ELSE\r
mini_param_type = array(1.. 16) of byte;\r
midi_param_type = array(1.. 64) of byte;\r
maxi_param_type = array(1..256) of byte;\r
$ENDIF\r
\r
(************************************************************)\r
(* address parameters and types *)\r
(*************************************************ktas/87****)\r
\r
const\r
\r
nl_addr_length = 40;\r
\r
afi_length = 2;\r
idi_length = 14;\r
\r
type\r
\r
afi_type = array (1..afi_length) of '0'..'9';\r
idi_type = array (1..idi_length) of '0'..'9';\r
dsp_type = array (1..nl_addr_length \r
- afi_length\r
- idi_length) of '0'..'9';\r
\r
const \r
x121_afi = afi_type(:'3','6':);\r
\r
\r
\r
type\r
\r
osi_net_addr_type =\r
record\r
afi : afi_type;\r
idi : idi_type;\r
dsp : dsp_type;\r
end;\r
\r
nsap_addr_type =\r
record\r
net_act_lg : byte;\r
net_addr : osi_net_addr_type;\r
end;\r
\r
\r
\r
\r
(*****************************************)\r
(**** general external procedures ****)\r
(*****************************************)\r
\r
procedure inc15(var i:integer);\r
external;\r
\r
procedure inc32(var i:int32);\r
external;\r
\r
function comp32(i,j: int32) : relation;\r
external;\r
\r
procedure increment_mod_64k(var i: integer);\r
external;\r
\r
$if language = rtp3502\r
function uadd(a,b:integer):integer;\r
external;\r
\r
function msub(a,b:integer):integer;\r
external;\r
\r
function madd(a,b:integer):integer;\r
external;\r
\r
function initpool(\r
var p: pool 1;\r
number: integer;\r
size_in_word: integer): integer;\r
external;\r
\r
function initsem(\r
var s: semaphore;\r
number,\r
size_in_words: integer): integer;\r
external;\r
\r
procedure tofrom(\r
var toref : reference; toindex : integer;\r
var fromref : reference; fromindex : integer;\r
bytes : integer);\r
external;\r
$endif\r
\r
procedure nameinit(\r
var name: alfa;\r
a: alfa;\r
pos,incno: integer);\r
external;\r
\r
procedure panic(code: integer);\r
external;\r
\r
$IF target <> TA\r
procedure init_pax_name(var paxname : alfa; procname : alfa; inc : byte);\r
external;\r
$ELSE\r
procedure init_pax_name(var paxname : alfa; procname : string; inc : byte);\r
external;\r
$ENDIF\r
\r
function sync_paxopsys(var z : paxopsys_zone; cause : integer) : integer;\r
external;\r
\r
$IF language <> rtp3502\r
function get_pax_sem(var z : paxopsys_zone; name : alfa) : ^mailbox;\r
external;\r
$ELSE\r
function get_pax_sem(var z : paxopsys_zone; name : alfa) : ^semaphore;\r
external;\r
$ENDIF\r
\r
function free_pax_sem(var z : paxopsys_zone; name : alfa) : integer;\r
external;\r
\r
function get_hdlc_line(var z : paxopsys_zone; var l : hdlc_line_type) : integer;\r
external;\r
\r
CONST\r
paxsem_ok_done = 0;\r
paxsem_ok_done_bad = 1;\r
paxsem_no_message = 2;\r
paxsem_no_paxsem = 3;\r
paxsem_ok_not_done = 4;\r
paxsem_ok_already_done = 5;\r
paxsem_no_adam = 6;\r
paxsem_no_resource1 = 7;\r
paxsem_no_resource2 = 8;\r
paxsem_adam_error_low = 9;\r
paxsem_adam_error_high = 29;\r
paxsem_not_done = 30;\r
TYPE\r
nmc_address = RECORD\r
ssap : sap_adr_t;\r
luid : logic_id_t;\r
END;\r
\r
FUNCTION net_addr_legal( net_addr : net_addr_type): boolean;\r
-- net_addr expressed as 10 bcd-digits fulfills the following:\r
-- 1st digit in (. 2..7 .)\r
-- 2nd..10th digit in (. 0..9 .)\r
EXTERNAL;\r
\r
FUNCTION create_paxsem( timer_onoff : boolean): integer;\r
-- paxsem_ok_done <= new paxsem-message created\r
-- paxsem_ok_already_done <= existing paxsem-message not changed\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
-- paxsem_no_resource1 <= lack of intermediate resources \r
-- paxsem_no_resource2 <= lack of allocator resources\r
EXTERNAL;\r
\r
FUNCTION read_paxsem( VAR msg : reference;\r
offset : integer;\r
max_bytecount : integer;\r
VAR bytecount : integer): integer;\r
-- paxsem_ok_done <= paxsem-message read\r
-- paxsem_ok_done_bad <= only part of paxsem-message read\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION set_no_of_bls_files( no_of_files : byte): integer;\r
-- paxsem_ok_done <= paxsem.no_of_files := no_of_files\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION get_no_of_bls_files( VAR no_of_files : byte): integer;\r
-- paxsem_ok_done <= no_of_files := paxsem.no_of_files\r
-- paxsem_ok_done_bad <= as above, but no_of_files = 0\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION set_init_load_done: integer;\r
-- paxsem_ok_done <= paxsem.restarted := true\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION get_init_load_done: integer;\r
-- paxsem_ok_done <= paxsem.restarted = true\r
-- paxsem_ok_not_done <= paxsem.restarted = false\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION set_net_addr( net_addr : net_addr_type): integer;\r
-- paxsem_ok_done <= paxsem.net_addr := net_addr\r
-- paxsem_not_done <= net_addr illegal and saved net_addr legal\r
-- paxsem_ok_done_bad <= net_addr illegal, but so is saved net_addr\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION get_net_addr( VAR net_addr : net_addr_type): integer;\r
-- paxsem_ok_done <= net_addr := paxsem.net_addr\r
-- paxsem_ok_done_bad <= as above, but net_addr not legal\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION get_addr_modifier( VAR modifier : alfa): integer;\r
-- paxsem_ok_done <= modifier := paxsem.net_addr_modifier\r
-- paxsem_ok_not_done <= net_addr never modified\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION set_restart_nmc( restart_nmc : nmc_address): integer;\r
-- paxsem_ok_done <= paxsem.ssap/luid := restart_nmc\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION get_restart_nmc( VAR restart_nmc : nmc_address): integer;\r
-- paxsem_ok_done <= restart_nmc := paxsem.ssap/luid\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION set_poll_restart_limit( restart_limit : integer): integer;\r
-- paxsem_ok_done <= paxsem.poll_restart_limit := restart_limit\r
-- paxsem_ok_done_bad <= as above, but count now exceeds limit\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION restart_s( restart_kind : restart_type): integer;\r
-- paxsem_ok_done <= ok, attempt to restart s done\r
-- paxsem_no_adam <= couldn't find adam-semaphore\r
-- paxsem_no_resource1 <= lack of intermediate resources \r
-- paxsem_no_resource2 <= lack of allocator resources\r
-- paxsem_adam_error_low ..\r
-- paxsem_adam_error_high <= adam answer-error\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
FUNCTION restarted_get_action( VAR restart_kind : restart_type;\r
VAR restart_count : integer): integer;\r
-- paxsem_ok_done <= ok \r
-- paxsem_ok_done_bad <= as above, but poll and count exceeds limit\r
-- paxsem_no_paxsem <= couldn't find paxsem-semaphore\r
EXTERNAL;\r
\r
(********************************************************************)\r
(* *)\r
(* end of NETENV *)\r
(* *)\r
(********************************************************************)\r
.\r