libguac  0.9.12-incubating
Typedefs
socket-fntypes.h File Reference

Function type definitions related to the guac_socket object. More...

Go to the source code of this file.

Typedefs

typedef ssize_t guac_socket_read_handler(guac_socket *socket, void *buf, size_t count)
 Generic read handler for socket read operations, modeled after the standard POSIX read() function. More...
 
typedef ssize_t guac_socket_write_handler(guac_socket *socket, const void *buf, size_t count)
 Generic write handler for socket write operations, modeled after the standard POSIX write() function. More...
 
typedef int guac_socket_select_handler(guac_socket *socket, int usec_timeout)
 Generic handler for socket select operations, similar to the POSIX select() function. More...
 
typedef ssize_t guac_socket_flush_handler(guac_socket *socket)
 Generic flush handler for socket flush operations. More...
 
typedef void guac_socket_lock_handler(guac_socket *socket)
 When set within a guac_socket, a handler of this type will be called whenever exclusive access to the guac_socket is required, such as when guac_socket_instruction_begin() is called. More...
 
typedef void guac_socket_unlock_handler(guac_socket *socket)
 When set within a guac_socket, a handler of this type will be called whenever exclusive access to the guac_socket is no longer required, such as when guac_socket_instruction_end() is called. More...
 
typedef int guac_socket_free_handler(guac_socket *socket)
 Generic handler for the closing of a socket, modeled after the standard POSIX close() function. More...
 

Detailed Description

Function type definitions related to the guac_socket object.

Typedef Documentation

typedef ssize_t guac_socket_flush_handler(guac_socket *socket)

Generic flush handler for socket flush operations.

This function is not modeled after any POSIX function. When set within a guac_socket, a handler of this type will be called when guac_socket_flush() is called.

Parameters
socketThe guac_socket being flushed.
Returns
Zero on success, or non-zero if an error occurs during flush.
typedef int guac_socket_free_handler(guac_socket *socket)

Generic handler for the closing of a socket, modeled after the standard POSIX close() function.

When set within a guac_socket, a handler of this type will be called when the socket is closed.

Parameters
socketThe guac_socket being closed.
Returns
Zero on success, or -1 if an error occurs.
typedef void guac_socket_lock_handler(guac_socket *socket)

When set within a guac_socket, a handler of this type will be called whenever exclusive access to the guac_socket is required, such as when guac_socket_instruction_begin() is called.

Parameters
socketThe guac_socket to which exclusive access is required.
typedef ssize_t guac_socket_read_handler(guac_socket *socket, void *buf, size_t count)

Generic read handler for socket read operations, modeled after the standard POSIX read() function.

When set within a guac_socket, a handler of this type will be called when data needs to be read into the socket.

Parameters
socketThe guac_socket being read from.
bufThe arbitrary buffer we must populate with data.
countThe maximum number of bytes to read into the buffer.
Returns
The number of bytes read, or -1 if an error occurs.
typedef int guac_socket_select_handler(guac_socket *socket, int usec_timeout)

Generic handler for socket select operations, similar to the POSIX select() function.

When guac_socket_select() is called on a guac_socket, its guac_socket_select_handler will be invoked, if defined.

Parameters
socketThe guac_socket being selected.
usec_timeoutThe maximum number of microseconds to wait for data, or -1 to potentially wait forever.
Returns
Positive on success, zero if the timeout elapsed and no data is available, negative on error.
typedef void guac_socket_unlock_handler(guac_socket *socket)

When set within a guac_socket, a handler of this type will be called whenever exclusive access to the guac_socket is no longer required, such as when guac_socket_instruction_end() is called.

Parameters
socketThe guac_socket to which exclusive access is no longer required.
typedef ssize_t guac_socket_write_handler(guac_socket *socket, const void *buf, size_t count)

Generic write handler for socket write operations, modeled after the standard POSIX write() function.

When set within a guac_socket, a handler of this type will be called when data needs to be written to the socket.

Parameters
socketThe guac_socket being written to.
bufThe arbitrary buffer containing data to be written.
countThe maximum number of bytes to written to the buffer.
Returns
The number of bytes written, or -1 if an error occurs.