Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Interrupts & Ports - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

        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

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson