missing changes to headers
[oweals/gnunet.git] / src / include / gnunet_common.h
index 6a02190ccd325b72b48fd6352c1b7adf5bd6d431..c082398f875cde87458ab6887ab882251f03f4b0 100644 (file)
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 /**
 #include <stdarg.h>
 #endif
 
+#ifdef HAVE_BYTESWAP_H
+#include <byteswap.h>
+#endif
+
 #ifdef __cplusplus
 extern "C"
 {
@@ -62,6 +66,7 @@ extern "C"
  */
 #define GNUNET_UTIL_VERSION 0x000A0100
 
+
 /**
  * Named constants for return values.  The following invariants hold:
  * `GNUNET_NO == 0` (to allow `if (GNUNET_NO)`) `GNUNET_OK !=
@@ -722,9 +727,9 @@ GNUNET_ntohll (uint64_t n);
  * Convert double to network byte order.
  *
  * @param d
- *        The value in network byte order.
+ *        The value in host byte order.
  *
- * @return The same value in host byte order.
+ * @return The same value in network byte order.
  */
 double
 GNUNET_hton_double (double d);
@@ -742,78 +747,6 @@ double
 GNUNET_ntoh_double (double d);
 
 
-/**
- * Convert signed 64-bit integer to network byte order.
- *
- * @param n
- *        The value in host byte order.
- *
- * @return The same value in network byte order.
- */
-uint64_t
-GNUNET_htonll_signed (int64_t n);
-
-
-/**
- * Convert signed 64-bit integer to host byte order.
- *
- * @param n
- *        The value in network byte order.
- *
- * @return The same value in host byte order.
- */
-int64_t
-GNUNET_ntohll_signed (uint64_t n);
-
-
-/**
- * Convert signed 32-bit integer to network byte order.
- *
- * @param n
- *        The value in host byte order.
- *
- * @return The same value in network byte order.
- */
-uint32_t
-GNUNET_htonl_signed (int32_t n);
-
-
-/**
- * Convert signed 32-bit integer to host byte order.
- *
- * @param n
- *        The value in network byte order.
- *
- * @return The same value in host byte order.
- */
-int32_t
-GNUNET_ntohl_signed (uint32_t n);
-
-
-/**
- * Convert signed 16-bit integer to network byte order.
- *
- * @param n
- *        The value in host byte order.
- *
- * @return The same value in network byte order.
- */
-uint16_t
-GNUNET_htons_signed (int16_t n);
-
-
-/**
- * Convert signed 16-bit integer to host byte order.
- *
- * @param n
- *        The value in network byte order.
- *
- * @return The same value in host byte order.
- */
-int16_t
-GNUNET_ntohs_signed (uint16_t n);
-
-
 /* ************************* allocation functions ****************** */
 
 /**
@@ -1128,6 +1061,77 @@ GNUNET_copy_message (const struct GNUNET_MessageHeader *msg);
 #endif
 
 
+/**
+ * Valid task priorities.  Use these, do not pass random integers!
+ * For various reasons (#3862 -- building with QT Creator, and
+ * our restricted cross-compilation with emscripten) this cannot
+ * be in gnunet_scheduler_lib.h, but it works if we declare it here.
+ * Naturally, logically this is part of the scheduler.
+ */
+enum GNUNET_SCHEDULER_Priority
+{
+  /**
+   * Run with the same priority as the current job.
+   */
+  GNUNET_SCHEDULER_PRIORITY_KEEP = 0,
+
+  /**
+   * Run when otherwise idle.
+   */
+  GNUNET_SCHEDULER_PRIORITY_IDLE = 1,
+
+  /**
+   * Run as background job (higher than idle,
+   * lower than default).
+   */
+  GNUNET_SCHEDULER_PRIORITY_BACKGROUND = 2,
+
+  /**
+   * Run with the default priority (normal
+   * P2P operations).  Any task that is scheduled
+   * without an explicit priority being specified
+   * will run with this priority.
+   */
+  GNUNET_SCHEDULER_PRIORITY_DEFAULT = 3,
+
+  /**
+   * Run with high priority (important requests).
+   * Higher than DEFAULT.
+   */
+  GNUNET_SCHEDULER_PRIORITY_HIGH = 4,
+
+  /**
+   * Run with priority for interactive tasks.
+   * Higher than "HIGH".
+   */
+  GNUNET_SCHEDULER_PRIORITY_UI = 5,
+
+  /**
+   * Run with priority for urgent tasks.  Use
+   * for things like aborts and shutdowns that
+   * need to preempt "UI"-level tasks.
+   * Higher than "UI".
+   */
+  GNUNET_SCHEDULER_PRIORITY_URGENT = 6,
+
+  /**
+   * This is an internal priority level that is only used for tasks
+   * that are being triggered due to shutdown (they have automatically
+   * highest priority).  User code must not use this priority level
+   * directly.  Tasks run with this priority level that internally
+   * schedule other tasks will see their original priority level
+   * be inherited (unless otherwise specified).
+   */
+  GNUNET_SCHEDULER_PRIORITY_SHUTDOWN = 7,
+
+  /**
+   * Number of priorities (must be the last priority).
+   * This priority must not be used by clients.
+   */
+  GNUNET_SCHEDULER_PRIORITY_COUNT = 8
+};
+
+
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif