hesiod.lst3   [plain text]

HESIOD(3)                                               HESIOD(3)

       hesiod,   hesiod_init,  hesiod_resolve,  hesiod_free_list,
       hesiod_to_bind, hesiod_end - Hesiod name server  interface

       ##iinncclluuddee <<hheessiioodd..hh>>

       iinntt hheessiioodd__iinniitt((vvooiidd ****_c_o_n_t_e_x_t))
       cchhaarr ****hheessiioodd__rreessoollvvee((vvooiidd **_c_o_n_t_e_x_t,, ccoonnsstt cchhaarr **_n_a_m_e,,
            ccoonnsstt cchhaarr **_t_y_p_e))
       vvooiidd hheessiioodd__ffrreeee__lliisstt((vvooiidd **_c_o_n_t_e_x_t,, cchhaarr ****_l_i_s_t));;
       cchhaarr **hheessiioodd__ttoo__bbiinndd((vvooiidd **_c_o_n_t_e_x_t,, ccoonnsstt cchhaarr **_n_a_m_e,,
            ccoonnsstt cchhaarr **_t_y_p_e))
       vvooiidd hheessiioodd__eenndd((vvooiidd **_c_o_n_t_e_x_t))

       This  family of functions allows you to perform lookups of
       Hesiod information, which is stored as text records in the
       Domain  Name  Service.  To perform lookups, you must first
       initialize a _c_o_n_t_e_x_t, an opaque object which stores infor-
       mation used internally by the library between calls.  _h_e_s_-
       _i_o_d___i_n_i_t initializes a context, storing a pointer  to  the
       context  in  the  location pointed to by the _c_o_n_t_e_x_t argu-
       ment.  _h_e_s_i_o_d___e_n_d frees the resources used by a context.

       _h_e_s_i_o_d___r_e_s_o_l_v_e is the primary interface  to  the  library.
       If  successful,  it  returns a list of one or more strings
       giving the records matching _n_a_m_e and _t_y_p_e.  The last  ele-
       ment of the list is followed by a NULL pointer.  It is the
       caller's responsibility to call _h_e_s_i_o_d___f_r_e_e___l_i_s_t  to  free
       the resources used by the returned list.

       _h_e_s_i_o_d___t_o___b_i_n_d  converts  _n_a_m_e  and _t_y_p_e into the DNS name
       used by _h_e_s_i_o_d___r_e_s_o_l_v_e.  It is the caller's responsibility
       to free the returned string using _f_r_e_e.

       If successful, _h_e_s_i_o_d___i_n_i_t returns 0; otherwise it returns
       -1 and sets _e_r_r_n_o to indicate the error.  On failure, _h_e_s_-
       _i_o_d___r_e_s_o_l_v_e  and  _h_e_s_i_o_d___t_o___b_i_n_d  return  NULL and set the
       global variable _e_r_r_n_o to indicate the error.

       If the environment variable HHEESS__DDOOMMAAIINN  is  set,  it  will
       override  the domain in the Hesiod configuration file.  If
       the environment variable HHEESSIIOODD__CCOONNFFIIGG is set,  it  speci-
       fies the location of the Hesiod configuration file.

       `Hesiod  - Project Athena Technical Plan -- Name Service',
       named(8), hesiod.conf(5)

                         30 November 1996                       1

HESIOD(3)                                               HESIOD(3)

       Hesiod calls may fail because of:

       ENOMEM Insufficient memory was available to carry out  the
              requested operation.

              _h_e_s_i_o_d___i_n_i_t failed because the Hesiod configuration
              file was invalid.

              _h_e_s_i_o_d___r_e_s_o_l_v_e failed because no name server  could
              be contacted to answer the query.

              _h_e_s_i_o_d___r_e_s_o_l_v_e failed because the query or response
              was too big to fit into the packet buffers.

       ENOENT _h_e_s_i_o_d___r_e_s_o_l_v_e failed because the name  server  had
              no  text  records  matching  _n_a_m_e and _t_y_p_e, or _h_e_s_-
              _i_o_d___t_o___b_i_n_d failed because the _n_a_m_e argument had  a
              domain  extension  which could not be resolved with
              type ``rhs-extension'' in the local Hesiod  domain.

       Steve Dyer, IBM/Project Athena
       Greg Hudson, MIT Team Athena
       Copyright  1987,  1988,  1995,  1996  by the Massachusetts
       Institute of Technology.

       The strings corresponding to the _e_r_r_n_o values set  by  the
       Hesiod  functions  are not particularly indicative of what
       went wrong, especially for _E_N_O_E_X_E_C and _E_N_O_E_N_T.

                         30 November 1996                       2