logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

XPAMacros - Server Callback Macros

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).

Name

       XPAMacros - Server Callback Macros

See Also

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

version 2.1.15                                    July 23, 2013                                     xpamacros(3)

Synopsis

         #include <xpa.h>

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

See Also