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