From 6a99d9bf65aa5878cb409945ed2bdbdcb916d047 Mon Sep 17 00:00:00 2001 From: chenqiyang <1406175257@qq.com> Date: 星期五, 02 九月 2022 14:56:40 +0800 Subject: [PATCH] 更新linphone sdk --- Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/bctoolbox.framework/Headers/vfs.h | 77 +++++++++++++++++++++++--------------- 1 files changed, 47 insertions(+), 30 deletions(-) diff --git a/Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/bctoolbox.framework/Headers/vfs.h b/Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/bctoolbox.framework/Headers/vfs.h index f233083..b2cdc6b 100755 --- a/Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/bctoolbox.framework/Headers/vfs.h +++ b/Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/bctoolbox.framework/Headers/vfs.h @@ -1,21 +1,21 @@ /* -vfs.h -Copyright (C) 2016 Belledonne Communications SARL - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program 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 General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ + * Copyright (c) 2016-2020 Belledonne Communications SARL. + * + * This file is part of bctoolbox. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ #ifndef BCTBX_VFS_H #define BCTBX_VFS_H @@ -54,6 +54,8 @@ #define BCTBX_VFS_ERROR -255 /* Some kind of disk I/O error occurred */ +#define BCTBX_VFS_PRINTF_PAGE_SIZE 4096 /* Size of the page hold in memory by fprintf */ +#define BCTBX_VFS_GETLINE_PAGE_SIZE 17385 /* Size of the page hold in memory by getnextline */ #ifdef __cplusplus extern "C"{ @@ -73,9 +75,16 @@ const struct bctbx_io_methods_t *pMethods; /* Methods for an open file: all Developpers must supply this field at open step*/ /*the fields below are used by the default implementation. Developpers are not required to supply them, but may use them if they find * them useful*/ - void* pUserData; /*Developpers can store private data under this pointer */ - int fd; /* File descriptor */ - off_t offset; /*File offset used by lseek*/ + void* pUserData; /* Developpers can store private data under this pointer */ + off_t offset; /* File offset used by bctbx_file_fprintf and bctbx_file_get_nxtline */ + /* fprintf cache */ + char fPage[BCTBX_VFS_PRINTF_PAGE_SIZE]; /* Buffer storing the current page cached by fprintf */ + off_t fPageOffset; /* The original offset of the cached page */ + size_t fSize; /* number of bytes in cache */ + /* get_nxtline cache */ + char gPage[BCTBX_VFS_GETLINE_PAGE_SIZE+1]; /* Buffer storing the current page cachec by get_nxtline +1 to hold the \0 */ + off_t gPageOffset; /* The offset of the cached page */ + size_t gSize; /* actual size of the data in cache */ }; @@ -87,8 +96,9 @@ ssize_t (*pFuncWrite)(bctbx_vfs_file_t *pFile, const void* buf, size_t count, off_t offset); int (*pFuncTruncate)(bctbx_vfs_file_t *pFile, int64_t size); int64_t (*pFuncFileSize)(bctbx_vfs_file_t *pFile); + int (*pFuncSync)(bctbx_vfs_file_t *pFile); int (*pFuncGetLineFromFd)(bctbx_vfs_file_t *pFile, char* s, int count); - off_t (*pFuncSeek)(bctbx_vfs_file_t *pFile, off_t offset, int whence); + bool_t (*pFuncIsEncrypted)(bctbx_vfs_file_t *pFile); }; @@ -100,14 +110,6 @@ const char *vfsName; /* Virtual file system name */ int (*pFuncOpen)(bctbx_vfs_t *pVfs, bctbx_vfs_file_t *pFile, const char *fName, int openFlags); }; - - -/* API to use the VFS */ -/* - * This function returns a pointer to the VFS implemented in this file. - */ -BCTBX_PUBLIC bctbx_vfs_t *bc_create_vfs(void); - /** * Attempts to read count bytes from the open file given by pFile, at the position starting at offset @@ -196,7 +198,16 @@ BCTBX_PUBLIC int bctbx_file_get_nxtline(bctbx_vfs_file_t *pFile, char *s, int maxlen); /** - * Wrapper to pFuncSeek VFS method call. Set the position to offset in the file. + * Simply sync the file contents given through the file handle + * to the persistent media. + * @param pFile File handle pointer. + * @return BCTBX_VFS_OK on success, BCTBX_VFS_ERROR otherwise + */ +BCTBX_PUBLIC int bctbx_file_sync(bctbx_vfs_file_t *pFile); + +/** + * Set the position to offset in the file, this position is used only by the function + * bctbx_file_get_nxtline. Read and write give their own offset as param and won't modify this one * @param pFile File handle pointer. * @param offset File offset where to set the position to. * @param whence Either SEEK_SET, SEEK_CUR,SEEK_END @@ -204,6 +215,12 @@ */ BCTBX_PUBLIC off_t bctbx_file_seek(bctbx_vfs_file_t *pFile, off_t offset, int whence); +/** + * Get the file encryption status + * @param pFile File handle pointer. + * @return true if the file is encrypted + */ +BCTBX_PUBLIC bool_t bctbx_file_is_encrypted(bctbx_vfs_file_t *pFile); /** * Set default VFS pointer pDefault to my_vfs. -- Gitblit v1.8.0