GETPROTOENT(3) 1990 GETPROTOENT(3) NNAAMMEE getprotoent, getprotobynumber, getprotobyname, setprotoent, endprotoent - get protocol entry SSYYNNOOPPSSIISS ##iinncclluuddee <<nneettddbb..hh>> ssttrruucctt pprroottooeenntt **ggeettpprroottooeenntt(()) ssttrruucctt pprroottooeenntt **ggeettpprroottoobbyynnaammee((nnaammee)) cchhaarr **nnaammee;; ssttrruucctt pprroottooeenntt **ggeettpprroottoobbyynnuummbbeerr((pprroottoo)) iinntt pprroottoo;; sseettpprroottooeenntt((ssttaayyooppeenn)) iinntt ssttaayyooppeenn eennddpprroottooeenntt(()) DDEESSCCRRIIPPTTIIOONN _G_e_t_p_r_o_t_o_e_n_t, _g_e_t_p_r_o_t_o_b_y_n_a_m_e, and _g_e_t_p_r_o_t_o_b_y_n_u_m_b_e_r each return a pointer to an object with the following structure containing the broken-out fields of a line in the network protocol data base, /_e_t_c/_p_r_o_t_o_c_o_l_s. struct protoent { char *p_name; /* official name of protocol */ char **p_aliases; /* alias list */ int p_proto; /* protocol number */ }; The members of this structure are: p_name The official name of the protocol. p_aliases A zero terminated list of alternate names for the protocol. p_proto The protocol number. _G_e_t_p_r_o_t_o_e_n_t reads the next line of the file, opening the file if necessary. _S_e_t_p_r_o_t_o_e_n_t opens and rewinds the file. If the _s_t_a_y_o_p_e_n flag is non-zero, the net data base will not be closed after each call to _g_e_t_p_r_o_t_o_b_y_n_a_m_e or _g_e_t_p_r_o_t_o_b_y_n_u_m_b_e_r. _E_n_d_p_r_o_t_o_e_n_t closes the file. _G_e_t_p_r_o_t_o_b_y_n_a_m_e and _g_e_t_p_r_o_t_o_b_y_n_u_m_b_e_r sequentially search from the beginning of the file until a matching protocol name or Printed 7/27/90 June 1 GETPROTOENT(3) 1990 GETPROTOENT(3) protocol number is found, or until EOF is encountered. FFIILLEESS /etc/protocols SSEEEE AALLSSOO protocols(5) DDIIAAGGNNOOSSTTIICCSS Null pointer (0) returned on EOF or error. BBUUGGSS All information is contained in a static area so it must be copied if it is to be saved. Only the Internet protocols are currently understood. Printed 7/27/90 June 2