2cfaac4e创建于 2024年9月29日历史提交
/*
* Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
* gazelle is licensed under the Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
*     http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
* PURPOSE.
* See the Mulan PSL v2 for more details.
*/

#ifndef __LSTACK_INTERRUPT_H__
#define __LSTACK_INTERRUPT_H__

enum intr_type {
    INTR_DPDK_EVENT = 0,
    INTR_LOCAL_EVENT,
    INTR_REMOTE_EVENT,
};

struct intr_dpdk_event_args {
    uint16_t port_id;
    uint16_t queue_id;
};

int intr_init(void);
int intr_register(uint16_t stack_id, enum intr_type type, void *priv);
void intr_wakeup(uint16_t stack_id, enum intr_type type);
void intr_wait(uint16_t stack_id, uint32_t timeout);
int intr_stats_get(uint16_t stack_id, void *ptr, int len);

#endif