/*
    Copyright 2001 (c) by Claudio Jeker,
    Swiss Federal Institute of Technology,
    Computer Engineering and Networks Laboratory.
 
    TOPSY -- A Teachable Operating System.
             Implementation of a tiny and simple
             micro kernel for teaching purposes.
 
    For further information, please visit http://www.tik.ee.ethz.ch/~topsy
 
    This software is provided under the terms of the GNU General Public 
    Licence. A full copy of the GNU GPL is provided in the file COPYING 
    found in the development root of Topsy.
*/
/*
	
    File:                  $Source: /home/ruf/cvs_Topsy/cvs/Topsy/VMemory/Attic/vm_region.h,v $
    Affiliation:           ETH Zuerich, TIK
    Version:               $Revision: 2922 $
    Last Date of Change:   $Date: 2007-03-19 17:48:52 +0100 (Mon, 19 Mär 2007) $  by: $Author: baderma $
 
*/
#ifndef __VM_REGION_H__
#define __VM_REGION_H__

struct vm_object_arg
{
  int argsize;	/* size of the arg vector */
  char arg[4];	/* the argument vector. An entry starts with:
  											unsigned char len;	-> length of this argument
  											unsigned char type; -> internal type
  										after this two bytes len bytes of argument follow.
  										So the next argument is at &arg->len + 2 + len.
  								 */
};


typedef struct vm_region_desc
{
  address_t start;			/* start address */
  address_t end;				/* end address */
  unsigned char cur;		/* current protection */
  unsigned char max;		/* maximum protection can only be lowered */
  unsigned short type;	/* type of object */
  struct vm_object_arg obj_arg; /* variable length object arguments */
}
Region_t;

typedef Region_t *RegionPtr_t;


#endif
