return 1;
}
+/**
+ * The afs event dispatcher.
+ *
+ * \param event Type of the event.
+ * \param pb May be \p NULL.
+ * \param data Type depends on \a event.
+ *
+ * This function calls the table handlers of all tables and passes \a pb and \a
+ * data verbatim. It's up to the handlers to interpret the \a data pointer.
+ */
void afs_event(enum afs_events event, struct para_buffer *pb,
void *data)
{
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;
};
return ret;
}
+/**
+ * Write a list of audio-file related status items with empty values.
+ *
+ * \param buf Result pointer.
+ *
+ * This is used by vss when currently no audio file is open.
+ */
void make_empty_status_items(char *buf)
{
sprintf(buf,
*/
int (*parse_config)(int argc, char **argv, void **config);
+ /** The help texts for this filter. */
struct ggo_help help;
};
return ret;
}
+/**
+ * The praslash database check program.
+ *
+ * \param argc Usual arg count.
+ * \param argv Usual arg vector.
+ *
+ * \return \p EXIT_SUCCESS or \p EXIT_FAILURE.
+ */
int main(int argc, char **argv)
{
int i, ret;
*/
void (*post_select)(struct sched *s, struct task *t);
+ /** The two help texts of this receiver. */
struct ggo_help help;
};
UDP_RECEIVER \
{.name = NULL}};
+/** Iterate over all available receivers. */
#define FOR_EACH_RECEIVER(i) for (i = 0; receivers[i].name; i++)
void *check_receiver_arg(char *ra, int *receiver_num);
return NULL;
}
+/**
+ * Print out the help texts to all receivers.
+ *
+ * \param detailed Whether the detailed help should be printed.
+ */
void print_receiver_helps(int detailed)
{
int i;
exit(EXIT_FAILURE);
}
+/**
+ * (Re-)read the server configuration files.
+ *
+ * \param override Passed to gengetopt to activate the override feature.
+ *
+ * This function also re-opens the logfile and sets the global \a
+ * user_list_file variable.
+ */
void parse_config_or_die(int override)
{
char *home = para_homedir();
free(ut);
}
+/** The maximal size of the per-target chunk queue. */
#define UDP_CQ_BYTES 40000
static int udp_init_session(struct udp_target *ut)