| |
INT 68 - APPC/PC
Input |
Output |
AX
|
01h |
|
|
|
AX |
BX
|
|
|
|
|
BX |
CX
|
|
|
|
|
CX |
|
|
|
|
|
DX |
DS:DX |
Control
Block |
|
CF |
Control Block:
12 BYTEs reserved
WORD verb (action)
6 BYTEs 0
DWORD (high byte first) 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
if verb = 1B00h (DISPLAY), control block continues
WORD 0
8 BYTEs (high byte first) logical unit ID
8 BYTEs (high byte first) partner logical unit name
8 BYTEs (high byte first) mode name
BYTE logical unit session limit
BYTE partner logical unit session limit
BYTE mode maximum negotiable session limit
BYTE current session limit
BYTE minimum negotiated winner limit
BYTE maximum negotiated loser limit
BYTE active session count
BYTE active CONWINNER session count
BYTE active CONLOSER session count
BYTE session termination count
BYTE bit 7: SESSION_TERMINATION_TARGET_DRAIN
bit 6: SESSION_TERMINATION_SOURCE_DRAIN
if verb=2000h (Attach Physical Unit), control block continues
WORD 0
BYTE version
BYTE release
8 BYTEs (high byte first) net name
8 BYTEs (high byte first) physical unit name
8 BYTEs 0
DWORD pointer to SYSTEM_LOG_EXIT routine,
FFFFFFFFh = don't log errors
DWORD 0
BYTE 0 RETURN_CONTROL: COMPLETE
1 RETURN_CONTROL: INCOMPLETE
if verb=2100h (Attach Logical Unit), control block continues
WORD 70 offset to partner logical unit record
8 BYTEs (high byte first) logical unit name
8 BYTEs (high byte first) logical unit ID
BYTE logical unit local address
BYTE logical unit session limit
DWORD pointer to CREATE_TP_EXIT routine,
FFFFFFFFh = reject incoming ALLOCATEs
00000000h = queue ALLOCATEs
DWORD 0
DWORD pointer to SYSTEM_LOG_EXIT routine,
FFFFFFFFh = don't log errors
DWORD 0
BYTE maximum TPs
BYTE queue depth
DWORD pointer to LU_LU_PASSWORD_EXIT routine,
FFFFFFFFh = no pswd exit
DWORD 0
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), control block continues:
8 BYTEs (high byte first) logical unit ID
BYTE 0
if verb=2700h (Detach Physical Unit), control block continues:
BYTE 0 type: hard
1 type: soft
if verb=2B00h (Activate DLC), control block continues:
8 BYTEs (high byte first) DLC name
BYTE adapter number
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.
ACCESS_LU_LU_PW verb:
12 BYTEs reserved
WORD 1900h
8 BYTEs (high byte first) logical unit ID
8 BYTEs (high byte first) logical unit name
8 BYTEs (high byte first) partner logical unit name
17 BYTEs (counted string) partner fully qualified logical
unit name
BYTE password available (0=no, 1=yes)
8 BYTEs password
CREATE_TP verb:
12 BYTEs reserved
WORD 2300h
6 BYTEs 0
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
8 BYTEs (high byte first) TP ID
8 BYTEs (high byte first) logical unit ID
DWORD (high byte first) conversation ID
BYTE 0 basic conversation, 1 mapped conversation
BYTE 0 no sync level, 1 confirm
BYTE reserved
65 BYTEs (counted string) transaction program name
6 BYTEs 0
WORD length of ERROR_LOG_DATA to return
DWORD pointer to ERROR_LOG_DATA buffer
8 BYTEs (high byte first) partner logical unit name
18 BYTEs (counted string) partner fully qualified logical
unit name
8 BYTEs (high byte first) mode name
12 BYTEs 0
11 BYTEs (counted string) password
11 BYTEs (counted string) user ID
BYTE 0 verification should be performed
1 already verified
SYSLOG verb:
12 BYTEs reserved
WORD 2600h
10 BYTEs 0
WORD (high byte first) type
DWORD (high byte first) subtype
DWORD pointer to ADDITIONAL_INFO
DWORD (high byte first) conversation ID
8 BYTEs (high byte first) TP ID
8 BYTEs (high byte first) physical unit or logical unit
name
WORD length of data
DWORD pointer to data
BYTE 0 |