/* $Id: pvmmagic.h,v 1.2 1997/06/25 22:11:08 pvmsrc Exp $ */
/*
* PVM version 3.4: Parallel Virtual Machine System
* University of Tennessee, Knoxville TN.
* Oak Ridge National Laboratory, Oak Ridge TN.
* Emory University, Atlanta GA.
* Authors: J. J. Dongarra, G. E. Fagg, M. Fischer
* G. A. Geist, J. A. Kohl, R. J. Manchek, P. Mucci,
* P. M. Papadopoulos, S. L. Scott, and V. S. Sunderam
* (C) 1997 All Rights Reserved
*
* NOTICE
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose and without fee is hereby granted
* provided that the above copyright notice appear in all copies and
* that both the copyright notice and this permission notice appear in
* supporting documentation.
*
* Neither the Institutions (Emory University, Oak Ridge National
* Laboratory, and University of Tennessee) nor the Authors make any
* representations about the suitability of this software for any
* purpose. This software is provided ``as is'' without express or
* implied warranty.
*
* PVM version 3 was funded in part by the U.S. Department of Energy,
* the National Science Foundation and the State of Tennessee.
*/
/*
* pvmmagic.h
*
* magic numbers for pvm data structures.
*
*/
/* Magic #'s are segmented by use (magic segment)
* Each segment defines it own use (magic category)
*/
#ifndef __PVMMAGIC_H__
#define __PVMMAGIC_H__
typedef unsigned int PVMMAGIC;
#define MAGIC_SEGSHIFT 15
#define MAGICMASK 0xffff
#define BADMAGIC(_ref,_test) ((_ref)!=(_test) ? 1 : 0)
#define MAKE_MAGIC(_seg, _cat) ((((_seg) & MAGICMASK) << 15 ) \
| ((_cat) & MAGICMASK))
/* ------- Define magic segments ---------- */
/* Segment numbers should not change in a release. */
/* They can be added to */
#define MG_DDPRO_SEG 1
#define MG_GLOBAL_SEG 2
#define MG_HOST_SEG 3
#define MG_IMALLOC_SEG 4
#define MG_LPVM_SEG 5
#define MG_LPVMCAT_SEG 6
#define MG_LPVMGEN_SEG 7
#define MG_LPVMGLOB_SEG 8
#define MG_LPVMMIMD_SEG 9
#define MG_LMSG_SEG 10
#define MG_LPVMPACK_SEG 11
#define MG_LPVMSHMEM_SEG 12
#define MG_MSGBOX_SEG 13
#define MG_NMDCLASS_SEG 14
#define MG_PKT_SEG 15
#define MG_PMSG_SEG 16
#define MG_PVMALLOC_SEG 17
#define MG_PVMCRUFT_SEG 18
#define MG_PVMD_SEG 19
#define MG_PVMDABUF_SEG 20
#define MG_PVMDPACK_SEG 21
#define MG_PVMDSHMEM_SEG 22
#define MG_PVMDTEV_SEG 23
#define MG_PVMDUNIX_SEG 24
#define MG_PVMERR_SEG 25
#define MG_PVMFRAG_SEG 26
#define MG_PVMLOG_SEG 27
#define MG_PVMSHMEM_SEG 28
#define MG_SDPRO_SEG 29
#define MG_TASK_SEG 30
#define MG_TDPROC_SEG 31
#define MG_TEV_SEG 32
#define MG_WAITC_SEG 33
/* ----- Magic Categories ------- */
/* -- MG_LMSG_SEG -- */
#define LMSG_MSGID MAKE_MAGIC(MG_LMSG_SEG,1)
/* ------ END of Magic Categories ----------- */
#endif /* ifndef __PVMMAGIC__ */
syntax highlighted by Code2HTML, v. 0.9.1