mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 02:24:51 +00:00
io/channel: Have read/write functions take void * buffer argument
I/O channel read/write functions can operate on any area of memory, regardless of the content their represent. Do not restrict to array of char, use the void* type, which is also the type of the underlying iovec::iov_base field. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> [DB: also adapt test-crypto-tlssession.c func signatures] Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
committed by
Daniel P. Berrangé
parent
abf6e02dfb
commit
989221c0c7
@@ -199,11 +199,11 @@ int qcrypto_tls_session_check_credentials(QCryptoTLSSession *sess,
|
||||
* These must return QCRYPTO_TLS_SESSION_ERR_BLOCK if the I/O
|
||||
* would block, but on other errors, must fill 'errp'
|
||||
*/
|
||||
typedef ssize_t (*QCryptoTLSSessionWriteFunc)(const char *buf,
|
||||
typedef ssize_t (*QCryptoTLSSessionWriteFunc)(const void *buf,
|
||||
size_t len,
|
||||
void *opaque,
|
||||
Error **errp);
|
||||
typedef ssize_t (*QCryptoTLSSessionReadFunc)(char *buf,
|
||||
typedef ssize_t (*QCryptoTLSSessionReadFunc)(void *buf,
|
||||
size_t len,
|
||||
void *opaque,
|
||||
Error **errp);
|
||||
|
||||
@@ -437,7 +437,7 @@ ssize_t qio_channel_writev(QIOChannel *ioc,
|
||||
* a single memory region.
|
||||
*/
|
||||
ssize_t qio_channel_read(QIOChannel *ioc,
|
||||
char *buf,
|
||||
void *buf,
|
||||
size_t buflen,
|
||||
Error **errp);
|
||||
|
||||
@@ -453,7 +453,7 @@ ssize_t qio_channel_read(QIOChannel *ioc,
|
||||
* single memory region.
|
||||
*/
|
||||
ssize_t qio_channel_write(QIOChannel *ioc,
|
||||
const char *buf,
|
||||
const void *buf,
|
||||
size_t buflen,
|
||||
Error **errp);
|
||||
|
||||
@@ -475,7 +475,7 @@ ssize_t qio_channel_write(QIOChannel *ioc,
|
||||
* without data, or -1 on error
|
||||
*/
|
||||
int coroutine_mixed_fn qio_channel_read_all_eof(QIOChannel *ioc,
|
||||
char *buf,
|
||||
void *buf,
|
||||
size_t buflen,
|
||||
Error **errp);
|
||||
|
||||
@@ -495,7 +495,7 @@ int coroutine_mixed_fn qio_channel_read_all_eof(QIOChannel *ioc,
|
||||
* Returns: 0 if all bytes were read, or -1 on error
|
||||
*/
|
||||
int coroutine_mixed_fn qio_channel_read_all(QIOChannel *ioc,
|
||||
char *buf,
|
||||
void *buf,
|
||||
size_t buflen,
|
||||
Error **errp);
|
||||
|
||||
@@ -514,7 +514,7 @@ int coroutine_mixed_fn qio_channel_read_all(QIOChannel *ioc,
|
||||
* Returns: 0 if all bytes were written, or -1 on error
|
||||
*/
|
||||
int coroutine_mixed_fn qio_channel_write_all(QIOChannel *ioc,
|
||||
const char *buf,
|
||||
const void *buf,
|
||||
size_t buflen,
|
||||
Error **errp);
|
||||
|
||||
@@ -595,7 +595,7 @@ ssize_t qio_channel_pwritev(QIOChannel *ioc, const struct iovec *iov,
|
||||
* flag QIO_CHANNEL_FEATURE_SEEKABLE prior to calling this method.
|
||||
*
|
||||
*/
|
||||
ssize_t qio_channel_pwrite(QIOChannel *ioc, char *buf, size_t buflen,
|
||||
ssize_t qio_channel_pwrite(QIOChannel *ioc, void *buf, size_t buflen,
|
||||
off_t offset, Error **errp);
|
||||
|
||||
/**
|
||||
@@ -631,7 +631,7 @@ ssize_t qio_channel_preadv(QIOChannel *ioc, const struct iovec *iov,
|
||||
* flag QIO_CHANNEL_FEATURE_SEEKABLE prior to calling this method.
|
||||
*
|
||||
*/
|
||||
ssize_t qio_channel_pread(QIOChannel *ioc, char *buf, size_t buflen,
|
||||
ssize_t qio_channel_pread(QIOChannel *ioc, void *buf, size_t buflen,
|
||||
off_t offset, Error **errp);
|
||||
|
||||
/**
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "qemu/atomic.h"
|
||||
|
||||
|
||||
static ssize_t qio_channel_tls_write_handler(const char *buf,
|
||||
static ssize_t qio_channel_tls_write_handler(const void *buf,
|
||||
size_t len,
|
||||
void *opaque,
|
||||
Error **errp)
|
||||
@@ -43,7 +43,7 @@ static ssize_t qio_channel_tls_write_handler(const char *buf,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t qio_channel_tls_read_handler(char *buf,
|
||||
static ssize_t qio_channel_tls_read_handler(void *buf,
|
||||
size_t len,
|
||||
void *opaque,
|
||||
Error **errp)
|
||||
|
||||
14
io/channel.c
14
io/channel.c
@@ -310,7 +310,7 @@ ssize_t qio_channel_writev(QIOChannel *ioc,
|
||||
|
||||
|
||||
ssize_t qio_channel_read(QIOChannel *ioc,
|
||||
char *buf,
|
||||
void *buf,
|
||||
size_t buflen,
|
||||
Error **errp)
|
||||
{
|
||||
@@ -320,7 +320,7 @@ ssize_t qio_channel_read(QIOChannel *ioc,
|
||||
|
||||
|
||||
ssize_t qio_channel_write(QIOChannel *ioc,
|
||||
const char *buf,
|
||||
const void *buf,
|
||||
size_t buflen,
|
||||
Error **errp)
|
||||
{
|
||||
@@ -330,7 +330,7 @@ ssize_t qio_channel_write(QIOChannel *ioc,
|
||||
|
||||
|
||||
int coroutine_mixed_fn qio_channel_read_all_eof(QIOChannel *ioc,
|
||||
char *buf,
|
||||
void *buf,
|
||||
size_t buflen,
|
||||
Error **errp)
|
||||
{
|
||||
@@ -340,7 +340,7 @@ int coroutine_mixed_fn qio_channel_read_all_eof(QIOChannel *ioc,
|
||||
|
||||
|
||||
int coroutine_mixed_fn qio_channel_read_all(QIOChannel *ioc,
|
||||
char *buf,
|
||||
void *buf,
|
||||
size_t buflen,
|
||||
Error **errp)
|
||||
{
|
||||
@@ -350,7 +350,7 @@ int coroutine_mixed_fn qio_channel_read_all(QIOChannel *ioc,
|
||||
|
||||
|
||||
int coroutine_mixed_fn qio_channel_write_all(QIOChannel *ioc,
|
||||
const char *buf,
|
||||
const void *buf,
|
||||
size_t buflen,
|
||||
Error **errp)
|
||||
{
|
||||
@@ -475,7 +475,7 @@ ssize_t qio_channel_pwritev(QIOChannel *ioc, const struct iovec *iov,
|
||||
return klass->io_pwritev(ioc, iov, niov, offset, errp);
|
||||
}
|
||||
|
||||
ssize_t qio_channel_pwrite(QIOChannel *ioc, char *buf, size_t buflen,
|
||||
ssize_t qio_channel_pwrite(QIOChannel *ioc, void *buf, size_t buflen,
|
||||
off_t offset, Error **errp)
|
||||
{
|
||||
struct iovec iov = {
|
||||
@@ -504,7 +504,7 @@ ssize_t qio_channel_preadv(QIOChannel *ioc, const struct iovec *iov,
|
||||
return klass->io_preadv(ioc, iov, niov, offset, errp);
|
||||
}
|
||||
|
||||
ssize_t qio_channel_pread(QIOChannel *ioc, char *buf, size_t buflen,
|
||||
ssize_t qio_channel_pread(QIOChannel *ioc, void *buf, size_t buflen,
|
||||
off_t offset, Error **errp)
|
||||
{
|
||||
struct iovec iov = {
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#define KEYFILE WORKDIR "key-ctx.pem"
|
||||
|
||||
static ssize_t
|
||||
testWrite(const char *buf, size_t len, void *opaque, Error **errp)
|
||||
testWrite(const void *buf, size_t len, void *opaque, Error **errp)
|
||||
{
|
||||
int *fd = opaque;
|
||||
int ret;
|
||||
@@ -54,7 +54,7 @@ testWrite(const char *buf, size_t len, void *opaque, Error **errp)
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
testRead(char *buf, size_t len, void *opaque, Error **errp)
|
||||
testRead(void *buf, size_t len, void *opaque, Error **errp)
|
||||
{
|
||||
int *fd = opaque;
|
||||
int ret;
|
||||
|
||||
Reference in New Issue
Block a user