
/*
 * This file is generated by the automatic RPC Parser generator. (Version 0.21)
 *
 * Created on 04/09/97 at 00:00:13.
 */

#ifndef DATABASE_H
#define DATABASE_H

#include "user.h"
#include "skeleton.h"

//
// special proc nums for sequence number hack
//

#define GUMQUEUELOCKINGUPDATE_PROC      21
#define GUMATTEMPTJOINUPDATE_PROC       22
#define GUMUNLOCKUPDATE_PROC            23
#define GUMUPDATENODE_PROC              24
#define GUMJOINUPDATENODE_PROC          25
#define GUMGETNODESEQUENCE_PROC         26
#define GUMATTEMPTLOCKINGUPDATE_PROC    36

//
// define for looking up interface name pointer
//
#define GET_PROCEDURE_NAME(_index_, _pnum_) (ProcedureNames[ProcedureNameIndex[_index_] +   \
                                                            _pnum_ -                        \
                                                            FirstProcedureNumber[_index_]])

/*
 * Data structures defined in database.c
 */
extern char         InterfaceNames[NUM_INTERFACES][LOCAL_MAX_NAME_LENGTH];
extern char         ProcedureNames[NUM_PROCEDURES][LOCAL_MAX_NAME_LENGTH];
extern WORD         ProcedureNameIndex[NUM_INTERFACES];
extern WORD         FirstProcedureNumber[NUM_INTERFACES];

extern PROPERTYINFO IntraCluster_GenProps[];
extern PROPERTYINFO IntraCluster_PrivProps[];
extern DWORD        nIntraClusterGenProps;
extern DWORD        nIntraClusterPrivProps;

extern PROPERTYINFO ExtroCluster_GenProps[];
extern DWORD        nExtroClusterGenProps;

extern PROPERTYINFO Clusapi_GenProps[];
extern DWORD        nClusapiGenProps;

extern PROPERTYINFO JoinVersion_GenProps[];
extern DWORD        nJoinVersionGenProps;

//
// prop names shared by all parsers. These have to be defined for each
// parser's property info database
//
typedef enum
{
    GENPROP_SUMMARY,
    GENPROP_ERROR_BAD_OPCODE,
    GENPROP_CALLNAME,
    GENPROP_ENCRYPTED,
} GENERIC_PROPERTY_NAMES;

//
// interface specific properties, i.e., only attached to the parser indicated
// in the typedef name
//
typedef enum
{
    INTRACLUS_PROP_SEQNUMBER
} INTRACLUSTER_PROPERTY_NAMES;

#endif

