Logo Search packages:      
Sourcecode: sofia-sip version File versions  Download package

su_wait.h File Reference
#include "sofia-sip/su.h"
#include "sofia-sip/su_time.h"
Include dependency graph for su_wait.h:

Go to the source code of this file.

Classes

struct  _su_task_t
struct  pollfd

Defines

#define POLLERR   0x008
#define POLLHUP   0x010
#define POLLIN   0x001
#define POLLNVAL   0x020
#define POLLOUT   0x004
#define POLLPRI   0x002
#define SU_CLONE_R_INIT   {NULL}
#define SU_CLONE_T   struct su_clone_s
#define SU_MSG_ARG_T   void
#define su_msg_is_non_null(msg)   ((msg) && (*(msg)) != NULL)
#define SU_MSG_R_INIT   { NULL }
#define SU_PREPOLL_MAGIC_T   void
#define SU_ROOT_MAGIC_T   void
#define SU_TASK_R_INIT   {{ NULL, NULL }}
#define SU_TIMER_ARG_T   void
#define SU_TIMER_QUEUE_T   su_timer_t *
#define SU_WAIT_ACCEPT   POLLIN
#define SU_WAIT_CMP(x, y)   (((x).fd - (y).fd) ? ((x).fd - (y).fd) : ((x).events - (y).events))
#define SU_WAIT_CONNECT   POLLOUT
#define SU_WAIT_ERR   POLLERR
#define SU_WAIT_FOREVER   (-1)
#define SU_WAIT_H
#define SU_WAIT_HUP   POLLHUP
#define SU_WAIT_IN   POLLIN
#define SU_WAIT_INIT   { INVALID_SOCKET, 0, 0 }
#define SU_WAIT_MAX   (0x7fffffff)
#define SU_WAIT_OUT   POLLOUT
#define SU_WAIT_TIMEOUT   (-2)
#define SU_WAKEUP_ARG_T   void

Typedefs

typedef _su_task_t const * _su_task_r
typedef unsigned long int nfds_t
typedef SU_CLONE_Tsu_clone_r [1]
typedef int su_clone_start_f (su_root_t *parent, su_clone_r return_clone, su_root_magic_t *magic, su_root_init_f init, su_root_deinit_f deinit)
typedef SU_MSG_ARG_T su_msg_arg_t
typedef su_msg_t *const su_msg_cr [1]
typedef void su_msg_deinit_function (su_msg_arg_t *arg)
typedef su_msg_functionsu_msg_f
typedef void su_msg_function (su_root_magic_t *magic, su_msg_r msg, su_msg_arg_t *arg)
typedef su_msg_tsu_msg_r [1]
typedef struct su_msg_s su_msg_t
typedef su_port_tsu_port_create_f (void)
typedef struct su_port_s su_port_t
typedef void su_prepoll_f (su_prepoll_magic_t *, su_root_t *)
typedef SU_PREPOLL_MAGIC_T su_prepoll_magic_t
typedef void(* su_root_deinit_f )(su_root_t *, su_root_magic_t *)
typedef int(* su_root_init_f )(su_root_t *, su_root_magic_t *)
typedef SU_ROOT_MAGIC_T su_root_magic_t
typedef struct su_root_s su_root_t
typedef int su_success_t
typedef _su_task_t su_task_r [1]
typedef SU_TIMER_ARG_T su_timer_arg_t
typedef void(* su_timer_f )(su_root_magic_t *magic, su_timer_t *t, su_timer_arg_t *arg)
typedef SU_TIMER_QUEUE_T su_timer_queue_t
typedef struct su_timer_s su_timer_t
typedef struct pollfd su_wait_t
typedef SU_WAKEUP_ARG_T su_wakeup_arg_t
typedef int(* su_wakeup_f )(su_root_magic_t *, su_wait_t *, su_wakeup_arg_t *arg)

Enumerations

enum  { su_pri_normal, su_pri_first, su_pri_realtime }

Functions

int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout)
SOFIAPUBFUN void su_clone_forget (su_clone_r)
SOFIAPUBFUN int su_clone_pause (su_clone_r)
SOFIAPUBFUN int su_clone_resume (su_clone_r)
SOFIAPUBFUN int su_clone_start (su_root_t *root, su_clone_r, su_root_magic_t *magic, su_root_init_f, su_root_deinit_f)
SOFIAPUBFUN void su_clone_stop (su_clone_r)
SOFIAPUBFUN _su_task_r su_clone_task (su_clone_r)
SOFIAPUBFUN void su_clone_wait (su_root_t *root, su_clone_r clone)
SOFIAPUBFUN int su_msg_create (su_msg_r msg, su_task_r const to, su_task_r const from, su_msg_f wakeup, isize_t size)
SOFIAPUBFUN su_msg_arg_tsu_msg_data (su_msg_cr msg)
SOFIAPUBFUN int su_msg_deinitializer (su_msg_r msg, su_msg_deinit_function *)
SOFIAPUBFUN void su_msg_destroy (su_msg_r msg)
SOFIAPUBFUN _su_task_r su_msg_from (su_msg_cr msg)
SOFIAPUBFUN int su_msg_new (su_msg_r msg, size_t size)
SOFIAPUBFUN void su_msg_remove_refs (su_msg_cr msg)
SOFIAPUBFUN int su_msg_reply (su_msg_r reply, su_msg_cr msg, su_msg_f wakeup, isize_t size)
SOFIAPUBFUN int su_msg_report (su_msg_r msg, su_msg_f report)
SOFIAPUBFUN void su_msg_save (su_msg_r msg, su_msg_r msg0)
SOFIAPUBFUN int su_msg_send (su_msg_r msg)
SOFIAPUBFUN int su_msg_send_to (su_msg_r msg, su_task_r const to, su_msg_f wakeup)
SOFIAPUBFUN isize_t su_msg_size (su_msg_cr msg)
SOFIAPUBFUN _su_task_r su_msg_to (su_msg_cr msg)
SOFIAPUBFUN void su_port_prefer (su_port_create_f *f, su_clone_start_f *)
SOFIAPUBFUN int su_root_add_prepoll (su_root_t *root, su_prepoll_f *, su_prepoll_magic_t *)
SOFIAPUBFUN void su_root_break (su_root_t *root)
SOFIAPUBFUN su_root_tsu_root_clone (su_root_t *root, su_root_magic_t *magic) __attribute__((__malloc__))
SOFIAPUBFUN su_root_tsu_root_create (su_root_magic_t *magic) __attribute__((__malloc__))
SOFIAPUBFUN int su_root_deregister (su_root_t *, int)
SOFIAPUBFUN void su_root_destroy (su_root_t *)
SOFIAPUBFUN int su_root_eventmask (su_root_t *, int index, int socket, int events)
SOFIAPUBFUN su_duration_t su_root_get_max_defer (su_root_t const *self)
SOFIAPUBFUN struct _GSource * su_root_gsource (su_root_t *self)
SOFIAPUBFUN int su_root_has_thread (su_root_t *root)
SOFIAPUBFUN su_root_magic_tsu_root_magic (su_root_t *root)
SOFIAPUBFUN int su_root_multishot (su_root_t *root, int multishot)
SOFIAPUBFUN char const * su_root_name (su_root_t *self)
SOFIAPUBFUN int su_root_obtain (su_root_t *root)
SOFIAPUBFUN _su_task_r su_root_parent (su_root_t const *root)
SOFIAPUBFUN int su_root_register (su_root_t *, su_wait_t *, su_wakeup_f, su_wakeup_arg_t *, int priority)
SOFIAPUBFUN int su_root_release (su_root_t *root)
SOFIAPUBFUN int su_root_remove_prepoll (su_root_t *root)
SOFIAPUBFUN void su_root_run (su_root_t *root)
SOFIAPUBFUN int su_root_set_magic (su_root_t *self, su_root_magic_t *magic)
SOFIAPUBFUN int su_root_set_max_defer (su_root_t *, su_duration_t max_defer)
SOFIAPUBFUN su_duration_t su_root_sleep (su_root_t *root, su_duration_t)
SOFIAPUBFUN su_time64_t su_root_stamp64 (su_root_t const *)
SOFIAPUBFUN su_dur64_t su_root_stamp64_offset (su_root_t const *)
SOFIAPUBFUN su_duration_t su_root_step (su_root_t *root, su_duration_t timeout)
SOFIAPUBFUN _su_task_r su_root_task (su_root_t const *root)
SOFIAPUBFUN int su_root_threading (su_root_t *self, int enable)
SOFIAPUBFUN int su_root_unregister (su_root_t *, su_wait_t *, su_wakeup_f, su_wakeup_arg_t *)
SOFIAPUBFUN int su_root_yield (su_root_t *root)
SOFIAPUBFUN int su_task_cmp (su_task_r const, su_task_r const)
SOFIAPUBFUN void su_task_copy (su_task_r dst, su_task_r const src)
SOFIAPUBFUN su_timer_queue_t * su_task_deferrable (su_task_r const task)
SOFIAPUBFUN void su_task_deinit (su_task_r task)
SOFIAPUBFUN int su_task_execute (su_task_r const task, int(*function)(void *), void *arg, int *return_value)
SOFIAPUBFUN _su_task_r su_task_init (su_task_r task)
SOFIAPUBFUN int su_task_is_running (su_task_r const)
SOFIAPUBFUN void su_task_move (su_task_r dst, su_task_r src)
SOFIAPUBFUN su_root_tsu_task_root (su_task_r const self)
SOFIAPUBFUN su_timer_queue_t * su_task_timers (su_task_r const self)
SOFIAPUBFUN int su_task_wakeup (su_task_r const task)
SOFIAPUBFUN su_timer_tsu_timer_create (su_task_r const, su_duration_t msec) __attribute__((__malloc__))
SOFIAPUBFUN int su_timer_deferrable (su_timer_t *t, int value)
SOFIAPUBFUN void su_timer_destroy (su_timer_t *)
SOFIAPUBFUN int su_timer_expire (su_timer_queue_t *const, su_duration_t *tout, su_time_t now)
SOFIAPUBFUN int su_timer_is_set (su_timer_t const *t)
SOFIAPUBFUN su_time_t su_timer_latest (su_timer_t const *t)
SOFIAPUBFUN int su_timer_reset (su_timer_t *)
SOFIAPUBFUN su_root_tsu_timer_root (su_timer_t const *)
SOFIAPUBFUN int su_timer_run (su_timer_t *, su_timer_f, su_timer_arg_t *)
SOFIAPUBFUN int su_timer_set (su_timer_t *, su_timer_f, su_timer_arg_t *)
SOFIAPUBFUN int su_timer_set_at (su_timer_t *, su_timer_f, su_timer_arg_t *, su_time_t)
SOFIAPUBFUN int su_timer_set_for_ever (su_timer_t *, su_timer_f, su_timer_arg_t *)
SOFIAPUBFUN int su_timer_set_interval (su_timer_t *t, su_timer_f, su_timer_arg_t *, su_duration_t)
SOFIAPUBFUN int su_wait (su_wait_t waits[], unsigned n, su_duration_t timeout)
SOFIAPUBFUN int su_wait_create (su_wait_t *dst, su_socket_t s, int events)
SOFIAPUBFUN int su_wait_destroy (su_wait_t *dst)
SOFIAPUBFUN int su_wait_events (su_wait_t *wait, su_socket_t s)
SOFIAPUBFUN void su_wait_init (su_wait_t dst[1])
SOFIAPUBFUN int su_wait_mask (su_wait_t *dst, su_socket_t s, int events)

Variables

SOFIAPUBFUN su_clone_start_f su_default_clone_start
SOFIAPUBFUN su_port_create_f su_default_port_create
SOFIAPUBFUN su_clone_start_f su_devpoll_clone_start
SOFIAPUBFUN su_port_create_f su_devpoll_port_create
SOFIAPUBFUN su_clone_start_f su_epoll_clone_start
SOFIAPUBFUN su_port_create_f su_epoll_port_create
SOFIAPUBFUN su_clone_start_f su_kqueue_clone_start
SOFIAPUBFUN su_port_create_f su_kqueue_port_create
SOFIAPUBFUN su_clone_start_f su_poll_clone_start
SOFIAPUBFUN su_port_create_f su_poll_port_create
SOFIAPUBVAR int su_root_size_hint
SOFIAPUBFUN su_clone_start_f su_select_clone_start
SOFIAPUBFUN su_port_create_f su_select_port_create
SOFIAPUBVAR su_task_r const su_task_null
SOFIAPUBFUN su_clone_start_f su_wsaevent_clone_start
SOFIAPUBFUN su_port_create_f su_wsaevent_port_create

Detailed Description

Syncronization and threading interface.

Author:
Pekka Pessi <Pekka.Pessi@nokia.com>
Martti Mela <Martti.Mela@nokia.com>
Date:
Created: Tue Sep 14 15:51:04 1999 ppessi

Definition in file su_wait.h.


Generated by  Doxygen 1.6.0   Back to index