Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - int 5c - atalk.sys - appletalk interface http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 5C - ATALK.SYS - AppleTalk INTERFACE
        DX:BX -> control block (see below)
Return: none
Notes:  this driver can use any interrupt from 5Ch to 70h
        the signature 'AppleTalk' appears 16 bytes prior to the interrupt
          handler; this serves as the installation check

Format of AppleTalk control block:
Offset  Size    Description
 00h    WORD    command code
                01h "AT_INIT"       initialize the driver
                03h "AT_GETNETINFO" get current network info incl init status
                20h "DDP_OPENSOCKET"
                21h "DDP_CLOSESOCKET"
                22h "DDP_WRITE"
                23h "DDP_READ"
                24h "DDP_CANCEL"
                30h "NBP_REGISTER"
                31h "NBP_REMOVE"
                32h "NBP_LOOKUP"
                33h "NBP_CONFIRM"
                34h "NBP_CANCEL"
                42h "ATP_SEND_REQUEST"
                or with the following flags
                8000h start command then return
                4000h wait for interrupt service to complete
 02h    WORD    returned status
                0000h success (already initialized if func 01h)
 04h    DWORD   pointer to completion function
 08h    WORD    network number
 0Ah    BYTE    node ID
---if general func (01h,03h), control block continues:
 0Bh    BYTE    "inf_abridge"
 0Ch    WORD    "inf_config"
 0Eh    DWORD   pointer to buffer
 12h    WORD    buffer size
---if DDP function (20h-24h), control block continues:
 0Bh    BYTE    "ddp_addr_socket"
 0Ch    BYTE    "ddp_socket"
 0Dh    BYTE    "ddp_type"
 0Eh    DWORD   pointer to buffer
 12h    WORD    buffer size
 14h    BYTE    "ddp_chksum"
---if Name Binding Protocol (30h-34h), control block continues:
 0Bh    BYTE    "nbp_addr_socket"
 0Ch    WORD    "nbp_toget"
 0Eh    DWORD   pointer to buffer
 12h    WORD    buffer size
 14h    BYTE    "nbp_interval"
 15h    BYTE    "nbp_retry"
 16h    DWORD   "nbp_entptr"
---if AppleTalk Transaction Protocol (42h), control block continues:
 0Bh    BYTE    "atp_addr_socket"
 0Ch    WORD    "atp_socket"
 0Eh    DWORD   pointer to buffer
 12h    WORD    buffer size
 14h    BYTE    "atp_interval"
 15h    BYTE    "atp_retry"
 16h    BYTE    ATP flags
                bit 5: exactly one transaction
 17h    BYTE    "atp_seqbit"
 18h    BYTE    transaction ID
 19h  4 BYTEs   ATP user bytes
 1Dh    BYTE    number of BDS buffers
 1Eh    BYTE    number of BDS responses
 1Fh    DWORD   pointer to BDS buffers (see below)

Format of Name Binding Protocol Name-to-Address binding entries for NBP_LOOKUP:
Offset  Size    Description
 00h    WORD    "tup_address_network"
 02h    BYTE    "tup_address_notid"
 03h    BYTE    "tup_address_socket"
 04h    BYTE    "tup_enum"
 05h 99 BYTEs   name

Format of BDS entries:
Offset  Size    Description
 00h    DWORD   pointer to buffer
 04h    WORD    size of buffer
 06h    WORD    BDS data size
 08h  4 BYTEs   "bds_userbytes"

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