summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.H
blob: 4e9f7011248e4afbf105810777f2f8bf6c4547ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* $Source: chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.H $      */
/*                                                                        */
/* IBM CONFIDENTIAL                                                       */
/*                                                                        */
/* EKB Project                                                            */
/*                                                                        */
/* COPYRIGHT 2012,2016                                                    */
/* [+] International Business Machines Corp.                              */
/*                                                                        */
/*                                                                        */
/* The source code for this program is not published or otherwise         */
/* divested of its trade secrets, irrespective of what has been           */
/* deposited with the U.S. Copyright Office.                              */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
// $Id: p9_mvpd_ring_funcs.H,v 1.4 2014/07/16 19:07:08 cswenson Exp $
/**
 *  @file p9_mvpd_ring_funcs.H
 *
 *  @brief Prototype for p9_mvpd_ring_funcs()
 */

#ifndef    _HWP_MVPDRINGFUNCS_
#define    _HWP_MVPDRINGFUNCS_

#include   <fapi2.H>

namespace fapi2
{
///
/// @brief Enumeration of mvpdRingFunc ops
///
enum mvpdRingFuncOp
{
    MVPD_RING_GET,
    MVPD_RING_SET,
};

extern "C"
{

    /**
     * @brief   get or set the requested ring for the record and keyword
     *          for the specified target CPU.
     *
     *          detailed comments on get and set are in the
     *          getMvpdRing.H and setMvpdRing.H and apply here as well.
     *
     * @param i_mvpdRingFuncOp - indicate get or set via enum mvpdRingFuncOp
     * @param i_record         - Record enumerator
     * @param i_keyword        - Keyword enumerator
     * @param i_fapiTarget     - cpu target
     * @param i_chipletId      - Chiplet ID
     * @param i_ringId         - Ring ID
     * @param i_pRingBuf       - The buffer to receive or send the ring
     * @param io_rRingBufsize  - Size of ring / ring buffer
     *
     * @return fapi2::ReturnCode -   FAPI_RC_SUCCESS if success,
     *                              relevant error code for failure.
     */
    ReturnCode mvpdRingFunc(mvpdRingFuncOp       i_mvpdRingFuncOp,
                            MvpdRecord           i_record,
                            MvpdKeyword          i_keyword,
                            const Target<TARGET_TYPE_PROC_CHIP>&
                            i_fapiTarget,
                            const uint8_t        i_chipletId,
                            const uint8_t        i_ringId,
                            uint8_t*             i_pRingBuf,
                            uint32_t&            io_rRingBufsize);

} // extern "C"

} // namespace fapi2

#endif
OpenPOWER on IntegriCloud