A2osX/INC/LIBTCPIP.I.txt
Rémy GIBERT 62f272bbf2 Initial
2015-03-08 22:45:23 +01:00

222 lines
5.9 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PR#3
PREFIX /DATA/A2OSX
NEW
INC 1
AUTO 6
.LIST OFF
.OP 65C02
*--------------------------------------
LIBTCPIP.SET.IPCFG .EQ 4
LIBTCPIP.GET.IPCFG .EQ 6
LIBTCPIP.NEW.ICMP.FRAME .EQ 8
LIBTCPIP.NEW.TCP.FRAME .EQ 10
LIBTCPIP.NEW.UDP.FRAME .EQ 12
LIBTCPIP.NEW.IP.FRAME .EQ 14
LIBTCPIP.NEW.ARP.FRAME .EQ 16
LIBTCPIP.NEW.ETH.FRAME .EQ 18
LIBTCPIP.SEND.ICMP.FRAME .EQ 20
LIBTCPIP.SEND.TCP.FRAME .EQ 22
LIBTCPIP.SEND.UDP.FRAME .EQ 24
LIBTCPIP.SEND.IP.FRAME .EQ 26
LIBTCPIP.SEND.ARP.FRAME .EQ 28
LIBTCPIP.SEND.ETH.FRAME .EQ 30
LIBTCPIP.ARP.CLEAR .EQ 32
LIBTCPIP.ARP.QUERY .EQ 34
LIBTCPIP.ARP.ADD .EQ 36
LIBTCPIP.ARP.GETCACHE .EQ 38
LIBTCPIP.DNS.CLEAR .EQ 40
LIBTCPIP.DNS.QUERY .EQ 42
LIBTCPIP.DNS.ADD .EQ 44
LIBTCPIP.DNS.GETCACHE .EQ 46
LIBTCPIP.UDP.LISTENER .EQ 48
LIBTCPIP.TCP.LISTENER .EQ 50
LIBTCPIP.ADD.LISTENER .EQ 52
LIBTCPIP.REM.LISTENER .EQ 54
*--------------------------------------
TCP.PORT.TELNETS .EQ 23
UDP.PORT.DNS .EQ 53
UDP.PORT.DHCPC .EQ 68
UDP.PORT.DHCPS .EQ 67
*--------------------------------------
S.IPCFG.STATUS .EQ 0
S.IPCFG.STATUS.OFF .EQ %00000000 TCPIP Unconfigured
S.IPCFG.STATUS.SDISC .EQ %00000001 DISCOVERY Sent
S.IPCFG.STATUS.ROFFER .EQ %00000010 OFFER Received
S.IPCFG.STATUS.SREQ .EQ %00000100 REQUEST Sent
S.IPCFG.STATUS.RACK .EQ %00001000 ACK Received
S.IPCFG.STATUS.OK .EQ %10000000 Fully configured (static or DHCP)
S.IPCFG.HDEV .EQ 1
S.IPCFG.MAC .EQ 2
S.IPCFG.DHCPSRVR .EQ 8
S.IPCFG.IP .EQ 12
S.IPCFG.MASK .EQ 16
S.IPCFG.GW .EQ 20
S.IPCFG.DNS .EQ 24 2 x 4
S.IPCFG.HOSTNAME .EQ 32 1+15 char PSTR
S.IPCFG.DOMAIN .EQ 48 1+35 char PSTR
*
S.IPCFG .EQ K.NETCFG.SIZE
*--------------------------------------
S.ARPCACHE.STATUS .EQ 0
S.ARPCACHE.STATUS.PENDING .EQ 64
S.ARPCACHE.STATUS.RESOLVED .EQ 128
S.ARPCACHE.RETRYCNT .EQ 1
S.ARPCACHE.IP .EQ 2
S.ARPCACHE.MAC .EQ 6
*
S.ARPCACHE .EQ 12
*--------------------------------------
S.DNSCACHE.STATUS .EQ 0
S.DNSCACHE.STATUS.PENDING .EQ 64
S.DNSCACHE.STATUS.RESOLVED .EQ 128
S.DNSCACHE.hNAME .EQ 1
S.DNSCACHE.TTL .EQ 2
S.DNSCACHE.IP .EQ 4
*
S.DNSCACHE .EQ 8
*--------------------------------------
S.LISTENER.PORT .EQ 0
S.LISTENER.hPS .EQ 2
S.LISTENER.fIDX .EQ 3
S.LISTENER .EQ 4
*--------------------------------------
S.ETH.DSTMAC .EQ 0
S.ETH.SRCMAC .EQ 6
S.ETH.ETHERTYPE .EQ 6+6
S.ETH.ETHERTYPE.IP .EQ $800
S.ETH.ETHERTYPE.ARP .EQ $806
*
S.ETH .EQ 6+6+2
*--------------------------------------
S.ARP.HTYPE .EQ S.ETH+0 $0001
S.ARP.PTYPE .EQ S.ETH+2 $0800
S.ARP.HLEN .EQ S.ETH+4 $06
S.ARP.PLEN .EQ S.ETH+5 $04
S.ARP.OPERATION .EQ S.ETH+6 REQ=$0001,REPLY=$0002
S.ARP.OPERATION.REQ .EQ 1
S.ARP.OPERATION.REP .EQ 2
S.ARP.SHA .EQ S.ETH+8 Sender MAC
S.ARP.SPA .EQ S.ETH+14 Sender IP
S.ARP.THA .EQ S.ETH+18 Target MAC
S.ARP.TPA .EQ S.ETH+24 Target IP
*
S.ARP .EQ S.ETH+28
*--------------------------------------
S.IP.V.IHL.DSCP.ECN .EQ S.ETH+0 $0045, IPV4,HDR=5DWORDs
S.IP.TOTAL.LENGTH .EQ S.ETH+2
S.IP.IDENTIFICATION .EQ S.ETH+4 $0000
S.IP.FRAGMENT.FLAGS .EQ S.ETH+6
S.IP.TTL .EQ S.ETH+8
S.IP.PROTOCOL .EQ S.ETH+9
S.IP.PROTOCOL.ICMP .EQ 1
S.IP.PROTOCOL.TCP .EQ 6
S.IP.PROTOCOL.UDP .EQ 17
S.IP.HDR.CHECKSUM .EQ S.ETH+10
S.IP.SRC .EQ S.ETH+12
S.IP.DST .EQ S.ETH+16
*
S.IP .EQ S.ETH+20
*--------------------------------------
S.ICMP.TYPE .EQ S.IP+0
S.ICMP.TYPE.ECHOREP .EQ 0
S.ICMP.TYPE.UNREACH .EQ 3
S.ICMP.TYPE.ECHOREQ .EQ 8
S.ICMP.CODE .EQ S.IP+1
S.ICMP.CHECKSUM .EQ S.IP+2
S.ICMP.IDENTIFIER .EQ S.IP+4
S.ICMP.SEQUENCE .EQ S.IP+6
*
S.ICMP .EQ S.IP+8
*--------------------------------------
S.UDP.SRCPORT .EQ S.IP+0
S.UDP.DSTPORT .EQ S.IP+2
S.UDP.LENGTH .EQ S.IP+4
S.UDP.CHECKSUM .EQ S.IP+6 $0000 = DISABLE
*
S.UDP .EQ S.IP+8
*--------------------------------------
S.DHCP.OP .EQ S.UDP+0 1 = BOOTREQUEST, 2 = BOOTREPLY
S.DHCP.OP.BOOTREQUEST .EQ 1
S.DHCP.OP.BOOTREPLY .EQ 2
S.DHCP.HTYPE .EQ S.UDP+1 1 = ETHERNET
S.DHCP.HTYPE.ETHERNET .EQ 1
S.DHCP.HLEN .EQ S.UDP+2 6 (MAC len)
S.DHCP.HLEN.ETHERNET .EQ 6
S.DHCP.HOPS .EQ S.UDP+3 0
S.DHCP.XID .EQ S.UDP+4 client : random number
S.DHCP.SECS .EQ S.UDP+8
S.DHCP.FLAGS .EQ S.UDP+10
S.DHCP.FLAGS.BRDCST .EQ %10000000
S.DHCP.CIADDR .EQ S.UDP+12
S.DHCP.YIADDR .EQ S.UDP+16
S.DHCP.SIADDR .EQ S.UDP+20
S.DHCP.GIADDR .EQ S.UDP+24
S.DHCP.CHADDR .EQ S.UDP+28
S.DHCP.SNAME .EQ S.UDP+44
S.DHCP.FILE .EQ S.UDP+108
S.DHCP.COOKIE .EQ S.UDP+236
S.DHCP.OPTIONS .EQ S.UDP+240
S.DHCP.OPTIONS.DHCPDiscover .EQ 1
S.DHCP.OPTIONS.DHCPOffer .EQ 2
S.DHCP.OPTIONS.DHCPRequest .EQ 3
S.DHCP.OPTIONS.DHCPDecline .EQ 4
S.DHCP.OPTIONS.DHCPAck .EQ 5
S.DHCP.OPTIONS.DHCPNak .EQ 6
S.DHCP.OPTIONS.DHCPRelease .EQ 7
S.DHCP.OPTIONS.DHCPInform .EQ 8
S.DHCP.OPTIONS.MASK .EQ 1
S.DHCP.OPTIONS.GW .EQ 3
S.DHCP.OPTIONS.DNS .EQ 6
S.DHCP.OPTIONS.DOMAIN .EQ 15
S.DHCP.OPTIONS.END .EQ 255
*
S.DHCP .EQ S.UDP+240
*--------------------------------------
S.DNS.ID .EQ S.UDP+0
S.DNS.F .EQ S.UDP+2
S.DNS.F.QR .EQ %10000000.00000000
S.DNS.F.OPCODE.I .EQ %01000000.00000000
S.DNS.F.OPCODE.S .EQ %00100000.00000000
S.DNS.F.AA .EQ %00000100.00000000
S.DNS.F.TC .EQ %00000010.00000000
S.DNS.F.RD .EQ %00000001.00000000
S.DNS.F.RA .EQ %00000000.10000000
S.DNS.F.RCODE.FRMT .EQ %00000000.00000001
S.DNS.F.RCODE.SRVR .EQ %00000000.00000010
S.DNS.F.RCODE.UKWN .EQ %00000000.00000011
S.DNS.F.RCODE.NIMP .EQ %00000000.00000100
S.DNS.F.RCODE.DENY .EQ %00000000.00000101
S.DNS.QDCOUNT .EQ S.UDP+4
S.DNS.ANCOUNT .EQ S.UDP+6
S.DNS.NSCOUNT .EQ S.UDP+8
S.DNS.ARCOUNT .EQ S.UDP+10
*
S.DNS .EQ S.UDP+12
*--------------------------------------
S.DNS.QTYPE.A .EQ 1
S.DNS.QTYPE.NS .EQ 2
S.DNS.QTYPE.CNAME .EQ 5
S.DNS.QTYPE.SOA .EQ 6
S.DNS.QTYPE.WKS .EQ 11
S.DNS.QTYPE.PTR .EQ 12
S.DNS.QTYPE.MX .EQ 15
S.DNS.QTYPE.SRV .EQ 33
S.DNS.QTYPE.ANY .EQ 255
S.DNS.QCLASS.IN .EQ 1
*--------------------------------------
S.TCP.SRCPORT .EQ S.IP+0
S.TCP.DSTPORT .EQ S.IP+2
S.TCP.SEQ.NUMBER .EQ S.IP+4
S.TCP.ACK.NUMBER .EQ S.IP+8
*
S.TCP
*--------------------------------------
MAN
SAVE INC/LIBTCPIP.I