Appc/pc
Entry:
AH = 01h
DS:DX -> control block
Format of control block:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD verb (action)
0Eh 6 BYTEs 0
14h DWORD (high byte first) return code (see below)
---if verb = 1B00h (DISPLAY)---
18h WORD 0
1Ah 8 BYTEs (high byte first) logical unit ID
22h 8 BYTEs (high byte first) partner logical unit name
2Ah 8 BYTEs (high byte first) mode name
32h BYTE logical unit session limit
33h BYTE partner logical unit session limit
34h BYTE mode maximum negotiable session limit
35h BYTE current session limit
36h BYTE minimum negotiated winner limit
37h BYTE maximum negotiated loser limit
38h BYTE active session count
39h BYTE active CONWINNER session count
3Ah BYTE active CONLOSER session count
3Bh BYTE session termination count
3Ch BYTE bit 7: SESSION_TERMINATION_TARGET_DRAIN
bit 6: SESSION_TERMINATION_SOURCE_DRAIN
---if verb=2000h (Attach Physical Unit)---
18h WORD 0
1Ah BYTE version
1Bh BYTE release
1Ch 8 BYTEs (high byte first) net name
24h 8 BYTEs (high byte first) physical unit name
2Ch 8 BYTEs 0
34h DWORD pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
38h DWORD 0
3Ch BYTE 00h RETURN_CONTROL: COMPLETE
01h RETURN_CONTROL: INCOMPLETE
---if verb=2100h (Attach Logical Unit)---
18h WORD 70 offset to partner logical unit record
1Ah 8 BYTEs (high byte first) logical unit name
22h 8 BYTEs (high byte first) logical unit ID
2Ah BYTE logical unit local address
2Bh BYTE logical unit session limit
2Ch DWORD pointer to CREATE_TP_EXIT routine,
FFFFFFFFh = reject incoming ALLOCATEs
00000000h = queue ALLOCATEs
30h DWORD 0
34h DWORD pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
38h DWORD 0
3Ch BYTE maximum TPs
3Dh BYTE queue depth
3Eh DWORD pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh=no pswd exit
42h DWORD 0
46h WORD total length of partner records
for each partner logical unit:
WORD length of this partner logical unit record
WORD 42 offset to mode records
8 BYTEs (high byte first) partner logical unit name
BYTE partner logical unit security capabilities
bit 7: already verified
bit 6: conversation level security
bit 5: session level security
BYTE partner logical unit session limit
WORD partner logical unit maximum MC_SEND_LL
8 BYTEs (high byte first) partner logical unit DLC name
BYTE partner logical unit adapter number
17 BYTEs (counted string) partner logical unit adapter address
WORD total length of mode records
for each mode:
WORD 16 length of this mode record
8 BYTEs (high byte first) mode name
WORD RU_SIZE high bound
WORD RU_SIZE low bound
BYTE mode maximum negotiable session limit
BYTE pacing size for receive
---if verb=2200h (Detach Logical Unit)---
18h 8 BYTEs (high byte first) logical unit ID
20h BYTE 0
---if verb=2700h (Detach Physical Unit)---
18h BYTE 00h type: hard
01h type: soft
---if verb=2B00h (Activate DLC)---
18h 8 BYTEs (high byte first) DLC name
20h BYTE adapter number
Values for return code:
0000h successful
0001h BAD_TP_ID
0002h BAD_CONV_ID
0003h bad logical unit ID
0008h no physical unit attached
0110h bad state
01B1h BAD_PART_LUNAME
01B2h bad mode name
0201h physical unit already active
0211h logical unit already active
0212h BAD_PART_SESS
0213h BAD_RU_SIZES
0214h BAD_MODE_SESS
0216h BAD_PACING_CNT
0219h EXTREME_RUS
021Ah SNASVCMG_1
0223h SSCP_CONNECTED_LU
0230h invalid change
0243h too many TPs
0272h adapter close failure
0281h GET_ALLOC_BAD_TYPE
0282h unsuccessful
0283h DLC failure
0284h unrecognized DLC
0286h duplicate DLC
0301h SSCP_PU_SESSION_NOT_ACTIVE
0302h data exceeds RU size
0401h invalid direction
0402h invalid type
0403h segment overlap
0404h invalid first character
0405h table error
0406h conversion error
F0010000h APPC disabled
F0020000h APPC busy
F0030000h APPC abended
F0040000h incomplete
Routines defined by LU_LU_PASSWORD_EXIT, CREATE_TP_EXIT, and
SYSTEM_LOG_EXIT pointers are called by pushing the DWORD pointer
to the verb on the stack and then performing a FAR call.
Format of ACCESS_LU_LU_PW verb:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 1900h
0Eh 8 BYTEs (high byte first) logical unit ID
16h 8 BYTEs (high byte first) logical unit name
1Eh 8 BYTEs (high byte first) partner logical unit name
26h 17 BYTEs (counted string) partner fully qualified logical unit name
37h BYTE password available (0=no, 1=yes)
38h 8 BYTEs password
Format of CREATE_TP verb:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 2300h
0Eh 6 BYTEs 0
14h DWORD (high byte first) sense code
00000000h Ok
080F6051h SECURITY_NOT_VALID
084B6031h TP_NOT_AVAIL_RETRY
084C0000h TP_NOT_AVAIL_NO_RETRY
10086021h TP_NAME_NOT_RECOGNIZED
10086034h CONVERSATION_TYPE_MISMATCH
10086041h SYNC_LEVEL_NOT_SUPPORTED
18h 8 BYTEs (high byte first) TP ID
20h 8 BYTEs (high byte first) logical unit ID
28h DWORD (high byte first) conversation ID
2Ch BYTE 0 basic conversation, 1 mapped conversation
2Dh BYTE 0 no sync level, 1 confirm
2Eh BYTE reserved
2Fh 65 BYTEs (counted string) transaction program name
70h 6 BYTEs 0
76h WORD length of ERROR_LOG_DATA to return
78h DWORD pointer to ERROR_LOG_DATA buffer
7Ch 8 BYTEs (high byte first) partner logical unit name
84h 18 BYTEs (counted string) partner fully qualified logical unit name
96h 8 BYTEs (high byte first) mode name
9Eh 12 BYTEs 0
AAh 11 BYTEs (counted string) password
B5h 11 BYTEs (counted string) user ID
C0h BYTE 0 verification should be performed
1 already verified
Format of SYSLOG verb:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 2600h
0Eh 10 BYTEs 0
18h WORD (high byte first) type
1Ah DWORD (high byte first) subtype
1Eh DWORD pointer to ADDITIONAL_INFO
22h DWORD (high byte first) conversation ID
26h 8 BYTEs (high byte first) TP ID
2Eh 8 BYTEs (high byte first) physical unit or logical unit name
36h WORD length of data
38h DWORD pointer to data
3Ch BYTE 0