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