cake
/
libg1m
Archived
1
0
Fork 0
This repository has been archived on 2024-03-16. You can view files and clone it, but cannot push or open issues or pull requests.
libg1m/src/encode/cas.c.draft

76 lines
2.3 KiB
Plaintext

/* *****************************************************************************
* encode/cas.c -- encode CAS elements and file.
* Copyright (C) 2017 Thomas "Cakeisalie5" Touhey <thomas@touhey.fr>
*
* This file is part of libg1m.
* libg1m is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 3.0 of the License,
* or (at your option) any later version.
*
* libg1m is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with libg1m; if not, see <http://www.gnu.org/licenses/>.
* ************************************************************************** */
#include <libg1m/internals.h>
/* ************************************************************************** */
/* Correspondances */
/* ************************************************************************** */
/* Types */
typedef int (*announce_t)(g1m_mcsfile_t*, size_t*);
typedef int (*encode_t)(g1m_mcsfile_t*, g1m_buffer_t*);
struct corresp {
/* 'identification' */
g1m_mcstype_t types;
/* functions */
announce_t announce;
encode_t encode;
};
/* All correspondances */
static const struct corresp encodings[] = {
/* sentinel */
{0, NULL, NULL}
};
/* ************************************************************************** */
/* Header/data encoding functions */
/* ************************************************************************** */
/**
* g1m_announce_casfile_head:
* Figure out the CAS file head.
*
* @arg head the head.
* @arg sz the size to contribute to.
*/
int g1m_announce_casfile_head(g1m_mcshead_t *head, size_t *sz)
{
}
/**
* g1m_encode_casfile_head:
* Encode a CAS file head.
*/
int g1m_encode_casfile_head(g1m_mcshead_t *head, g1m_buffer_t *buffer)
{
/* TODO */
}
/**
* g1m_encode_casfile_part:
* Encode a CAS file data part.
*/
int g1m_encode_casfile_part(g1m_mcsfile_t *file, g1m_buffer_t *buffer)
{
/* TODO */
}