/************************************************************************/
/* Copyright 1990 MBARI                                                 */
/************************************************************************/
/* $Header: dm_errno.h,v 6.3 98/01/27 08:33:41 bobh Exp $               */
/* Summary  : Error Numbers for Data Manager                            */
/* Filename : dm_errno.h                                                */
/* Author   : Bob Herlien (rah)                                         */
/* Project  : Tiburon ROV                                               */
/* $Revision: 6.3 $                                                     */
/* Created  : 02/28/90                                                  */
/************************************************************************/
/* Modification History:                                                */
/* $Log:        dm_errno.h,v $
 * Revision 6.3  98/01/27  08:33:41  08:33:41  bobh (Bob Herlien)
 * Changed so DM_STATIC data only broadcasts if multiple_provider.
 * Renamed hashLib.[ch] to dmHashLib.[ch] to avoid conflicts with vxWorks.
 *
 * Revision 6.0  96/12/04  15:18:03  15:18:03  bobh (Bob Herlien)
 * Boot Server, bug fixing
 *
 * Revision 5.7  96/10/15  12:37:06  12:37:06  bobh (Bob Herlien)
 * Fixes for bugs in reconnecting, tNetTask crashes, data at init
 *
 * Revision 5.4  96/01/02  15:58:16  15:58:16  bobh (Bob Herlien)
 * Misc bug fixes; multiple socket close fix
 *
 * Revision 5.1  94/12/06  15:10:43  15:10:43  hebo (Bob Herlien)
 * Changes due to code review and to enhance debugging of Unix version.
 * All tasks that executed dm_start_multiple() must execute dm_stop_multiple()
 * Added logfile keyword, logging enhancements.
 * Miscellaneous bug fixes
 *
 * Revision 5.0  94/08/19  12:06:10  12:06:10  hebo (Bob Herlien)
 * Unix port
 *
 * Revision 4.0  93/12/15  09:14:20  09:14:20  hebo (Bob Herlien)
 * Port to VxWorks 5.1.  Changed back to tCfgOut and tCfgIn tasks.
 *
 * Revision 3.2  93/07/20  16:35:25  16:35:25  hebo (Bob Herlien)
 * Fixed numerous bugs, including semaphore fixups, dm_cfginit problems,
 * and INIT_DATA.  Added dm_get_connect() and is_connect_source.  Fixed
 * group bugs and allowed multiple groups per item per task.
 *
 * Revision 3.0  93/02/16  10:55:22  10:55:22  hebo (Bob Herlien)
 * Added type information to dm_create(), dm_create_items(), and dm_init()
 *
 * Revision 2.2  92/09/29  11:51:55  11:51:55  hebo (Bob Herlien)
 * New error returns EDM_ISCONNECTED and EDM_CIRCULAR_CONNECT for dm_connect().
 *
 * Revision 1.2  91/02/27  15:32:31  15:32:31  hebo (Bob Herlien 408-647-3748)
 * Added groups, minor changes (dm_write, dm_init)
 *
 * Revision 1.0  90/09/06  09:15:35  09:15:35  hebo (Bob Herlien 408-647-3748)
 * Official release of distributed data manager
 *
 * Revision 0.8  90/08/13  15:28:12  15:28:12  hebo (Bob Herlien 408-647-3748)
 * First multi-cpu version, still some loose ends to clean up.
 *
 * Revision 0.5  90/05/08  18:22:20  18:22:20  hebo (Bob Herlien 408-647-3748)
 * First RCS version, bug fixes
 *      */
/* 20mar90 rah, Rel 0.1, local (single CPU) case only, no urgent calls  */
/* 28feb90 rah - created                                                */
/************************************************************************/

#ifndef INCdm_errnoh
#define INCdm_errnoh    1

#include "/usr/tiburon/vw/h/ModNum.h"

                                          /**********************************/
#define EDM_GENERAL     (M_DATAMGR | 0)   /* General DM error code          */
                                          /*  for non-specific errors       */
#define EDM_BADITEM     (M_DATAMGR | 1)   /* DM_Item doesn't exist          */
                                          /*                                */
#define EDM_NOPROVIDER  (M_DATAMGR | 2)   /* No provider for this item      */
                                          /* dm_start_consumer succeeds,    */
                                          /*  but returns this errno        */
#define EDM_NOTCONSUMER (M_DATAMGR | 3)   /* Call failed because caller is  */
                                          /*  not a consumer of this DM_Item*/
#define EDM_TOOFAST     (M_DATAMGR | 4)   /* Requested consumer period      */
                                          /*  faster than provider period   */
                                          /* Period set to provider period  */
#define EDM_PERIOD      (M_DATAMGR | 5)   /* Requested consumer period not  */
                                          /*  divisible by provider period. */
                                          /* P'd set to next faster multiple*/
#define EDM_NOSPACE     (M_DATAMGR | 6)   /* Call failed because Data       */
                                          /*  Manager couldn't alloc space  */
#define EDM_NOSEM       (M_DATAMGR | 7)   /* Couldn't allocate semaphore    */
                                          /*                                */
#define EDM_TOOBIG      (M_DATAMGR | 8)   /* Size exceeds MAX_ITM_SIZE      */
                                          /*  or len > item size on dm_write*/
#define EDM_PROVIDER_CONFLICT (M_DATAMGR | 9)
                                          /* There's already a provider for */
                                          /*  this item                     */
#define EDM_NOTPROVIDER (M_DATAMGR | 10)  /* Caller is not the provider of  */
                                          /*  this DM Item                  */
#define EDM_NOTCONNECTED (M_DATAMGR | 11) /* DM Item is not dm_connect'ed   */
                                          /*                                */
#define EDM_URGENT      (M_DATAMGR | 12)  /* Call failed because another    */
                                          /*  task urgent_open()'d the item */
#define EDM_ISCONSUMER  (M_DATAMGR | 13)  /* Calling task is already        */
                                          /*  a consumer of this item       */
#define EDM_NAME_EXISTS (M_DATAMGR | 14)  /* Cannot create item with        */
                                          /*   duplicate name               */
#define EDM_WRONG_SIZE  (M_DATAMGR | 15)  /* Source, destination items of   */
                                          /* different size (dm_connect)    */
#define EDM_NO_SIGNAL   (M_DATAMGR | 16)  /* Tried to stop signal handler   */
                                          /* but none had been specified    */
#define EDM_NO_SOCKET   (M_DATAMGR | 17)  /* Cannot create socket for       */
                                          /*   inter-cpu communications     */
#define EDM_NETFAIL     (M_DATAMGR | 18)  /* Network I/O failure            */
                                          /*                                */
#define EDM_BAD_PKT     (M_DATAMGR | 19)  /* Ill-formed packet on network   */
                                          /*                                */
#define EDM_NO_GROUP    (M_DATAMGR | 20)  /* Bad DM_Group ID, or item not a */
                                          /*   member of this group         */
#define EDM_IS_IN_GROUP (M_DATAMGR | 21)  /* Item is already a member of the*/
                                          /*   given group                  */
#define EDM_GROUP_SIZE  (M_DATAMGR | 22)  /* Can have only 32 items in group*/
                                          /*   (32 bits/word)               */
#define EDM_ISCONNECTED (M_DATAMGR | 23)  /* Attempted to dm_connect() to an*/
                                          /* item that is already connected */
#define EDM_CIRCULAR_CONNECT (M_DATAMGR | 24)
                                          /* dm_connect() would be circular */
#define EDM_BAD_TYPE    (M_DATAMGR | 25)  /* Erroneous DM_Type              */
                                          /*                                */
#define EDM_WRONG_TYPE  (M_DATAMGR | 26)  /* Net pkt has wrong size for item*/
                                          /* (Implies name conflict on net) */
#define EDM_NO_DAEMON   (M_DATAMGR | 27)  /* Daemon not loaded (Unix version)*/
                                          /*                                */
#define EDM_SOCKET_BIND (M_DATAMGR | 28)  /* Cannot bind socket to address  */
                                          /*                                */
#define EDM_NO_CFG_FILE (M_DATAMGR | 29)  /* No cfg file found (Unix version)*/
                                          /*                                */
#define EDM_NOT_INIT    (M_DATAMGR | 30)  /* Data Manager not initialized   */
                                          /*                                */
#define EDM_WRONG_VERSION (M_DATAMGR | 31)/* Wrong Data Manager version     */
                                          /*                                */
#define EDM_NO_BOOT     (M_DATAMGR | 32)  /* Found no boot server           */
                                          /**********************************/
#endif  /* INCdm_errnoh */
