23#ifndef __DC_FLASHROM_H
24#define __DC_FLASHROM_H
42#define FLASHROM_PT_SYSTEM 0
43#define FLASHROM_PT_RESERVED 1
44#define FLASHROM_PT_BLOCK_1 2
45#define FLASHROM_PT_SETTINGS 3
46#define FLASHROM_PT_BLOCK_2 4
55#define FLASHROM_B1_SYSCFG 0x05
56#define FLASHROM_B1_PW_SETTINGS_1 0x80
57#define FLASHROM_B1_PW_SETTINGS_2 0x81
58#define FLASHROM_B1_PW_SETTINGS_3 0x82
59#define FLASHROM_B1_PW_SETTINGS_4 0x83
60#define FLASHROM_B1_PW_SETTINGS_5 0x84
61#define FLASHROM_B1_PW_PPP1 0xC0
62#define FLASHROM_B1_PW_PPP2 0xC1
63#define FLASHROM_B1_PW_DNS 0xC2
64#define FLASHROM_B1_PW_EMAIL1 0xC3
65#define FLASHROM_B1_PW_EMAIL2 0xC4
66#define FLASHROM_B1_PW_EMAIL_PROXY 0xC5
67#define FLASHROM_B1_DK_PPP1 0xC6
68#define FLASHROM_B1_DK_PPP2 0xC7
69#define FLASHROM_B1_DK_DNS 0xC8
70#define FLASHROM_B1_IP_SETTINGS 0xE0
71#define FLASHROM_B1_EMAIL 0xE2
72#define FLASHROM_B1_SMTP 0xE4
73#define FLASHROM_B1_POP3 0xE5
74#define FLASHROM_B1_POP3LOGIN 0xE6
75#define FLASHROM_B1_POP3PASSWD 0xE7
76#define FLASHROM_B1_PPPLOGIN 0xE8
77#define FLASHROM_B1_PPPPASSWD 0xE9
78#define FLASHROM_B1_PPPMODEM 0xEB
81#define FLASHROM_OFFSET_CRC 62
88#define FLASHROM_ERR_NONE 0
89#define FLASHROM_ERR_NOT_FOUND -1
90#define FLASHROM_ERR_NO_PARTITION -2
91#define FLASHROM_ERR_READ_PART -3
92#define FLASHROM_ERR_BAD_MAGIC -4
93#define FLASHROM_ERR_BOGUS_PART -5
94#define FLASHROM_ERR_NOMEM -6
95#define FLASHROM_ERR_READ_BITMAP -7
96#define FLASHROM_ERR_EMPTY_PART -8
97#define FLASHROM_ERR_READ_BLOCK -9
191#define FLASHROM_LANG_JAPANESE 0
192#define FLASHROM_LANG_ENGLISH 1
193#define FLASHROM_LANG_GERMAN 2
194#define FLASHROM_LANG_FRENCH 3
195#define FLASHROM_LANG_SPANISH 4
196#define FLASHROM_LANG_ITALIAN 5
207typedef struct flashrom_syscfg {
232#define FLASHROM_REGION_UNKNOWN 0
233#define FLASHROM_REGION_JAPAN 1
234#define FLASHROM_REGION_US 2
235#define FLASHROM_REGION_EUROPE 3
259#define FLASHROM_ISP_DIALUP 0
260#define FLASHROM_ISP_DHCP 1
261#define FLASHROM_ISP_PPPOE 2
262#define FLASHROM_ISP_STATIC 3
275#define FLASHROM_ISP_IP BIT(0)
276#define FLASHROM_ISP_NETMASK BIT(1)
277#define FLASHROM_ISP_BROADCAST BIT(2)
278#define FLASHROM_ISP_GATEWAY BIT(3)
279#define FLASHROM_ISP_DNS BIT(4)
280#define FLASHROM_ISP_HOSTNAME BIT(5)
281#define FLASHROM_ISP_EMAIL BIT(6)
282#define FLASHROM_ISP_SMTP BIT(7)
283#define FLASHROM_ISP_POP3 BIT(8)
284#define FLASHROM_ISP_POP3_USER BIT(9)
285#define FLASHROM_ISP_POP3_PASS (1 << 10)
286#define FLASHROM_ISP_PROXY_HOST (1 << 11)
287#define FLASHROM_ISP_PROXY_PORT (1 << 12)
288#define FLASHROM_ISP_PPP_USER (1 << 13)
289#define FLASHROM_ISP_PPP_PASS (1 << 14)
290#define FLASHROM_ISP_OUT_PREFIX (1 << 15)
291#define FLASHROM_ISP_CW_PREFIX (1 << 16)
292#define FLASHROM_ISP_REAL_NAME (1 << 17)
293#define FLASHROM_ISP_MODEM_INIT (1 << 18)
294#define FLASHROM_ISP_AREA_CODE (1 << 19)
295#define FLASHROM_ISP_LD_PREFIX (1 << 20)
296#define FLASHROM_ISP_PHONE1 (1 << 21)
297#define FLASHROM_ISP_PHONE2 (1 << 22)
309#define FLASHROM_ISP_DIAL_AREACODE BIT(0)
310#define FLASHROM_ISP_USE_PROXY BIT(1)
311#define FLASHROM_ISP_PULSE_DIAL BIT(2)
312#define FLASHROM_ISP_BLIND_DIAL BIT(3)
324typedef struct flashrom_ispcfg {
343 char pop3_passwd[32];
Various common macros used throughout the codebase.
int flashrom_write(int offset, void *buffer, int bytes)
Write data to the flashrom.
int flashrom_get_syscfg(flashrom_syscfg_t *out)
Retrieve the current system configuration settings.
int flashrom_get_ispcfg(flashrom_ispcfg_t *out)
Retrieve DreamPassport's ISP configuration.
int flashrom_get_pw_ispcfg(flashrom_ispcfg_t *out)
Retrieve PlanetWeb's ISP configuration.
int flashrom_delete(int offset)
Delete data from the flashrom.
int flashrom_get_block(int partid, int blockid, uint8_t *buffer_out)
Get a logical block from the specified partition.
int flashrom_get_region(void)
Retrieve the console's region code.
int flashrom_read(int offset, void *buffer_out, int bytes)
Read data from the flashrom.
int flashrom_info(int part, int *start_out, int *size_out)
Retrieve information about the given partition.
int modem_init(void)
Initialize the modem.
static char buffer[256]
Definition porthelper.c:11
Macros to help dealing with register fields.
ISP configuration structure.
Definition flashrom.h:324
int proxy_port
Proxy server port.
Definition flashrom.h:337
uint32_t flags
Various flags that can be set in options.
Definition flashrom.h:329
uint32_t valid_fields
Which fields are valid?
Definition flashrom.h:327
int method
DHCP, Static, dialup(?), PPPoE.
Definition flashrom.h:325
System configuration structure.
Definition flashrom.h:207
int language
Language setting.
Definition flashrom.h:208
int autostart
Autostart discs? 0 == off, 1 == on.
Definition flashrom.h:211
int audio
Stereo/mono setting.
Definition flashrom.h:210