Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
108
package/system/mtd/src/seama.h
Normal file
108
package/system/mtd/src/seama.h
Normal file
@@ -0,0 +1,108 @@
|
||||
/* vi: set sw=4 ts=4: */
|
||||
/*
|
||||
* (SEA)ttle i(MA)ge is the image which used in project seattle.
|
||||
*
|
||||
* Created by David Hsieh <david_hsieh@alphanetworks.com>
|
||||
* Copyright (C) 2008-2009 Alpha Networks, Inc.
|
||||
*
|
||||
* This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either'
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* The GNU C Library is distributed in the hope that it will be useful,'
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the GNU C Library; if not, write to the Free
|
||||
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
* 02111-1307 USA.
|
||||
*/
|
||||
|
||||
#ifndef __SEAMA_HEADER_FILE__
|
||||
#define __SEAMA_HEADER_FILE__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define SEAMA_MAGIC 0x5EA3A417
|
||||
|
||||
/*
|
||||
* SEAMA looks like the following map.
|
||||
* All the data of the header should be in network byte order.
|
||||
*
|
||||
* +-------------+-------------+------------
|
||||
* | SEAMA magic | ^
|
||||
* +-------------+-------------+ |
|
||||
* | reserved | meta size | |
|
||||
* +-------------+-------------+ header
|
||||
* | image size (0 bytes) | |
|
||||
* +-------------+-------------+ |
|
||||
* ~ Meta data ~ v
|
||||
* +-------------+-------------+------------
|
||||
* | SEAMA magic | ^ ^
|
||||
* +-------------+-------------+ | |
|
||||
* | reserved | meta size | | |
|
||||
* +-------------+-------------+ | |
|
||||
* | image size | | |
|
||||
* +-------------+-------------+ header |
|
||||
* | | | |
|
||||
* | 16 bytes of MD5 digest | | |
|
||||
* | | | |
|
||||
* | | | |
|
||||
* +-------------+-------------+ | |
|
||||
* ~ Meta data ~ v |
|
||||
* +-------------+-------------+------- |
|
||||
* | | |
|
||||
* | Image of the 1st entity | |
|
||||
* ~ ~ 1st entity
|
||||
* | | |
|
||||
* | | v
|
||||
* +-------------+-------------+-------------
|
||||
* | SEAMA magic | ^ ^
|
||||
* +-------------+-------------+ | |
|
||||
* | reserved | meta size | | |
|
||||
* +-------------+-------------+ | |
|
||||
* | image size | | |
|
||||
* +-------------+-------------+ header |
|
||||
* | | | |
|
||||
* | 16 bytes of MD5 digest | | |
|
||||
* | | | |
|
||||
* | | | |
|
||||
* +-------------+-------------+ | |
|
||||
* ~ Meta data ~ v |
|
||||
* +-------------+-------------+------- |
|
||||
* | | |
|
||||
* | Image of the 2nd entity | |
|
||||
* ~ ~ 2nd entity
|
||||
* | | |
|
||||
* | | v
|
||||
* +-------------+-------------+-------------
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* SEAMA header
|
||||
*
|
||||
* |<-------- 32 bits -------->|
|
||||
* +-------------+-------------+
|
||||
* | SEAMA magic |
|
||||
* +-------------+-------------+
|
||||
* | reserved | meta size |
|
||||
* +-------------+-------------+
|
||||
* | image size |
|
||||
* +-------------+-------------+
|
||||
*/
|
||||
|
||||
/* seama header */
|
||||
struct seama_entity_header {
|
||||
uint32_t magic; /* should always be SEAMA_MAGIC. */
|
||||
uint16_t reserved; /* reserved for */
|
||||
uint16_t metasize; /* size of the META data */
|
||||
uint32_t size; /* size of the image */
|
||||
uint8_t md5[16];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user