GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> IPBS / V0-0-2 > pbs / i845e
#include <PBI/Inline.h>
#include <PBI/Attribute.h>
#include <IPBS/RW.h>
#include <IPBS/RW_pubdefs.h>
Defines | |
| #define | RW__EXP_PROTO INLINE_USR_EXP_PROTO |
| Export Prototype spec. | |
| #define | RW__LCL_PROTO INLINE_USR_LCL_PROTO |
| Internal Prototype spec. | |
| #define | RW__EXP_FNC INLINE_USR_EXP_FNC |
| Export Function declaration. | |
| #define | RW__LCL_FNC INLINE_USR_LCL_FNC |
| Internal Function declaration. | |
Functions | |
| RW__EXP_PROTO int | RW__disable (RW_ctl *rw) ATTR_UNUSED_OK |
| Disables wakeup calls. | |
| RW__EXP_PROTO int | RW__enable (RW_ctl *rw) ATTR_UNUSED_OK |
| Enables wakeup calls. | |
| RW__EXP_PROTO int | RW__enabled (const RW_ctl *rw) ATTR_UNUSED_OK |
| Returns the state of the enabled flag. | |
| RW__EXP_PROTO RW_key | RW__lock (RW_ctl *rw) ATTR_UNUSED_OK |
| Locks a resource so it can be manipulated in an interlocked fashion. | |
| RW__EXP_PROTO RW_keys | RW__lock2 (RW_ctl *rw_0, RW_ctl *rw_1) ATTR_UNUSED_OK |
| Locks two resource so they can be manipulated in an interlocked fashion. | |
| RW__EXP_PROTO int | RW__unlock (RW_ctl *rw, RW_key key) ATTR_UNUSED_OK |
| This routine unlocks a previously locked resource. | |
| RW__EXP_PROTO int | RW__unlock2 (RW_ctl *rw_0, RW_ctl *rw_1, RW_keys keys) ATTR_UNUSED_OK |
| This routine unlocks a previously locked resource. | |
| RW__EXP_PROTO RW_key | RW__wait (RW_ctl *rw, RW_key key) ATTR_UNUSED_OK |
| Blocks a task/thread until there is a reasonable chance that a resource is available. | |
| RW__EXP_PROTO int | RW__wake (RW_ctl *rw, RW_key key) ATTR_UNUSED_OK |
| This provides the signaling mechanism to wake up a thread of code which is waiting for a resource. | |
CVS $Id: RW.ih,v 1.2 2011/03/25 21:15:02 saxton Exp $
| RW__EXP_FNC int RW__disable | ( | RW_ctl * | rw | ) |
Disables wakeup calls.
| rw | The resource wait control structure |
| 0 | RW was previously disabled | |
| !=0 | RW was previously enabled |
References _RW_waitctl_u::bf, RW__lock(), RW__unlock(), _RW_waitctl_u::si, and _RW_ctl::waiting.
Referenced by LI__disable(), and QI__disable().
| RW__EXP_FNC int RW__enable | ( | RW_ctl * | rw | ) |
Enables wakeup calls.
| rw | The resource wait control structure |
| 0 | RW was previously disabled | |
| !=0 | RW was previously enabled |
References _RW_waitctl_u::bf, RW__lock(), RW__unlock(), RW__wake(), _RW_waitctl_u::si, and _RW_ctl::waiting.
Referenced by LI__enable(), and QI__enable().
| RW__EXP_FNC int RW__enabled | ( | const RW_ctl * | rw | ) |
Returns the state of the enabled flag.
| rw | The resource wait control structure |
| 0 | RW was previously disabled | |
| !=0 | RW was previously enabled |
References _RW_waitctl_u::bf, and _RW_ctl::waiting.
Referenced by LI__enabled(), LI__remove(), QI__enabled(), and QI__remove().
Locks a resource so it can be manipulated in an interlocked fashion.
| rw | The RW handle |
References INT__lock().
Referenced by FORK_disable(), FORK_enable(), FPA_free(), FPA_get(), LI__insert(), LI__jam(), LI__remove(), PL__insert(), PL__jam(), PL__remove(), PL__wake(), QI__insert(), QI__jam(), QI__remove(), RW__disable(), RW__enable(), RW_free(), RW_get(), and RW_getW().
Locks two resource so they can be manipulated in an interlocked fashion.
| rw_0 | The RW handle of the first resource to be locked | |
| rw_1 | The RW handle of the second resource to be locked |
References INT__lock().
Referenced by LI__append(), LI__prepend(), QI__append(), and QI__prepend().
This routine unlocks a previously locked resource.
| rw | The RW handle | |
| key | The key used to lock the resource, returned from RW__lock |
References INT__unlock().
Referenced by FORK_disable(), FORK_enable(), FPA_free(), FPA_get(), LI__insert(), LI__jam(), LI__remove(), PL__insert(), PL__jam(), PL__remove(), PL__wake(), QI__insert(), QI__jam(), QI__remove(), RW__disable(), RW__enable(), RW_free(), and RW_getW().
This routine unlocks a previously locked resource.
| rw_0 | The RW handle of the first resource to be unlocked | |
| rw_1 | The RW handle of the second resource to be unlocked | |
| keys | The keys used to lock the resources, returned from RW_lock2 |
References INT__unlock().
Referenced by LI__append(), LI__prepend(), QI__append(), and QI__prepend().
Blocks a task/thread until there is a reasonable chance that a resource is available.
| rw | The RW handle | |
| key | The key used to unlock the interrupts |
References _RW_waitctl_u::bf, INT__lock(), INT__unlock(), _RW_ctl::semaphore, and _RW_ctl::waiting.
Referenced by RW_getW().
This provides the signaling mechanism to wake up a thread of code which is waiting for a resource.
| rw | The RW handle | |
| key | The key used to unlock the resource. |
| Status | This routine checks if any thread is waiting for a resource, and if so wakes that thread. The resource should be locked on entry to this routine. This routine always exits with the resource still locked. |
References _RW_waitctl_u::bf, _RW_ctl::semaphore, _RW_waitctl_u::si, and _RW_ctl::waiting.
Referenced by FPA_free(), LI__insert(), LI__jam(), PL__insert(), PL__jam(), PL__wake(), QI__insert(), QI__jam(), RNG_free(), RW__enable(), and RW_free().
1.5.8