/* Copyright 2012 Castle Technology Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GLOBAL_OSENTRIES_H #include <stdbool.h> #include <stdint.h> typedef struct { uint32_t Magic; uint32_t Flags; uint32_t ImageSize; uint32_t Entries; uint32_t NumEntries; uint32_t CompressedSize; uint32_t DecompressHdr; uint32_t CompressOffset; } OSHdr; typedef struct { uint32_t WSSize; uint32_t Code; } OSDecompHdr; #define OSHdr_Magic_Value (0x6d49534f) /* 'OSIm' */ typedef struct { uint32_t AddrFlags; #define OSIICOpDesc_Addr_Shift (0) #define OSIICOpDesc_Addr_Mask (0xFF) #define OSIICOpDesc_Reserved_Mask (0x1FFFFF00uL) #define OSIICOpDesc_Flag_Retry (1uL<<29) #define OSIICOpDesc_Flag_SumOnly (1uL<<30) #define OSIICOpDesc_Flag_NoStart (1uL<<31) union { void *Data; uint32_t CheckSum; } d; uint32_t Length; } OSIICOpDesc; #endif /* In the exported copy of this file, the Hdr2H translation of hdr.OSEntries will follow. */