From:	MX%"mahan@TGV.COM" 19-NOV-1992 14:58:39.11
To:	NIELAND_T
CC:	
Subj:	RE: Updated list of hints

#
#Here is my updated list of hints, based on the inputs I have received so far.
#I still don't have much to put in the [HINTS] directory on the CD.  I need to
#receive any updates for 1700 EST today.
#

Ted,

Here is a Macro-64 file containing what can basically be considered as
"Transfer Vectors" under AXP.  It allows you to compile C code with
the qualifier /PREFIX=(PREFIX="") and still be able to link to DECC RTL
routines.

Sorry, but I won't have time to get the TPU procedure cleaned up in time.

	.TITLE	TRANSFER_ALPHA
;+ ---
;
;	We do this to get around things that the GEM "C" compiler
;	for Alpha/VMS likes to do with procedure names.  We make sure
;	that all prefixes are set to NULL when we compile things and
;	this vector gets us to the necessary "C" runtime routines through
;	the MultiNet socket library
;
;- ---

;+ ---
;
;	Vector Generating Macro for Alpha/VMS
;
;- ---
	.MACRO	TRANSFER_VECTOR, NAME, FUNCTION_NAME

	.PSECT $LINK$,NOWRT,NOEXE
	.CODE_ADDRESS		'FUNCTION_NAME'		;Transfer to here
	.ADDRESS		'FUNCTION_NAME'		;New Procedure Descr

	.PROCEDURE_DESCRIPTOR	'NAME', _'NAME'		;Define Name
	.WORD			^X1808			;Flags, Kind=NULL
	.WORD			0
	.WORD			26			;Entry_RA
	.WORD			0			;No signature
	.ADDRESS		_'NAME'			;Code Address

	.PSECT $CODE,PIC,SHR,EXE,NORD,NOWRT
_'NAME':
	LDQ	R28,-16(R27)	;Get the Code Address
	LDQ	R27, -8(R27)
	JMP	R31,   (R28)	;Jump there
	.ENDM


	TRANSFER_VECTOR CLOSE,		DECC$CLOSE
	TRANSFER_VECTOR CREAT,		DECC$CREAT
	TRANSFER_VECTOR FCLOSE,		DECC$FCLOSE
	TRANSFER_VECTOR FDOPEN,		DECC$FDOPEN
	TRANSFER_VECTOR FFLUSH,		DECC$FFLUSH
	TRANSFER_VECTOR FGETC,		DECC$FGETC
	TRANSFER_VECTOR FGETS,		DECC$FGETS
	TRANSFER_VECTOR FILENO,		DECC$FILENO
	TRANSFER_VECTOR FOPEN,		DECC$FOPEN
	TRANSFER_VECTOR FREAD,		DECC$FREAD
	TRANSFER_VECTOR FREOPEN,	DECC$FREOPEN
	TRANSFER_VECTOR FSEEK,		DECC$FSEEK
	TRANSFER_VECTOR FSTAT,		DECC$FSTAT
	TRANSFER_VECTOR FTELL,		DECC$FTELL
	TRANSFER_VECTOR FWRITE,		DECC$FWRITE
	TRANSFER_VECTOR LSEEK,		DECC$LSEEK
	TRANSFER_VECTOR OPEN,		DECC$OPEN
	TRANSFER_VECTOR READ,		DECC$READ
	TRANSFER_VECTOR WRITE,		DECC$WRITE
	TRANSFER_VECTOR LONGJMP,	DECC$LONGJMP
	TRANSFER_VECTOR GETENV,		DECC$GETENV
	TRANSFER_VECTOR GPRINTF,	DECC$GPRINTF
	TRANSFER_VECTOR GFPRINTF,	DECC$GFPRINTF
	TRANSFER_VECTOR GSPRINTF,	DECC$GSPRINTF
	TRANSFER_VECTOR GSSCANF,	DECC$GSSCANF
	TRANSFER_VECTOR EXIT,		DECC$EXIT
	TRANSFER_VECTOR ATOI,		DECC$ATOI
	TRANSFER_VECTOR FPUTC,		DECC$FPUTC
	TRANSFER_VECTOR PERROR,		DECC$PERROR
	TRANSFER_VECTOR CTIME,		DECC$CTIME
	TRANSFER_VECTOR GETS,		DECC$GETS
	TRANSFER_VECTOR TIME,		DECC$TIME
	TRANSFER_VECTOR STRCHR,		DECC$STRCHR
	TRANSFER_VECTOR ACCESS,		DECC$ACCESS
	TRANSFER_VECTOR ALARM,		DECC$ALARM
	TRANSFER_VECTOR ATOL,		DECC$ATOL
	TRANSFER_VECTOR CHDIR,		DECC$CHDIR
	TRANSFER_VECTOR CHMOD,		DECC$CHMOD
	TRANSFER_VECTOR DELETE,		DECC$DELETE
	TRANSFER_VECTOR FPUTS,		DECC$FPUTS
	TRANSFER_VECTOR FTIME,		DECC$FTIME
	TRANSFER_VECTOR GETPID,		DECC$GETPID
	TRANSFER_VECTOR MKTEMP,		DECC$MKTEMP
	TRANSFER_VECTOR SIGNAL,		DECC$SIGNAL
	TRANSFER_VECTOR STAT,		DECC$STAT
	TRANSFER_VECTOR STRERROR,	DECC$STRERROR
	TRANSFER_VECTOR UMASK,		DECC$UMASK
	TRANSFER_VECTOR ABORT,		DECC$ABORT
	TRANSFER_VECTOR GETEUID,	DECC$GETEUID
	TRANSFER_VECTOR GETEGID,	DECC$GETEGID
	TRANSFER_VECTOR SLEEP,		DECC$SLEEP
	TRANSFER_VECTOR GVFPRINTF,	DECC$GVFPRINTF
	TRANSFER_VECTOR MEMCPY,		DECC$MEMCPY
	TRANSFER_VECTOR MEMCMP,		DECC$MEMCMP
	TRANSFER_VECTOR PUTCHAR,	DECC$PUTCHAR
	TRANSFER_VECTOR PUTS,		DECC$PUTS
	TRANSFER_VECTOR STRRCHR,	DECC$STRRCHR
	TRANSFER_VECTOR SBRK,		DECC$SBRK
	TRANSFER_VECTOR ISATTY,		DECC$ISATTY
	TRANSFER_VECTOR ENDWIN,		DECC$ENDWIN
	TRANSFER_VECTOR INITSCR,	DECC$INITSCR
	TRANSFER_VECTOR WADDSTR,	DECC$WADDSTR
	TRANSFER_VECTOR WCLRTOBOT,	DECC$WCLRTOBOT
	TRANSFER_VECTOR WCLRTOEOL,	DECC$WCLRTOEOL
	TRANSFER_VECTOR WERASE,		DECC$WERASE
	TRANSFER_VECTOR WMOVE,		DECC$WMOVE
	TRANSFER_VECTOR WREFRESH,	DECC$WREFRESH
	TRANSFER_VECTOR WSTANDEND,	DECC$WSTANDEND
	TRANSFER_VECTOR WSTANDOUT,	DECC$WSTANDOUT
	TRANSFER_VECTOR MEMSET,		DECC$MEMSET
	TRANSFER_VECTOR STRSTR,		DECC$STRSTR
	TRANSFER_VECTOR CABS,		DECC$GCABS
	TRANSFER_VECTOR CHOWN,		DECC$CHOWN
	TRANSFER_VECTOR DUP,		DECC$DUP
	TRANSFER_VECTOR DUP2,		DECC$DUP2
	TRANSFER_VECTOR ECVT,		DECC$GECVT
	TRANSFER_VECTOR FCVT,		DECC$GFCVT
	TRANSFER_VECTOR FGETNAME,	DECC$FGETNAME
	TRANSFER_VECTOR FGETPOS,	DECC$FGETPOS
	TRANSFER_VECTOR FSETPOS,	DECC$FSETPOS
	TRANSFER_VECTOR FWAIT,		DECC$FWAIT
	TRANSFER_VECTOR GACOS,		DECC$GACOS
	TRANSFER_VECTOR GASIN,		DECC$GASIN
	TRANSFER_VECTOR GATAN,		DECC$GATAN
	TRANSFER_VECTOR GATAN2,		DECC$GATAN2
	TRANSFER_VECTOR GATOF,		DECC$GATOF
	TRANSFER_VECTOR GCEIL,		DECC$GCEIL
	TRANSFER_VECTOR GCOS,		DECC$GCOS
	TRANSFER_VECTOR GCOSH,		DECC$GCOSH
	TRANSFER_VECTOR GCVT,		DECC$GGCVT
	TRANSFER_VECTOR GETNAME,	DECC$GETNAME
	TRANSFER_VECTOR GETW,		DECC$GETW
	TRANSFER_VECTOR GEXP,		DECC$GEXP
	TRANSFER_VECTOR GFABS,		DECC$GFABS
	TRANSFER_VECTOR GFLOOR,		DECC$GFLOOR
	TRANSFER_VECTOR GFMOD,		DECC$GFMOD
	TRANSFER_VECTOR GFREXP,		DECC$GFREXP
	TRANSFER_VECTOR GFSCANF,	DECC$GFSCANF
	TRANSFER_VECTOR GLDEXP,		DECC$GLDEXP
	TRANSFER_VECTOR GLOG,		DECC$GLOG
	TRANSFER_VECTOR GLOG10,		DECC$GLOG10
	TRANSFER_VECTOR GMODF,		DECC$GMODF
	TRANSFER_VECTOR GPOW,		DECC$GPOW
	TRANSFER_VECTOR GSCANF,		DECC$GSCANF
	TRANSFER_VECTOR GSINH,		DECC$GSINH
	TRANSFER_VECTOR GSQRT,		DECC$GSQRT
	TRANSFER_VECTOR GSTRTOD,	DECC$GSTRTOD
	TRANSFER_VECTOR GTAN,		DECC$GTAN
	TRANSFER_VECTOR GTANH,		DECC$GTANH
	TRANSFER_VECTOR GVPRINTF,	DECC$GVPRINTF
	TRANSFER_VECTOR GVSPRINTF,	DECC$GVSPRINTF
	TRANSFER_VECTOR HYPOT,		DECC$GHYPOT
	TRANSFER_VECTOR ISAPIPE,	DECC$ISAPIPE
	TRANSFER_VECTOR LWAIT,		DECC$LWAIT
	TRANSFER_VECTOR MKDIR,		DECC$MKDIR
	TRANSFER_VECTOR PUTW,		DECC$PUTW
	TRANSFER_VECTOR REMOVE,		DECC$REMOVE
	TRANSFER_VECTOR RENAME,		DECC$RENAME
	TRANSFER_VECTOR REWIND,		DECC$REWIND
	TRANSFER_VECTOR SETBUF,		DECC$SETBUF
	TRANSFER_VECTOR UNGETC,		DECC$UNGETC
	TRANSFER_VECTOR BOX,		DECC$BOX
	TRANSFER_VECTOR NEWWIN,		DECC$NEWWIN
	TRANSFER_VECTOR TOUCHWIN,	DECC$TOUCHWIN
	TRANSFER_VECTOR WADDCH,		DECC$WADDCH
	TRANSFER_VECTOR WCLEAR,		DECC$WCLEAR
	TRANSFER_VECTOR WINCH,		DECC$WINCH
	TRANSFER_VECTOR TTYNAME,	DECC$TTYNAME
	TRANSFER_VECTOR SYSTEM,		DECC$SYSTEM
	TRANSFER_VECTOR RAND,		DECC$RAND
	TRANSFER_VECTOR SRAND,		DECC$SRAND
	TRANSFER_VECTOR LOCALTIME,	DECC$LOCALTIME
	TRANSFER_VECTOR TOLOWER,	DECC$TOLOWER
	TRANSFER_VECTOR GETGID,		DECC$GETGID
	TRANSFER_VECTOR GETUID,		DECC$GETUID
	TRANSFER_VECTOR STRSPN,		DECC$STRSPN
	TRANSFER_VECTOR STRCSPN,	DECC$STRCSPN
	TRANSFER_VECTOR TOUPPER,	DECC$TOUPPER
	TRANSFER_VECTOR WAIT,		DECC$WAIT
	TRANSFER_VECTOR KILL,		DECC$KILL
	TRANSFER_VECTOR SIGSETMASK,	DECC$SIGSETMASK
	TRANSFER_VECTOR ASCTIME,	DECC$ASCTIME

	.END

Patrick L. Mahan

--- TGV Window Washer ------------------------------- Mahan@TGV.COM ---------

Waking a person unnecessarily should not be considered  - Lazarus Long
a capital crime.  For a first offense, that is            From the Notebooks of
							  Lazarus Long
--------------------------------------------------------------------------------
Return-Path: <mahan@TGV.COM>
Received: from TGV.COM by kahuna.asc-yf.wpafb.af.mil (MX V3.1) with SMTP; Thu,
          19 Nov 1992 14:58:28 EST
Date: Thu, 19 Nov 92 11:37:49 PST
From: mahan@TGV.COM (Patrick L. Mahan)
Message-ID: <921119113749.42800340@TGV.COM>
Subject: RE: Updated list of hints
To: nieland_t@asc-yf.wpafb.af.mil
X-ST-Vmsmail-To: ST%"nieland_t@asc-yf.WPAFB.AF.MIL"
