/* SPDX-License-Identifier: BSD-3-Clause */
/*
 * Copyright 2010 Raritan Inc. All rights reserved.
 */

#include "Controller.idl"

/** PDU Model */
module pdumodel {

    /** Memory map controller */
    interface MemoryMapController_4_0_1 extends Controller_4_0_1 {

	/**
	 * Read a given number of bytes from an address
	 *
	 * @param address  The address to read
	 * @param size  The number of bytes to read
	 * @param memory  The vector with the read bytes
         *
	 * @return 0 if OK
	 * @return an error code otherwise
	 */
	int readMemory(in int address, in int size, out vector<byte> memory);
	/**
	 * Write bytes to an address
	 *
	 * @param address  The address to write
	 * @param memory   The vector with the bytes to write
         *
	 * @return 0 if OK
	 * @return an error code otherwise
	 */
	int writeMemory(in int address, in vector<byte> memory);

    };

}
