00001 /* -*- mode:C++; fill-column: 100 -*- 00002 SFBProvenance.h - Program code description block 00003 Copyright (C) 2008 The Regents of the University of New Mexico. All rights reserved. 00004 00005 This library is free software; you can redistribute it and/or modify it under the terms of the GNU 00006 Lesser General Public License as published by the Free Software Foundation; either version 2.1 of 00007 the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 00010 even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 Lesser General Public License for more details. 00012 00013 You should have received a copy of the GNU General Public License along with this library; if not, 00014 write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 00015 USA 00016 00017 $Id$ 00018 */ 00019 00027 #ifndef SFBPROVENANCE_H 00028 #define SFBPROVENANCE_H 00029 00030 #include "SFBTypes.h" 00031 #include "SFBChecksum.h" 00032 00033 #ifdef __cplusplus 00034 extern "C" { 00035 #endif 00036 00049 struct SFBProvenance { 00050 u32 branchInstruction; 00051 00052 u32 checksum0; 00053 00054 u32 checksum1; 00055 00056 int sourceOwnerId; 00057 00058 int sourceBoardId; 00059 00060 u32 magic; 00061 00062 u16 flags; 00063 00064 u8 rsrvd1; 00065 00066 u8 architecture; 00067 00068 int creatorId; 00069 00070 int programId; 00071 00072 int buildDate; 00073 00074 int buildTime; 00075 00076 int programLength; 00077 00078 u32 copyrightNotice; 00079 00080 00081 00082 u32 cigam; 00083 00084 }; 00085 00086 enum BootProgrammingFlags { 00087 PROGRAMMING_FLAG_VERBOSE = 0x01, 00088 PROGRAMMING_FLAG_QUIET = 0x02, 00089 PROGRAMMING_FLAG_CHECKOFF = 0x04, 00090 PROGRAMMING_FLAG_RSRVD4 = 0x08, 00091 PROGRAMMING_FLAG_RSRVD5 = 0x10, 00092 PROGRAMMING_FLAG_RSRVD6 = 0x20, 00093 PROGRAMMING_FLAG_RSRVD7 = 0x40, 00094 PROGRAMMING_FLAG_RSRVD8 = 0x80 00095 }; 00096 00100 #define SFB_PROVENANCE_MAGIC 0xC300A5FB 00101 00106 #define SFB_PROVENANCE_CIGAM 0xBF5A003C 00107 00112 #define SFB_PROVENANCE_NZTRX (~SFB_PROVENANCE_MAGIC) 00113 00114 #ifdef __cplusplus 00115 } 00116 #endif 00117 00118 #endif /* SFBPROVENANCE_H */