X-Git-Url: http://git.tuebingen.mpg.de/?p=osl.git;a=blobdiff_plain;f=osl.h.in;h=90585bc4b345c3c59a26a752bb5362aecef8655f;hp=e4624799d12999044bdb1e2bdaa4b0add6de8374;hb=1cb173045c9bbc707407021860a74a2dbc01af65;hpb=a0c9be13b316e5a69c41d849e6eaa302b22c7e08 diff --git a/osl.h.in b/osl.h.in index e462479..90585bc 100644 --- a/osl.h.in +++ b/osl.h.in @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2008 Andre Noll + * Copyright (C) 2007-2009 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -7,6 +7,7 @@ /** \file osl.h User interface for the object storage layer. */ #include +#include /** Export all declarations in this file. */ #pragma GCC visibility push(default) @@ -77,7 +78,7 @@ struct osl_row; * specified. Such a function always takes pointers to the two objects to be * compared. It must return -1, zero, or 1, if the first argument is considered * to be respectively less than, equal to, or greater than the second. If two - * members compare as equal, their order in the sorted array is undefined. + * members compare as equal, their order in the rbtree is undefined. */ typedef int osl_compare_func(const struct osl_object *obj1, const struct osl_object *obj2); @@ -94,10 +95,10 @@ typedef int osl_rbtree_loop_func(struct osl_row *row, void *data); * Describes one column of a osl table. */ struct osl_column_description { - /** One of the tree possible types of storage */ - enum osl_storage_type storage_type; - /** Specifies further properties of the column */ - enum osl_storage_flags storage_flags; + /** One of the tree possible types of storage, \sa osl_storage_type. */ + uint16_t storage_type; + /** Specifies further properties of the column, \sa osl_storage_flags. */ + uint16_t storage_flags; /** * The column name determines the name of the directory where all data * for this column will be stored. Its hash is stored in the table @@ -115,7 +116,7 @@ struct osl_column_description { osl_compare_func *compare_function; /** * If the \a OSL_FIXED_SIZE flag is set for this column, this value - * determines the fixed size of all objects of this column. It is + * describes the number of bytes of each object of this column. It is * ignored, if \a OSL_FIXED_SIZE is not set. */ uint32_t data_size; @@ -125,7 +126,10 @@ struct osl_column_description { * Describes one osl table. */ struct osl_table_description { - /** The directory which contains all files of this table. */ + /** + * The directory which contains all files of this table. This may be + * either relative to the cwd or an absolute path. + */ const char *dir; /** * The table name. A subdirectory of \a dir called \a name is created @@ -171,7 +175,7 @@ int osl_create_table(const struct osl_table_description *desc); * * Each osl table must be opened before its data can be accessed. * - * \param table_desc Describes the table to be opened. + * \param desc Describes the table to be opened. * \param result Contains a pointer to the open table on success. * * The table description given by \a desc should coincide with the @@ -220,7 +224,7 @@ int osl_get_row(const struct osl_table *t, unsigned col_num, * Retrieve an object identified by row and column * * \param t Pointer to an open osl table. - * \param r Pointer to the row. + * \param row Pointer to the row. * \param col_num The column number. * \param object The result pointer. * @@ -444,8 +448,8 @@ int osl_rbtree_last_row(const struct osl_table *t, unsigned col_num, * \param result Row is returned here. * * Retrieve the n-th order statistic with respect to the compare function - * of the rbtree column \a col_num. In other words, get that row with - * \a n th greatest value in column \a col_num. It's an error if + * of the rbtree column \a col_num. In other words, get the row with + * \a n th greatest value in column \a col_num. It is an error if * \a col_num is not a rbtree column, or if \a n is larger than the * number of rows in the table. * @@ -476,19 +480,6 @@ int osl_get_nth_row(const struct osl_table *t, unsigned col_num, int osl_get_rank(const struct osl_table *t, struct osl_row *r, unsigned col_num, unsigned *rank); -/** - * Compare two osl objects pointing to hash values. - * - * \param obj1 Pointer to the first hash object. - * \param obj2 Pointer to the second hash object. - * - * \return The values required for an osl compare function. - * - * \sa osl_compare_func, uint32_compare(). - */ -int osl_hash_compare(const struct osl_object *obj1, - const struct osl_object *obj2); - /** * Get a string describing the error code passed in the argument. *