#ifndef _dmUtils_H
#define _dmUtils_H
/*****************************************************************************/
/* Copyright 1998 MBARI                                                      */
/*****************************************************************************/
/* Summary  : Data Manager Utility Function Definitions                      */
/* Filename : microDM.h                                                      */
/* Author   : Andrew Pearce                                                  */
/* Project  : New ROV                                                        */
/* Version  : Version 1.0                                                    */
/* Created  : 04/12/93                                                       */
/* Modified : 04/12/93                                                       */
/* Archived :                                                                */
/*****************************************************************************/
/* Modification History:                                                     */
/* $Header:
 * $Log:
 */
/*****************************************************************************/

                                     /* Max length of data manager item name */
#define DM_ITEM_NAME_LEN            MAX_NMLEN

typedef struct                      /* Data Manager Item Table for table    */
{                                   /* driven item initialization           */
    DM_Item *dmItem;                /* pointer to actual dm item handle     */
    char    *errorMsg;              /* Message to display of dmCreate fails */
    char    *name;                  /* Data Manager Item Name               */
    DM_Type type;                   /* Data Manager Item Type               */
    DM_Num  len;                    /* Data Manager Item Element Count      */
} dmItemList;

#ifdef INCLUDE_PROTOTYPES

#ifdef __STDC__

STATUS  initMicroDmItemList(dmItemList *dmItems, const char *prefix,
                         const char *taskName );

DM_Item initMicroDmItem( const char *dmPrefix, char *itemName,
                         DM_Type itemType, DM_Num numElements );

STATUS writeDmItem(DM_Item dmItem, void *value, DM_Size itemSize);
STATUS urgentWriteDmItem(DM_Item dmItem, void *value, DM_Size itemSize);
STATUS writeBooleanDmItem(DM_Item dmItem, MBool status);

#endif /* __STDC__ */

#endif /* INCLUDE_PROTOTYPES */

#endif /* _dmUtils_H */



