eeprom_field.h 1.1 KB

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