aicasm.h revision 23934
150476Speter/*
213546Sjulian * Assembler for the sequencer program downloaded to Aic7xxx SCSI host adapters
394797Sobrien *
413546Sjulian * Copyright (c) 1997 Justin T. Gibbs.
594797Sobrien * All rights reserved.
694797Sobrien *
794797Sobrien * Redistribution and use in source and binary forms, with or without
894797Sobrien * modification, are permitted provided that the following conditions
994797Sobrien * are met:
10169524Sdeischen * 1. Redistributions of source code must retain the above copyright
11169524Sdeischen *    notice immediately at the beginning of the file, without modification,
12157694Sru *    this list of conditions, and the following disclaimer.
13125230Sdeischen * 2. Redistributions in binary form must reproduce the above copyright
14169524Sdeischen *    notice, this list of conditions and the following disclaimer in the
15169524Sdeischen *    documentation and/or other materials provided with the distribution.
16169524Sdeischen * 3. The name of the author may not be used to endorse or promote products
17169524Sdeischen *    derived from this software without specific prior written permission.
18148297Skensmith *
19113658Sdeischen * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20103388Smini * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2194797Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22113658Sdeischen * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
23113658Sdeischen * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24115399Skan * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25133801Sdavidxu * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26115399Skan * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2736831Sjb * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28103412Smini * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2936831Sjb * SUCH DAMAGE.
30113786Sdeischen *
31157243Sdes *      $Id: aic7xxx_asm.h,v 1.1.2.1 1997/03/16 07:21:32 gibbs Exp $
3236831Sjb */
33117706Sdavidxu
34117706Sdavidxu#include <sys/queue.h>
35117706Sdavidxu
36117706Sdavidxu#ifndef TRUE
37156774Sdeischen#define TRUE 1
38156774Sdeischen#endif
39115399Skan
40156774Sdeischen#ifndef FALSE
41156774Sdeischen#define FALSE 0
42136910Sru#endif
4313546Sjulian
44116705Smarceltypedef struct path_entry {
45116705Smarcel	char	*directory;
46116705Smarcel	int	quoted_includes_only;
47103388Smini	SLIST_ENTRY(path_entry) links;
4813546Sjulian} *path_entry_t;
49169524Sdeischen
50169524Sdeischentypedef enum {
51169524Sdeischen	QUOTED_INCLUDE,
52169524Sdeischen	BRACKETED_INCLUDE,
53169524Sdeischen	SOURCE_FILE
54169524Sdeischen} include_type;
55169524Sdeischen
56169524SdeischenSLIST_HEAD(path_list, path_entry);
57169524Sdeischen
58169524Sdeischenextern struct path_list search_path;
5913546Sjulianextern struct symlist patch_options;
60extern int includes_search_curdir;		/* False if we've seen -I- */
61extern char *appname;
62extern int yylineno;
63extern char *yyfilename;
64
65void stop __P((const char *errstring, int err_code));
66void include_file __P((char *file_name, include_type type));
67struct instruction *seq_alloc __P((void));
68struct patch *patch_alloc __P((void));
69