fault.system

Type_GetInterface10%
macro

Type_GetInterface()

Channel_GetInterface
macro

Channel_GetInterface()

TS_INTERNAL10%
define

#define TS_INTERNAL 0

TS_EXTERNAL
define

#define TS_EXTERNAL 1

TS_CONTROLS
define

#define TS_CONTROLS 2

Channel_IAddress
macro

Channel_IAddress()

Channel_XAddress
macro

Channel_XAddress()

Channel_CAddress
macro

Channel_CAddress()

Channel_Termination
define

#define Channel_Termination (Channel_IAddress(teq_terminate) | Channel_XAddress(teq_terminate))

Channel_Transferrence
define

#define Channel_Transferrence (Channel_IAddress(teq_transfer) | Channel_XAddress(teq_transfer))

Channel_DQualify
macro

Channel_DQualify()

Channel_DControl
macro

Channel_DControl()

Channel_DQualified
macro

Channel_DQualified()

Channel_IQualified
macro

Channel_IQualified()

Channel_IQualify
macro

Channel_IQualify()

Channel_INQualify
macro

Channel_INQualify()

Channel_XQualified
macro

Channel_XQualified()

Channel_XQualify
macro

Channel_XQualify()

Channel_XNQualify
macro

Channel_XNQualify()

Channel_GetControl
macro

Channel_GetControl()

Channel_SetControl
macro

Channel_SetControl()

Channel_NulControl30%
macro

Channel_NulControl()

Channel_Terminated40%
macro

Channel_Terminated()

Channel_Terminating70%
macro

Channel_Terminating()

Channel_GetWindow10%
macro

Channel_GetWindow()

Channel_GetWindowStart20%
macro

Channel_GetWindowStart()

Channel_GetWindowStop20%
macro

Channel_GetWindowStop()

Channel_SetWindowStart20%
macro

Channel_SetWindowStart()

Channel_SetWindowStop20%
macro

Channel_SetWindowStop()

Channel_SetWindow50%
macro

Channel_SetWindow()

Channel_WindowLimit
macro

Channel_WindowLimit()

Channel_WindowIsEmpty30%
macro

Channel_WindowIsEmpty()

Channel_ClearWindow50%
macro

Channel_ClearWindow()

Channel_NarrowWindow20%
macro

Channel_NarrowWindow()

Channel_ExpandWindow20%
macro

Channel_ExpandWindow()

Channel_CollapseWindow20%
macro

Channel_CollapseWindow()

Channel_GetResource10%
macro

Channel_GetResource()

Channel_HasResource20%
macro

Channel_HasResource()

Channel_SetResource20%
macro

Channel_SetResource()

Channel_GetResourceView10%
macro

Channel_GetResourceView()

Channel_GetResourceBuffer10%
macro

Channel_GetResourceBuffer()

Channel_GetResourceSize10%
macro

Channel_GetResourceSize()

Channel_ShouldTerminate30%
macro

Channel_ShouldTerminate()

Channel_ShouldTransfer40%
macro

Channel_ShouldTransfer()

Channel_EventState30%
macro

Channel_EventState()

Channel_ShouldXConnect20%
macro

Channel_ShouldXConnect()

Channel_GetPort10%
macro

Channel_GetPort()

Channel_SetPort20%
macro

Channel_SetPort()

Port_Latch50%
macro

Port_Latch()

Channel_PortError20%
macro

Channel_PortError()

Channel_PortLatched10%
macro

Channel_PortLatched()

Channel_GetKPoint20%
macro

Channel_GetKPoint()

Channel_SetKPoint
macro

Channel_SetKPoint()

Channel_GetKError
macro

Channel_GetKError()

Channel_SetKError
macro

Channel_SetKError()

Channel_GetKCall
macro

Channel_GetKCall()

Channel_SetKCall
macro

Channel_SetKCall()

Channel_GetKType
macro

Channel_GetKType()

Channel_SetKType
macro

Channel_SetKType()

Channel_GetArray10%
macro

Channel_GetArray()

Channel_GetArrayPort
macro

Channel_GetArrayPort()

Channel_SetArray20%
macro

Channel_SetArray()

Channel_Attached10%
macro

Channel_Attached()

Channel_HasEvent20%
macro

Channel_HasEvent()

Channel_NoteEvent20%
macro

Channel_NoteEvent()

Channel_RemoveEvent
macro

Channel_RemoveEvent()

Channel_ClearEvents20%
macro

Channel_ClearEvents()

Channel_State10%
macro

Channel_State()

Channel_StateMerge20%
macro

Channel_StateMerge()

Channel_GetEvents10%
macro

Channel_GetEvents()

Channel_GetDelta10%
macro

Channel_GetDelta()

Channel_SetEvents20%
macro

Channel_SetEvents()

Channel_SetDelta20%
macro

Channel_SetDelta()

Channel_ClearDelta20%
macro

Channel_ClearDelta()

Channel_InCycle20%
macro

Channel_InCycle()

Channel_Polarity40%
macro

Channel_Polarity()

Channel_Receives20%
macro

Channel_Receives()

Channel_Sends20%
macro

Channel_Sends()

Array_HasTransfers20%
macro

Array_HasTransfers()

Array_ShouldWait40%
macro

Array_ShouldWait()

Array_GetKEvents10%
macro

Array_GetKEvents()

Array_SetKEvents20%
macro

Array_SetKEvents()

Array_GetKEventSlot20%
macro

Array_GetKEventSlot()

Array_ResetWindow40%
macro

Array_ResetWindow()

Array_NCollected10%
define

#define Array_NCollected Channel_GetWindowStart

Array_SetNCollected10%
define

#define Array_SetNCollected Channel_SetWindowStart

Array_NChanges20%
macro

Array_NChanges()

Array_MaxCollected20%
macro

Array_MaxCollected()

Array_ConsumeKEventSlot20%
macro

Array_ConsumeKEventSlot()

Array_GetTransferCount10%
macro

Array_GetTransferCount()

Array_IncrementTransferCount20%
macro

Array_IncrementTransferCount()

Array_ResetTransferCount20%
macro

Array_ResetTransferCount()

Array_GetWaitLimit10%
macro

Array_GetWaitLimit()

Array_SetWaitLimit30%
macro

Array_SetWaitLimit()

Channel_HEAD
define

#define Channel_HEAD \
	PyObject_HEAD \
	Array array;        /* channel controller */ \
	PyObj link;         /* User storage usually used by callbacks. */ \
	Channel prev, next; /* channel ring */ \
	Channel lltransfer; /* linked list pointer to next evented Channel */ \
	Port port;          /* Port for Kernel communication */ \
	\
	transfer_window_t window; /* The area of the resource that was transferred. */ \
	\
	/* state flags */ \
	uint8_t delta;  /* delta to apply to the state; new internal equals (GIL) */ \
	/* */ \
	uint8_t state;  /* bit map of equals (event qualifications) */ \
	/* */ \
	uint8_t events; /* bit map of produced events */

Channel_BODY
define

#define Channel_BODY \
	PyObj resource; \
	Py_buffer view;

ChannelInterface
structure

ChannelInterface methods for a given type Attached to object system's type; not individual instances.

ChannelInterfaceio
field
int[2]

ChannelInterfaceti_freight
field
int

ChannelInterfaceti_unit
field
int

ChannelInterface()

ChannelInterface methods for a given type Attached to object system's type; not individual instances.

ChannelPyTypeObject
structure

ChannelInterface is used internally by Arrays to perform transfers. tif.* are the interfaces used by Array [I/O] cycles. Whereas typ.* are the interfaces used by Python.

ChannelPyTypeObjecttyp
field
int

ChannelPyTypeObjecttif
field
struct ChannelInterface *

ChannelPyTypeObject()

ChannelInterface is used internally by Arrays to perform transfers. tif.* are the interfaces used by Array [I/O] cycles. Whereas typ.* are the interfaces used by Python.

ChannelInterface is used internally by Arrays to perform transfers. tif.* are the interfaces used by Array [I/O] cycles. Whereas typ.* are the interfaces used by Python.

channel_event_t
enumeration

channel_event_t()

Generalized events used by all channels

channel_event_t()

Generalized events used by all channels

channel_event_t()

Generalized events used by all channels

tev_terminate
constant

tev_terminate()

tev_terminate()

tev_transfer
constant

tev_transfer()

tev_transfer()

tev_terminal_
constant

tev_terminal_()

tev_terminal_()

channel_equal
enumeration

channel_equal()

event qualifications

Pairs of qualifications must occur in order to produce an event. (Kernel Qualification and Process Qualification)

channel_equal()

event qualifications

Pairs of qualifications must occur in order to produce an event. (Kernel Qualification and Process Qualification)

teq_terminate
constant

teq_terminate()

teq_terminate()

teq_transfer
constant

teq_transfer()

teq_transfer()

teq_terminal_
constant

teq_terminal_()

teq_terminal_()

channel_control
enumeration

channel_control()

ctl_polarity
constant

ctl_polarity()

ctl_force
constant

ctl_force()

ctl_requeue
constant

ctl_requeue()

ctl_connect
constant

ctl_connect()

transfer_window_t
typedef
int[2]

transfer_window_t()

Channel
structure

Normal Channel structure.

Channel()

Array
structure

The Array structure is equivalent to Channel. It is provided for distinction.

Arraykevents
field
int *

Arrayntransfers
field
int

Arraywill_wait
field
int

Arraynchannels
field
int

Arraytimespec
structure

Arraywaitlimit
field
struct timespec

Array()

_SYSTEM_IO_PORT_H_included_
define

#define _SYSTEM_IO_PORT_H_included_

DEFAULT_BACKLOG
define

#define DEFAULT_BACKLOG 64

CONFIG_OPEN_FLAGS
define

#define CONFIG_OPEN_FLAGS 0

AGAIN
define

#define AGAIN EAGAIN

SIZE_T_MAX
define

#define SIZE_T_MAX SIZE_MAX

EVMECH_KQUEUE
define

#define EVMECH_KQUEUE

KQ_FILTERS
macro

KQ_FILTERS()

KQ_FLAGS
macro

KQ_FLAGS()

SIGNED_MAX
macro

SIGNED_MAX()

SIGNED_MIN
macro

SIGNED_MIN()

Port_SetError
macro

Port_SetError()

Port_NoteError
macro

Port_NoteError()

Ports_NoteError
macro

Ports_NoteError()

kevent
structure

kevent_t
typedef
struct kevent

kevent_t()

freight
enumeration

freight()

Freight types conveyed by a Channel.

freight()

Freight types conveyed by a Channel.

f_void
constant

f_void()

f_void()

f_events
constant

f_events()

f_events()

f_octets
constant

f_octets()

f_octets()

f_datagrams
constant

f_datagrams()

f_datagrams()

f_sockets
constant

f_sockets()

f_sockets()

f_ports
constant

f_ports()

f_ports()

freight_t
typedef
enum freight

freight_t()

Freight types conveyed by a Channel.

ktype
enumeration

ktype()

local identifiers for the particular types of file descriptors. Primarily used in cases where the channel supports multiple kinds.

ktype()

local identifiers for the particular types of file descriptors. Primarily used in cases where the channel supports multiple kinds.

kt_unknown
constant

kt_unknown()

kt_unknown()

kt_socket
constant

kt_socket()

kt_socket()

kt_pipe
constant

kt_pipe()

kt_pipe()

kt_fifo
constant

kt_fifo()

kt_fifo()

kt_device
constant

kt_device()

kt_device()

kt_tty
constant

kt_tty()

kt_tty()

kt_file
constant

kt_file()

kt_file()

kt_kqueue
constant

kt_kqueue()

kt_kqueue()

kt_bad
constant

kt_bad()

kt_bad()

ktype_t
typedef
enum ktype

ktype_t()

local identifiers for the particular types of file descriptors. Primarily used in cases where the channel supports multiple kinds.

io_status
enumeration

io_status()

Channel status codes used to signal the reaction to the success or failure of a system call.

io_status()

Channel status codes used to signal the reaction to the success or failure of a system call.

io_stop
constant

io_stop()

io_stop()

io_flow
constant

io_flow()

io_flow()

io_terminate
constant

io_terminate()

io_terminate()

io_status_t
typedef
enum io_status

io_status_t()

Channel status codes used to signal the reaction to the success or failure of a system call.

Port
structure

Kernel Port (file descriptor) structure representation.

This structure exists because of sockets. It was the best way to allow the Channels to synchronize their release of the file descriptor resource. Arguably, a bitmap could be used as well, but this easier and provides utility beyond that necessity. (port specific introspection)

Portkport_t
field
int

Porterror
field
kerror_t

Portcause
field
int

Porttype
field
int

Portfreight
field
int

Portlatches
field
int

Port()

Kernel Port (file descriptor) structure representation.

This structure exists because of sockets. It was the best way to allow the Channels to synchronize their release of the file descriptor resource. Arguably, a bitmap could be used as well, but this easier and provides utility beyond that necessity. (port specific introspection)

io_op_t
typedef
io_status_t (*)(Port, int *, void *, int)

io_op_t()

I/O operation pointer used by ChannelType class instances to specify the read and write operation.

CONFIG_DEFAULT_ARRAY_SIZE
define

#define CONFIG_DEFAULT_ARRAY_SIZE 16

errpf
macro

errpf()

errpf()

XDEF
define

#define XDEF(D, S) case D: return( #D );
#define XDEF(sym, estr) case sym: str = estr; break;

MIN10%
macro

MIN()

KC
define

#define KC(x) if (strcmp(#x, str) == 0) return (kc_##x); else
#define KC(x) case kc_##x: return(#x);

PyErr_SetChannelTerminatedError
macro

PyErr_SetChannelTerminatedError()

PyErr_SetChannelResourceError
macro

PyErr_SetChannelResourceError()

INIT_CHANNEL
macro

INIT_CHANNEL()

INIT_INPUT_CHANNEL
macro

INIT_INPUT_CHANNEL()

INIT_OUTPUT_CHANNEL
macro

INIT_OUTPUT_CHANNEL()

Array_Cycling
macro

Array_Cycling()

Array_GetChannelCount
macro

Array_GetChannelCount()

Array_ResetChannelCount
macro

Array_ResetChannelCount()

Array_IncrementChannelCount
macro

Array_IncrementChannelCount()

Array_DecrementChannelCount
macro

Array_DecrementChannelCount()

Channel_EnqueueDelta
macro

Channel_EnqueueDelta()

Channel_GetNextTransfer
macro

Channel_GetNextTransfer()

Channel_IsTransfer
macro

Channel_IsTransfer()

Channel_SetNextTransfer
macro

Channel_SetNextTransfer()

Array_AddTransfer
macro

Array_AddTransfer()

CHANNEL_JOIN
macro

CHANNEL_JOIN()

CHANNEL_ATTACH_SEGMENT_BEFORE
macro

CHANNEL_ATTACH_SEGMENT_BEFORE()

CHANNEL_ATTACH_SEGMENT_AFTER
macro

CHANNEL_ATTACH_SEGMENT_AFTER()

CHANNEL_RELOCATE_SEGMENT_AFTER
macro

CHANNEL_RELOCATE_SEGMENT_AFTER()

CHANNEL_DETACH_SEGMENT
macro

CHANNEL_DETACH_SEGMENT()

CHANNEL_RELOCATE_SEGMENT_BEFORE
macro

CHANNEL_RELOCATE_SEGMENT_BEFORE()

CHANNEL_DETACH
macro

CHANNEL_DETACH()

CHANNEL_ATTACH_BEFORE
macro

CHANNEL_ATTACH_BEFORE()

CHANNEL_ATTACH_AFTER
macro

CHANNEL_ATTACH_AFTER()

CHANNEL_ATTACH
macro

CHANNEL_ATTACH()

Channel_GetResourceArray
macro

Channel_GetResourceArray()

Channel_GetRemainder
macro

Channel_GetRemainder()

alloc_quad
macro

alloc_quad()

alloc_pair
macro

alloc_pair()

trace
define

#define trace(...)

MODULE_FUNCTIONS
macro

MODULE_FUNCTIONS()

ID
define

#define ID(NAME, IGNORED) \
	if (PyType_Ready((PyTypeObject *) &( NAME##Type ))) \
		goto error; \
	if (PyModule_AddObject(module, #NAME, (PyObj) &( NAME##Type )) < 0) \
		goto error;
#define ID(x, y) typedef struct x * x;
#define ID(x, y) extern PyTypeObject x##Type;

errname50%
function
const char *

errname(err)

Get the name of the errno.

polarity_t30%
enumeration

polarity_t()

polarity_t()

p_output
constant

p_output()

p_neutral
constant

p_neutral()

p_input
constant

p_input()

freight_charcode180%
function
char

freight_charcode(f)

freight_identifier120%
function
const char *

freight_identifier(f)

ktype_string270%
function
char *

ktype_string(kt)

kcall_id70%
function
kcall_t

kcall_id(str)

kcall_identifier80%
function
const char *

kcall_identifier(kc)

socket_receive_buffer10%
function
int

socket_receive_buffer(kp)

socket_receive_buffer(kp)

socket_send_buffer20%
function
int

socket_send_buffer(kp)

socket_send_buffer(kp)

path10%
function
PyObj

path(kp)

port_raised80%
function
PyObj

port_raised(self)

Set a Python error from the errno associated with the port.

port_exception90%
function
PyObj

port_exception(self)

Return a Python error from the errno associated with the port.

port_leak50%
function
PyObj

port_leak(self)

port_shatter50%
function
PyObj

port_shatter(self)

port_get_freight10%
function
PyObj

port_get_freight(self, _)

port_get_call40%
function
PyObj

port_get_call(self, _)

port_get_error_name10%
function
PyObj

port_get_error_name(self, _)

port_get_error_description100%
function
PyObj

port_get_error_description(self, _)

port_get_posix_description70%
function
PyObj

port_get_posix_description(self, _)

port_str70%
function
PyObj

port_str(self)

String representation suitable for text based displays.

port_repr20%
function
PyObj

port_repr(self)

port_new120%
function
PyObj

port_new(subtype, args, kw)

port_dealloc90%
function
void

port_dealloc(self)

Datagrams
structure

Datagrams Channel Structure.

Datagrams()

Channel_ReleaseResource80%
function
void

Channel_ReleaseResource(t)

Requires GIL.

kfilter_cancel80%
function
void

kfilter_cancel(t, kev)

kfilter_attach80%
function
void

kfilter_attach(t, kev)

jxi
structure

Iterator created by kernel.Array.transfer().

Given that this is restricted to iteration, the type is not exposed on the module.

jxiJ
field
Array

Subject Array producing events.

jxit
field
Channel

Position in transfer linked list.

jxi_next300%
function
PyObj

jxi_next(self)

Iterator protocol next implementation.

jxi_dealloc60%
function
void

jxi_dealloc(self)

jxi_iter20%
function
PyObj

jxi_iter(self)

new_jxi100%
function
PyObj

new_jxi(J, polarity)

channel_can_acquire50%
function
char

channel_can_acquire(t)

channel_acquire340%
function
PyObj

channel_acquire(self, resource)

Acquire a resource for faciliting a transfer. Qualifies the Channel for transfers.

The given resource object is set on the Channel and the memory buffer is filled out based on the direction of the channel. If the Channel has been acquired by a Array, the Channel will be marked and enqueued for a subsequent transfer attempt. Otherwise, the Channel is qualified for transfer allowing the subsequent array_acquire to ready a transfer.

channel_force90%
function
PyObj

channel_force(self)

channel_slice80%
function
PyObj

channel_slice(self)

channel_transfer200%
function
PyObj

channel_transfer(self)

channel_sizeof_transfer110%
function
PyObj

channel_sizeof_transfer(self)

channel_terminate180%
function
PyObj

channel_terminate(self)

channel_resize_exoresource20%
function
PyObj

channel_resize_exoresource(self, args)

channel_endpoint580%
function
PyObj

channel_endpoint(self)

channel_dealloc80%
function
void

channel_dealloc(self)

channel_get_polarity70%
function
PyObj

channel_get_polarity(self, _)

channel_get_terminated70%
function
PyObj

channel_get_terminated(self, _)

channel_get_exhausted150%
function
PyObj

channel_get_exhausted(self, _)

channel_get_resource70%
function
PyObj

channel_get_resource(self, _)

octets_resize_exoresource150%
function
PyObj

octets_resize_exoresource(self, args)

alloc_port60%
function
Port

alloc_port()

allockq240%
function
PyObj

allockq(isubtype, out)

alloci160%
function
PyObj

alloci(isubtype, out)

alloco160%
function
PyObj

alloco(osubtype, out)

allocio350%
function
PyObj

allocio(isubtype, osubtype, out)

Create a pair of Objects and put them in a tuple to be returned.

allociopair10%
function
PyObj

allociopair(isubtype, osubtype, p)

Same as allocio, but the Ports for each Channel are distinct objects. (os.pipe(), dup() pairs.

DatagramArray
structure

Structure for kernel.DatagramArray providing access to the composition of datagrams to be emitted or received.

DatagramArrayngrams
field
int

Number of entries in indexes.

DatagramArrayaddrlen
field
int

Address Length of endpoints.

DatagramArraypf
field
int

Packet Family of endpoints.

DatagramArrayspace
field
int

Address Space of endpoints.

DatagramArraydata
field
Py_buffer

Current transfer.

DatagramArrayindexes
field
struct Datagram *[0]

The indexes to the Datagrams held by the Array inside the buffer, data.

datagramarray_get_memory250%
function
PyObj

datagramarray_get_memory(dga, offset)

datagramarray_get_endpoint70%
function
PyObj

datagramarray_get_endpoint(dga, offset)

datagramarray_payload50%
function
PyObj

datagramarray_payload(self, args)

datagramarray_endpoint50%
function
PyObj

datagramarray_endpoint(self, args)

datagramarray_set_endpoint280%
function
PyObj

datagramarray_set_endpoint(self, args)

allocdga450%
function
PyObj

allocdga(subtype, pf, space, ngrams)

slicedga340%
function
PyObj

slicedga(src, start, stop)

datagramarray_new180%
function
PyObj

datagramarray_new(subtype, args, kw)

datagramarray_length10%
function
Py_ssize_t

datagramarray_length(self)

datagramarray_getitem240%
function
PyObj

datagramarray_getitem(self, index)

datagramarray_subscript270%
function
PyObj

datagramarray_subscript(self, item)

datagramarray_getbuffer40%
function
int

datagramarray_getbuffer(self, view, flags)

datagramarray_iter10%
function
PyObj

datagramarray_iter(self)

datagramarray_dealloc50%
function
void

datagramarray_dealloc(self)

datagrams_transfer200%
function
PyObj

datagrams_transfer(self)

array_resize_exoresource170%
function
PyObj

array_resize_exoresource(self, args)

array_acquire350%
function
PyObj

array_acquire(self, ob)

array_init90%
function
void

array_init(J)

array_start_cycle20%
function
void

array_start_cycle(J)

array_finish_cycle30%
function
void

array_finish_cycle(J)

array_kevent_change70%
function
void

array_kevent_change(J)

array_kevent_collect90%
function
void

array_kevent_collect(J, waiting)

array_reload40%
function
void

array_reload(J)

Note tev_join events on all Channels.

Run before array_transfer_delta to have all Channel's corresponding kevent filter to be loaded.

array_transfer_delta110%
function
void

array_transfer_delta(J)

Enqueue the delta into the lltransfer list.

array_current_kevent_slot40%
function
kevent_t *

array_current_kevent_slot(J)

array_apply_delta300%
function
void

array_apply_delta(J)

Process delta and setup for event processing

array_kevent_transform260%
function
void

array_kevent_transform(J)

Transform the collected events into local Channel state. Place actionable events onto their respective transfer list.

array_fall140%
function
int

array_fall(J, force)

array_force80%
function
PyObj

array_force(self)

array_wait70%
function
PyObj

array_wait(self, args)

_array_terminate110%
function
void

_array_terminate(J)

_array_flow670%
function
void

_array_flow(J)

Collect and process events.

array_transfer60%
function
PyObj

array_transfer(self)

Return an iterable to the collected events. kernel.Array.transfer

array_sizeof_transfer70%
function
PyObj

array_sizeof_transfer(self)

_array_flush290%
function
void

_array_flush(J)

array_void200%
function
PyObj

array_void(self)

Close file descriptors and release references; destroy entire ring.

array_terminate80%
function
PyObj

array_terminate(self)

array_enter150%
function
PyObj

array_enter(self)

Begin a transfer processing cycle.

array_exit50%
function
PyObj

array_exit(self, args)

Close a transfer processing cycle.

array_get_resource190%
function
PyObj

array_get_resource(self, _)

array_dealloc20%
function
void

array_dealloc(self)

array_new190%
function
PyObj

array_new(subtype, args, kw)

_talloc_octets_input130%
function
PyObj

_talloc_octets_input(module, param)

_talloc_octets_output130%
function
PyObj

_talloc_octets_output(module, param)

_talloc_datagrams_socket130%
function
PyObj

_talloc_datagrams_socket(module, param)

_talloc_octets_socket130%
function
PyObj

_talloc_octets_socket(module, param)

_RETRY_STATE50%
define

#define _RETRY_STATE _avail_retries

RETRY_STATE_INIT40%
define

#define RETRY_STATE_INIT int _RETRY_STATE = CONFIG_SYSCALL_RETRY

LIMITED_RETRY120%
macro

LIMITED_RETRY()

UNLIMITED_RETRY30%
macro

UNLIMITED_RETRY()

CONFIG_TRAFFIC_PORTS_PER_CALL30%
define

#define CONFIG_TRAFFIC_PORTS_PER_CALL 1

port_nosigpipe
macro

port_nosigpipe()

pbin
macro

pbin()

map_st_mode310%
function
ktype_t

map_st_mode(mode)

port_identify_type340%
function
int

port_identify_type(p)

stat30%
structure

port_getpeername300%
function
int

port_getpeername(p, addr, addrlen)

port_getsockname360%
function
int

port_getsockname(p, addr, addrlen)

port_set_socket_option390%
function
int

port_set_socket_option(p, option, setting)

port_kqueue510%
function
int

port_kqueue(p)

port_kevent540%
function
int

port_kevent(p, retry, out, changes, nchanges, events, nevents, timeout)

port_listen270%
function
int

port_listen(p, backlog)

init_socket140%
function
void

init_socket(kp)

These are technically optional, so clear errno and do not report failures. XXX: socket option warnings may be useful.

init_listening_socket70%
function
void

init_listening_socket(kp)

port_init_socket40%
function
int

port_init_socket(p)

port_init_listening_socket40%
function
int

port_init_listening_socket(p)

port_noblocking190%
function
int

port_noblocking(p)

port_unlatch580%
function
void

port_unlatch(p, times)

Method to "close" a port. Manages the reference counts and the effect of the close.

port_input_octets410%
function
io_status_t

port_input_octets(p, consumed, buf, size)

port_output_octets380%
function
io_status_t

port_output_octets(p, consumed, buf, size)

port_input_datagrams380%
function
io_status_t

port_input_datagrams(p, consumed, dg, quantity)

port_output_datagrams390%
function
io_status_t

port_output_datagrams(p, consumed, dg, quantity)

ports_identify_socket190%
function
int

ports_identify_socket(p)

ports_identify_input110%
function
int

ports_identify_input(p)

ports_identify_output140%
function
int

ports_identify_output(p)

channeltype
define

#define channeltype   ((PyObject *) &ChannelType)

arraytype
define

#define arraytype     ((PyObject *) &ArrayType)

octetstype
define

#define octetstype    ((PyObject *) &OctetsType)

datagramstype
define

#define datagramstype ((PyObject *) &DatagramsType)

porttype
define

#define porttype      ((PyObject *) &PortType)

endpointtype
define

#define endpointtype  ((PyObject *) &EndpointType)

CHANNEL_TYPES90%
macro

CHANNEL_TYPES()

PY_TYPES50%
macro

PY_TYPES()

DatagramHeaderSize10%
define

#define DatagramHeaderSize (sizeof(struct Datagram))

DatagramGetAddress20%
macro

DatagramGetAddress()

DatagramGetData20%
macro

DatagramGetData()

DatagramGetSize10%
macro

DatagramGetSize()

DatagramSetSize20%
macro

DatagramSetSize()

DatagramGetSpace10%
macro

DatagramGetSpace()

DatagramSetSpace
macro

DatagramSetSpace()

DatagramGetAddressLength10%
macro

DatagramGetAddressLength()

DatagramCalculateUnit20%
macro

DatagramCalculateUnit()

DatagramGetArea40%
macro

DatagramGetArea()

DatagramIsValid100%
macro

DatagramIsValid()

DatagramNext30%
macro

DatagramNext()

Datagram
structure

A single datagram transmitted by kernel.Datagrams channels.

Datagramgramspace
field
int

Datagramgramsize
field
int

Datagramaddrlen
field
int

Datagramaddr
field
int[0]

Datagramgram
field
char[0]