aacdec: Introduce error_count
[paraslash.git] / db.h
diff --git a/db.h b/db.h
index 69d4d9ed04308eb4a5c66505bcb03b3c4762a9c0..3b9d4530189b0b32438da96eb1556d21f456a155 100644 (file)
--- a/db.h
+++ b/db.h
  *     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  */
 
  *     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  */
 
-/** \file db.h data structures common to all database tools */
+/** \file db.h data structures common to all audio file selectors */
 
 #include <sys/select.h>
 
 
 #include <sys/select.h>
 
+
 int find_audio_files(const char *dirname, int (*f)(const char *, const char *));
 
 /**
 int find_audio_files(const char *dirname, int (*f)(const char *, const char *));
 
 /**
- * describes one of para_server's supported database tools
- *
- * There is exactly one such struct for each supported database tool.  During
- * the startup part of para_server the \a init() function of the activated
- * database tool gets called which fills in the other members.
-
+ * describes one supported audio file selector
  *
  *
+ * There is one such struct for each supported selector.  During the startup
+ * part of para_server the \a init() function of the activated selector gets
+ * called which fills in all other function pointers.
  *
  */
  *
  */
-struct dbtool {
+struct audio_file_selector {
 /**
 /**
- * name name of this database tool
+ * name name of this selector
  */
 const char *name;
 /**
  */
 const char *name;
 /**
- * the database init routine
+ * the init routine of the selector
  *
  * It should check its command line options and do all necessary initialization
  * like connecting to a database server.
  *
  * A negative return value indicates an initialization error and means that
  *
  * It should check its command line options and do all necessary initialization
  * like connecting to a database server.
  *
  * A negative return value indicates an initialization error and means that
- * this database tool should be ignored for now (it may later be activated
- * again via the cdt command).
+ * this selector should be ignored for now (it may later be activated again via
+ * the chs command).
  *
  * If \a init() returns success (non-negative return value), it must have
  *
  * If \a init() returns success (non-negative return value), it must have
- * initialized in all non-optional function pointers of the given dbtool
+ * initialized in all non-optional function pointers of the given selector
  * struct. Moreover, \a cmd_list must point to a NULL-terminated array which
  * struct. Moreover, \a cmd_list must point to a NULL-terminated array which
- * holds the list of all commands that are supported by this database tool.
+ * holds the list of all commands that are supported by this selector.
  */
  */
-int (*init)(struct dbtool *self);
+int (*init)(struct audio_file_selector *self);
 /**
 /**
- * list of commands supported by this dbtool
+ * list of commands supported by this selector
  */
 struct server_command *cmd_list;
 /**
  */
 struct server_command *cmd_list;
 /**
@@ -83,23 +82,24 @@ char **(*get_audio_file_list)(unsigned int num);
 void (*update_audio_file)(char *audio_file);
 /**
  *
 void (*update_audio_file)(char *audio_file);
 /**
  *
- * shutdown this database tool and free all resources
+ * shutdown this selector and free all resources
  *
  *
- * This gets called whenever the database tool changes (via the cdt command),
- * or when para_server receives the HUP signal, or when para_server shuts down.
- * It is assumed to succeed.
+ * This gets called whenever the audio file selector changes. The reason for
+ * this change might be that some user sent the chs command, that para_server
+ * receives the HUP signal, or that para_server shuts down. It is assumed to
+ * succeed.
  */
 void (*shutdown)(void);
 /**
  *
  * add file descriptors to fd_sets
  *
  */
 void (*shutdown)(void);
 /**
  *
  * add file descriptors to fd_sets
  *
- * The pre_select function of the activated database tool gets called just
- * before para_server enters its main select loop. The dbtool may add its own
- * file descriptors to the \a rfds or the \a wfds set.
+ * The pre_select function of the activated selector gets called just before
+ * para_server enters its main select loop. The selector may add its own file
+ * descriptors to the \a rfds or the \a wfds set.
  *
  *
- * If a file descriptor was added, \a max_fileno must be increased by
- * this function, if neccessary.
+ * \return The highest-numbered file descriptor which was added to either of
+ * the two fd sets (or -1 if no file descriptors were added).
  *
  * \sa select(2)
  */
  *
  * \sa select(2)
  */
@@ -112,9 +112,12 @@ int (*pre_select)(fd_set *rfds, fd_set *wfds);
  * which are ready for reading/writing.
  */
 void (*post_select)(fd_set *rfds, fd_set *wfds);
  * which are ready for reading/writing.
  */
 void (*post_select)(fd_set *rfds, fd_set *wfds);
+/**
+ * each selector has its private data pointer */
+void *private_data;
 };
 
 };
 
-int mysql_dbtool_init(struct dbtool*);
-int plm_dbtool_init(struct dbtool*);
-int random_dbtool_init(struct dbtool*);
+int mysql_selector_init(struct audio_file_selector*);
+int playlist_selector_init(struct audio_file_selector*);
+int random_selector_init(struct audio_file_selector*);