U-Boot. Исходные тексты команд: config.c
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2017 Masahiro Yamada <yamada.masahiro@socionext.com>
*/
#include <common.h>
#include <command.h>
#include <gzip.h>
#include <malloc.h>
#include "config_data_gz.h"
#include "config_data_size.h"
static int do_config(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
{
char *dst;
unsigned long len = data_size;
int ret = CMD_RET_SUCCESS;
dst = malloc(data_size + 1);
if (!dst)
return CMD_RET_FAILURE;
ret = gunzip(dst, data_size, (unsigned char *)data_gz, &len);
if (ret) {
printf("failed to uncompress .config data\n");
ret = CMD_RET_FAILURE;
goto free;
}
dst[data_size] = 0;
puts(dst);
free:
free(dst);
return ret;
}
U_BOOT_CMD(
config, 1, 1, do_config,
"print .config",
""
);