#include <conf.h>
#include <e100boot.h>
#include <pcap.h>
#include "boot_images.h"
#include <reg_des.h>
#include <common.h>
#include <serial.h>
#include <network.h>
Include dependency graph for common.c:
Go to the source code of this file.
Data Structures | |
struct | label_t |
Defines | |
#define | BOOT_CMDS_FILE "BOOT_CMDS" |
#define | NR_BOOT_CMDS (SIZE_OF_BOOT_CMDS/sizeof(unsigned int)) |
#define | SIZE_PATTERN 0x12345678 |
#define | SIZE_POS (SIZE_OF_FIRST_HEADER + (netBoot ? 0x04 : 0x04)) |
Functions | |
FILE * | Fopen (char *name, char *mode) |
int | main (int argc, char *argv[]) |
int | GetNumberOption (int *argNr, int argCount, char *argVect[], unsigned int *ret, char *option, int base) |
int | GetStringOption (int *argNr, int argCount, char *argVect[], char *ret, char *option) |
int | GetRegisterOption (int *argNr, int argCount, char *argVect[], unsigned int *ret, char *option, int base) |
boot_files_T * | allocate_boot_file (struct boot_files_T *bf) |
packet_buf * | CreateNewBootPacket (void) |
packet_buf * | allocate_packet (struct packet_buf *p) |
void | SigHandler (int sig) |
void | CreateBootLoader (char *filename, unsigned size, unsigned addr) |
void | FinishBootCmds (void) |
void | ParseArgs (int argc, char *argv[]) |
void | PrintHelp (void) |
void | CreateBootCmds (void) |
void | handle_labels (void) |
void | new_label (struct label_t **label, udword addr, char *name) |
void | printData (unsigned char *buf, unsigned addr, unsigned size) |
packet_buf * | free_packet (struct packet_buf *p) |
packet_buf * | create_packet (udword seq) |
void | find_string (char *str) |
Variables | |
char | version [] = "Time-stamp: $Id: common.c,v 1.1.1.1 2008/11/27 20:04:03 elphel Exp $" |
char | needle [MAX_STRING_LEN] = {0,} |
int | needle_len = 0 |
int | exitonfind = FALSE |
int | doing_flash = FALSE |
int | toFiles = FALSE |
int | cmdsOnly = FALSE |
int | netBoot = TRUE |
int | serBoot = FALSE |
int | listenOnly = FALSE |
label_t * | loop_label = NULL |
label_t * | label = NULL |
packet_buf * | first_packet = NULL |
packet_buf * | last_packet = NULL |
packet_buf * | boot_cmds_packet |
int | create_boot_loader = TRUE |
char | boot_loader_file [MAX_STRING_LEN] = INTERNAL_NW |
int | noleds = FALSE |
boot_files_T * | first_boot_file = NULL |
boot_files_T * | last_boot_file = NULL |
unsigned int | boot_cmds [NR_BOOT_CMDS] |
int | boot_cmds_cnt = 0 |
int | svboot = FALSE |
int | quiet = 0 |
packet_header_T | send_packet |
packet_header_T * | receive_packet |
int | seq_nr = 0 |
unsigned | nrof_net_packets = 0 |
int | db1 = FALSE |
int | db2 = FALSE |
int | db3 = FALSE |
int | db4 = FALSE |
int | db5 = FALSE |
char | device [MAX_STRING_LEN] = "eth0" |
#define BOOT_CMDS_FILE "BOOT_CMDS" |
#define NR_BOOT_CMDS (SIZE_OF_BOOT_CMDS/sizeof(unsigned int)) |
#define SIZE_PATTERN 0x12345678 |
Referenced by CreateBootLoader().
#define SIZE_POS (SIZE_OF_FIRST_HEADER + (netBoot ? 0x04 : 0x04)) |
Referenced by CreateBootLoader().
struct boot_files_T * allocate_boot_file | ( | struct boot_files_T * | bf | ) |
Definition at line 1414 of file common.c.
References malloc().
Referenced by CreateBootCmds(), CreateBootLoader(), and ParseArgs().
struct packet_buf * allocate_packet | ( | struct packet_buf * | p | ) |
Definition at line 1382 of file common.c.
Referenced by CreateBootCmds(), CreateBootLoader(), and CreateNewBootPacket().
struct packet_buf* create_packet | ( | udword | seq | ) |
Definition at line 267 of file common.c.
References CreateNewBootPacket(), db4, and first_packet.
Referenced by NetBoot().
void CreateBootCmds | ( | void | ) |
Definition at line 1445 of file common.c.
References allocate_boot_file(), allocate_packet(), axis_000200, BOOT_CMDS_FILE, boot_cmds_packet, data, db1, db3, db4, DecodeSvintoBoot(), eth_addr_local, last_packet, malloc(), memcpy(), netBoot, and seq_nr.
void CreateBootLoader | ( | char * | filename, | |
unsigned | size, | |||
unsigned | addr | |||
) |
Definition at line 1184 of file common.c.
References allocate_boot_file(), allocate_packet(), axis_000200, buf, create_boot_loader, db1, db2, db3, db4, db5, DecodeSvintoBoot(), eth_addr_local, exit, fd, first_packet, Fopen(), last_packet, malloc(), memcpy(), netBoot, nrof_net_packets, printData(), read, seq_nr, SIZE_PATTERN, and SIZE_POS.
struct packet_buf * CreateNewBootPacket | ( | void | ) |
Definition at line 1544 of file common.c.
References allocate_packet(), axis_000200, buf, db2, db3, DecodeSvintoBoot(), eth_addr_local, exit, first_boot_file, last_packet, malloc(), memcpy(), memset(), netBoot, seq_nr, and stdin.
Referenced by create_packet().
void find_string | ( | char * | str | ) |
Definition at line 303 of file common.c.
References exit, exitonfind, needle, needle_len, and s.
Referenced by DecodeSvintoBoot().
void FinishBootCmds | ( | void | ) |
Definition at line 1505 of file common.c.
References boot_cmds, boot_cmds_cnt, boot_cmds_packet, db3, memcpy(), netBoot, and NR_BOOT_CMDS.
FILE * Fopen | ( | char * | name, | |
char * | mode | |||
) |
struct packet_buf* free_packet | ( | struct packet_buf * | p | ) |
int GetNumberOption | ( | int * | argNr, | |
int | argCount, | |||
char * | argVect[], | |||
unsigned int * | ret, | |||
char * | option, | |||
int | base | |||
) |
Definition at line 1033 of file common.c.
References db4, exit, and PrintHelp().
Referenced by ParseArgs().
int GetRegisterOption | ( | int * | argNr, | |
int | argCount, | |||
char * | argVect[], | |||
unsigned int * | ret, | |||
char * | option, | |||
int | base | |||
) |
Definition at line 1091 of file common.c.
References exit, and PrintHelp().
Referenced by ParseArgs().
int GetStringOption | ( | int * | argNr, | |
int | argCount, | |||
char * | argVect[], | |||
char * | ret, | |||
char * | option | |||
) |
Definition at line 982 of file common.c.
References db4, exit, and PrintHelp().
Referenced by ParseArgs().
void handle_labels | ( | void | ) |
Definition at line 890 of file common.c.
References label_t::addr, boot_cmds, exit, label, loop_label, match(), label_t::name, and label_t::prev.
Referenced by ParseArgs().
int main | ( | int | argc, | |
char * | argv[] | |||
) |
set port, start listening/answering HTTP requests
now try to mmap
These are read from frame zero (they are not frame-related)
now open circbuf
read pointer was invalid - try the earliest frame available
Definition at line 38 of file main.cpp.
References Streamer::Main(), and usage.
void new_label | ( | struct label_t ** | label, | |
udword | addr, | |||
char * | name | |||
) |
Definition at line 937 of file common.c.
References label_t::addr, boot_cmds_cnt, label, malloc(), label_t::name, and label_t::prev.
Referenced by ParseArgs().
void ParseArgs | ( | int | argc, | |
char * | argv[] | |||
) |
Definition at line 438 of file common.c.
References allocate_boot_file(), boot_cmds, boot_cmds_cnt, boot_loader_file, both_addresses, cmdsOnly, db1, db2, db3, db4, db5, device, doing_flash, exit, exitonfind, first_boot_file, GetNumberOption(), GetRegisterOption(), GetStringOption(), handle_labels(), host1, host2, int, label, last_boot_file, listenOnly, loop_label, malloc(), needle, needle_len, netBoot, new_label(), noleds, p_packet_bpl, pPacket, PrintHelp(), printPacketType, promisc, quiet, serBoot, and toFiles.
void printData | ( | unsigned char * | buf, | |
unsigned | addr, | |||
unsigned | size | |||
) |
void PrintHelp | ( | void | ) |
Definition at line 1142 of file common.c.
References version.
Referenced by GetNumberOption(), GetRegisterOption(), GetStringOption(), and ParseArgs().
void SigHandler | ( | int | sig | ) |
unsigned int boot_cmds[NR_BOOT_CMDS] |
Definition at line 87 of file common.c.
Referenced by FinishBootCmds(), handle_labels(), and ParseArgs().
int boot_cmds_cnt = 0 |
Definition at line 89 of file common.c.
Referenced by FinishBootCmds(), new_label(), and ParseArgs().
struct packet_buf* boot_cmds_packet |
char boot_loader_file[MAX_STRING_LEN] = INTERNAL_NW |
int cmdsOnly = FALSE |
int create_boot_loader = TRUE |
int db1 = FALSE |
Definition at line 102 of file common.c.
Referenced by ack_on_seq(), CreateBootCmds(), CreateBootLoader(), DecodeSvintoBoot(), GetLocalEthAddr(), Handler(), highest_seq_received(), ParseArgs(), and SendToDevice().
int db2 = FALSE |
Definition at line 103 of file common.c.
Referenced by CreateBootLoader(), CreateNewBootPacket(), Fopen(), GetNextPacket(), Handler(), and ParseArgs().
int db3 = FALSE |
Definition at line 104 of file common.c.
Referenced by CreateBootCmds(), CreateBootLoader(), CreateNewBootPacket(), FinishBootCmds(), Fopen(), and ParseArgs().
int db4 = FALSE |
Definition at line 105 of file common.c.
Referenced by allocate_packet(), create_packet(), CreateBootCmds(), CreateBootLoader(), DecodeSvintoBoot(), GetNumberOption(), GetStringOption(), highest_seq_received(), NetBoot(), ParseArgs(), and printData().
int db5 = FALSE |
int doing_flash = FALSE |
int exitonfind = FALSE |
struct boot_files_T* first_boot_file = NULL |
struct packet_buf* first_packet = NULL |
Definition at line 71 of file common.c.
Referenced by create_packet(), CreateBootLoader(), NetBoot(), and packet_with_seq().
Definition at line 69 of file common.c.
Referenced by handle_labels(), new_label(), and ParseArgs().
struct boot_files_T* last_boot_file = NULL |
struct packet_buf* last_packet = NULL |
Definition at line 72 of file common.c.
Referenced by CreateBootCmds(), CreateBootLoader(), and CreateNewBootPacket().
int listenOnly = FALSE |
struct label_t* loop_label = NULL |
char needle[MAX_STRING_LEN] = {0,} |
int needle_len = 0 |
int netBoot = TRUE |
Definition at line 63 of file common.c.
Referenced by CreateBootCmds(), CreateBootLoader(), CreateNewBootPacket(), FinishBootCmds(), ParseArgs(), and SendToDevice().
int noleds = FALSE |
unsigned nrof_net_packets = 0 |
int quiet = 0 |
struct packet_header_T* receive_packet |
struct packet_header_T send_packet |
int seq_nr = 0 |
Definition at line 98 of file common.c.
Referenced by CreateBootCmds(), CreateBootLoader(), and CreateNewBootPacket().
int serBoot = FALSE |
int toFiles = FALSE |
char version[] = "Time-stamp: $Id: common.c,v 1.1.1.1 2008/11/27 20:04:03 elphel Exp $" |
*************************************************************************** ! ! FILE NAME : common.c ! ! DESCRIPTION: Common functions for boot loader. ! ! ! --------------------------------------------------------------------------- ! HISTORY ! ! DATE NAME CHANGES ! ---- ---- ------- ! ??? ? ???? Ronny Ranerup Initial version ! --------------------------------------------------------------------------- ! (C) Copyright 1999, 2000, Axis Communications AB, LUND, SWEDEN !