/**************************************************************************
 *									  *
 * 		 Copyright (C) 1983, Silicon Graphics, Inc.		  *
 *									  *
 *  These coded instructions, statements, and computer programs  contain  *
 *  unpublished  proprietary  information of Silicon Graphics, Inc., and  *
 *  are protected by Federal copyright law.  They  may  not be disclosed  *
 *  to  third  parties  or copied or duplicated in any form, in whole or  *
 *  in part, without the prior written consent of Silicon Graphics, Inc.  *
 *									  *
 **************************************************************************/


#include "gl.h"

/*
**		C graphics library external declarations
*/

extern float recF();
extern char recB();
extern short recS();
extern long recL();

/*
**	C graphics library
*/

void xsetslowcom( )
{
	gcmd(0);
	endprim();
}

void xsetfastcom( )
{
	gcmd(1);
	endprim();
}

short gversion( )
{
	short retval;

	echoff();
	gcmd(2);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

void gdownload( )
{
	gcmd(3);
	endprim();
}

void pagecolor( arg1 )
short arg1;
{
	gcmd(4);
	sends(arg1);
	endprim();
}

void textcolor( arg1 )
short arg1;
{
	gcmd(5);
	sends(arg1);
	endprim();
}

void textport( arg1, arg2, arg3, arg4 )
short arg1;
short arg2;
short arg3;
short arg4;
{
	gcmd(6);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	sends(arg4);
	endprim();
}

void arc( arg1, arg2, arg3, arg4, arg5 )
Coord arg1;
Coord arg2;
Coord arg3;
Angle arg4;
Angle arg5;
{
	gcmd(7);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	sends(arg4);
	sends(arg5);
	endprim();
}

void arcf( arg1, arg2, arg3, arg4, arg5 )
Coord arg1;
Coord arg2;
Coord arg3;
Angle arg4;
Angle arg5;
{
	gcmd(8);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	sends(arg4);
	sends(arg5);
	endprim();
}

void arcfi( arg1, arg2, arg3, arg4, arg5 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
Angle arg4;
Angle arg5;
{
	gcmd(9);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	sends(arg4);
	sends(arg5);
	endprim();
}

void arci( arg1, arg2, arg3, arg4, arg5 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
Angle arg4;
Angle arg5;
{
	gcmd(10);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	sends(arg4);
	sends(arg5);
	endprim();
}

void attachcursor( arg1, arg2 )
Device arg1;
Device arg2;
{
	gcmd(11);
	sends(arg1);
	sends(arg2);
	endprim();
}

void backbuffer( arg1 )
Boolean arg1;
{
	gcmd(12);
	sendo(arg1);
	endprim();
}

void bbox( arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 )
Screencoord arg1;
Screencoord arg2;
Coord arg3;
Coord arg4;
Coord arg5;
Coord arg6;
Coord arg7;
Coord arg8;
{
	gcmd(13);
	sends(arg1);
	sends(arg2);
	sendf(arg3);
	sendf(arg4);
	sendf(arg5);
	sendf(arg6);
	sendf(arg7);
	sendf(arg8);
	endprim();
}

void bbox2( arg1, arg2, arg3, arg4, arg5, arg6 )
Screencoord arg1;
Screencoord arg2;
Coord arg3;
Coord arg4;
Coord arg5;
Coord arg6;
{
	gcmd(14);
	sends(arg1);
	sends(arg2);
	sendf(arg3);
	sendf(arg4);
	sendf(arg5);
	sendf(arg6);
	endprim();
}

void bbox2i( arg1, arg2, arg3, arg4, arg5, arg6 )
Screencoord arg1;
Screencoord arg2;
Icoord arg3;
Icoord arg4;
Icoord arg5;
Icoord arg6;
{
	gcmd(15);
	sends(arg1);
	sends(arg2);
	sendl(arg3);
	sendl(arg4);
	sendl(arg5);
	sendl(arg6);
	endprim();
}

void bboxi( arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 )
Screencoord arg1;
Screencoord arg2;
Icoord arg3;
Icoord arg4;
Icoord arg5;
Icoord arg6;
Icoord arg7;
Icoord arg8;
{
	gcmd(16);
	sends(arg1);
	sends(arg2);
	sendl(arg3);
	sendl(arg4);
	sendl(arg5);
	sendl(arg6);
	sendl(arg7);
	sendl(arg8);
	endprim();
}

void blink( arg1, arg2, arg3, arg4, arg5 )
short arg1;
Colorindex arg2;
RGBvalue arg3;
RGBvalue arg4;
RGBvalue arg5;
{
	gcmd(17);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	sends(arg4);
	sends(arg5);
	endprim();
}

void callobj( arg1 )
Object arg1;
{
	gcmd(18);
	sendl(arg1);
	endprim();
}

void charstr( arg1 )
String arg1;
{
	gcmd(19);
	sendc(arg1);
	endprim();
}

void circ( arg1, arg2, arg3 )
Coord arg1;
Coord arg2;
Coord arg3;
{
	gcmd(20);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	endprim();
}

void circf( arg1, arg2, arg3 )
Coord arg1;
Coord arg2;
Coord arg3;
{
	gcmd(21);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	endprim();
}

void circfi( arg1, arg2, arg3 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
{
	gcmd(22);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	endprim();
}

void circi( arg1, arg2, arg3 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
{
	gcmd(23);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	endprim();
}

void clear( )
{
	gcmd(24);
	endprim();
}

void clearhitcode( )
{
	gcmd(25);
	endprim();
}

long clipline( arg1, arg2, arg3, arg4, arg5 )
String arg1;
long arg2;
Coord arg3[][3];
Coord arg4[][4];
Boolean arg5[];
{
	long retval;

	echoff();
	gcmd(26);
	sendc(arg1);
	sendl(arg2);
	sendfs(arg3,3*arg2);
	flushg();
	retval = recL();
	recFs(arg4);
	recOs(arg5);
	reccr();
	echoon();
	endprim();
	return retval;
}

void clippnt( arg1, arg2, arg3, arg4, arg5 )
String arg1;
long arg2;
Coord arg3[][3];
Coord arg4[][4];
Boolean arg5[];
{
	echoff();
	gcmd(27);
	sendc(arg1);
	sendl(arg2);
	sendfs(arg3,3*arg2);
	flushg();
	recFs(arg4);
	recOs(arg5);
	reccr();
	echoon();
	endprim();
}

long clippoly( arg1, arg2, arg3, arg4 )
String arg1;
long arg2;
Coord arg3[][3];
Coord arg4[][4];
{
	long retval;

	echoff();
	gcmd(28);
	sendc(arg1);
	sendl(arg2);
	sendfs(arg3,3*arg2);
	flushg();
	retval = recL();
	recFs(arg4);
	reccr();
	echoon();
	endprim();
	return retval;
}

void closeobj( )
{
	gcmd(29);
	endprim();
}

void cmov( arg1, arg2, arg3 )
Coord arg1;
Coord arg2;
Coord arg3;
{
	gcmd(30);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	endprim();
}

void cmov2( arg1, arg2 )
Coord arg1;
Coord arg2;
{
	gcmd(31);
	sendf(arg1);
	sendf(arg2);
	endprim();
}

void cmov2i( arg1, arg2 )
Icoord arg1;
Icoord arg2;
{
	gcmd(32);
	sendl(arg1);
	sendl(arg2);
	endprim();
}

void cmovi( arg1, arg2, arg3 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
{
	gcmd(33);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	endprim();
}

void color( arg1 )
Colorindex arg1;
{
	gcmd(34);
	sends(arg1);
	endprim();
}

void cursoff( )
{
	gcmd(35);
	endprim();
}

void curson( )
{
	gcmd(36);
	endprim();
}

void curve( arg1, arg2, arg3 )
short arg1;
Matrix arg2;
Coord arg3[][3];
{
	gcmd(37);
	sends(arg1);
	sendfs(arg2,16);
	sendfs(arg3,4*3);
	endprim();
}

void curveit( arg1 )
short arg1;
{
	gcmd(38);
	sends(arg1);
	endprim();
}

void defcursor( arg1, arg2 )
short arg1;
Cursor arg2;
{
	gcmd(39);
	sends(arg1);
	sendss(arg2,16);
	endprim();
}

void deflinestyle( arg1, arg2 )
short arg1;
Linestyle arg2;
{
	gcmd(40);
	sends(arg1);
	sends(arg2);
	endprim();
}

void defobjfont( arg1, arg2, arg3 )
short arg1;
short arg2;
Object arg3[];
{
	gcmd(41);
	sends(arg1);
	sends(arg2);
	sendls(arg3,arg2);
	endprim();
}

void defrasterfont( arg1, arg2, arg3, arg4, arg5, arg6 )
short arg1;
short arg2;
short arg3;
Fontchar arg4[];
short arg5;
Byte arg6[];
{
	gcmd(42);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	sendqs(arg4,arg3);
	sends(arg5);
	sendbs(arg6,arg5);
	endprim();
}

void deftexture( arg1, arg2 )
short arg1;
Texture arg2;
{
	gcmd(43);
	sends(arg1);
	sendbs(arg2,16);
	endprim();
}

void delete( arg1, arg2, arg3 )
Tag arg1;
Offset arg2;
long arg3;
{
	gcmd(44);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	endprim();
}

void delobj( arg1 )
Object arg1;
{
	gcmd(45);
	sendl(arg1);
	endprim();
}

void doublebuffer( )
{
	gcmd(46);
	endprim();
}

void draw( arg1, arg2, arg3 )
Coord arg1;
Coord arg2;
Coord arg3;
{
	gcmd(47);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	endprim();
}

void draw2( arg1, arg2 )
Coord arg1;
Coord arg2;
{
	gcmd(48);
	sendf(arg1);
	sendf(arg2);
	endprim();
}

void draw2i( arg1, arg2 )
Icoord arg1;
Icoord arg2;
{
	gcmd(49);
	sendl(arg1);
	sendl(arg2);
	endprim();
}

void drawi( arg1, arg2, arg3 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
{
	gcmd(50);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	endprim();
}

void editobj( arg1 )
Object arg1;
{
	gcmd(51);
	sendl(arg1);
	endprim();
}

long endpick( arg1 )
long arg1[];
{
	long retval;

	echoff();
	gcmd(52);
	flushg();
	retval = recL();
	recLs(arg1);
	reccr();
	echoon();
	endprim();
	return retval;
}

long endselect( arg1 )
long arg1[];
{
	long retval;

	echoff();
	gcmd(53);
	flushg();
	retval = recL();
	recLs(arg1);
	reccr();
	echoon();
	endprim();
	return retval;
}

void finish( )
{
	gcmd(54);
	endprim();
}

void font( arg1 )
short arg1;
{
	gcmd(55);
	sends(arg1);
	endprim();
}

void frontbuffer( arg1 )
Boolean arg1;
{
	gcmd(56);
	sendo(arg1);
	endprim();
}

void gconfig( )
{
	gcmd(57);
	endprim();
}

Object genobj( )
{
	Object retval;

	echoff();
	gcmd(58);
	flushg();
	retval = recL();
	reccr();
	echoon();
	endprim();
	return retval;
}

Tag gentag( )
{
	Tag retval;

	echoff();
	gcmd(59);
	flushg();
	retval = recL();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getbuffer( )
{
	short retval;

	echoff();
	gcmd(60);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

Boolean getbutton( arg1 )
Device arg1;
{
	Boolean retval;

	echoff();
	gcmd(61);
	sends(arg1);
	flushg();
	retval = recO();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getcmmode( )
{
	short retval;

	echoff();
	gcmd(62);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

Colorindex getcolor( )
{
	Colorindex retval;

	echoff();
	gcmd(63);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

void getcursor( arg1, arg2, arg3, arg4 )
short *arg1;
Colorindex *arg2;
Colorindex *arg3;
Boolean *arg4;
{
	echoff();
	gcmd(64);
	flushg();
	*arg1 = recS();
	*arg2 = recS();
	*arg3 = recS();
	*arg4 = recO();
	reccr();
	echoon();
	endprim();
}

void getdepth( arg1, arg2 )
Screencoord *arg1;
Screencoord *arg2;
{
	echoff();
	gcmd(65);
	flushg();
	*arg1 = recS();
	*arg2 = recS();
	reccr();
	echoon();
	endprim();
}

short getdisplaymode( )
{
	short retval;

	echoff();
	gcmd(66);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getfont( )
{
	short retval;

	echoff();
	gcmd(67);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getheight( )
{
	short retval;

	echoff();
	gcmd(68);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

short gethitcode( )
{
	short retval;

	echoff();
	gcmd(69);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

Boolean getlsbackup( )
{
	Boolean retval;

	echoff();
	gcmd(70);
	flushg();
	retval = recO();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getlstyle( )
{
	short retval;

	echoff();
	gcmd(71);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getlwidth( )
{
	short retval;

	echoff();
	gcmd(72);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getmap( )
{
	short retval;

	echoff();
	gcmd(73);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

void getmatrix( arg1 )
Matrix arg1;
{
	echoff();
	gcmd(74);
	flushg();
	recFs(arg1);
	reccr();
	echoon();
	endprim();
}

short getobjfont( )
{
	short retval;

	echoff();
	gcmd(75);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getplanes( )
{
	short retval;

	echoff();
	gcmd(76);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

Boolean getresetls( )
{
	Boolean retval;

	echoff();
	gcmd(77);
	flushg();
	retval = recO();
	reccr();
	echoon();
	endprim();
	return retval;
}

void getscrmask( arg1, arg2, arg3, arg4 )
Screencoord *arg1;
Screencoord *arg2;
Screencoord *arg3;
Screencoord *arg4;
{
	echoff();
	gcmd(78);
	flushg();
	*arg1 = recS();
	*arg2 = recS();
	*arg3 = recS();
	*arg4 = recS();
	reccr();
	echoon();
	endprim();
}

short gettexture( )
{
	short retval;

	echoff();
	gcmd(79);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

short getvaluator( arg1 )
Device arg1;
{
	short retval;

	echoff();
	gcmd(80);
	sends(arg1);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

void getviewport( arg1, arg2, arg3, arg4 )
Screencoord *arg1;
Screencoord *arg2;
Screencoord *arg3;
Screencoord *arg4;
{
	echoff();
	gcmd(81);
	flushg();
	*arg1 = recS();
	*arg2 = recS();
	*arg3 = recS();
	*arg4 = recS();
	reccr();
	echoon();
	endprim();
}

Colorindex getwritemask( )
{
	Colorindex retval;

	echoff();
	gcmd(82);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

void xginit( )
{
	gcmd(83);
	endprim();
}

void xgreset( )
{
	gcmd(84);
	endprim();
}

void gRGBcolor( arg1, arg2, arg3 )
RGBvalue *arg1;
RGBvalue *arg2;
RGBvalue *arg3;
{
	echoff();
	gcmd(85);
	flushg();
	*arg1 = recS();
	*arg2 = recS();
	*arg3 = recS();
	reccr();
	echoon();
	endprim();
}

void gRGBcursor( arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 )
short *arg1;
RGBvalue *arg2;
RGBvalue *arg3;
RGBvalue *arg4;
RGBvalue *arg5;
RGBvalue *arg6;
RGBvalue *arg7;
Boolean *arg8;
{
	echoff();
	gcmd(86);
	flushg();
	*arg1 = recS();
	*arg2 = recS();
	*arg3 = recS();
	*arg4 = recS();
	*arg5 = recS();
	*arg6 = recS();
	*arg7 = recS();
	*arg8 = recO();
	reccr();
	echoon();
	endprim();
}

void gRGBmask( arg1, arg2, arg3 )
RGBvalue *arg1;
RGBvalue *arg2;
RGBvalue *arg3;
{
	echoff();
	gcmd(87);
	flushg();
	*arg1 = recS();
	*arg2 = recS();
	*arg3 = recS();
	reccr();
	echoon();
	endprim();
}

void insert( arg1, arg2 )
Tag arg1;
Offset arg2;
{
	gcmd(88);
	sendl(arg1);
	sendl(arg2);
	endprim();
}

Boolean isobj( arg1 )
Object arg1;
{
	Boolean retval;

	echoff();
	gcmd(89);
	sendl(arg1);
	flushg();
	retval = recO();
	reccr();
	echoon();
	endprim();
	return retval;
}

Boolean istag( arg1 )
Tag arg1;
{
	Boolean retval;

	echoff();
	gcmd(90);
	sendl(arg1);
	flushg();
	retval = recO();
	reccr();
	echoon();
	endprim();
	return retval;
}

char keyboard( )
{
	char retval;

	echoff();
	gcmd(91);
	flushg();
	retval = recB();
	reccr();
	echoon();
	endprim();
	return retval;
}

void linewidth( arg1 )
short arg1;
{
	gcmd(92);
	sends(arg1);
	endprim();
}

void loadmatrix( arg1 )
Matrix arg1;
{
	gcmd(93);
	sendfs(arg1,16);
	endprim();
}

void lookat( arg1, arg2, arg3, arg4, arg5, arg6, arg7 )
Coord arg1;
Coord arg2;
Coord arg3;
Coord arg4;
Coord arg5;
Coord arg6;
Angle arg7;
{
	gcmd(94);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	sendf(arg4);
	sendf(arg5);
	sendf(arg6);
	sends(arg7);
	endprim();
}

void lsbackup( arg1 )
Boolean arg1;
{
	gcmd(95);
	sendo(arg1);
	endprim();
}

void makeobj( arg1 )
Object arg1;
{
	gcmd(96);
	sendl(arg1);
	endprim();
}

void maketag( arg1 )
Tag arg1;
{
	gcmd(97);
	sendl(arg1);
	endprim();
}

void mapcolor( arg1, arg2, arg3, arg4 )
Colorindex arg1;
RGBvalue arg2;
RGBvalue arg3;
RGBvalue arg4;
{
	gcmd(98);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	sends(arg4);
	endprim();
}

void mapw( arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 )
Object arg1;
Screencoord arg2;
Screencoord arg3;
Coord *arg4;
Coord *arg5;
Coord *arg6;
Coord *arg7;
Coord *arg8;
Coord *arg9;
{
	echoff();
	gcmd(99);
	sendl(arg1);
	sends(arg2);
	sends(arg3);
	flushg();
	*arg4 = recF();
	*arg5 = recF();
	*arg6 = recF();
	*arg7 = recF();
	*arg8 = recF();
	*arg9 = recF();
	reccr();
	echoon();
	endprim();
}

void mapw2( arg1, arg2, arg3, arg4, arg5 )
Object arg1;
Screencoord arg2;
Screencoord arg3;
Coord *arg4;
Coord *arg5;
{
	echoff();
	gcmd(100);
	sendl(arg1);
	sends(arg2);
	sends(arg3);
	flushg();
	*arg4 = recF();
	*arg5 = recF();
	reccr();
	echoon();
	endprim();
}

void modify( arg1, arg2, arg3, arg4, arg5, arg6, arg7 )
Object arg1;
Tag arg2;
Offset arg3;
short arg4;
float arg5;
float arg6;
Device arg7;
{
	gcmd(101);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	sends(arg4);
	sendf(arg5);
	sendf(arg6);
	sends(arg7);
	endprim();
}

void move( arg1, arg2, arg3 )
Coord arg1;
Coord arg2;
Coord arg3;
{
	gcmd(102);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	endprim();
}

void move2( arg1, arg2 )
Coord arg1;
Coord arg2;
{
	gcmd(103);
	sendf(arg1);
	sendf(arg2);
	endprim();
}

void move2i( arg1, arg2 )
Icoord arg1;
Icoord arg2;
{
	gcmd(104);
	sendl(arg1);
	sendl(arg2);
	endprim();
}

void movei( arg1, arg2, arg3 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
{
	gcmd(105);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	endprim();
}

void multimap( )
{
	gcmd(106);
	endprim();
}

void multmatrix( arg1 )
Matrix arg1;
{
	gcmd(107);
	sendfs(arg1,16);
	endprim();
}

void noise( arg1, arg2 )
Device arg1;
short arg2;
{
	gcmd(108);
	sends(arg1);
	sends(arg2);
	endprim();
}

void objfont( arg1 )
short arg1;
{
	gcmd(109);
	sends(arg1);
	endprim();
}

void objstr( arg1 )
String arg1;
{
	gcmd(110);
	sendc(arg1);
	endprim();
}

void onemap( )
{
	gcmd(111);
	endprim();
}

void ortho( arg1, arg2, arg3, arg4, arg5, arg6 )
Coord arg1;
Coord arg2;
Coord arg3;
Coord arg4;
Coord arg5;
Coord arg6;
{
	gcmd(112);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	sendf(arg4);
	sendf(arg5);
	sendf(arg6);
	endprim();
}

void ortho2( arg1, arg2, arg3, arg4 )
Coord arg1;
Coord arg2;
Coord arg3;
Coord arg4;
{
	gcmd(113);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	sendf(arg4);
	endprim();
}

void perspective( arg1, arg2, arg3, arg4 )
Angle arg1;
float arg2;
Coord arg3;
Coord arg4;
{
	gcmd(114);
	sends(arg1);
	sendf(arg2);
	sendf(arg3);
	sendf(arg4);
	endprim();
}

void pick( arg1 )
long arg1;
{
	gcmd(115);
	sendl(arg1);
	endprim();
}

void picksize( arg1, arg2 )
short arg1;
short arg2;
{
	gcmd(116);
	sends(arg1);
	sends(arg2);
	endprim();
}

void pnt( arg1, arg2, arg3 )
Coord arg1;
Coord arg2;
Coord arg3;
{
	gcmd(117);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	endprim();
}

void pnt2( arg1, arg2 )
Coord arg1;
Coord arg2;
{
	gcmd(118);
	sendf(arg1);
	sendf(arg2);
	endprim();
}

void pnt2i( arg1, arg2 )
Icoord arg1;
Icoord arg2;
{
	gcmd(119);
	sendl(arg1);
	sendl(arg2);
	endprim();
}

void pnti( arg1, arg2, arg3 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
{
	gcmd(120);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	endprim();
}

void polarview( arg1, arg2, arg3, arg4 )
Coord arg1;
Angle arg2;
Angle arg3;
Angle arg4;
{
	gcmd(121);
	sendf(arg1);
	sends(arg2);
	sends(arg3);
	sends(arg4);
	endprim();
}

void polf( arg1, arg2 )
long arg1;
Coord arg2[][3];
{
	gcmd(122);
	sendl(arg1);
	sendfs(arg2,3*arg1);
	endprim();
}

void polf2( arg1, arg2 )
long arg1;
Coord arg2[][2];
{
	gcmd(123);
	sendl(arg1);
	sendfs(arg2,2*arg1);
	endprim();
}

void polf2i( arg1, arg2 )
long arg1;
Icoord arg2[][2];
{
	gcmd(124);
	sendl(arg1);
	sendls(arg2,2*arg1);
	endprim();
}

void polfi( arg1, arg2 )
long arg1;
Icoord arg2[][3];
{
	gcmd(125);
	sendl(arg1);
	sendls(arg2,3*arg1);
	endprim();
}

void poly( arg1, arg2 )
long arg1;
Coord arg2[][3];
{
	gcmd(126);
	sendl(arg1);
	sendfs(arg2,3*arg1);
	endprim();
}

void poly2( arg1, arg2 )
long arg1;
Coord arg2[][2];
{
	gcmd(127);
	sendl(arg1);
	sendfs(arg2,2*arg1);
	endprim();
}

void poly2i( arg1, arg2 )
long arg1;
Icoord arg2[][2];
{
	gcmd(128);
	sendl(arg1);
	sendls(arg2,2*arg1);
	endprim();
}

void polyi( arg1, arg2 )
long arg1;
Icoord arg2[][3];
{
	gcmd(129);
	sendl(arg1);
	sendls(arg2,3*arg1);
	endprim();
}

void popattributes( )
{
	gcmd(130);
	endprim();
}

void popmatrix( )
{
	gcmd(131);
	endprim();
}

void popviewport( )
{
	gcmd(132);
	endprim();
}

void pushattributes( )
{
	gcmd(133);
	endprim();
}

void pushmatrix( )
{
	gcmd(134);
	endprim();
}

void pushviewport( )
{
	gcmd(135);
	endprim();
}

void qbutton( arg1 )
Device arg1;
{
	gcmd(136);
	sends(arg1);
	endprim();
}

void qenter( arg1, arg2 )
short arg1;
short arg2;
{
	gcmd(137);
	sends(arg1);
	sends(arg2);
	endprim();
}

void qkeyboard( )
{
	gcmd(138);
	endprim();
}

Device qread( arg1 )
short *arg1;
{
	Device retval;

	echoff();
	gcmd(139);
	flushg();
	retval = recS();
	*arg1 = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

void qreset( )
{
	gcmd(140);
	endprim();
}

Device qtest( )
{
	Device retval;

	echoff();
	gcmd(141);
	flushg();
	retval = recS();
	reccr();
	echoon();
	endprim();
	return retval;
}

void qvaluator( arg1 )
Device arg1;
{
	gcmd(142);
	sends(arg1);
	endprim();
}

short readpixels( arg1, arg2 )
short arg1;
Colorindex arg2[];
{
	short retval;

	echoff();
	gcmd(143);
	sends(arg1);
	flushg();
	retval = recS();
	recSs(arg2);
	reccr();
	echoon();
	endprim();
	return retval;
}

short readRGB( arg1, arg2, arg3, arg4 )
short arg1;
RGBvalue arg2[];
RGBvalue arg3[];
RGBvalue arg4[];
{
	short retval;

	echoff();
	gcmd(144);
	sends(arg1);
	flushg();
	retval = recS();
	recSs(arg2);
	recSs(arg3);
	recSs(arg4);
	reccr();
	echoon();
	endprim();
	return retval;
}

void rect( arg1, arg2, arg3, arg4 )
Coord arg1;
Coord arg2;
Coord arg3;
Coord arg4;
{
	gcmd(145);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	sendf(arg4);
	endprim();
}

void rectf( arg1, arg2, arg3, arg4 )
Coord arg1;
Coord arg2;
Coord arg3;
Coord arg4;
{
	gcmd(146);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	sendf(arg4);
	endprim();
}

void rectfi( arg1, arg2, arg3, arg4 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
Icoord arg4;
{
	gcmd(147);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	sendl(arg4);
	endprim();
}

void recti( arg1, arg2, arg3, arg4 )
Icoord arg1;
Icoord arg2;
Icoord arg3;
Icoord arg4;
{
	gcmd(148);
	sendl(arg1);
	sendl(arg2);
	sendl(arg3);
	sendl(arg4);
	endprim();
}

void replace( arg1, arg2 )
Tag arg1;
Offset arg2;
{
	gcmd(149);
	sendl(arg1);
	sendl(arg2);
	endprim();
}

void resetls( arg1 )
Boolean arg1;
{
	gcmd(150);
	sendo(arg1);
	endprim();
}

void RGBcolor( arg1, arg2, arg3 )
RGBvalue arg1;
RGBvalue arg2;
RGBvalue arg3;
{
	gcmd(151);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	endprim();
}

void RGBcursor( arg1, arg2, arg3, arg4, arg5, arg6, arg7 )
short arg1;
RGBvalue arg2;
RGBvalue arg3;
RGBvalue arg4;
RGBvalue arg5;
RGBvalue arg6;
RGBvalue arg7;
{
	gcmd(152);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	sends(arg4);
	sends(arg5);
	sends(arg6);
	sends(arg7);
	endprim();
}

void RGBmode( )
{
	gcmd(153);
	endprim();
}

void RGBwritemask( arg1, arg2, arg3 )
RGBvalue arg1;
RGBvalue arg2;
RGBvalue arg3;
{
	gcmd(154);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	endprim();
}

void rotate( arg1, arg2 )
Angle arg1;
char arg2;
{
	gcmd(155);
	sends(arg1);
	sendb(arg2);
	endprim();
}

void scale( arg1, arg2, arg3 )
float arg1;
float arg2;
float arg3;
{
	gcmd(156);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	endprim();
}

void screenpnt( arg1, arg2, arg3, arg4 )
long arg1;
Coord arg2[][3];
Screencoord arg3[][3];
Boolean arg4[];
{
	echoff();
	gcmd(157);
	sendl(arg1);
	sendfs(arg2,3*arg1);
	flushg();
	recSs(arg3);
	recOs(arg4);
	reccr();
	echoon();
	endprim();
}

void scrmask( arg1, arg2, arg3, arg4 )
Screencoord arg1;
Screencoord arg2;
Screencoord arg3;
Screencoord arg4;
{
	gcmd(158);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	sends(arg4);
	endprim();
}

void select( arg1 )
long arg1;
{
	gcmd(159);
	sendl(arg1);
	endprim();
}

void setbutton( arg1, arg2 )
Device arg1;
Boolean arg2;
{
	gcmd(160);
	sends(arg1);
	sendo(arg2);
	endprim();
}

void setcursor( arg1, arg2, arg3 )
short arg1;
Colorindex arg2;
Colorindex arg3;
{
	gcmd(161);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	endprim();
}

void setdepth( arg1, arg2 )
Screencoord arg1;
Screencoord arg2;
{
	gcmd(162);
	sends(arg1);
	sends(arg2);
	endprim();
}

void setlinestyle( arg1 )
short arg1;
{
	gcmd(163);
	sends(arg1);
	endprim();
}

void setmap( arg1 )
short arg1;
{
	gcmd(164);
	sends(arg1);
	endprim();
}

void setplanes( arg1 )
short arg1;
{
	gcmd(165);
	sends(arg1);
	endprim();
}

void settexture( arg1 )
short arg1;
{
	gcmd(166);
	sends(arg1);
	endprim();
}

void setvaluator( arg1, arg2, arg3, arg4 )
Device arg1;
short arg2;
short arg3;
short arg4;
{
	gcmd(167);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	sends(arg4);
	endprim();
}

void singlebuffer( )
{
	gcmd(168);
	endprim();
}

long strwidth( arg1 )
String arg1;
{
	long retval;

	echoff();
	gcmd(169);
	sendc(arg1);
	flushg();
	retval = recL();
	reccr();
	echoon();
	endprim();
	return retval;
}

void swapbuffers( )
{
	gcmd(170);
	endprim();
}

void swapinterval( arg1 )
short arg1;
{
	gcmd(171);
	sends(arg1);
	endprim();
}

void sync( )
{
	gcmd(172);
	endprim();
}

void tie( arg1, arg2, arg3 )
Device arg1;
Device arg2;
Device arg3;
{
	gcmd(173);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	endprim();
}

void transform( arg1, arg2, arg3 )
long arg1;
Coord arg2[][4];
Coord arg3[][4];
{
	echoff();
	gcmd(174);
	sendl(arg1);
	sendfs(arg2,4*arg1);
	flushg();
	recFs(arg3);
	reccr();
	echoon();
	endprim();
}

void translate( arg1, arg2, arg3 )
Coord arg1;
Coord arg2;
Coord arg3;
{
	gcmd(175);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	endprim();
}

void unqbutton( arg1 )
Device arg1;
{
	gcmd(176);
	sends(arg1);
	endprim();
}

void unqkeyboard( )
{
	gcmd(177);
	endprim();
}

void unqvaluator( arg1 )
Device arg1;
{
	gcmd(178);
	sends(arg1);
	endprim();
}

void viewport( arg1, arg2, arg3, arg4 )
Screencoord arg1;
Screencoord arg2;
Screencoord arg3;
Screencoord arg4;
{
	gcmd(179);
	sends(arg1);
	sends(arg2);
	sends(arg3);
	sends(arg4);
	endprim();
}

void window( arg1, arg2, arg3, arg4, arg5, arg6 )
Coord arg1;
Coord arg2;
Coord arg3;
Coord arg4;
Coord arg5;
Coord arg6;
{
	gcmd(180);
	sendf(arg1);
	sendf(arg2);
	sendf(arg3);
	sendf(arg4);
	sendf(arg5);
	sendf(arg6);
	endprim();
}

void writemask( arg1 )
Colorindex arg1;
{
	gcmd(181);
	sends(arg1);
	endprim();
}

void writepixels( arg1, arg2 )
short arg1;
Colorindex arg2[];
{
	gcmd(182);
	sends(arg1);
	sendss(arg2,arg1);
	endprim();
}

void writeRGB( arg1, arg2, arg3, arg4 )
short arg1;
RGBvalue arg2[];
RGBvalue arg3[];
RGBvalue arg4[];
{
	gcmd(183);
	sends(arg1);
	sendss(arg2,arg1);
	sendss(arg3,arg1);
	sendss(arg4,arg1);
	endprim();
}

void tpon( )
{
	gcmd(184);
	endprim();
}

void tpoff( )
{
	gcmd(185);
	endprim();
}

void pagewritemask( arg1 )
short arg1;
{
	gcmd(186);
	sends(arg1);
	endprim();
}

void textwritemask( arg1 )
short arg1;
{
	gcmd(187);
	sends(arg1);
	endprim();
}

void xgexit( )
{
	gcmd(188);
	endprim();
}

void clkon( )
{
	gcmd(189);
	endprim();
}

void clkoff( )
{
	gcmd(190);
	endprim();
}

void lampon( arg1 )
char arg1;
{
	gcmd(191);
	sendb(arg1);
	endprim();
}

void lampoff( arg1 )
char arg1;
{
	gcmd(192);
	sendb(arg1);
	endprim();
}

void setbell( arg1 )
char arg1;
{
	gcmd(193);
	sendb(arg1);
	endprim();
}

void ringbell( )
{
	gcmd(194);
	endprim();
}
