/**C*
 *
 * Vaisala software source code file
 *
 * Copyright (c) Vaisala Oyj  1988, 1989, 1991, 1996, 1997, 1999, 2003,
 * 2012
 * All rights reserved.
 *
 * $URL: https://subversion.vaisala.com/svn/repos/sigmet/wr_iris_rda/tags/release8.13.6/base/include/event_flags.h $
 *
 * $Id: event_flags.h 27737 2012-01-27 15:58:41Z jho $
 *
 **C*/

/* Semaphore and Event Flag allocations to clusters.  Each cluster is
 * limited in size to MAX_SEM_CLUSTER_SIZE, hence several clusters are
 * needed to define all of the required flags.  All SIGMET programs
 * should use this table to make sure they do not collide with another
 * library semphore number.
 */
#define MAX_SEM_CLUSTER_SIZE  32 /* Max number of elements in a cluster */
#define MAX_SEM_CLUSTERS       9 /* Max number of separate clusters */

#define IRIS_SEM_CLUSTER       (0 << 16) /* IRIS data locking */
#define IRIS_OUTEF_CLUSTER     (1 << 16) /* IRIS output processes */
#define IRIS_EVENT_CLUSTER     (2 << 16) /* IRIS process coordination */
#define IRIS_RIBBON_CLUSTER    (3 << 16) /* IRIS ribbon display */
#define IRIS_INPUTEF_CLUSTER   (4 << 16) /* IRIS input processes */
#define LIBS_ANTENNA_CLUSTER   (5 << 16) /* Routines in /libs/antenna */
#define LIBS_TSARCHIVE_CLUSTER (6 << 16) /* Routines in /ts/archlib */
#define RVPX_GLOBAL_CLUSTER    (7 << 16) /* RVPX/Main and RVPX/Proc */
#define APPS_GENERIC_CLUSTER   (8 << 16) /* Stand-alone apps, privately named */

#define IRIS_SEM_CLUSTER_NAME      "iris_sem_cluster"
#define IRIS_OUTEF_CLUSTER_NAME    "iris_outef_cluster"
#define IRIS_EVENT_CLUSTER_NAME    "iris_event_cluster"
#define IRIS_INPUTEF_CLUSTER_NAME  "iris_inputef_cluster"
#define RVPX_GLOBAL_CLUSTER_NAME   "rvpx_global_cluster"
