void smbios_add_field(int type, int offset, const void *data, size_t len)

{

    struct smbios_field *field;



    smbios_check_collision(type, SMBIOS_FIELD_ENTRY);



    if (!smbios_entries) {

        smbios_entries_len = sizeof(uint16_t);

        smbios_entries = g_malloc0(smbios_entries_len);

    }

    smbios_entries = g_realloc(smbios_entries, smbios_entries_len +

                                                  sizeof(*field) + len);

    field = (struct smbios_field *)(smbios_entries + smbios_entries_len);

    field->header.type = SMBIOS_FIELD_ENTRY;

    field->header.length = cpu_to_le16(sizeof(*field) + len);



    field->type = type;

    field->offset = cpu_to_le16(offset);

    memcpy(field->data, data, len);



    smbios_entries_len += sizeof(*field) + len;

    (*(uint16_t *)smbios_entries) =

            cpu_to_le16(le16_to_cpu(*(uint16_t *)smbios_entries) + 1);

}

void smbios_add_field(int type, int offset, const void *data, size_t len)

{

    struct smbios_field *field;



    smbios_check_collision(type, SMBIOS_FIELD_ENTRY);



    if (!smbios_entries) {

        smbios_entries_len = sizeof(uint16_t);

        smbios_entries = g_malloc0(smbios_entries_len);

    }

    smbios_entries = g_realloc(smbios_entries, smbios_entries_len +

                                                  sizeof(*field) + len);

    field = (struct smbios_field *)(smbios_entries + smbios_entries_len);

    field->header.type = SMBIOS_FIELD_ENTRY;

    field->header.length = cpu_to_le16(sizeof(*field) + len);



    field->type = type;

    field->offset = cpu_to_le16(offset);

    memcpy(field->data, data, len);



    smbios_entries_len += sizeof(*field) + len;

    (*(uint16_t *)smbios_entries) =

            cpu_to_le16(le16_to_cpu(*(uint16_t *)smbios_entries) + 1);

}

void FUNC_0(int VAR_0, int VAR_1, const void *VAR_2, size_t VAR_3)

{

    struct smbios_field *VAR_4;



    smbios_check_collision(VAR_0, SMBIOS_FIELD_ENTRY);



    if (!smbios_entries) {

        smbios_entries_len = sizeof(uint16_t);

        smbios_entries = g_malloc0(smbios_entries_len);

    }

    smbios_entries = g_realloc(smbios_entries, smbios_entries_len +

                                                  sizeof(*VAR_4) + VAR_3);

    VAR_4 = (struct smbios_field *)(smbios_entries + smbios_entries_len);

    VAR_4->header.VAR_0 = SMBIOS_FIELD_ENTRY;

    VAR_4->header.length = cpu_to_le16(sizeof(*VAR_4) + VAR_3);



    VAR_4->VAR_0 = VAR_0;

    VAR_4->VAR_1 = cpu_to_le16(VAR_1);

    memcpy(VAR_4->VAR_2, VAR_2, VAR_3);



    smbios_entries_len += sizeof(*VAR_4) + VAR_3;

    (*(uint16_t *)smbios_entries) =

            cpu_to_le16(le16_to_cpu(*(uint16_t *)smbios_entries) + 1);

}

void FUNC_0(int VAR_0, int VAR_1, const void *VAR_2, size_t VAR_3)
{ struct smbios_field *VAR_4; smbios_check_collision(VAR_0, SMBIOS_FIELD_ENTRY); if (!smbios_entries) { smbios_entries_len = sizeof(uint16_t); smbios_entries = g_malloc0(smbios_entries_len); } smbios_entries = g_realloc(smbios_entries, smbios_entries_len +
sizeof(*VAR_4) + VAR_3); VAR_4 = (struct smbios_field *)(smbios_entries + smbios_entries_len); VAR_4->header.VAR_0 = SMBIOS_FIELD_ENTRY; VAR_4->header.length = cpu_to_le16(sizeof(*VAR_4) + VAR_3); VAR_4->VAR_0 = VAR_0; VAR_4->VAR_1 = cpu_to_le16(VAR_1); memcpy(VAR_4->VAR_2, VAR_2, VAR_3); smbios_entries_len += sizeof(*VAR_4) + VAR_3; (*(uint16_t *)smbios_entries) =
cpu_to_le16(le16_to_cpu(*(uint16_t *)smbios_entries) + 1); }