gm2-libs/sckt (The GNU Modula-2 Compiler)

#### 4.1.62 gm2-libs/sckt ¶

    DEFINITION MODULE sckt ;

    FROM SYSTEM IMPORT ADDRESS ;
    EXPORT QUALIFIED tcpServerState,
                     tcpServerEstablish, tcpServerEstablishPort,
                     tcpServerAccept, getLocalIP,
                     tcpServerPortNo, tcpServerIP, tcpServerSocketFd,
                     tcpServerClientIP, tcpServerClientPortNo,
                     tcpClientState,
                     tcpClientSocket, tcpClientSocketIP, tcpClientConnect,
                     tcpClientPortNo, tcpClientIP, tcpClientSocketFd ;

    TYPE
       tcpServerState = ADDRESS ;
       tcpClientState = ADDRESS ;

    (*
       tcpServerEstablish - returns a tcpState containing the relevant
                            information about a socket declared to receive
                            tcp connections.
    *)

    PROCEDURE tcpServerEstablish () : tcpServerState ;

    (*
       tcpServerEstablishPort - returns a tcpState containing the relevant
                                information about a socket declared to receive
                                tcp connections.  This method attempts to use
                                the port specified by the parameter.
    *)

    PROCEDURE tcpServerEstablishPort (port: CARDINAL) : tcpServerState ;

    (*
       tcpServerAccept - returns a file descriptor once a client has connected and
                         been accepted.
    *)

    PROCEDURE tcpServerAccept (s: tcpServerState) : INTEGER ;

    (*
       tcpServerPortNo - returns the portNo from structure, s.
    *)

    PROCEDURE tcpServerPortNo (s: tcpServerState) : CARDINAL ;

    (*
       tcpSocketFd - returns the sockFd from structure, s.
    *)

    PROCEDURE tcpServerSocketFd (s: tcpServerState) : INTEGER ;

    (*
       getLocalIP - returns the IP address of this machine.
    *)

    PROCEDURE getLocalIP (s: tcpServerState) : CARDINAL ;

    (*
       tcpServerIP - returns the IP address from structure, s.
    *)

    PROCEDURE tcpServerIP (s: tcpServerState) : CARDINAL ;

    (*
       tcpServerClientIP - returns the IP address of the client who
                           has connected to server, s.
    *)

    PROCEDURE tcpServerClientIP (s: tcpServerState) : CARDINAL ;

    (*
       tcpServerClientPortNo - returns the port number of the client who
                               has connected to server, s.
    *)

    PROCEDURE tcpServerClientPortNo (s: tcpServerState) : CARDINAL ;

    (*
       tcpClientSocket - returns a file descriptor (socket) which has
                         connected to, serverName:portNo.
    *)

    PROCEDURE tcpClientSocket (serverName: ADDRESS; portNo: CARDINAL) : tcpClientState ;

    (*
       tcpClientSocketIP - returns a file descriptor (socket) which has
                           connected to, ip:portNo.
    *)

    PROCEDURE tcpClientSocketIP (ip: CARDINAL; portNo: CARDINAL) : tcpClientState ;

    (*
       tcpClientConnect - returns the file descriptor associated with, s,
                          once a connect has been performed.
    *)

    PROCEDURE tcpClientConnect (s: tcpClientState) : INTEGER ;

    (*
       tcpClientPortNo - returns the portNo from structure, s.
    *)

    PROCEDURE tcpClientPortNo (s: tcpClientState) : INTEGER ;

    (*
       tcpClientSocketFd - returns the sockFd from structure, s.
    *)

    PROCEDURE tcpClientSocketFd (s: tcpClientState) : INTEGER ;

    (*
       tcpClientIP - returns the IP address from structure, s.
    *)

    PROCEDURE tcpClientIP (s: tcpClientState) : CARDINAL ;

    END sckt.