drop_privileges_or_die(): Check return value of setuid().
[paraslash.git] / afs.h
diff --git a/afs.h b/afs.h
index ad9bfc86fb46edb3c37f0ac9906b9db5b7559d5a..bcc36309dbda9c34a9a8c7298ecb8dab49298c8b 100644 (file)
--- a/afs.h
+++ b/afs.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2009 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -24,6 +24,8 @@ struct afs_info {
        uint32_t lyrics_id;
        /** Mp3, ogg or aac. */
        uint8_t audio_format_id;
+       /** Amplification value. */
+       uint8_t amp;
 };
 
 /**
@@ -59,14 +61,23 @@ enum afs_events {
        BLOB_REMOVE,
 };
 
+/**
+ * Used as data for \ref afs_event() for events of type \p ATTRIBUTE_ADD.
+ */
 struct rmatt_event_data {
+       /** The name of the attribute being added. */
        const char *name;
+       /** Its bit number. */
        unsigned char bitnum;
 };
 
-
+/**
+ * Used as data for \ref afs_event() for events of type \p ATTRIBUTE_AFSI_CHANGE.
+ */
 struct afsi_change_event_data {
+       /** Pointer to the row that has changed. */
        struct osl_row *aft_row;
+       /** Afs info before the change. */
        struct afs_info *old_afsi;
 };
 
@@ -85,7 +96,6 @@ struct afs_table {
        /** Handles afs events. */
        int (*event_handler)(enum afs_events event, struct para_buffer *pb,
                void *data);
-       /* int *(check)() */
 };
 
 enum play_mode {PLAY_MODE_MOOD, PLAY_MODE_PLAYLIST};
@@ -107,7 +117,7 @@ struct ls_data {
        /** The sha1 hash of audio file. */
        HASH_TYPE *hash;
 };
-int make_status_items(struct ls_data *d, struct para_buffer *pb);
+
 void make_empty_status_items(char *buf);
 
 /** At most that many bytes will be passed from afs to para_server. */
@@ -159,7 +169,7 @@ struct pattern_match_data {
        int (*action)(struct osl_table *table, struct osl_row *row, const char *name, void *data);
 };
 
-/* afs */
+
 /**
  * Afs command handlers run as a process which is not related to the afs
  * process, i.e. they can not change the address space of afs directly.
@@ -169,9 +179,17 @@ struct pattern_match_data {
  * \sa send_callback_request().
  */
 typedef void callback_function(int fd, const struct osl_object *);
+
+/**
+ * Callbacks send chunks to data back to the command handler. Pointers to
+ * this type of function are used by \ref send_callback_request and friends
+ * to deal with the data in the command handler process.
+ *
+ * \sa \ref send_callback_request().
+ */
 typedef int callback_result_handler(struct osl_object *result, void *private);
-int send_result(struct osl_object *result, void *private_result_data);
-int pass_buffer_as_shm(char *buf, size_t size, void *private_data);
+int send_result(struct osl_object *result, void *fd_ptr);
+int pass_buffer_as_shm(char *buf, size_t size, void *fd_ptr);
 
 __noreturn void afs_init(uint32_t cookie, int socket_fd);
 void afs_event(enum afs_events event, struct para_buffer *pb,