const	bytes_per_au=4;		{ octets per allocation unit }
	au_per_page=512;	{ allocation units per page }
	au_min_size=2;
	au_mod=2;

	db_first_page=20000b;
	db_last_page=21777b;
	backup_first_page=22000b;

	max_sb=10;		{ number of search blocks, which is
				  equivalent to the number of tasks that the 
				  resolver can handle in parallel.  It should
				  probably never get larger than 15 or so for
				  efficiency reasons. If you make it larger
				  than 15 you should also check the ID
				  login in RSOLVE }

	flipfile='<domain.version5>flip.dd                                       ';
	flopfile='<domain.version5>flop.dd                                       ';
	tst_flipfile='<domain.version5>flip.tst                                      ';
	tst_flopfile='<domain.version5>flop.tst                                      ';
	nuforkfile='nufork.exe                                                     '; { filename of UDP nameserver fork }
	ppfile1='<domain.version5>pplegals.txt                                  ';
	ppfile2='domain:pplegals.txt                                            ';

	topbit=400000000000b;

	gtdom=765b;	{ JSYS definitions }

		{ flags in }
		gtdldo=0;	{ local data only }
		gtdmba=1;	{ must be authoritative }
		gtdrtc=2;	{ resolve using TCP }
		gtdrw=3;	{ rewrite name }
		gtddnf=4;	{ domain name format }
		gtddas=5;	{ glue address search }
		gtdrbk=6;	{ resolve in background }

				{ bits 7-11 are resolve TTL }

		gtdrcm=31;	{ max value for resolve TTL }
		gtdrsc=24;	{ shift count for resolve TTL }

		{ flags out }
		gtdaka=14;	{ alias found }
		gtdtru=17;	{ truncated }
		{ functions }
		gtdgen=11b;
		gtdrwt=12b;	{ resolver wait function }
		gtdfus=13b;	{ file use request }
		gtdfmx=13b;	{ maximum GTDOM function code }

		{ error codes }
		gtddne=602501b;	{ name does not exist }
		gtddna=602503b;	{ data not available }
		gtdse=602505b;	{ system error }

type	octet=	0..255;

	field1 = 0..1b;			{  1 bit  }
	field3 = 0..7b;			{  3 bits }
	field4 = 0..17b;		{  4 bits }
	field6 = 0..77b;		{  6 bits }
	field8 = 0..377b;		{  8 bits }
	field13 = 0..17777b;		{ 13 bits }
	field16 = 0..177777b;		{ 16 bits }
	field18 = 0..777777b;		{ 18 bits }
	field24 = 0..77777777b;		{ 24 bits }
	field30 = 0..7777777777b;	{ 30 bits }
	field32 = 0..37777777777b;	{ 32 bits }

	charfile=file of char;

	g1bpt=^octet;		{ global one word octet byte pointer }

	lock_pointer=^lock;

	dname_pointer=^dname;

	free_block_pointer=^free_block;

	integer_pointer=^integer;

	litstring_pointer=^litstring;

	node_pointer=^node;

	label_hashtable_pointer=^label_hashtable;

	pagenumber=db_first_page..db_last_page;

	rawmsg_pointer=^rawmsg;

	rdata_table_pointer=^rdata_table;

	rdchunk_pointer=^rdchunk;

	rr_pointer=^rr;

	secondary_label_table_pointer=^secondary_label_table;

	ulabel_pointer=^ulabel;

	file_blk_ptr=^file_blk;

	search_block_pointer=^search_block;

	master_block_pointer=^master_block;

	zone_entry_pointer=^zone_entry.
