41 lines
940 B
C
41 lines
940 B
C
// Initial TAR ramdisk kernel module header
|
|
// Author: xamidev
|
|
// Licensed under the Unlicense. See the repo below.
|
|
// https://github.com/xamidev/blankos
|
|
|
|
#ifndef INITRD_H
|
|
#define INITRD_H
|
|
|
|
#define TAR_BLOCK_SIZE 512
|
|
|
|
#include "system.h"
|
|
|
|
typedef struct
|
|
{
|
|
char filename[100];
|
|
char mode[8];
|
|
char owner[8];
|
|
char group[8];
|
|
char size[12];
|
|
char mtime[12];
|
|
char checksum[8];
|
|
char typeflag;
|
|
char linkname[100];
|
|
char magic[6];
|
|
char version[2];
|
|
char uname[32];
|
|
char gname[32];
|
|
char devmajor[8];
|
|
char devminor[8];
|
|
char prefix[155];
|
|
} tar_header_t;
|
|
|
|
void tar_find_file(uint8_t *tar_start, const char* filename);
|
|
void ls_initrd(uint8_t* initrd, int verbose);
|
|
void cat_initrd(uint8_t* initrd, const char* filename);
|
|
int tar_file_to_buffer(uint8_t* initrd, const char* filename, char* buffer);
|
|
uint32_t tar_get_file_size(uint8_t* initrd, const char* filename);
|
|
void* load_file_from_initrd(uint8_t* initrd, const char* filename);
|
|
|
|
#endif
|