/*
- * Copyright (C) 1997-2014 Andre Noll <maan@tuebingen.mpg.de>
+ * Copyright (C) 1997 Andre Noll <maan@tuebingen.mpg.de>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
#include "fd.h"
#include "ipc.h"
#include "user_list.h"
-#include "server_command_list.h"
-#include "afs_command_list.h"
+#include "server.command_list.h"
+#include "afs.command_list.h"
#include "signal.h"
#include "version.h"
*
* The nonblock flag must be disabled for the file descriptor given by \a scc.
*
- * Stream cipher encryption is automatically activated if neccessary via the
+ * Stream cipher encryption is automatically activated if necessary via the
* sideband transformation, depending on the value of \a band.
*
* \return Standard.
for (i = 0; i < 10; i++) {
mutex_lock(mmd_mutex);
if (mmd->sender_cmd_data.cmd_num >= 0) {
+ /* another sender command is active, retry in 100ms */
+ struct timespec ts = {.tv_nsec = 100 * 1000 * 1000};
mutex_unlock(mmd_mutex);
- usleep(100 * 1000);
+ nanosleep(&ts, NULL);
continue;
}
mmd->sender_cmd_data = scd;
return send_sb(&cc->scc, msg, len, SBD_OUTPUT, false);
}
+/** These status items are cleared if no audio file is currently open. */
#define EMPTY_STATUS_ITEMS \
ITEM(PATH) \
ITEM(DIRECTORY) \
ITEM(YEAR) \
ITEM(ALBUM) \
ITEM(COMMENT) \
- ITEM(AMPLIFICATION)
+ ITEM(MTIME) \
+ ITEM(FILE_SIZE) \
+ ITEM(CHUNK_TIME) \
+ ITEM(NUM_CHUNKS) \
+ ITEM(AMPLIFICATION) \
/**
* Write a list of audio-file related status items with empty values.
return ret;
}
+static int com_tasks(struct command_context *cc)
+{
+ char *tl = server_get_tasks();
+ int ret = 1;
+
+ if (tl)
+ ret = send_sb(&cc->scc, tl, strlen(tl), SBD_OUTPUT, false);
+ return ret;
+}
+
/*
* check if perms are sufficient to exec a command having perms cmd_perms.
* Returns 0 if perms are sufficient, -E_PERM otherwise.
*/
-static int check_perms(unsigned int perms, struct server_command *cmd_ptr)
+static int check_perms(unsigned int perms, const struct server_command *cmd_ptr)
{
PARA_DEBUG_LOG("checking permissions\n");
return (cmd_ptr->perms & perms) < cmd_ptr->perms ? -E_PERM : 0;