From f39ee1b82003083a0ecdca12a0aecd36d34c391f Mon Sep 17 00:00:00 2001 From: Lailouezzz Date: Sun, 5 Jan 2020 16:36:58 +0100 Subject: [PATCH] Implement getfreemem for seven_fs + add to the callbacks --- lib/link/seven_fs/getfreemem.c | 39 ++++++++++++++++++++++++++++++++++ lib/link/seven_fs/open.c | 2 +- lib/link/seven_fs/seven_fs.h | 6 ++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 lib/link/seven_fs/getfreemem.c diff --git a/lib/link/seven_fs/getfreemem.c b/lib/link/seven_fs/getfreemem.c new file mode 100644 index 0000000..0051649 --- /dev/null +++ b/lib/link/seven_fs/getfreemem.c @@ -0,0 +1,39 @@ +/* **************************************************************************** + * link/seven_fs/getfreemem.c -- get the available free space on a 7.00 fs. + * Copyright (C) 2020 Alan "Lailouezzz" Le Bouder + * + * This file is part of libcasio. + * libcasio 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. + * + * libcasio 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 libcasio; if not, see . + * ************************************************************************* */ +#include "seven_fs.h" + +/** + * casio_sevenfs_getfreemem: + * Get the available free space on a Protocol 7.00 filesystem. + * + * @arg cookie the cookie. + * @arg path the path. + * @arg capacity the pointer to capacity + * @return the error code (0 if ok). + */ + +int CASIO_EXPORT casio_sevenfs_getfreemem(sevenfs_cookie_t *cookie, + sevenfs_path_t *path, + size_t *capacity) +{ + int err; + casio_link_t *handle = cookie; + + return (0); +} \ No newline at end of file diff --git a/lib/link/seven_fs/open.c b/lib/link/seven_fs/open.c index 6f04c0a..9df7527 100644 --- a/lib/link/seven_fs/open.c +++ b/lib/link/seven_fs/open.c @@ -25,7 +25,7 @@ CASIO_LOCAL casio_fsfuncs_t sevenfs_callbacks = { (casio_fs_makepath_t*)&casio_make_sevenfs_path, (casio_fs_freepath_t*)&casio_free_sevenfs_path, NULL, - NULL, + (casio_fs_getfreemem_t*)&casio_sevenfs_getfreemem, NULL, (casio_fs_del_t*)&casio_sevenfs_delete, NULL, diff --git a/lib/link/seven_fs/seven_fs.h b/lib/link/seven_fs/seven_fs.h index 0b2f7f7..92619c5 100644 --- a/lib/link/seven_fs/seven_fs.h +++ b/lib/link/seven_fs/seven_fs.h @@ -63,4 +63,10 @@ CASIO_EXTERN int CASIO_EXPORT casio_sevenfs_open OF((sevenfs_cookie_t *casio__cookie, sevenfs_path_t *casio__path, casio_off_t casio__size, casio_openmode_t casio__mode, casio_stream_t **casio__stream)); +/* Get the free space */ + +CASIO_EXTERN int CASIO_EXPORT casio_sevenfs_getfreemem + OF((sevenfs_cookie_t *casio__cookie, sevenfs_path_t *casio__path, + size_t *casio__capacity)); + #endif /* LOCAL_LINK_SEVEN_FS_H */