blob: 94e259ff731ac3e6fa3ff3065745fdc72940eeab [file] [log] [blame]
Nikita Kiryanov37dda1c2016-04-16 17:55:03 +03001/*
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
15struct 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
24void eeprom_field_print_bin(const struct eeprom_field *field);
25int eeprom_field_update_bin(struct eeprom_field *field, char *value);
26
27void eeprom_field_print_bin_rev(const struct eeprom_field *field);
28int eeprom_field_update_bin_rev(struct eeprom_field *field, char *value);
29
30void eeprom_field_print_mac(const struct eeprom_field *field);
31int eeprom_field_update_mac(struct eeprom_field *field, char *value);
32
33void eeprom_field_print_ascii(const struct eeprom_field *field);
34int eeprom_field_update_ascii(struct eeprom_field *field, char *value);
35
36void eeprom_field_print_reserved(const struct eeprom_field *field);
37int eeprom_field_update_reserved(struct eeprom_field *field, char *value);
38
39#endif