Provided by: libxpa-dev_2.1.17-1_amd64 bug

NAME

       XPAMacros - Server Callback Macros

SYNOPSIS

         #include <xpa.h>

         xpa_class, xpa_name, xpa_method, xpa_cmdfd, xpa_datafd,
         xpa_sendian, xpa_cendian

DESCRIPTION

       Server routines have  access to information about the XPA being called via the following
       macros (each of which takes the xpa handle as an argument):

         macro                 explanation
         ------                -----------
         xpa_class             class of this xpa
         xpa_name              name of this xpa
         xpa_method            method string (inet or local connect info)
         xpa_cmdfd             fd of command socket
         xpa_datafd            fd of data socket
         xpa_sendian           endian\-ness of server ("little" or "big")
         xpa_cendian           endian\-ness of client ("little" or "big"

       The argument to these macros is the call_data pointer that is passed to the server
       procedure.  This pointer should be type case to XPA in the server routine:

         XPA xpa = (XPA)call_data;

       The most important of these macros is xpa_datafd().  A server routine that sets
       "fillbuf=false" in receive_mode or send_mode can use this macro to perform I/O directly
       to/from the client, rather than using buf.

       The xpa_cendian and xpa_sendian macros can be used together to determine if the data
       transferred from the client is byte swapped with respect to the server. Values for these
       macros are: "little", "big", or "?".  In order to do a proper conversion, you still need
       to know the format of the data (i.e., byte swapping is dependent on the size of the data
       element being converted).

SEE ALSO

       See xpa(7) for a list of XPA help pages