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