/* 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_5_0_1 extends Controller_5_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);

    };

}
