# SFBProvenance.h

Go to the documentation of this file.

    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 */