When you look at Security Builder Crypto function definitions, you will see there are a number of data types whose names begin with sb_. These types are declared in sbdef.h, and are actually pointers to undefined data structures. These pointers are used by the library to refer to internally-defined structures. The actual definitions of the data structures are irrelevant, as they are only used within the library. These types of data structures are often referred to as opaque or abstract data types.
Note that when creating and destroying these opaque data types, you must pass a pointer to an sb_ type to the API function. For example, a pointer to an sb_Params or an sb_Key object.
In other cases, where the value of the pointer itself is not changed, you simply supply the value of the sb_ type variables to the interface functions.
In order to understand the function call sequence, you must become familiar with the opaque data types, or objects. These objects are described in the sections below.
Some objects cannot be created without other objects; they must be created and destroyed in a particular order.