print active/inactive information
[oweals/gnunet.git] / src / include / gnunet_env_lib.h
index 89101afc1a4f9760bb0b925652f6eee07f1710dc..85197a7e77d761ee493c7339a189f7665514b6ca 100644 (file)
@@ -93,7 +93,8 @@ enum GNUNET_ENV_Type
 /**
  * PSYC state modifier.
  */
-struct GNUNET_ENV_Modifier {
+struct GNUNET_ENV_Modifier
+{
   /**
    * State operation.
    */
@@ -153,9 +154,41 @@ GNUNET_ENV_environment_create ();
  * @param value_size Size of @a value.
  */
 void
-GNUNET_ENV_environment_add_mod (struct GNUNET_ENV_Environment *env,
-                                enum GNUNET_ENV_Operator oper, const char *name,
-                                const void *value, size_t value_size);
+GNUNET_ENV_environment_add (struct GNUNET_ENV_Environment *env,
+                            enum GNUNET_ENV_Operator oper, const char *name,
+                            const void *value, size_t value_size);
+
+
+/**
+ * Get the first modifier of the environment.
+ */
+struct GNUNET_ENV_Modifier *
+GNUNET_ENV_environment_head (const struct GNUNET_ENV_Environment *env);
+
+
+
+/**
+ * Get the last modifier of the environment.
+ */
+struct GNUNET_ENV_Modifier *
+GNUNET_ENV_environment_tail (const struct GNUNET_ENV_Environment *env);
+
+
+/** 
+ * Remove a modifier from the environment.
+ */
+void
+GNUNET_ENV_environment_remove (struct GNUNET_ENV_Environment *env,
+                               struct GNUNET_ENV_Modifier *mod);
+
+
+/**
+ * Remove a modifier at the beginning of the environment.
+ */
+int
+GNUNET_ENV_environment_shift (struct GNUNET_ENV_Environment *env,
+                              enum GNUNET_ENV_Operator *oper, const char **name,
+                              const void **value, size_t *value_size);
 
 
 /**
@@ -193,7 +226,7 @@ GNUNET_ENV_environment_iterate (const struct GNUNET_ENV_Environment *env,
  * @return Number of modifiers.
  */
 size_t
-GNUNET_ENV_environment_get_mod_count (const struct GNUNET_ENV_Environment *env);
+GNUNET_ENV_environment_get_count (const struct GNUNET_ENV_Environment *env);
 
 
 /**