⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apr__network__io_8h-source.html

📁 apr函数库使用手册
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00614 <span class="comment"> * @param sock The socket to query</span>
00615 <span class="comment"> * @param opt The option we would like to query.  One of:</span>
00616 <span class="comment"> * &lt;PRE&gt;</span>
00617 <span class="comment"> *            APR_SO_DEBUG      --  turn on debugging information </span>
00618 <span class="comment"> *            APR_SO_KEEPALIVE  --  keep connections active</span>
00619 <span class="comment"> *            APR_SO_LINGER     --  lingers on close if data is present</span>
00620 <span class="comment"> *            APR_SO_NONBLOCK   --  Turns blocking on/off for socket</span>
00621 <span class="comment"> *            APR_SO_REUSEADDR  --  The rules used in validating addresses</span>
00622 <span class="comment"> *                                  supplied to bind should allow reuse</span>
00623 <span class="comment"> *                                  of local addresses.</span>
00624 <span class="comment"> *            APR_SO_SNDBUF     --  Set the SendBufferSize</span>
00625 <span class="comment"> *            APR_SO_RCVBUF     --  Set the ReceiveBufferSize</span>
00626 <span class="comment"> *            APR_SO_DISCONNECTED -- Query the disconnected state of the socket.</span>
00627 <span class="comment"> *                                  (Currently only used on Windows)</span>
00628 <span class="comment"> * &lt;/PRE&gt;</span>
00629 <span class="comment"> * @param on Socket option returned on the call.</span>
00630 <span class="comment"> */</span>
00631 APR_DECLARE(apr_status_t) apr_socket_opt_get(apr_socket_t *sock, 
00632                                              apr_int32_t opt, apr_int32_t *on);
00633 <span class="comment"></span>
00634 <span class="comment">/**</span>
00635 <span class="comment"> * Query socket timeout for the specified socket</span>
00636 <span class="comment"> * @param sock The socket to query</span>
00637 <span class="comment"> * @param t Socket timeout returned from the query.</span>
00638 <span class="comment"> */</span>
00639 APR_DECLARE(apr_status_t) apr_socket_timeout_get(apr_socket_t *sock, 
00640                                                  apr_interval_time_t *t);
00641 <span class="comment"></span>
00642 <span class="comment">/**</span>
00643 <span class="comment"> * Query the specified socket if at the OOB/Urgent data mark</span>
00644 <span class="comment"> * @param sock The socket to query</span>
00645 <span class="comment"> * @param atmark Is set to true if socket is at the OOB/urgent mark,</span>
00646 <span class="comment"> *               otherwise is set to false.</span>
00647 <span class="comment"> */</span>
00648 APR_DECLARE(apr_status_t) apr_socket_atmark(apr_socket_t *sock, 
00649                                             <span class="keywordtype">int</span> *atmark);
00650 <span class="comment"></span>
00651 <span class="comment">/**</span>
00652 <span class="comment"> * Return an apr_sockaddr_t from an apr_socket_t</span>
00653 <span class="comment"> * @param sa The returned apr_sockaddr_t.</span>
00654 <span class="comment"> * @param which Which interface do we want the apr_sockaddr_t for?</span>
00655 <span class="comment"> * @param sock The socket to use</span>
00656 <span class="comment"> */</span>
00657 APR_DECLARE(apr_status_t) apr_socket_addr_get(apr_sockaddr_t **sa,
00658                                               apr_interface_e which,
00659                                               apr_socket_t *sock);
00660  <span class="comment"></span>
00661 <span class="comment">/**</span>
00662 <span class="comment"> * Return the IP address (in numeric address string format) in</span>
00663 <span class="comment"> * an APR socket address.  APR will allocate storage for the IP address </span>
00664 <span class="comment"> * string from the pool of the apr_sockaddr_t.</span>
00665 <span class="comment"> * @param addr The IP address.</span>
00666 <span class="comment"> * @param sockaddr The socket address to reference.</span>
00667 <span class="comment"> */</span>
00668 APR_DECLARE(apr_status_t) apr_sockaddr_ip_get(<span class="keywordtype">char</span> **addr, 
00669                                               apr_sockaddr_t *sockaddr);
00670 <span class="comment"></span>
00671 <span class="comment">/**</span>
00672 <span class="comment"> * See if the IP addresses in two APR socket addresses are</span>
00673 <span class="comment"> * equivalent.  Appropriate logic is present for comparing</span>
00674 <span class="comment"> * IPv4-mapped IPv6 addresses with IPv4 addresses.</span>
00675 <span class="comment"> *</span>
00676 <span class="comment"> * @param addr1 One of the APR socket addresses.</span>
00677 <span class="comment"> * @param addr2 The other APR socket address.</span>
00678 <span class="comment"> * @remark The return value will be non-zero if the addresses</span>
00679 <span class="comment"> * are equivalent.</span>
00680 <span class="comment"> */</span>
00681 APR_DECLARE(<span class="keywordtype">int</span>) apr_sockaddr_equal(const apr_sockaddr_t *addr1,
00682                                     const apr_sockaddr_t *addr2);
00683 <span class="comment"></span>
00684 <span class="comment">/**</span>
00685 <span class="comment">* Return the type of the socket.</span>
00686 <span class="comment">* @param sock The socket to query.</span>
00687 <span class="comment">* @param type The returned type (e.g., SOCK_STREAM).</span>
00688 <span class="comment">*/</span>
00689 APR_DECLARE(apr_status_t) apr_socket_type_get(apr_socket_t *sock,
00690                                               <span class="keywordtype">int</span> *type);
00691  <span class="comment"></span>
00692 <span class="comment">/**</span>
00693 <span class="comment"> * Given an apr_sockaddr_t and a service name, set the port for the service</span>
00694 <span class="comment"> * @param sockaddr The apr_sockaddr_t that will have its port set</span>
00695 <span class="comment"> * @param servname The name of the service you wish to use</span>
00696 <span class="comment"> */</span>
00697 APR_DECLARE(apr_status_t) apr_getservbyname(apr_sockaddr_t *sockaddr, 
00698                                             const <span class="keywordtype">char</span> *servname);<span class="comment"></span>
00699 <span class="comment">/**</span>
00700 <span class="comment"> * Build an ip-subnet representation from an IP address and optional netmask or</span>
00701 <span class="comment"> * number-of-bits.</span>
00702 <span class="comment"> * @param ipsub The new ip-subnet representation</span>
00703 <span class="comment"> * @param ipstr The input IP address string</span>
00704 <span class="comment"> * @param mask_or_numbits The input netmask or number-of-bits string, or NULL</span>
00705 <span class="comment"> * @param p The pool to allocate from</span>
00706 <span class="comment"> */</span>
00707 APR_DECLARE(apr_status_t) apr_ipsubnet_create(apr_ipsubnet_t **ipsub, 
00708                                               const <span class="keywordtype">char</span> *ipstr, 
00709                                               const <span class="keywordtype">char</span> *mask_or_numbits, 
00710                                               apr_pool_t *p);
00711 <span class="comment"></span>
00712 <span class="comment">/**</span>
00713 <span class="comment"> * Test the IP address in an apr_sockaddr_t against a pre-built ip-subnet</span>
00714 <span class="comment"> * representation.</span>
00715 <span class="comment"> * @param ipsub The ip-subnet representation</span>
00716 <span class="comment"> * @param sa The socket address to test</span>
00717 <span class="comment"> * @return non-zero if the socket address is within the subnet, 0 otherwise</span>
00718 <span class="comment"> */</span>
00719 APR_DECLARE(<span class="keywordtype">int</span>) apr_ipsubnet_test(apr_ipsubnet_t *ipsub, apr_sockaddr_t *sa);
00720 
00721 #if APR_HAS_SO_ACCEPTFILTER || defined(DOXYGEN)<span class="comment"></span>
00722 <span class="comment">/**</span>
00723 <span class="comment"> * Set an OS level accept filter.</span>
00724 <span class="comment"> * @param sock The socket to put the accept filter on.</span>
00725 <span class="comment"> * @param name The accept filter</span>
00726 <span class="comment"> * @param args Any extra args to the accept filter.  Passing NULL here removes</span>
00727 <span class="comment"> *             the accept filter. </span>
00728 <span class="comment"> */</span>
00729 apr_status_t apr_socket_accept_filter(apr_socket_t *sock, <span class="keywordtype">char</span> *name,
00730                                       <span class="keywordtype">char</span> *args);
00731 #endif
00732 <span class="comment"></span>
00733 <span class="comment">/**</span>
00734 <span class="comment"> * Return the protocol of the socket.</span>
00735 <span class="comment"> * @param sock The socket to query.</span>
00736 <span class="comment"> * @param protocol The returned protocol (e.g., APR_PROTO_TCP).</span>
00737 <span class="comment"> */</span>
00738 APR_DECLARE(apr_status_t) apr_socket_protocol_get(apr_socket_t *sock,
00739                                                   <span class="keywordtype">int</span> *protocol);
00740 <span class="comment"></span>
00741 <span class="comment">/**</span>
00742 <span class="comment"> * Set a socket to be inherited by child processes.</span>
00743 <span class="comment"> */</span>
00744 APR_DECLARE_INHERIT_SET(socket);
00745 <span class="comment"></span>
00746 <span class="comment">/**</span>
00747 <span class="comment"> * Unset a socket from being inherited by child processes.</span>
00748 <span class="comment"> */</span>
00749 APR_DECLARE_INHERIT_UNSET(socket);
00750 <span class="comment"></span>
00751 <span class="comment">/**</span>
00752 <span class="comment"> * @defgroup apr_mcast IP Multicast</span>
00753 <span class="comment"> * @{</span>
00754 <span class="comment"> */</span>
00755 <span class="comment"></span>
00756 <span class="comment">/**</span>
00757 <span class="comment"> * Join a Multicast Group</span>
00758 <span class="comment"> * @param sock The socket to join a multicast group</span>
00759 <span class="comment"> * @param join The address of the multicast group to join</span>
00760 <span class="comment"> * @param iface Address of the interface to use.  If NULL is passed, the </span>
00761 <span class="comment"> *              default multicast interface will be used. (OS Dependent)</span>
00762 <span class="comment"> * @param source Source Address to accept transmissions from (non-NULL </span>
00763 <span class="comment"> *               implies Source-Specific Multicast)</span>
00764 <span class="comment"> */</span>
00765 APR_DECLARE(apr_status_t) apr_mcast_join(apr_socket_t *sock,
00766                                          apr_sockaddr_t *join,
00767                                          apr_sockaddr_t *iface,
00768            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -