From 2d8317cb9283d6b736be0c63945fba2056f19a22 Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Wed, 10 Jun 2009 02:19:09 +0200 Subject: [PATCH] Add 64bit build host support for the first level parameters (replace void* by u_int32_t) Signed-off-by: Laurent Vivier --- libemile/bootblock.h | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/libemile/bootblock.h b/libemile/bootblock.h index 3dcb16c..8b5b60f 100644 --- a/libemile/bootblock.h +++ b/libemile/bootblock.h @@ -12,7 +12,6 @@ #ifndef _BOOTBLOCK_H #define _BOOTBLOCK_H static __attribute__((used)) char* bootblock_header = "$CVSHeader$"; -#include /* first level structure */ @@ -41,6 +40,30 @@ struct BootBlkHdr { #define ASSERT_BBH(a) if ( sizeof(BootBlkHdr_t) != 138 ) { a } +#define COMMON_PARAMS \ + u_int32_t qLink; /* next queue entry */ \ + u_int16_t qType; /* queue type */ \ + u_int16_t ioTrap; /* routine trap */ \ + u_int32_t ioCmdAddr; /* routine address */ \ + u_int32_t ioCompletion; /* ptr to completion routine */ \ + u_int16_t ioResult; /* result code */ \ + u_int32_t ioNamePtr; /* pointer to pathname */ \ + int16_t ioVRefNum; /* volume specification */ + +typedef struct ParamBlockRec ParamBlockRec_t; +struct ParamBlockRec { + COMMON_PARAMS + int16_t ioRefNum; /* file reference number */ + int8_t ioVersNum; /* version number */ + int8_t ioPermssn; /* read/write permission */ + u_int32_t ioMisc; /* miscellaneaous */ + u_int32_t ioBuffer; /* data buffer */ + u_int32_t ioReqCount; /* requested number of bytes */ + u_int32_t ioActCount; /* actual number of bytes */ + u_int16_t ioPosMode; /* positioning mode and newline char */ + int32_t ioPosOffset; /* positionning offset */ +} __attribute__((packed)); + /* EMILE Boot block structure */ typedef struct eBootBlock eBootBlock_t;