Betriebssystem

 

 

 

 

SC12 / SC13 und SC23 IPC@CHIP

 

 

 

 

 

TCP/IP API

 

 

 

 

 

TCP/IP API -Bemerkungen

 

 

         Link: RTOS-Betriebssystem original, englisch

 

 


 

 

 

 

 

      

  INT  

  AH  

  Kurzbeschreibung                                                                                               

 

 

 

0xAC

 

 

 

 

 

 

0xAC

0x01

API_OPENSOCKET, open a Socket

 

 

0xAC

0x02

API_CLOSESOCKET, close a Socket

 

 

0xAC

0x03

API_BIND, bind TCP or UDP server socket

 

 

0xAC

0x04

API_CONNECT, connect to another socket

 

 

0xAC

0x05

API_RECVFROM, receive UPD message

 

 

0xAC

0x06

API_SENDTO, transmit a UPD datagram

 

 

0xAC

0x07

API_HtoNS, vertauscht die Bytefolge in einem Wort

 

 

0xAC

0x08

API_INETADDR ASCII-String nach IPv4 Adresse wandeln

 

 

0xAC

0x09

API_SLEEP, Task für eine anzugebende Zeit 'schlafen' legen

 

 

0xAC

0x0A

API_MALLOC, Speicher von DOS anfordern

 

 

0xAC

0x0B

API_FREE, dynam. belegten Speicher wieder freigeben

 

 

0xAC

0x0C

API_GETRCV_BYTES, get waiting bytes count

 

 

0xAC

0x0D

API_ACCEPT, accept the next incoming connection

 

 

0xAC

0x0E

API_LISTEN, listening for incoming connections

 

 

0xAC

0x0F

API_SEND, transmit a TCP message

 

 

0xAC

0x10

API_RECV, receive a TCP message

 

 

0xAC

0x11

API_INETTOASCII , wandelt eine 32Bit IP in einen String

 

 

0xAC

0x12

API_RESETCONNECTION, abort a connect. on a socket

 

 

0xAC

0x13

API_SETLINGER, set linger time on close

 

 

0xAC

0x14

API_SETREUSE, set reuse option on a listening socket

 

 

0xAC

0x15

API_SETIPTOS, set IP Type-OF-Service

 

 

0xAC

0x16

API_SETSOCKOPT, set options on socket

 

 

0xAC

0x17

API_GETSOCKOPT, get options on socket

 

 

0xAC

0x18

API_SETBLOCKINGMODE, Set socket mode

 

 

0xAC

0x19

API_REGISTERCALLBACK, Register a user callback fkt

 

 

0xAC

0x1A

API_SELECT, Wait on socket events

 

 

0xAC

0x20

API_REGISTERCALLBACK_PASCAL, Pascal user callb

 

 

0xAC

0x21

API_GET_SOCKET_ERROR, Get last socket error.

 

 

0xAC

0x22

API_GET_TCP_STATE, Find TCP socket and return state.

 

 

0xAC

0x23

API_FINDALL_SOCKETS, Get information about all sock

 

 

0xAC

0x26

API_SHUTDOWN, Shutdown socket.

 

 

0xAC

0x28

API_SENDTO_IFACE, Transmit a UDP datagram

 

 

 

 

 

 

 

 

 

 

0xAC

0x40

PPPCLIENT_INSTALLED, Check if PPP-client installed

 

 

0xAC

0x41

PPPCLIENT_OPEN, open a ppp connection

 

 

0xAC

0x42

PPPCLIENT_CLOSE, closing a ppp client connection

 

 

0xAC

0x43

PPPCLIENT_GET_STATUS, Get PPP client status

 

 

0xAC

0x44

PPPCLIENT_GET_DNSIP, Get DNS IP address

 

 

0xAC

0x45

PPPCLIENT: Set options for the PPP client

 

 

0xAC

0x50

PPPSERVER_INSTALLED,Check if PPP server installed

 

 

0xAC

0x51

PPPSERVER_SUSPEND, suspend PPP server task

 

 

0xAC

0x52

PPPSERVER_ACTIVATE, activate PPP server

 

 

0xAC

0x53

PPPSERVER_GET_STATUS, Get server state

 

 

0xAC

0x54

PPPSERVER_GET_CFG, Get PPP server configuration

 

 

0xAC

0x55

PPPSERVER_SET_OPTIONS, Set options for PPP server

 

 

 

 

 

 

 

 

 

 

0xAC

0x60

API_SNMP: Get internal TCP/IP SNMP variables

 

 

0xAC

0x65

API_FTP_GET_LOGIN, Get FTP server login counters

 

 

0xAC

0x66

API_TELNET: Get Telnet server login counters

 

 

0xAC

0x67

API_GET_TELNET_STATE, Test Telnet session active

 

 

0xAC

0x70

GET_INSTALLED_SERVERS and interfaces

 

 

0xAC

0x71

RECONFIG_ETHERNET, Reconfigure Ethernet interface

 

 

0xAC

0x72

DHCP_USE, Enable/Disable DHCP usage

 

 

0xAC

0x73

DHCP_STAT, Get DHCP status of the Ethernet interface

 

 

0xAC

0x74

TCPIP_STATISTICS, get access to int. netw. packetcount

 

 

0xAC

0x75

PING: open and start ICMP echo requests

 

 

0xAC

0x76

PING: finish ICMP echo requests

 

 

0xAC

0x77

PING: retrieve ping information

 

 

 

 

 

 

 

 

 

 

0xAC

0x78

GETMEMORY_INFO, get info about tcpip memory usage

 

 

0xAC

0x79

SET_SERVER: Control FTP/Telnet timeout

 

 

0xAC

0x7A

IP_USER_CB, Install IP callback function

 

 

0xAC

0x7B

ARP_USER_CB, Install ARP callback function

 

 

0xAC

0x7C

Install IP callback function on outgoing packets

 

 

0xAC

0x80

ADD_DEFAULT_GATEWAY, add the default gateway

 

 

0xAC

0x81

DEL_DEFAULT_GATEWAY, delete the default gateway

 

 

0xAC

0x82

GET_DEFAULT_GATEWAY

 

 

0xAC

0x83

ADD_STATIC_ROUTE, add a route for a interface

 

 

0xAC

0x84

DEL_STATIC_ROUTE, delete a route for a interface

 

 

0xAC

0x88

DEL_ARP_ENTRY_BY_PHYS, Delete by physical adr.

 

 

0xAC

0x89

ADD_ARP_ENTRY, Add an entry to the ARP table

 

 

0xAC

0x8A

GET_ARPROUTE_CACHE, Read ARP/Route cache table

 

 

 

 

 

 

 

 

 

 

0xAC

0x8D

GET_IFACE_ENTRIES - Read table of TCP/IP device

 

 

0xAC

0x8E

SET_IFACE_MTU, Set MTU of a device interface

 

 

0xAC

0x8F

GET_IFACE_ENTRIES_EXT - Read table of TCP/IP dev.

 

 

0xAC

0x90

ADD_IGMP_MEMBERSHIP - Install an IP multicast

 

 

0xAC

0x91

DROP_IGMP_MEMBERSHIP - Delete an IP multicast

 

 

0xAC

0x92

MCASTIP_TO_MACADDR - Map IP multicast address

 

 

 

 

 

 

 

 

 

 

0xAC

0x9F

DEV_GET_IP, Get IP address and net mask of user device

 

 

0xAC

0xA0

DEV_OPEN_IFACE, Install user device driver

 

 

0xAC

0xA1

DEV_CLOSE_IFACE, Close TCP/IP device driver/interface

 

 

0xAC

0xA2

DEV_RECV_IFACE, Move received data

 

 

0xAC

0xA3

DEV_RECV_WAIT, Wait for received data

 

 

0xAC

0xA4

DEV_NOTIFY_ISR, Signal from ISR

 

 

0xAC

0xA5

DEV_GET_BUF, Get a buffer from TCP/IP stack

 

 

0xAC

0xA6

DEV_SND_COMPLETE, Signal message send complete

 

 

0xAC

0xA7

DEV_WAIT_DHCP_COMPLETE, Wait for DHCP

 

 

0xAC

0xA8

DEV_PPP: Install a CHAP authentication callbck

 

 

0xAC

0xA9

DEV_PPP: Install a PAP authentication callback

 

 

0xAC

0xAA

DEV_PPP_SET_OPTION, Set PPP options

 

 

0xAC

0xAB

DEV_PPP_GET_PEER_IP, Get PPP peer IPv4 address

 

 

0xAC

0xAC

DEV_PPP_GET_PEER_DNS, Get PPP peer address

 

 

0xAC

0xAD

DEV_GET_HANDLE_BYNAME, Get driver handle pointer

 

 

0xAC

0xAE

DEV_CONFIG_IFACE, Configure an interface

 

 

0xAC

0xB0

DEV_UNCONFIG_IFACE, Unconfigure an interface

 

 

0xAC

0xDF

CRYPT: Build MD5/SHA1 checksum

 

 

 

 

 


Bei allen Aufrufen eines Softwareinterrupts stellt die mit INT gekennzeichnete hexadezimale Zahl die Nummer des Softwareinterrupts dar, der aufgerufen werden muss.
Die mit AH gekennzeichnete Zahl muss vor dem Aufruf des Interrupts in das AH-Register der CPU-geladen werden. Sie kennzeichnet ein Unterprogramm des Programms, das durch den Softwareinterrupt aufgerufen wird
[siehe z.B. die C-Funktion:int86()]

 

 

 

 

 

 

 

 

nach oben

 

 

TCP/IP API -Bemerkungen
Der Socket (Sockel) bildet in der Netzwerktechnik eine plattformunabhängige, standardisierte Softwareschnittstelle zwischen der Implentierung eines Netzwerkprotokolls und der Anwendersoftware. Der Anwender sollte über ihn eine Verbindung aufbauen, Daten austauschen und die Verbindung wieder abbauen können.

Die Daten, die nun zwischen den Sockets eines Servers und dem eines Clients übermittelt werden, bedürfen eines Netzwerkprotokolls. Protokolle sind Absprachen darüber, wie die übertragenen 0 und 1-Signale beispielsweise zu gruppieren sind und welche Bedeutung diese Gruppen in einem bestimmen Zusammenhang, besitzen sollen.

Der physikalische Layer
Die Netzwerkprotokolle müssen eine physikalische Verbindungssrecke zur Übertragung ihrer 0 und 1- Daten benutzen. Im unteren Bild werden, das an ein Kabel gebundene Ethernet, und die Telefonverbindung über ein Modem dargestellt. Bei dem Modem wird bereits das PPP -Point to Point Protokoll benötigt. Mit ihm kann beliebige 'Payload' (Bezahllast) übertragen werden. Es kann also auch andere Daten, als die eines Netzwerks übermitteln.



Auf dieser grundsätzlichen zumeist physischen Übereinkunft, wie die Daten zu übermitteln seinen, bauen weitere Protokolle auf.

IP – die Vermittlungsschicht
Im Internet folgt nun die Vermittlungsschicht, die über das InternetProtokoll (IP) die Adressierung und den Verbindungsaufbau zwischen einer grossen Anzahl von Computern zulässt.
Die auffälligsten Merkmale diese Protokolls sind die IP-Adresse und die Subnetmaske. Mit letzterer ist es möglich, Computer innerhalb eines Netzwerks zu logischen Gruppen zusammenzuschliessen. IP-Adresse und Subnetmaske ermöglicht das Routing, also die Wahl des Weges und der Weiterleitung von Datenpaketen in dem Netzwerk.

TCP od. UPD die Transportschicht
Nach der Durchführung des Verbindungsaufbaus zwischen Computern sollen zwischen ihnen Datenpakete ausgetauscht werden. Der Sicherheit des Transports der Daten kann durch das Transmission Control Protocol (TCP) oder das User Datagram Protocol (UPD) begleitet werden.

TCP ist dabei ein zuverlässiges, auf der Übertragung von Datenpaketen basierendes und verbindungsorientiertes Protokoll. Bei ihm werden Datenverluste erkannt und behoben. Es baut zu diesem Zweck einen virtuellen Kanal zwischen den beiden Endpunkten der Netzwerkverbindung (den Sockets) auf, bei dem Daten in beiden Richtungen übertragen werden können. So können beispielsweise verloren gegangene Datenpakete erneut angefordert werden.

UDP dagegen ist ein verbindungsloses Protokoll, bei dem Daten, unter minimalem Aufwand und somit schneller und bei geringerem Datenüberhang als bei TCP, übertragen werden. Ein Computer sendet und der andere empfängt .. oder wegen des fehlenden Verbindungsaufbaus auch nicht. Die Nachteile sind, dass es z.B. keine Garantie gibt, dass gesendete Pakete auch ankommen, dass sie in der gleichen Reihenfolge ankommen, in der sie gesendet wurden oder dass sie nicht öfter als ein mal beim Empfänger eintreffen.

Auf den bisherigen Protokollen, deren Daten man sich ineinander geschachtelt vorstellen kann, bauen wiederum die nachfolgenden Protokolle auf. Sie befassen sich mit der Aufbereitung der Nutzdaten, die in den Datenpaketen des TCP/IP Protokolls übertragen werden sollen.

 

 

 

 

 

Telnet:    Der Telnet-Dienst (Port 23)
Mit dem Telnet-Dienst des TCP/IP Protokolls können zwei Computer zum Zweck der Fernbedienung miteinander verbunden werden. Ein Benutzer kann von seinem Computer aus, einen zweiten Computer über Kommandozeilen fernbedienen, so als säße er vor diesem. Seine Tastatureingaben werden zu dem fernbedienten Computer, dem Server gesendet und dieser sendet seine Bildschirmausgaben zurück zum Remote Client. Anstelle dieses Protokolls wird inzwischen häufig das jüngere SSH (Secure Shell) Protokoll verwendet.

 

 

 

 

 

FTP:    Der File Transfer Protocol-Dienst (Port 21)
Mit dem FTP-Dienst des TCP/IP Protokolls können Dateien zwischen zwei Computern ausgetauscht werden. Dieses Verfahren bei dem die Dateien des einen Computers zu dem zweiten kopiert werden ist im Internet als Upload (Hochladen) oder Download (Runterladen) bekannt.

 

 

 

 

 

SMTP:   Der Simple Mail Transfer Protocol-Dienst (Port 25)
Mit dem SMTP-Dienst des TCP/IP Protokolls werden elektronische Nachrichten, die eMails verschickt. Das geschieht im Großen und Ganzen wie bei dem FTP-Dienst.

 

 

 

 

 

HTTP:   Hypertext Transfer Protocol (Port 80)
Dieses Protokoll wird zur Übertragung von Daten verwendet, die mit der Hypertext Markup Language (HTML) formatiert wurden. Das Protokoll welches 1989 von Tim Berners-Lee am CERN (Schweiz) entwickelt wurde, ist das Protokoll der 'Internetseiten' die heute das World Wide Web (www) bestimmen.
Da dieses Protokoll die Daten im Klartext überträgt, also bezüglich der Einsehbarkeit der Daten an den diversen Knotenstellen des Netzes, unsicher ist, wurde es zum Hypertext Transfer Protocol Secure (HTTPS) erweitert. Bei diesem werden die HTML-Daten im Transportlayer durch das SSL/TLS Protokoll zusätzlich verschlüsselt (SSL/TLS – Secure Sockets Layer / fortentwickelt als Transport Layer Security)

 

www.GoBlack.de