Oberon || Library || Module Index || Search Engine || Definition || Module
TYPE PortNumber = Types.Int16; (* 2-byte-integer *) TYPE Address = Types.Int32; (* 4-byte-integer *) TYPE SocketAddress = RECORD (Objects.ObjectRec) (* in network order *) host: Address; portnum: PortNumber; END;
CONST addrlen = 16; (* size of struct sockaddr in <sys/socket.h> *) TYPE SysAddress = ARRAY addrlen OF BYTE;
PROCEDURE GetPort(address: SocketAddress) : INTEGER; PROCEDURE SetPort(VAR address: SocketAddress; portnum: INTEGER);
PROCEDURE ConvertToSys(address: SocketAddress; VAR sysaddr: SysAddress); PROCEDURE ConvertFromSys(sysaddr: SysAddress; VAR address: SocketAddress);
PROCEDURE ReadText(s: Streams.Stream; VAR ipaddr: Address) : BOOLEAN; PROCEDURE WriteText(s: Streams.Stream; ipaddr: Address); PROCEDURE CreateAddress(VAR ipaddr: Address; dotteddec: ARRAY OF CHAR);
SysAddress represents IPv4 addresses in an internal form which can be passed to the operations of SysSockets. ConvertToSys and ConvertFromSys allow IPv4 addresses to be converted to and from the internal form.
IPv4 addresses in a textual so-called ``dotted decimal'' representation (for example ``127.0.0.1'') can be read by ReadText. WriteText prints ipaddr in ``dotted decimal'' notation to s. CreateAddress allows to create an IPv4 address directly from a string which begins with a valid dotted decimal.
Oberon || Library || Module Index || Search Engine || Definition || Module