diff options
author | Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru> | 2015-09-17 19:23:43 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-11-05 12:19:09 +0100 |
commit | c92079f45fec0bc6a2757aa3783dd9b0604089ba (patch) | |
tree | 8ee803846c9f512ccf17ac8d8c99fdb1e3bd0fac /replay/replay-internal.h | |
parent | d73abd6dcc105fb5cacc34716046fca63132a264 (diff) | |
download | qemu-c92079f45fec0bc6a2757aa3783dd9b0604089ba.zip qemu-c92079f45fec0bc6a2757aa3783dd9b0604089ba.tar.gz qemu-c92079f45fec0bc6a2757aa3783dd9b0604089ba.tar.bz2 |
replay: internal functions for replay log
This patch adds functions to perform read and write operations
with replay log.
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Message-Id: <20150917162342.8676.29445.stgit@PASHA-ISP.def.inno>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'replay/replay-internal.h')
-rw-r--r-- | replay/replay-internal.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/replay/replay-internal.h b/replay/replay-internal.h new file mode 100644 index 0000000..17600de --- /dev/null +++ b/replay/replay-internal.h @@ -0,0 +1,46 @@ +#ifndef REPLAY_INTERNAL_H +#define REPLAY_INTERNAL_H + +/* + * replay-internal.h + * + * Copyright (c) 2010-2015 Institute for System Programming + * of the Russian Academy of Sciences. + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + * + */ + +#include <stdio.h> + +extern unsigned int replay_data_kind; + +/* File for replay writing */ +extern FILE *replay_file; + +void replay_put_byte(uint8_t byte); +void replay_put_event(uint8_t event); +void replay_put_word(uint16_t word); +void replay_put_dword(uint32_t dword); +void replay_put_qword(int64_t qword); +void replay_put_array(const uint8_t *buf, size_t size); + +uint8_t replay_get_byte(void); +uint16_t replay_get_word(void); +uint32_t replay_get_dword(void); +int64_t replay_get_qword(void); +void replay_get_array(uint8_t *buf, size_t *size); +void replay_get_array_alloc(uint8_t **buf, size_t *size); + +/*! Checks error status of the file. */ +void replay_check_error(void); + +/*! Finishes processing of the replayed event and fetches + the next event from the log. */ +void replay_finish_event(void); +/*! Reads data type from the file and stores it in the + replay_data_kind variable. */ +void replay_fetch_data_kind(void); + +#endif |