patch-2.4.19 linux-2.4.19/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.h

Next file: linux-2.4.19/drivers/scsi/aic7xxx/scsi_message.h
Previous file: linux-2.4.19/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.18/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.h linux-2.4.19/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.h
@@ -36,7 +36,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGES.
  *
- * $Id: //depot/aic7xxx/aic7xxx/aicasm/aicasm_symbol.h#6 $
+ * $Id: //depot/aic7xxx/aic7xxx/aicasm/aicasm_symbol.h#10 $
  *
  * $FreeBSD: src/sys/dev/aic7xxx/aicasm/aicasm_symbol.h,v 1.11 2000/09/22 22:19:55 gibbs Exp $
  */
@@ -58,8 +58,9 @@
 	CONST,
 	DOWNLOAD_CONST,
 	LABEL,
-	CONDITIONAL
-}symtype;
+	CONDITIONAL,
+	MACRO
+} symtype;
 
 typedef enum {
 	RO = 0x01,
@@ -68,10 +69,11 @@
 }amode_t;
 
 struct reg_info {
-	u_int8_t address;
+	u_int	 address;
 	int	 size;
 	amode_t	 mode;
 	u_int8_t valid_bitmask;
+	u_int8_t modes;
 	int	 typecheck_masks;
 };
 
@@ -83,8 +85,8 @@
 };
 
 struct const_info {
-	u_int8_t value;
-	int	 define;
+	u_int	value;
+	int	define;
 };
 
 struct alias_info {
@@ -93,12 +95,26 @@
 
 struct label_info {
 	int	address;
+	int	exported;
 };
 
 struct cond_info {
 	int	func_num;
 };
 
+struct macro_arg {
+	STAILQ_ENTRY(macro_arg)	links;
+	regex_t	arg_regex;
+	char   *replacement_text;
+};
+STAILQ_HEAD(macro_arg_list, macro_arg) args;
+
+struct macro_info {
+	struct macro_arg_list args;
+	int   narg;
+	const char* body;
+};
+
 typedef struct expression_info {
         symlist_t       referenced_syms;
         int             value;
@@ -108,12 +124,13 @@
 	char	*name;
 	symtype	type;
 	union	{
-		struct reg_info *rinfo;
-		struct mask_info *minfo;
+		struct reg_info	  *rinfo;
+		struct mask_info  *minfo;
 		struct const_info *cinfo;
 		struct alias_info *ainfo;
 		struct label_info *linfo;
-		struct cond_info *condinfo;
+		struct cond_info  *condinfo;
+		struct macro_info *macroinfo;
 	}info;
 } symbol_t;
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)