/[dynamips]/upstream/dynamips-0.2.6-RC5/cisco_eeprom.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /upstream/dynamips-0.2.6-RC5/cisco_eeprom.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6 - (show annotations)
Sat Oct 6 16:09:07 2007 UTC (16 years, 5 months ago) by dpavlin
File MIME type: text/plain
File size: 2077 byte(s)
dynamips-0.2.6-RC5

1 /*
2 * Cisco C7200 (Predator) simulation platform.
3 * Copyright (c) 2006 Christophe Fillot. All rights reserved.
4 *
5 * Cisco EEPROM manipulation functions.
6 */
7
8 #ifndef __CISCO_EEPROM_H__
9 #define __CISCO_EEPROM_H__
10
11 #include "utils.h"
12
13 /* Cisco EEPROM */
14 struct cisco_eeprom {
15 char *name;
16 m_uint16_t *data;
17 size_t len;
18 };
19
20 /* Find a NM EEPROM */
21 const struct cisco_eeprom *cisco_eeprom_find_nm(char *name);
22
23 /* Find a PA EEPROM */
24 const struct cisco_eeprom *cisco_eeprom_find_pa(char *name);
25
26 /* Find an EEPROM in the specified EEPROM array */
27 const struct cisco_eeprom *
28 cisco_eeprom_find(const struct cisco_eeprom *eeproms,char *name);
29
30 /* Copy an EEPROM */
31 int cisco_eeprom_copy(struct cisco_eeprom *dst,const struct cisco_eeprom *src);
32
33 /* Free resources used by an EEPROM */
34 void cisco_eeprom_free(struct cisco_eeprom *eeprom);
35
36 /* Return TRUE if the specified EEPROM contains usable data */
37 int cisco_eeprom_valid(struct cisco_eeprom *eeprom);
38
39 /* Get a byte from an EEPROM */
40 int cisco_eeprom_get_byte(struct cisco_eeprom *eeprom,
41 size_t offset,m_uint8_t *val);
42
43 /* Set a byte to an EEPROM */
44 int cisco_eeprom_set_byte(struct cisco_eeprom *eeprom,
45 size_t offset,m_uint8_t val);
46
47 /* Get an EEPROM region */
48 int cisco_eeprom_get_region(struct cisco_eeprom *eeprom,size_t offset,
49 m_uint8_t *data,size_t data_len);
50
51 /* Set an EEPROM region */
52 int cisco_eeprom_set_region(struct cisco_eeprom *eeprom,size_t offset,
53 m_uint8_t *data,size_t data_len);
54
55 /* Get a field of a Cisco EEPROM v4 */
56 int cisco_eeprom_v4_get_field(struct cisco_eeprom *eeprom,m_uint8_t *type,
57 m_uint8_t *len,size_t *offset);
58
59 /* Dump a Cisco EEPROM with format version 4 */
60 void cisco_eeprom_v4_dump(struct cisco_eeprom *eeprom);
61
62 /* Returns the offset of the specified field */
63 int cisco_eeprom_v4_find_field(struct cisco_eeprom *eeprom,
64 m_uint8_t field_type,
65 size_t *field_offset);
66
67 #endif
68

  ViewVC Help
Powered by ViewVC 1.1.26