home *** CD-ROM | disk | FTP | other *** search
-
-
-
- iiiinnnnttttrrrroooo((((3333NNNN)))) iiiinnnnttttrrrroooo((((3333NNNN))))
-
-
-
- NNNNAAAAMMMMEEEE
- _iiii_nnnn_tttt_rrrr_oooo - introduction to SVR4 networking functions and libraries
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This section describes functions found in the SVR4 networking library.
- Function declarations can be obtained from the _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee files indicated
- on each page. Certain major collections are identified by a letter after
- the section number:
-
- The SVR4 networking functions are contained in a single libraries known
- as the Network Services library, _llll_iiii_bbbb_nnnn_ssss_llll.
-
- The following functions constitute the _llll_iiii_bbbb_nnnn_ssss_llll library:
-
- _nnnn_eeee_tttt_dddd_iiii_rrrr
- Network Directory functions. This contains look-up functions
- and the access point to network directory libraries for various
- network transports.
-
- _nnnn_eeee_tttt_ssss_eeee_llll_eeee_cccc_tttt
- Network Selection routines. These functions manipulate the
- _////_eeee_tttt_cccc_////_nnnn_eeee_tttt_cccc_oooo_nnnn_ffff_iiii_gggg file and return entries.
-
- _nnnn_ssss_llll Transport Level Interface (TLI). These functions contain the
- implementation of X/OPEN's Transport Level Interface.
-
- _rrrr_eeee_xxxx_eeee_cccc
- REXEC library interface
-
- _rrrr_pppp_cccc User-level Remote Procedure Call library
-
- _ssss_aaaa_ffff Service Access Facility library
-
- _yyyy_pppp Network Information Service functions. [The NIS functions have
- been moved to libc.]
-
- DDDDEEEEFFFFIIIINNNNIIIITTTTIIIIOOOONNNNSSSS
- In the Network Services library, _nnnn_eeee_tttt_bbbb_uuuu_ffff is a structure used in various
- TLI functions to send and receive data and information. _nnnn_eeee_tttt_bbbb_uuuu_ffff is
- defined in _ssss_yyyy_ssss_////_tttt_iiii_uuuu_ssss_eeee_rrrr_...._hhhh, and includes the following members:
-
- _ssss_tttt_rrrr_uuuu_cccc_tttt _nnnn_eeee_tttt_bbbb_uuuu_ffff _{{{{
- _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _mmmm_aaaa_xxxx_llll_eeee_nnnn_;;;; _////_**** _TTTT_hhhh_eeee _pppp_hhhh_yyyy_ssss_iiii_cccc_aaaa_llll _ssss_iiii_zzzz_eeee _oooo_ffff _tttt_hhhh_eeee _bbbb_uuuu_ffff_ffff_eeee_rrrr _****_////
- _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _llll_eeee_nnnn_;;;; _////_**** _TTTT_hhhh_eeee _nnnn_uuuu_mmmm_bbbb_eeee_rrrr _oooo_ffff _bbbb_yyyy_tttt_eeee_ssss _iiii_nnnn _tttt_hhhh_eeee _bbbb_uuuu_ffff_ffff_eeee_rrrr _****_////
- _cccc_hhhh_aaaa_rrrr _****_bbbb_uuuu_ffff_;;;; _////_**** _PPPP_oooo_iiii_nnnn_tttt_ssss _tttt_oooo _uuuu_ssss_eeee_rrrr _iiii_nnnn_pppp_uuuu_tttt _aaaa_nnnn_dddd_////_oooo_rrrr _oooo_uuuu_tttt_pppp_uuuu_tttt _bbbb_uuuu_ffff_ffff_eeee_rrrr _****_////
- _}}}}_;;;;
-
-
- If _nnnn_eeee_tttt_bbbb_uuuu_ffff is used for output, the function will set the user value of _l_e_n
- on return. _m_a_x_l_e_n generally has significance only when _b_u_f is used to
- receive output from the TLI function. In this case, it specifies the
- maximum value of _l_e_n that can be set by the function. If _m_a_x_l_e_n is not
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- iiiinnnnttttrrrroooo((((3333NNNN)))) iiiinnnnttttrrrroooo((((3333NNNN))))
-
-
-
- large enough to hold the returned information, an TBUFOVFLW error will
- generally result. However, certain functions may return part of the data
- and not generate an error.
-
- FFFFIIIILLLLEEEESSSS
- _I_N_C_D_I_R usually _////_uuuu_ssss_rrrr_////_iiii_nnnn_cccc_llll_uuuu_dddd_eeee
- _L_I_B_D_I_R usually _////_uuuu_ssss_rrrr_////_cccc_cccc_ssss_////_llll_iiii_bbbb
- _L_I_B_D_I_R_////_llll_iiii_bbbb_ssss_oooo_cccc_kkkk_eeee_tttt_...._ssss_oooo (normally unused, see below)
- _L_I_B_D_I_R_////_llll_iiii_bbbb_nnnn_ssss_llll_...._ssss_oooo
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- _iiii_nnnn_tttt_rrrr_oooo(3)
-
- NNNNOOOOTTTTEEEESSSS
- None of the functions, external variables, or macros should be redefined
- in the user's programs. Any other name may be redefined without
- affecting the behavior of other library functions, but such redefinition
- may conflict with a declaration in an included header file.
-
- The header files in _I_N_C_D_I_R provide function prototypes (function
- declarations including the types of arguments) for most of the functions
- listed in this manual. Function prototypes allow the compiler to check
- for correct usage of these functions in the user's program. The _llll_iiii_nnnn_tttt
- program checker may also be used and will report discrepancies even if
- the header files are not included with _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee statements. Use of _llll_iiii_nnnn_tttt
- is highly recommended.
-
- In detailed definitions of components, it is sometimes necessary to refer
- to symbolic names that are implementation-specific, but which are not
- necessarily expected to be accessible to an application program. Many of
- these symbolic names describe boundary conditions and system limits.
-
- In this section, for readability, these implementation-specific values
- are given symbolic names. These names always appear enclosed in curly
- brackets to distinguish them from symbolic names of other
- implementation-specific constants that are accessible to application
- programs by header files. These names are not necessarily accessible to
- an application program through a header file, although they may be
- defined in the documentation for a particular system.
-
- In general, a portable application program should not refer to these
- symbolic names in its code. For example, an application program would
- not be expected to test the length of an argument list given to a routine
- to determine if it was greater than {ARG_MAX}.
-
- There are 2 types of networking in IRIX.
-
- 1) BSD sockets implemented in the kernel, along with SUN RPC and
- NIS (YP). The functions that implement these calls are in libc [see
- _i_n_t_r_o(_3)].
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- iiiinnnnttttrrrroooo((((3333NNNN)))) iiiinnnnttttrrrroooo((((3333NNNN))))
-
-
-
- 2) SVR4-style STREAMS/TLI/DLPI networking (not sockets), along with
- SVR4-style RPC. SVR4-style RPC doesn't work with sockets, only with
- the TLI. Also, SVR4-style networking does not support NIS. The
- functions that implement these calls are in libnsl, and to use them,
- the code must be compiled with :
-
- cc -D_SVR4_TIRPC prog.c -lnsl
-
- eeeeooooeeee....sssswwww....ssssvvvvrrrr4444nnnneeeetttt must be installed to use the TLI functionality.
- eeeeooooeeee....sssswwww....ddddllllppppiiii must be installed to use the DLPI (Data-link Provider
- Interface) functionality.
-
- In order to fully support the MIPS ABI, there is a library
- (libsocket) that can be linked with explicitly. There are no header
- file or semantic differences when using libsocket. The MIPS ABI-
- compliant programs that use sockets must (in order to be ABI-
- compliant) link with libsocket. To compile such a program, use:
-
- cc prog.c -lsocket
-
- This library exists solely to satisfy the ABI; it uses the standard
- IRIX socket services described above to implement the specified
- functionality.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
-