76 lines
2.3 KiB
Plaintext
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 */
|
||
|
}
|