/*
* This file is part of DisOrder
- * Copyright (C) 2008, 2009 Richard Kettlewell
+ * Copyright (C) 2008-2012 Richard Kettlewell
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include <grp.h>
#include <locale.h>
#include <netinet/in.h>
-#include <pcre.h>
#include <pwd.h>
#include <signal.h>
#include <stddef.h>
/* try to play something, if playing is enabled and nothing is playing
* already */
+/** @brief Return true if @p represents a true flag */
+int flag_enabled(const char *s);
+
int playing_is_enabled(void);
/* return true iff playing is enabled */
void enable_playing(const char *who, ev_source *ev);
/* enable playing */
-void disable_playing(const char *who);
+void disable_playing(const char *who, ev_source *ev);
/* disable playing. */
int random_is_enabled(void);
void enable_random(const char *who, ev_source *ev);
/* enable random play */
-void disable_random(const char *who);
+void disable_random(const char *who, ev_source *ev);
/* disable random play */
void scratch(const char *who, const char *id);
int server_start(ev_source *ev, int pf,
size_t socklen, const struct sockaddr *sa,
- const char *name);
+ const char *name,
+ int privileged);
/* start listening. Return the fd. */
int server_stop(ev_source *ev, int fd);
/* Stop listening on @fd@ */
+void rtp_request(const struct sockaddr_storage *sa);
+void rtp_request_cancel(const struct sockaddr_storage *sa);
+
extern int volume_left, volume_right; /* last known volume */
extern int wideopen; /* blindly accept all logins */
int argc;
/** @brief Player command */
const char **argv;
- /** @brief Device to wait for or NULL */
- const char *waitdevice;
/** @brief Raw track name */
const char *rawpath;
};
void periodic_mount_check(ev_source *ev_);
-#ifndef MOUNT_CHECK_INTERVAL
-# ifdef PATH_MTAB
-// statting a file is really cheap so check once a second
-# define MOUNT_CHECK_INTERVAL 1
-# else
-// hashing getfsstat() output could be more expensive so be less aggressive
-# define MOUNT_CHECK_INTERVAL 5
-# endif
-#endif
+/** @brief How often to check for new (or old) filesystems */
+# define MOUNT_CHECK_INTERVAL 5 /* seconds */
#endif /* DISORDER_SERVER_H */