提交 c7ca7cc5 authored 作者: Anthony Minessale's avatar Anthony Minessale

expose more of apr socket code

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10043 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 acf038ba
......@@ -1171,13 +1171,36 @@ SWITCH_DECLARE(switch_status_t) switch_mcast_join(switch_socket_t *sock, switch_
/** @} */
typedef enum {
SWITCH_NO_DESC, /**< nothing here */
SWITCH_POLL_SOCKET, /**< descriptor refers to a socket */
SWITCH_POLL_FILE, /**< descriptor refers to a file */
SWITCH_POLL_LASTDESC /**< descriptor is the last one in the list */
} switch_pollset_type_t;
typedef union {
switch_file_t *f; /**< file */
switch_socket_t *s; /**< socket */
} switch_descriptor_t;
struct switch_pollfd {
switch_memory_pool_t *p; /**< associated pool */
switch_pollset_type_t desc_type; /**< descriptor type */
int16_t reqevents; /**< requested events */
int16_t rtnevents; /**< returned events */
switch_descriptor_t desc; /**< @see apr_descriptor */
void *client_data; /**< allows app to associate context */
};
/**
* @defgroup apr_poll Poll Routines
* @ingroup switch_apr
* @{
*/
/** Poll descriptor set. */
typedef struct apr_pollfd_t switch_pollfd_t;
typedef struct switch_pollfd switch_pollfd_t;
/** Opaque structure used for pollset API */
typedef struct apr_pollset_t switch_pollset_t;
......
......@@ -751,12 +751,12 @@ SWITCH_DECLARE(switch_status_t) switch_pollset_create(switch_pollset_t **pollset
SWITCH_DECLARE(switch_status_t) switch_pollset_add(switch_pollset_t *pollset, const switch_pollfd_t *descriptor)
{
return apr_pollset_add(pollset, descriptor);
return apr_pollset_add((apr_pollset_t *)pollset, (apr_pollfd_t *)descriptor);
}
SWITCH_DECLARE(switch_status_t) switch_poll(switch_pollfd_t *aprset, int32_t numsock, int32_t *nsds, switch_interval_time_t timeout)
{
return apr_poll(aprset, numsock, nsds, timeout);
return apr_poll((apr_pollfd_t *)aprset, numsock, nsds, timeout);
}
SWITCH_DECLARE(switch_status_t) switch_socket_create_pollfd(switch_pollfd_t **poll, switch_socket_t *sock, int16_t flags, switch_memory_pool_t *pool)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论