OSL_RBTREE = 1,
/** The data for this column will have constant size. */
OSL_FIXED_SIZE = 2,
- /** All values of this column will be different. */
+ /** All values are different. Must be set if \p OSL_RBTREE is set. */
OSL_UNIQUE = 4,
/** Do not free the data for this column (\p OSL_NO_STORAGE). */
OSL_DONT_FREE = 8
/**
* Describes one osl table.
+ *
+ * A pointer to the table description is passed to \ref osl_create_table() and
+ * \ref osl_open_table(). The osl library calls which operate on an open table
+ * refer to the fields of the table description through this pointer. Hence the
+ * table description must not be modified or freed before the table is closed.
*/
struct osl_table_description {
/**
* Lookup \a obj in \a t and return the row containing \a obj. The column
* specified by \a col_num must have an associated rbtree.
*
- * \return Standard.
+ * \return Standard. \a result is set to \p NULL if and only if the function
+ * returns negative.
*
* \sa osl_storage_flags
*/
int osl_add_and_get_row(struct osl_table *t, struct osl_object *objects,
struct osl_row **row);
-
/**
* Add a new row to an osl table.
*
* This removes all disk storage objects, removes all rbtree nodes, and frees
* all volatile objects belonging to the given row. For mapped columns, the
* data is merely marked invalid and may be pruned from time to time by
- * osl_fsck.
+ * oslfsck.
*
* \return Standard.
*/
* second argument. The loop terminates either if \a func returns a negative
* value, or if all nodes of the tree have been visited.
*
- *
* \return Standard. If the termination of the loop was caused by \a func
- * returning a negative value, \p -E_OSL_LOOP is returned.
+ * returning a negative value, \p -E_OSL_LOOP is returned. This is the only
+ * possible error.
*
* \sa osl_storage_flags, osl_rbtree_loop_reverse(), osl_compare_func.
*/
*/
int osl_get_num_rows(const struct osl_table *t, unsigned *num_rows);
-
/**
* Get the row corresponding to the smallest rbtree node of a column.
*