Shared Library Management Routines

Initializers for Shared Libraries

 

Accessing Initializers' Addresses . Prior to the HP-UX 10.0

 

release, initializer's addresses could be accessed through the initializer

 

field of the shared library descriptor which is returned from a call to

 

shl_get(). To support multiple initializers, the shl_getsymbols()

 

routine has been enhanced to support the return of the initializer's

 

address.

 

If only one initializer is specified for a given library, its address is still

 

available through the initializer field of a shared library descriptor. If

 

more than one initializer is specified, the initializer field will be set to

 

NO_INITIALIZER. Access to multiple initializers can then be

 

accomplished through the use of shl_getsymbols(). (The

 

shl_getsymbols() routine can also access a single initializer.)

 

shl_getsymbols() may not return the initializer which was invoked

NOTE

 

for a given library if a more visible initializer symbol is defined after the

 

library being queried has been loaded. This can occur through the use of

 

shl_definesym() and by explicitly loading a more visible symbol using

 

the BIND_FIRST flag upon loading.

 

To access initializers, a new flag, INITIALIZERS, has been defined for

 

 

the shl_getsymbols() routine. It can be ORed with the NO_VALUES

 

and GLOBAL_VALUES flags. For example,

 

shl_getsymbols(handle,

 

TYPE_PROCEDURE,

 

INITIALIZERS GLOBAL_VALUES,

 

malloc,

 

&symbol_array);

 

If the GLOBAL_VALUES modifier is not used and the initializer is defined

 

in another shared library or in the program file, shl_getsymbols()

 

does not find the initializer for the requested library because it is not

 

defined within the library.

 

For more information on the usage of shl_getsymbols(), see “The

 

shl_getsymbols Routine”.

 

Example: An Initializer for Each Library

 

One way to use initializers is to define a unique initializer for each

 

library. For instance, the following example shows the source code for a

 

library named libfoo.sl that contains an initializer named init_foo:

Chapter 6

205

Page 205
Image 205
Kenwood HP 9000 manual Example An Initializer for Each Library

HP 9000 specifications

The Kenwood HP 9000 is a cutting-edge home appliance designed for culinary enthusiasts seeking to elevate their cooking experience. This powerful kitchen machine stands out for its multi-functionality, combining the roles of a food processor, blender, and mixer into one sleek unit.

One of the flagship features of the Kenwood HP 9000 is its robust motor, which delivers exceptional performance across various tasks. With a powerful motor that operates at multiple speeds, users can tackle everything from kneading dough to finely chopping vegetables with ease. The variable speed control allows for precision, ensuring that every ingredient is processed to perfection according to individual preferences.

The HP 9000 comes equipped with a variety of attachments that enhance its versatility. Among these are a stainless-steel mixing bowl, a dough hook, a whisk, and multiple cutting blades. This extensive array of accessories means that users can whip up delightful pastries, create homemade pasta, or prepare smoothies with minimal hassle. Each attachment is designed for easy attachment and removal, making the transition between tasks seamless and efficient.

Another key characteristic of the Kenwood HP 9000 is its advanced safety features. The design incorporates mechanisms that prevent the machine from operating unless all components are securely in place. This not only gives users peace of mind while cooking but also ensures longevity for the appliance, reducing the risk of wear and tear over time.

In terms of design, the HP 9000 is both modern and aesthetically pleasing. Its ergonomic shape and compact size make it easy to store and use in various kitchen settings, while the high-quality materials used in its construction guarantee durability and longevity. The user interface is intuitive, with clearly labeled buttons that facilitate operation, ensuring that even novice cooks can navigate the machine effortlessly.

Additionally, the Kenwood HP 9000 features innovative technologies, such as an integrated digital timer and a pulse function for added control during food preparation. These features enhance cooking precision, allowing users to achieve consistent results every time.

In summary, the Kenwood HP 9000 is an exceptional kitchen appliance that combines power, versatility, and safety. With its advanced features and user-friendly design, it is an ideal choice for anyone looking to simplify their cooking process while achieving professional-level results. Whether you're whipping up a quick meal or tackling an elaborate recipe, the HP 9000 is a reliable companion that will inspire culinary creativity.