
	ChareKernel Calls: 

		CreateChareGen( ,priority, needToPack);
		SendMsgGen( ,priority, chareId);

	Priority Field:

	Priority of a message is defined as its priority given to it based on
	its importance in relation to other messages. It is the responsiblity
	of the user to generate and assign priorities to messages. 
	Priorities may be of several types as explained below. Based on 
	a certain type of priority used, a particular queueing strategy
	selected will sort messages and give the highest priority message
	if a request for delete is given.


	Priorities can be of several types:

		1.	Short unsigned integers.
		2.	Long unsigned integers.
		3.	Bit Vector: Pointers to an unsigned word or 
				     multiple words.


	1. Short Unsigned Integers:
		
		This priority type uses 16 bits long integers. Message
	with priority 0x0 is considered as the highest priority message.
	Priorities decrease as the value of the priorites increase.
	The lowest priority will have a value of 0x7fff.

	
	2. Long Unsigned Integers:

		This priority type uses 32 bits long integers. Message
	with priority 0x0 is considered as the highest priority message.
	Priorities decrease as the value of the priorites increase.
	The lowest priority will have a value of 0x7fffffff.

	
	3. Bit Vector Priorities:

		If priorities need to be longer than 32 bits than a
	bit vector priority may be used. The priority field in the
	CreateChareGen() & SendMsgGen() takes a pointer to a single
	or multiple word long bit vector.

		Priority Bit Vector or priority vector is a sequence of
	L binary bits of arbitrarily length. A message with priority 
	vector P1 is at a higher priority than another  message with
	priority P2 if P1 is lexicographically smaller than P2. The
	highest priority is the vector 0.

	Bit Vector Priority Format:

		The first 32 bit word encodes the number of bits used
	in the bit vector in the most significant byte of the word.
	There are 24 bits <23:0> in the first word that can store the
	bit vector priority as shown below.

	First Word:
	31           24 23                                             0
	----------------------------------------------------------------
	|Vector Length |                |                |              |
	|in Bits       |                |                |              |
	----------------------------------------------------------------

	Successive Words if required:
	31                                                             0
	----------------------------------------------------------------
	|              |                |                |              |
	|              |                |                |              |
	----------------------------------------------------------------

	As number of bits increase then multiple words can be allocated
	for the required bit vector length. Currently, a maximum of 248
	bits ( 256-8 ) long bit vector can be used. The vector length
	in the most significant byte of the first word must be updated
	accordingly.

	The lexicographical comparison to compare two bit vectors 
	begins with the bit 23 of the first word and goes left to right.



	NeedToPack Field:

		NeedToPack field instructs the chare kernel that if
	this message ever needs to be sent to a remote processor then
	this message needs to be packed before it is sent. This field
	is either set to TRUE or FALSE.

		For a shared memory machine this field is not used
	and is always set to FALSE. For a distributed memory machine
	the field may be set to TRUE or FALSE.



