]> code.delx.au - pulseaudio/blobdiff - src/daemon/daemon-conf.h
Make the shared memory segment size configurable
[pulseaudio] / src / daemon / daemon-conf.h
index 4d37861dba0c28c46b1e0ffd605e9845473ff70c..90329268e1cc1a1ae8844719a307cf608c6a30c7 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef foodaemonconfhfoo
 #define foodaemonconfhfoo
 
-/* $Id$ */
-
 /***
   This file is part of PulseAudio.
 
@@ -26,6 +24,8 @@
 ***/
 
 #include <pulsecore/log.h>
+#include <pulsecore/macro.h>
+#include <pulsecore/core-util.h>
 #include <pulse/sample.h>
 
 #ifdef HAVE_SYS_RESOURCE_H
@@ -35,6 +35,7 @@
 /* The actual command to execute */
 typedef enum pa_daemon_conf_cmd {
     PA_CMD_DAEMON,  /* the default */
+    PA_CMD_START,
     PA_CMD_HELP,
     PA_CMD_VERSION,
     PA_CMD_DUMP_CONF,
@@ -48,43 +49,69 @@ typedef enum pa_daemon_conf_cmd {
 #ifdef HAVE_SYS_RESOURCE_H
 typedef struct pa_rlimit {
     rlim_t value;
-    int is_set;
+    pa_bool_t is_set;
 } pa_rlimit;
 #endif
 
 /* A structure containing configuration data for the PulseAudio server . */
 typedef struct pa_daemon_conf {
     pa_daemon_conf_cmd_t cmd;
-    int daemonize,
+    pa_bool_t daemonize,
         fail,
         high_priority,
+        realtime_scheduling,
         disallow_module_loading,
-        exit_idle_time,
-        module_idle_time,
-        scache_idle_time,
-        auto_log_target,
         use_pid_file,
         system_instance,
         no_cpu_limit,
-        disable_shm;
+        disable_shm,
+        disable_remixing,
+        disable_lfe_remixing,
+        load_default_script_file,
+        disallow_exit;
+    int exit_idle_time,
+        module_idle_time,
+        scache_idle_time,
+        auto_log_target,
+        realtime_priority,
+        nice_level,
+        resample_method;
     char *script_commands, *dl_search_path, *default_script_file;
     pa_log_target_t log_target;
     pa_log_level_t log_level;
-    int resample_method;
     char *config_file;
 
 #ifdef HAVE_SYS_RESOURCE_H
-    pa_rlimit rlimit_as, rlimit_core, rlimit_data, rlimit_fsize, rlimit_nofile, rlimit_stack;
+    pa_rlimit rlimit_fsize, rlimit_data, rlimit_stack, rlimit_core, rlimit_rss, rlimit_nofile, rlimit_as;
 #ifdef RLIMIT_NPROC
     pa_rlimit rlimit_nproc;
 #endif
 #ifdef RLIMIT_MEMLOCK
     pa_rlimit rlimit_memlock;
 #endif
+#ifdef RLIMIT_LOCKS
+    pa_rlimit rlimit_locks;
+#endif
+#ifdef RLIMIT_SIGPENDING
+    pa_rlimit rlimit_sigpending;
+#endif
+#ifdef RLIMIT_MSGQUEUE
+    pa_rlimit rlimit_msgqueue;
+#endif
+#ifdef RLIMIT_NICE
+    pa_rlimit rlimit_nice;
+#endif
+#ifdef RLIMIT_RTPRIO
+    pa_rlimit rlimit_rtprio;
+#endif
+#ifdef RLIMIT_RTTIME
+    pa_rlimit rlimit_rttime;
+#endif
 #endif
 
     unsigned default_n_fragments, default_fragment_size_msec;
     pa_sample_spec default_sample_spec;
+    size_t shm_size;
 } pa_daemon_conf;
 
 /* Allocate a new structure and fill it with sane defaults */
@@ -110,4 +137,7 @@ int pa_daemon_conf_set_log_target(pa_daemon_conf *c, const char *string);
 int pa_daemon_conf_set_log_level(pa_daemon_conf *c, const char *string);
 int pa_daemon_conf_set_resample_method(pa_daemon_conf *c, const char *string);
 
+const char *pa_daemon_conf_get_default_script_file(pa_daemon_conf *c);
+FILE *pa_daemon_conf_open_default_script_file(pa_daemon_conf *c);
+
 #endif