next up previous contents index
Next: 11.3.1 getfsnamespacesetfsnamespace: Get Up: 11 ``Client OS'' Library: Previous: 11.2.3 oskit_clientos_setfsnamespace: Set the

11.3 C Library Environment

One of the many COM interfaces that are installed in the services database received by the C/POSIX library, is the oskit_libcenv COM interface. The oskit_libcenv encapsulates a number of external interfaces that only the C library needs. For example, before the application can use any of the filesystem interface calls, it must request a reference to the filesystem namespace object (see Section 20), which handles translation from multi component pathnames to oskit_file COM objects. The oskit_libcenv COM interface can be described as an ad-hoc collection of interfaces that do not belong anyplace else since only the C/POSIX libraries require them.

The oskit_libcenv COM interface inherits from IUnknown, and has the following additional methods:

getfsnamespace
Return a reference to the filesystem namespace object.
setfsnamespace
Set the filesystem namespace object.
gethostname
Return the system hostname.
sethostname
Set the hostname.
exit
Call the exit function.
setexit
Set the exit function.
getconsole
Return a reference to the console interface object.
setconsole
Set the console interface object.
signals_init
Call the signal initialization function.
setsiginit
Set the signal initialization function.
sleep_init
Initial a sleep record for a future sleep.
sleep
Got to sleep until woken.
wakeup
Wakeup a sleeping thread.

In the descriptions that follow, it should be noted that the accessor function are intended to be used by the C/POSIX libraries, while the the functions to modify the object are intended to be used by the clientos library when setting up the object.





Utah Flux Research Group