blob: aba6281b3b898d6740aea2ada78b922ee86e0536 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (C) 2018-2020 Oplus. All rights reserved.
*/
/****************************************************************
** ------------------ Revision History:------------------------
** <author> <data> <version > <desc>
** Asiga 2019/07/31 1.0 build this module
****************************************************************/
#ifndef __OPLUS_NWPOWER_H_
#define __OPLUS_NWPOWER_H_
#include <net/sock.h>
#include <linux/skbuff.h>
#define OPLUS_TCP_TYPE_V4 1
#define OPLUS_TCP_TYPE_V6 2
#define OPLUS_NET_OUTPUT 0
#define OPLUS_NET_INPUT 1
#define OPLUS_NW_WAKEUP_SUM 8
#define OPLUS_NW_MPSS 0
#define OPLUS_NW_QRTR 1
#define OPLUS_NW_MD 2
#define OPLUS_NW_WIFI 3
#define OPLUS_NW_TCP_IN 4
#define OPLUS_NW_TCP_OUT 5
#define OPLUS_NW_TCP_RE_IN 6
#define OPLUS_NW_TCP_RE_OUT 7
extern void oplus_match_modem_wakeup(void);
extern void oplus_match_wlan_wakeup(void);
extern void oplus_match_qrtr_service_port(int type, int id, int port);
extern void oplus_match_qrtr_wakeup(int src_node, int src_port, int dst_port, unsigned int arg1, unsigned int arg2);
extern void oplus_update_qrtr_flag(int val);
extern void oplus_match_ipa_ip_wakeup(int type, struct sk_buff *skb);
extern void oplus_match_ipa_tcp_wakeup(int type, struct sock *sk);
extern void oplus_ipa_schedule_work(void);
extern void oplus_match_tcp_output(struct sock *sk);
extern void oplus_match_tcp_input_retrans(struct sock *sk);
extern void oplus_match_tcp_output_retrans(struct sock *sk);
extern bool oplus_check_socket_in_blacklist(int is_input, struct socket *sock);
#endif /* __OPLUS_NWPOWER_H_ */