Merge branch 'master' of git://git.denx.de/u-boot
[oweals/u-boot.git] / include / eeprom_field.h
1 /*
2  * (C) Copyright 2009-2016 CompuLab, Ltd.
3  *
4  * Authors: Nikita Kiryanov <nikita@compulab.co.il>
5  *          Igor Grinberg <grinberg@compulab.co.il>
6  *
7  * SPDX-License-Identifier:     GPL-2.0+
8  */
9
10 #ifndef _FIELD_
11 #define _FIELD_
12
13 #define PRINT_FIELD_SEGMENT     "%-30s"
14
15 struct eeprom_field {
16         char *name;
17         int size;
18         unsigned char *buf;
19
20         void (*print)(const struct eeprom_field *eeprom_field);
21         int (*update)(struct eeprom_field *eeprom_field, char *value);
22 };
23
24 void eeprom_field_print_bin(const struct eeprom_field *field);
25 int eeprom_field_update_bin(struct eeprom_field *field, char *value);
26
27 void eeprom_field_print_bin_rev(const struct eeprom_field *field);
28 int eeprom_field_update_bin_rev(struct eeprom_field *field, char *value);
29
30 void eeprom_field_print_mac(const struct eeprom_field *field);
31 int eeprom_field_update_mac(struct eeprom_field *field, char *value);
32
33 void eeprom_field_print_ascii(const struct eeprom_field *field);
34 int eeprom_field_update_ascii(struct eeprom_field *field, char *value);
35
36 void eeprom_field_print_reserved(const struct eeprom_field *field);
37 int eeprom_field_update_reserved(struct eeprom_field *field, char *value);
38
39 #endif