              <<< VAXAXP::NOTES$:[NOTES$LIBRARY]VMSNOTES.NOTE;1 >>>
               -< VAX and Alpha VMS - Digital Internal Use Only >-
================================================================================
Note 312.10  tools managing sybol_vector entries in large C++ shareabl  10 of 10
ORAREP::LASTOVICA "Comparisons are as bad as clich" 831 lines  13-MAR-1997 13:18
                           -< .0 - give this a try >-
--------------------------------------------------------------------------------
               <<< VAXAXP::NOTES$:[NOTES$ARCHIVE]ALPHA_EXAMPLES.NOTE;1 >>>
                   -< Alpha Programming Examples conference >-
================================================================================
Note 51.0    command procedure to make options and transfer vectors    4 replies
AZTECH::LASTOVICA "straight but not narrow minded"  140 lines  28-APR-1994 02:06
--------------------------------------------------------------------------------
    we use this command procedure to allow alpha and vax images to be built
    from the same code stream.  given the correct input data file, we
    create AXP or VAX linker options files and transfer vector files.
    
$!	B U I L D _ O P T I O N S _ X F E R V E C . C O M 
$!
$! P1 = input description file
$! P2 = output options file
$! P3 = output xfervectors file name
$! P4 = xfervectors psect name
$! P5 = VAX or ALPHA
$!
$! the format of the description file is as follows:
$!	TYPE~SYMBOLNAME
$!
$! where TYPE is one of:"ROUTINE"
$!			"SYMBOL"
$!			"OPTIONS_FILE_VAX"
$!			"OPTIONS_FILE_ALPHA"
$!			"OPTIONS_FILE_ALL"
$!			"TRANSFER_VECTORS_FILE_VAX"
$!			"TRANSFER_VECTORS_FILE_ALPHA"
$!			"TRANSFER_VECTORS_FILE_ALL"
$!
$! and SYMBOLNAME is the name of some symbol for "ROUTINE" or "SYMBOL" or
$! just some string for the other types.  this string will be written to
$! the specified file (options or transfer vectors).
$!
$! for ALPHA:
$!	the transfer vectors xfervec macro simply contains a .external to force
$!	objects to be fetched.  is written to the transfer vectors information,
$!	though one is created.  the options file is written with the 
$!	SYMBOL_VECTOR containing all the SYMBOLS and ROUTINES in the 
$!	description file.
$!
$! for VAX:
$!	the transfer vectors file is created and all ROUTINES are written to
$!	it as transfer vector entries.  the options file is written with all
$!	the symbols being written as universal symbols.
$!
$! this routine produces an options file as specified by P2, a macro source
$! file specified by P3.  the transfer vectors module name is the same as the
$! transfer vectors file name.
$!
$	p5 :== 'p5
$	alpha = p5 .eqs. "ALPHA"
$	first_comma = " "
$	no_open_paren = "true"
$	open/write options_file 'p2
$	open/write xfervectors_file 'p3
$	open/read desc 'p1
$!
$	write xfervectors_file "	.title	''f$parse(p3,,,"NAME")"
$	write xfervectors_file "	.ident	/1.0/
$	write xfervectors_file "
$	write xfervectors_file "; created ''f$time()' from ''p1'
$	write xfervectors_file "
$	write options_file "! created ''f$time()' from ''p1'
$	write xfervectors_file "	.macro xfervec	routine
$	if .not. alpha
$	then
$	    write xfervectors_file "	    .transfer	routine
$	    write xfervectors_file "	    .mask	routine
$	    write xfervectors_file "	    jmp		routine + 2
$	else
$	    write xfervectors_file "	.external routine
$	endif
$	write xfervectors_file "	.endm
$	write xfervectors_file "
$!
$	write xfervectors_file "	.psect ''p4',exe,nowrt,pic,shr
$	write xfervectors_file "
$!
$lp:
$	read/end=desc_eof desc d
$	type = f$edit(f$element(0,"~",d),"lowercase,collapse")
$	symbol = f$edit(f$element(1,"~",d),"lowercase,trim")
$!
$	if type .eqs. "options_file_vax" .and. .not. alpha then -
	    write options_file symbol
$!
$	if type .eqs. "options_file_alpha" .and. alpha then -
	    write options_file symbol
$!
$	if type .eqs. "options_file_all" then -
	    write options_file symbol
$!
$	if type .eqs. "transfer_vectors_file_vax" .and. .not. alpha then -
	    write xfervectors_file symbol
$!
$	if type .eqs. "transfer_vectors_file_alpha" .and. alpha then -
	    write xfervectors_file symbol
$!
$	if type .eqs. "transfer_vectors_file_all" then -
	    write xfervectors_file symbol
$!
$	if type .eqs. "symbol"
$	then
$	    if alpha
$	    then
$		if no_open_paren then write options_file "symbol_vector = ( -"
$		no_open_paren = "false"
$		write options_file "	''first_comma'''symbol' = data -"
$		first_comma = ","
$	    else
$		write options_file "universal=''symbol'"
$	    endif
$	endif
$!
$	if type .eqs. "routine"
$	then
$	    if alpha
$	    then
$		if no_open_paren then write options_file "symbol_vector = ( -"
$		no_open_paren = "false"
$		if symbol .eqs. "spare_procedure"
$		then
$		    write options_file "	''first_comma'spare_procedure -"
$		else
$		    write options_file "	''first_comma'''symbol' = procedure -"
$		endif
$		first_comma = ","
$	    endif
$	    if symbol .eqs. "spare_procedure"
$	    then
$		write xfervectors_file "	.blkb 8		; spare
$	    else
$		write xfervectors_file "	xfervec ''symbol'
$	    endif
$	endif
$!
$	goto lp
$desc_eof:
$	if alpha .and. .not. no_open_paren then write options_file "    )
$	write xfervectors_file "
$	write xfervectors_file "	.end
$	close desc
$	close options_file
$	close xfervectors_file
    
================================================================================
Note 51.1    command procedure to make options and transfer vectors       1 of 4
AZTECH::LASTOVICA "straight but not narrow minded"   37 lines  28-APR-1994 02:07
                              -< simple example >-
--------------------------------------------------------------------------------
options_file_all	~ gsmatch=lequal,2,1001
options_file_all	~ psect_attr=$code$,pic,shr,exe
options_file_all	~ psect_attr=dsn$plit,exe

options_file_all	~ collect=collect, -
options_file_all	~ $$dsn$copyshr_xfervec,dsn$code,$code$,dsn$plit

options_file_all	~ exe$:dsn$share/share

routine			~ dsn$copy_send_file 
routine			~ dsn$copy_receive_file
routine			~ dsn$copy_queue
routine			~ dsn$copy_get_file_info
routine			~ dsn$copy_validate_user

transfer_vectors_file_all ~ dsn$$copy
transfer_vectors_file_all ~ copy_defmaxsiz:: .long   dsn$copy_defmaxsiz

symbol			~ dsncopy$k_pasteof 
symbol			~ dsncopy$k_delete
symbol			~ dsncopy$k_notify_mail
symbol			~ dsncopy$k_notify_brdcst
symbol			~ dsncopy$k_accessnum    
symbol			~ dsncopy$k_requeue
symbol			~ dsncopy$k_seq_check    
symbol			~ dsncopy$k_noquemsg
symbol			~ dsncopy$k_com_cmdfil
symbol			~ dsncopy$k_noauthorization
symbol			~ dsncopy$k_defer_hangup


!
! force DZRO pages for this shareable image on VAX
!
options_file_vax	~ dzro_min=1
options_file_vax	~ unsupported=1
    
================================================================================
Note 51.2    command procedure to make options and transfer vectors       2 of 4
AZTECH::LASTOVICA "straight but not narrow minded"  607 lines  28-APR-1994 02:09
                      -< a slightly more complex example >-
--------------------------------------------------------------------------------
options_file_all	~ ident="STARS V2.6-1"
options_file_all	~ GSMATCH=LEQUAL,2,4010

options_file_vax	~ PSECT_ATTR=$CODE$,pic,shr
options_file_vax	~ psect_attr=_stars$stemming_table,exe
options_file_vax	~ psect_attr=_stars$plit,exe
options_file_vax	~ psect_attr=_stars$vega_plit,exe

options_file_vax	~ collect=xfer,_stars$transfer_vectors
options_file_vax	~ collect=code_plit,$code, _stars$code,$code$,_stars$vega_code,_lib$key0$, -
options_file_vax	~        _lib$state$,_stars$stemming_table,_stars$plit,_stars$vega_plit
options_file_vax	~ collect=data,_stars$own,_stars$vega_own,$local,_stars$global, -
options_file_vax	~        _stars$vega_global,cli$tables

options_file_all	~ stars$lib$:stars$dba/library
options_file_all	~ stars$lib$:stars$lib/library
options_file_all	~ stars$lib$:stars$vega/library

transfer_vectors_file_all	~ 1$:
transfer_vectors_file_all	~ .MACRO _ascid str
transfer_vectors_file_all	~	.ascid str
transfer_vectors_file_all	~	.align quad
transfer_vectors_file_all	~ .ENDM	_ascid
transfer_vectors_file_all	~ stars$libshr_base == .

symbol			~ STARS$LIBSHR_BASE
symbol			~ STARS$GD_DATABASE_IDENTIFIER
symbol			~ STARS$GD_DATABASE_TIME
symbol			~ STARS$GD_DELETED_ARTICLES
symbol			~ STARS$GD_EDITORIAL_REVIEW
symbol			~ STARS$GD_EUR_CUSTOMER_READABLE
symbol			~ STARS$GD_FIELD_READABLE
symbol			~ STARS$GD_FLASH
symbol			~ STARS$GD_GIA_CUSTOMER_READABLE
symbol			~ STARS$GD_INIT_MESSAGE_DISPLAY
symbol			~ STARS$GD_LOCAL
symbol			~ STARS$GD_MAIN_SESSION
symbol			~ STARS$GD_MAIN_SESSION_DESC
symbol			~ STARS$GD_COORDINATE_SESSION
symbol			~ STARS$GD_POST_MESSAGE_DISPLAY
symbol			~ STARS$GD_READY
symbol			~ STARS$GD_TECHNICAL_REVIEW
symbol			~ STARS$GD_USA_CUSTOMER_READABLE
symbol			~ STARS$GD_USED_ARTICLES
symbol			~ STARS$GD_VEGA_VERSION
symbol			~ STARS$GD_VERSION
symbol			~ STARS$GK_FLAG_TYPE
symbol			~ STARS$K_COORDINATED_ID
symbol			~ STARS$K_ADD
symbol			~ STARS$K_ADD_NOISEWORD
symbol			~ STARS$K_ADD_SYNONYM
symbol			~ STARS$K_APPL_DSIN
symbol			~ STARS$K_APPL_DSNLINK
symbol			~ STARS$K_APPL_INCA
symbol			~ STARS$K_APPL_STARS
symbol			~ STARS$K_APPL_MOSAIC
symbol			~ STARS$K_APPL_UNKNOWN
symbol			~ STARS$K_ARTICLE_QUALITY
symbol			~ STARS$K_ASSOC_FUNCTION
symbol			~ STARS$K_AUDIT
symbol			~ STARS$K_BADGE_TYPE
symbol			~ STARS$K_BOOLEAN_QUERY
symbol			~ STARS$K_BOOLEAN_SUBQUERY
symbol			~ STARS$K_CLIENT_V23
symbol			~ STARS$K_CLIENT_V24
symbol			~ STARS$K_CLIENT_V25
symbol			~ STARS$K_CLIENT_V26
symbol			~ STARS$K_CLOSE
symbol			~ STARS$K_DELETE
symbol			~ STARS$K_DELETE_NOISEWORD
symbol			~ STARS$K_DELETE_SYNONYM
symbol			~ STARS$K_EXTRACT
symbol			~ STARS$K_FLAG_TYPE
symbol			~ STARS$K_GEOGRAPHY_TYPE
symbol			~ STARS$K_HEADER_SEARCH
symbol			~ STARS$K_HEADER_SUBSEARCH
symbol			~ STARS$K_IL_ARTICLE
symbol			~ STARS$K_IL_QUERY
symbol			~ STARS$K_IL_QUERY_DB
symbol			~ STARS$K_IL_SRQ
symbol			~ STARS$K_INTRUSIVE_LOGGING
symbol			~ STARS$K_KEY_TYPE
symbol			~ STARS$K_LOG
symbol			~ STARS$K_NAME_TYPE
symbol			~ STARS$K_NETSERVER_BUFSIZ
symbol			~ STARS$K_NOFLAG_TYPE
symbol			~ STARS$K_NONE
symbol			~ STARS$K_OPEN
symbol			~ STARS$K_OWNER
symbol			~ STARS$K_OWNER_TYPE
symbol			~ STARS$K_PURGE
symbol			~ STARS$K_QUERY
symbol			~ STARS$K_QUERY_SUMMARY
symbol			~ STARS$K_REMOVE_SYNONYM
symbol			~ STARS$K_REPLACE
symbol			~ STARS$K_SELECT
symbol			~ STARS$K_SERVER_V23
symbol			~ STARS$K_SERVER_V24
symbol			~ STARS$K_SERVER_V25
symbol			~ STARS$K_SERVER_V26
symbol			~ STARS$K_SITE_TYPE
symbol			~ STARS$K_STARS_TYPE
symbol			~ STARS$K_SUBQUERY
symbol			~ STARS$K_TITLE_LIST
symbol			~ STARS$K_VEGA_GET
symbol			~ STARS$K_VEGA_PUT
symbol			~ STARS$K_VEGA_UPDATE
symbol			~ STARS$M_DFS_SERVED
symbol			~ STARS$M_ENABLE_ROOT
symbol			~ STARS$M_EXT_HYPHEN
symbol			~ STARS$M_EXT_PAREN
symbol			~ STARS$M_EXT_PREFACE
symbol			~ STARS$M_EXT_SPACE
symbol			~ STARS$M_FAL_REMOTE
symbol			~ STARS$M_INDEX_MAINTENANCE
symbol			~ STARS$M_INDEX_MESSAGE
symbol			~ STARS$M_INDEX_TEXT
symbol			~ STARS$M_INDEX_TITLE
symbol			~ STARS$M_MODE_ACTIVE
symbol			~ STARS$M_MODE_DEFERRED_WRITE
symbol			~ STARS$M_MODE_EXCLUSIVE
symbol			~ STARS$M_MODE_FIXED_KEYREC
symbol			~ STARS$M_MODE_IGNORE_IDENTIFIER
symbol			~ STARS$M_MODE_INCLUDE_DELETED
symbol			~ STARS$M_MODE_NOISE
symbol			~ STARS$M_MODE_NOSERVER
symbol			~ STARS$M_MODE_NOUSERDATA
symbol			~ STARS$M_MODE_READONLY
symbol			~ STARS$M_MODE_RONOISESYN
symbol			~ STARS$M_MODE_ROOT
symbol			~ STARS$M_MODE_SPELL
symbol			~ STARS$M_MODE_SYNONYM
symbol			~ STARS$M_SERVED_REMOTE
symbol			~ STARS$M_VEGA_BLINK
symbol			~ STARS$M_VEGA_CONVERT_TABS
symbol			~ STARS$M_VEGA_DELETE_BITMAP
symbol			~ STARS$M_VEGA_EXCLUSIVE
symbol			~ STARS$M_VEGA_MODIFY_BITMAP
symbol			~ STARS$M_VEGA_NOCHECKSUM
symbol			~ STARS$M_VEGA_NOSERVER
symbol			~ STARS$M_VEGA_READONLY
symbol			~ STARS$M_VEGA_REMOVE_HIDDEN_TEXT
symbol			~ STARS$M_VEGA_SEGMENT
symbol			~ STARS$M_VEGA_UPDATE_DATES
symbol			~ STARS$V_DFS_SERVED
symbol			~ STARS$V_ENABLE_ROOT
symbol			~ STARS$V_EXT_HYPHEN
symbol			~ STARS$V_EXT_PAREN
symbol			~ STARS$V_EXT_PREFACE
symbol			~ STARS$V_EXT_SPACE
symbol			~ STARS$V_FAL_REMOTE
symbol			~ STARS$V_INDEX_MAINTENANCE
symbol			~ STARS$V_INDEX_MESSAGE
symbol			~ STARS$V_INDEX_TEXT
symbol			~ STARS$V_INDEX_TITLE
symbol			~ STARS$V_MODE_ACTIVE
symbol			~ STARS$V_MODE_EXCLUSIVE
symbol			~ STARS$V_MODE_FIXED_KEYREC
symbol			~ STARS$V_MODE_DEFERRED_WRITE
symbol			~ STARS$V_MODE_IGNORE_IDENTIFIER
symbol			~ STARS$V_MODE_INCLUDE_DELETED
symbol			~ STARS$V_MODE_NOISE
symbol			~ STARS$V_MODE_NOSERVER
symbol			~ STARS$V_MODE_NOUSERDATA
symbol			~ STARS$V_MODE_READONLY
symbol			~ STARS$V_MODE_RONOISESYN
symbol			~ STARS$V_MODE_ROOT
symbol			~ STARS$V_MODE_SPELL
symbol			~ STARS$V_MODE_SYNONYM
symbol			~ STARS$V_SERVED_REMOTE
symbol			~ STARS$V_VEGA_BLINK
symbol			~ STARS$V_VEGA_CONVERT_TABS
symbol			~ STARS$V_VEGA_DELETE_BITMAP
symbol			~ STARS$V_VEGA_EXCLUSIVE
symbol			~ STARS$V_VEGA_MODIFY_BITMAP
symbol			~ STARS$V_VEGA_NOCHECKSUM
symbol			~ STARS$V_VEGA_NOSERVER
symbol			~ STARS$V_VEGA_READONLY
symbol			~ STARS$V_VEGA_REMOVE_HIDDEN_TEXT
symbol			~ STARS$V_VEGA_SEGMENT
symbol			~ STARS$V_VEGA_UPDATE_DATES
symbol			~ STARS$_ACCREMOTE
symbol			~ STARS$_BADACTION
symbol			~ STARS$_BADANDNOT
symbol			~ STARS$_BADANDORNOT
symbol			~ STARS$_BADLSDHB
symbol			~ STARS$_BADRULE
symbol			~ STARS$_BADVERSION
symbol			~ STARS$_BUG
symbol			~ STARS$_CACHEWRITTEN
symbol			~ STARS$_CCBUFOVR
symbol			~ STARS$_CHKENTERNAME
symbol			~ STARS$_CLOSE_PAREN
symbol			~ STARS$_CONNLOST
symbol			~ STARS$_CONVERTED
symbol			~ STARS$_CONVERTING
symbol			~ STARS$_COPYDICT
symbol			~ STARS$_COPYNOISE
symbol			~ STARS$_COPYSYN
symbol			~ STARS$_CREATEART
symbol			~ STARS$_CREATEKEY
symbol			~ STARS$_CREATENOISE
symbol			~ STARS$_CREATESYN
symbol			~ STARS$_CREATETITLE
symbol			~ STARS$_DBERROR
symbol			~ STARS$_DBFULL
symbol			~ STARS$_DBNOTV25
symbol			~ STARS$_DBUDTOOBIG
symbol			~ STARS$_DBV24
symbol			~ STARS$_DELETED
symbol			~ STARS$_DELETE_PENDING
symbol			~ STARS$_DISUSERDATA
symbol			~ STARS$_DONTORNOT
symbol			~ STARS$_DUPSYN
symbol			~ STARS$_EMPTYSTACK
symbol			~ STARS$_END_OF_LINE
symbol			~ STARS$_EOL
symbol			~ STARS$_EXPRESSPROB
symbol			~ STARS$_FACILITY
symbol			~ STARS$_FILTER_ADD
symbol			~ STARS$_FILTER_DELETE
symbol			~ STARS$_FLAGDEINDEXED
symbol			~ STARS$_FLAGINDEXED
symbol			~ STARS$_GEOGDEINDEXED
symbol			~ STARS$_GEOGINDEXED
symbol			~ STARS$_GEOGSET
symbol			~ STARS$_HYPHENWORD
symbol			~ STARS$_ICONVERTING
symbol			~ STARS$_IDNOTFOUND
symbol			~ STARS$_IDNOTUNIQUE
symbol			~ STARS$_INACTIVE
symbol			~ STARS$_INDEXMISMATCH
symbol			~ STARS$_INITKEY
symbol			~ STARS$_INVARTNUM
symbol			~ STARS$_INVDBITMLST
symbol			~ STARS$_INVKEYTYPE
symbol			~ STARS$_INVPRIV
symbol			~ STARS$_INVSDHB
symbol			~ STARS$_KEYNOTPRESENT
symbol			~ STARS$_LOGDISABLED
symbol			~ STARS$_LOGNOTOPEN
symbol			~ STARS$_LOWMAXARTS
symbol			~ STARS$_MAXDBOPEN
symbol			~ STARS$_NOACCESS
symbol			~ STARS$_NOCREATEDICT
symbol			~ STARS$_NODBDIR
symbol			~ STARS$_NODBLINFO
symbol			~ STARS$_NODBUSERDATA
symbol			~ STARS$_NODELCURRSESSION
symbol			~ STARS$_NOISEMISMATCH
symbol			~ STARS$_NOLOGOWNERTYPE
symbol			~ STARS$_NOMORE
symbol			~ STARS$_NONETACCESS
symbol			~ STARS$_NOPRIV
symbol			~ STARS$_NOROOMSYN
symbol			~ STARS$_NOSDHBAVL
symbol			~ STARS$_NOSUCHSYN
symbol			~ STARS$_NOSYNCH
symbol			~ STARS$_NOSYNONYMS
symbol			~ STARS$_NOTACTIVE
symbol			~ STARS$_NOTFND
symbol			~ STARS$_NOTINSET
symbol			~ STARS$_NOTRCVRBL
symbol			~ STARS$_NOUSERDATA
symbol			~ STARS$_OLDGEOG
symbol			~ STARS$_OLDOWNER
symbol			~ STARS$_OLDSITE
symbol			~ STARS$_OPEN_PAREN
symbol			~ STARS$_OPERDISABLED
symbol			~ STARS$_OREXPECT
symbol			~ STARS$_OWNERDEINDEXED
symbol			~ STARS$_OWNERINDEXED
symbol			~ STARS$_OWNERSET
symbol			~ STARS$_PARWORDEXPECT
symbol			~ STARS$_PREFACED
symbol			~ STARS$_PREVDELETED
symbol			~ STARS$_REMOTE
symbol			~ STARS$_RESTRICTFULL
symbol			~ STARS$_RMDBMAX
symbol			~ STARS$_RMDBNOACCESS
symbol			~ STARS$_RMDBNOTAVAIL
symbol			~ STARS$_RMDBNOTFOUND
symbol			~ STARS$_RONOHDR
symbol			~ STARS$_ROOTMISMATCH
symbol			~ STARS$_SESSIONNOTFND
symbol			~ STARS$_SITEDEINDEXED
symbol			~ STARS$_SITEINDEXED
symbol			~ STARS$_SITESET
symbol			~ STARS$_SPELLMISMATCH
symbol			~ STARS$_SUBQNOMAT
symbol			~ STARS$_SVR23
symbol			~ STARS$_SVRNOT25
symbol			~ STARS$_SYNONYMMISMATCH
symbol			~ STARS$_TIMEOUT
symbol			~ STARS$_TITLETOOLONG
symbol			~ STARS$_TOTCONVERTED
symbol			~ STARS$_TOTDELCONVERTED
symbol			~ STARS$_UDMISMATCH
symbol			~ STARS$_USERDATAERR
symbol			~ STARS$_VEGA_ALLOCBLINK
symbol			~ STARS$_VEGA_BADBLINK
symbol			~ STARS$_VEGA_BADHLINK
symbol			~ STARS$_VEGA_BADVIN
symbol			~ STARS$_VEGA_BITOUTRANGE
symbol			~ STARS$_VEGA_BMBLINK
symbol			~ STARS$_VEGA_BUFCHKSUM
symbol			~ STARS$_VEGA_BUFNOTBM
symbol			~ STARS$_VEGA_BUFNOTMAPPED
symbol			~ STARS$_VEGA_CONTNOLINK
symbol			~ STARS$_VEGA_DELETED
symbol			~ STARS$_VEGA_DSBLCHKSUM
symbol			~ STARS$_VEGA_EOI
symbol			~ STARS$_VEGA_FIRSTBLINK
symbol			~ STARS$_VEGA_FIRSTCONT
symbol			~ STARS$_VEGA_FMTERR
symbol			~ STARS$_VEGA_HDRCHKSUM
symbol			~ STARS$_VEGA_INCBMFL
symbol			~ STARS$_VEGA_INCBUFSIZ
symbol			~ STARS$_VEGA_INVACCMOD
symbol			~ STARS$_VEGA_ITMALROPN
symbol			~ STARS$_VEGA_ITMCNTBUG
symbol			~ STARS$_VEGA_ITMNOTOPN
symbol			~ STARS$_VEGA_LARGEBUF
symbol			~ STARS$_VEGA_LASTCONT
symbol			~ STARS$_VEGA_MOREONEGET
symbol			~ STARS$_VEGA_MOREONEPUT
symbol			~ STARS$_VEGA_MULTIREC
symbol			~ STARS$_VEGA_NOALLOCBM
symbol			~ STARS$_VEGA_NODELETEBM
symbol			~ STARS$_VEGA_NOEXTQTY
symbol			~ STARS$_VEGA_NOMODIFYBM
symbol			~ STARS$_VEGA_NONETACCESS
symbol			~ STARS$_VEGA_NOSYNCH
symbol			~ STARS$_VEGA_NOTALLOCBM
symbol			~ STARS$_VEGA_NOTDELBM
symbol			~ STARS$_VEGA_NOTDELETED
symbol			~ STARS$_VEGA_NOTMODBM
symbol			~ STARS$_VEGA_NOTOPEN
symbol			~ STARS$_VEGA_NOTOPNGET
symbol			~ STARS$_VEGA_NOTOPNPUT
symbol			~ STARS$_VEGA_ONEREC
symbol			~ STARS$_VEGA_READONLY
symbol			~ STARS$_VEGA_REMOTE
symbol			~ STARS$_VEGA_RMSGETTMO
symbol			~ STARS$_VEGA_RMSPUTTMO
symbol			~ STARS$_VEGA_SEGNYI
symbol			~ STARS$_VEGA_SMALLBUF
symbol			~ STARS$_VEGA_TIMEOUT
symbol			~ STARS$_VEGA_UNALLOC
symbol			~ STARS$_VEGA_ZEROVFHB
symbol			~ stars$_coordincorrupt
symbol			~ stars$_coordindate
symbol			~ stars$_parentdbopen
symbol			~ stars$k_query_english
symbol			~ stars$k_query_boolean
symbol			~ stars$k_query_auto_boolean
symbol			~ stars$_createphrase
symbol			~ stars$_notphrase
symbol			~ stars$_phrase
symbol			~ stars$_phrasenotindexed
symbol			~ stars$_partphrase
symbol			~ stars$_phraseexists
symbol			~ stars$k_phrase_type
symbol			~ stars$k_phrase_reindex_type
symbol			~ stars$m_mode_phrase
symbol			~ stars$v_mode_phrase
symbol			~ stars$k_add_phrase
symbol			~ stars$k_delete_phrase
symbol			~ stars$_nophrasefile

routine			~ stars$initialize
routine			~ stars$close
routine			~ stars$cleanup
routine			~ stars$add_keyword
routine			~ stars$delete_keyword
routine			~ stars$remove_keyword
routine			~ stars$get_article_number
routine			~ stars$delete_article_number
routine			~ stars$index_article
routine			~ stars$delete_article
routine			~ stars$add_title
routine			~ stars$delete_title
routine			~ stars$get_title
routine			~ stars$keyword_matches
routine			~ stars$search_init
routine			~ stars$search_keyword_and
routine			~ stars$search_keyword_or
routine			~ stars$search_keyword_and_not
routine			~ stars$undo_last_search
routine			~ stars$search_next
routine			~ stars$add_noiseword
routine			~ stars$delete_noiseword
routine			~ stars$is_noiseword
routine			~ stars$add_synonym
routine			~ stars$delete_synonym
routine			~ stars$remove_synonym
routine			~ stars$get_synonym
routine			~ stars$expand_synonyms
routine			~ stars$remove_suffixes
routine			~ stars$correct_spelling
routine			~ stars$query_word
routine			~ stars$query
routine			~ stars$query_multi
routine			~ stars$search_next_multi
routine			~ stars$match_query
routine			~ stars$db_info
routine			~ stars$extract_word
routine			~ stars$push_article_set
routine			~ stars$pop_article_set
routine			~ stars$reset_stack
routine			~ stars$push_article_set_multi
routine			~ stars$pop_article_set_multi
routine			~ stars$reset_stack_multi
routine			~ stars$get_user_data
routine			~ stars$put_user_data
routine			~ stars$free_user_data_lock
routine			~ stars$list_noisewords
routine			~ stars$list_synonyms
routine			~ stars$replace_article
routine			~ stars$set_query_algorithm
routine			~ stars$search_all
routine			~ stars$search_all_multi
routine			~ stars$search_elim_article
routine			~ stars$elim_dbl_brackets
routine			~ stars$search_keyword_load
routine			~ stars$build_boolean_tree
routine			~ stars$evaluate_boolean_tree
routine			~ stars$delete_boolean_tree
routine			~ stars$purge_title
routine			~ stars$purge_articles
routine			~ stars$get_db_user_data
routine			~ stars$put_db_user_data
routine			~ stars$delete_db_user_data
routine			~ stars$free_db_user_data_lock
routine			~ stars$alloc_article_number
routine			~ stars$set_db_flags
routine			~ stars$not_and_search_keyword
routine			~ stars$not_and_pop_stack
routine			~ stars$pop_and_not_stack
routine			~ stars$pop_and_stack
routine			~ stars$pop_or_stack
routine			~ stars$get_user_data_and_title
routine			~ stars$change_db_info
routine			~ stars$open_log_file
routine			~ stars$write_log_record
routine			~ stars$close_log_file

routine			~ stars$vega_create_file
routine			~ stars$vega_open_file
routine			~ stars$vega_close_file
routine			~ stars$vega_open_item
routine			~ stars$vega_close_item
routine			~ stars$vega_delete_item
routine			~ stars$vega_get_record
routine			~ stars$vega_put_record
routine			~ stars$vega_get_string
routine			~ stars$vega_put_string
routine			~ stars$vega_update_string
routine			~ stars$vega_purge_items
routine			~ stars$vega_backup_mod_buffers
routine			~ stars$create_unique_id
routine			~ stars$find_unique_id
routine			~ stars$get_highlight_map

routine			~ strsdba$check_privilege
routine			~ strsdba$close_database
routine			~ strsdba$find_db
routine			~ strsdba$get_db_info
routine			~ strsdba$get_dbcb_info
routine			~ strsdba$get_next_db
routine			~ strsdba$get_next_open_db
routine			~ strsdba$initialize
routine			~ strsdba$open_database
routine			~ strsdba$rewind
routine			~ strsdba$terminate

routine			~ stars$create_database
routine			~ stars$convert_database
routine			~ stars$vega_convert_file
routine			~ stars$index_userdata
routine			~ stars$search_keyword_and_multi
routine			~ stars$search_keyword_or_multi
routine			~ stars$search_keyword_not_multi
routine			~ stars$do_logical_query
routine			~ stars$add_restriction
routine			~ stars$create_session
routine			~ stars$delete_session
routine			~ stars$select_session
routine			~ stars$get_current_session
routine			~ stars$get_session_info
routine			~ stars$find_database_in_session
routine			~ stars$get_next_session_database

routine			~ stars$vega_compute_checksum

routine			~ stars$search_date_and

routine			~ strsdba$get_print_queue
routine			~ strsdba$get_print_queue_list

routine			~ stars$coordinate_exclude
routine			~ stars$set_cdb
routine			~ stars$search_and_not_multi

routine			~ stars$$get_coordination_info
routine			~ stars$swap_top_article_set
routine			~ strsdba$return_owners

routine			~ stars$$initialize_compress
routine			~ stars$$finish_compress
routine			~ stars$$compress

routine			~ stars$$initialize_decompress
routine			~ stars$$finish_decompress
routine			~ stars$$decompress

routine			~ stars$alter_session
routine			~ strsdba$cleanup_bad_connections

routine			~ stars$add_phrase
routine			~ stars$delete_phrase
routine			~ stars$is_phrase
routine			~ stars$list_phrases

routine			~ stars$extract_get_term
routine			~ stars$extract_init
routine			~ stars$extract_finish
routine			~ stars$extract_do_line
routine			~ stars$search_reindex
routine			~ stars$index_phrases_of_article
routine			~ stars$begin_phrase_reindexing
routine			~ stars$end_phrase_reindexing

symbol			~ stars$_phrasedeleted


transfer_vectors_file_all	~
transfer_vectors_file_vax	~;
transfer_vectors_file_vax	~; Leave space to the end of the current section.  the next section *MUST* start
transfer_vectors_file_vax	~; at offset 600 (hex) so that the symbols are always at the right place!  1536
transfer_vectors_file_vax	~; is hex 600 expressed in decimal.
transfer_vectors_file_vax	~;
transfer_vectors_file_vax	~	.blkb	<^X600 - .-1$>
transfer_vectors_file_vax	~	assume . eq 1536
transfer_vectors_file_alpha	~.align quad
transfer_vectors_file_all	~	stars$gd_enable_root::		_ascid </ENABLE ROOT/>
transfer_vectors_file_all	~	stars$gd_index_title::		_ascid </INDEX TITLE/>
transfer_vectors_file_all	~	stars$gd_index_text::		_ascid </INDEX TEXT/>
transfer_vectors_file_all	~	stars$gd_index_message::	_ascid </INDEX MESSAGE/>
transfer_vectors_file_all	~	stars$gd_index_maintenance::	_ascid </INDEX MAINTENANCE/>
transfer_vectors_file_all	~
transfer_vectors_file_all	~	stars$gd_version::		_ascid </STARS$LIBSHR V2.6-1/>
transfer_vectors_file_all	~	stars$gd_deleted_articles::	_ascid </DELETED ARTICLES/>
transfer_vectors_file_all	~	stars$gd_used_articles::	_ascid </USED ARTICLES/>
transfer_vectors_file_all	~	stars$gd_database_time::	_ascid </DB TIME/>
transfer_vectors_file_all	~	stars$gd_database_identifier::	_ascid </DB IDENTIFIER/>
transfer_vectors_file_all	~
transfer_vectors_file_all	~	stars$gd_flash::		_ascid </FLASH/>
transfer_vectors_file_all	~	stars$gd_local::		_ascid </LOCAL/>
transfer_vectors_file_all	~	stars$gd_ready::		_ascid </READY/>
transfer_vectors_file_all	~	stars$gd_usa_customer_readable::_ascid </USA_CUSTOMER_READABLE/>
transfer_vectors_file_all	~	stars$gd_eur_customer_readable::_ascid </EUR_CUSTOMER_READABLE/>
transfer_vectors_file_all	~	stars$gd_gia_customer_readable::_ascid </GIA_CUSTOMER_READABLE/>
transfer_vectors_file_all	~	stars$gd_init_message_display::	_ascid </INIT_MESSAGE_DISPLAY/>
transfer_vectors_file_all	~	stars$gd_post_message_display::	_ascid </POST_MESSAGE_DISPLAY/>
transfer_vectors_file_all	~	stars$gd_editorial_review::	_ascid </EDITORIAL_REVIEW/>
transfer_vectors_file_all	~	stars$gd_technical_review::	_ascid </TECHNICAL_REVIEW/>
transfer_vectors_file_all	~	stars$gd_field_readable::	_ascid </FIELD_READABLE/>
transfer_vectors_file_all	~
transfer_vectors_file_all	~	stars$gd_main_session::		_ascid </MAIN/>
transfer_vectors_file_all	~	stars$gd_main_session_desc::	_ascid </Main STARS session/>
transfer_vectors_file_all	~
transfer_vectors_file_all	~	stars$gd_coordinate_session::	_ascid </COORDINATE/>
transfer_vectors_file_all	~
transfer_vectors_file_all	~	stars$gd_phrase_time::		_ascid </PHRASE RE-INDEX TIME/>
transfer_vectors_file_all	~	stars$gd_phrase_number::	_ascid </LAST PHRASE NUMBER/>
transfer_vectors_file_all	~
transfer_vectors_file_all	~;
transfer_vectors_file_all	~; leave the copyright message last since it can move freely
transfer_vectors_file_all	~;
transfer_vectors_file_all	~.if not_defined target
transfer_vectors_file_all	~	.ascii	/ COPYRIGHT © 1988,1994 DIGITAL EQUIPMENT CORPORATION. All rights reserved/
transfer_vectors_file_all	~.endc
transfer_vectors_file_all	~
transfer_vectors_file_all	~.if	defined target
transfer_vectors_file_all	~	.ascii	/ TARGET->SMART SEARCH/
transfer_vectors_file_all	~
transfer_vectors_file_all	~	.ascii	/ Copyright Target Systems Corporation 1988, 1992. All rights reserved./
transfer_vectors_file_all	~
transfer_vectors_file_all	~	.ascii	/ Portions Copyright © 1988,1994 Digital Equipment Corporation. All rights  reserved./
transfer_vectors_file_all	~
transfer_vectors_file_all	~	.ascii	/ This software is proprietary to and embodies the confidential technology of/
transfer_vectors_file_all	~	.ascii	/ Target Systems Corporation. Possession, use, or copying of this software and/
transfer_vectors_file_all	~	.ascii	/ media is authorized only pursuant to a written license from Target Systems/
transfer_vectors_file_all	~	.ascii	/ or an authorized sublicensor./
transfer_vectors_file_all	~
transfer_vectors_file_all	~	.ascii	/ Portions of this software are proprietary to and embody the confidential/
transfer_vectors_file_all	~	.ascii	/ technology of Digital Equipment Corporation. Possession, use, or copying of/
transfer_vectors_file_all	~	.ascii	/ this software and media is authorized only pursuant to a written license/
transfer_vectors_file_all	~	.ascii	/ from Digital or an authorized sublicensor./
transfer_vectors_file_all	~
transfer_vectors_file_all	~	.ascii	/ Restricted Rights:  Use, duplication, or disclosure by the U.S./
transfer_vectors_file_all	~	.ascii	/ Government is subject to restrictions as set forth in subparagraph (c)/
transfer_vectors_file_all	~	.ascii	/ (1) (ii) of DFARS 252.227-7013, or in FAR 52.227-19, or in FAR 52.227-14 /
transfer_vectors_file_all	~	.ascii	/ Alt. III, as applicable./
transfer_vectors_file_all	~.endc
    
================================================================================
Note 51.3    command procedure to make options and transfer vectors       3 of 4
AZTECH::LASTOVICA "straight but not narrow minded"   20 lines  28-APR-1994 02:10
                         -< example from DESCRIP.MMS >-
--------------------------------------------------------------------------------
    .ifdef _alpha
    BFLAGS = /debug/LIST/OBJECT=$(MMS$TARGET_NAME)/OPTIMIZE/CHECK=NOAlign
    MFLAGS = /debug/LIST/OBJECT=$(MMS$TARGET_NAME)
    _vax_or_alpha = alpha
    .else
    BFLAGS = /debug/LIST/OBJECT=$(MMS$TARGET_NAME)/OPTIMIZE=(speed)
    MFLAGS = /debug/LIST/OBJECT=$(MMS$TARGET_NAME)
    _vax_or_alpha = vax
    .endif
    
    stars$lib_xfervec.mar, -
    stars$Libshr.opt                : stars$libshr_description.dat, -
                                    stars$build_options_xfervec.com
            @stars$build_options_xfervec.com -
                    stars$libshr_description.dat -
                    stars$libshr.opt -
                    stars$lib_xfervec.mar -
                    _stars$transfer_vectors -
                    $(_vax_or_alpha)
    
================================================================================
Note 51.4    command procedure to make options and transfer vectors       4 of 4
AZTECH::LASTOVICA "straight but not narrow minded"     1 line  28-APR-1994 02:11
                         -< example from a SETUP.COM >-
--------------------------------------------------------------------------------
    $ mmsd          ==      "mms/macro=(""_alpha=1"",""mmsdebug=/debug"")"
