[][src]Attribute Macro panda::replay_net_transfer

#[replay_net_transfer]

(Callback) In replay only, some kind of data transfer within the network card (currently, only the E1000 is supported).

Callback ID:     PANDA_CB_REPLAY_NET_TRANSFER,

   Arguments:
    CPUState *env:          pointer to CPUState
    uint32_t type:          type of transfer  (Net_transfer_type)
    uint64_t src_addr:      address for src
    uint64_t dest_addr:     address for dest
    size_t num_bytes:       size of transfer in bytes

   Helper call location: panda/src/rr/rr_log.c

   Return value:
    none

   Notes:
    Unlike most callbacks, this is neither a "before" or "after" callback.
    In replay the transfer doesn't really happen. We are *at* the point at
    which it happened, really.
    Also, the src_addr and dest_addr may be for either host (ie. a location
    in the emulated network device) or guest, depending upon the type.

Callback arguments: (&mut CPUState, u32, u64, u64, usize, )

Example

use panda::prelude::*;

#[panda::replay_net_transfer]
fn callback(_: &mut CPUState, _: u32, _: u64, _: u64, _: usize, ) {
    // do stuff
}