1/* SPDX-License-Identifier: GPL-2.0 */ 2/****************************************************************************** 3 * 4 * Copyright(c) 2007 - 2013 Realtek Corporation. All rights reserved. 5 * 6 ******************************************************************************/ 7#ifndef __OSDEP_SERVICE_H_ 8#define __OSDEP_SERVICE_H_ 9 10 11#define _FAIL 0 12#define _SUCCESS 1 13#define RTW_RX_HANDLED 2 14 15#include <osdep_service_linux.h> 16 17#define BIT0 0x00000001 18#define BIT1 0x00000002 19#define BIT2 0x00000004 20#define BIT3 0x00000008 21#define BIT4 0x00000010 22#define BIT5 0x00000020 23#define BIT6 0x00000040 24#define BIT7 0x00000080 25#define BIT8 0x00000100 26#define BIT9 0x00000200 27#define BIT10 0x00000400 28#define BIT11 0x00000800 29#define BIT12 0x00001000 30#define BIT13 0x00002000 31#define BIT14 0x00004000 32#define BIT15 0x00008000 33#define BIT16 0x00010000 34#define BIT17 0x00020000 35#define BIT18 0x00040000 36#define BIT19 0x00080000 37#define BIT20 0x00100000 38#define BIT21 0x00200000 39#define BIT22 0x00400000 40#define BIT23 0x00800000 41#define BIT24 0x01000000 42#define BIT25 0x02000000 43#define BIT26 0x04000000 44#define BIT27 0x08000000 45#define BIT28 0x10000000 46#define BIT29 0x20000000 47#define BIT30 0x40000000 48#define BIT31 0x80000000 49#define BIT32 0x0100000000 50#define BIT33 0x0200000000 51#define BIT34 0x0400000000 52#define BIT35 0x0800000000 53#define BIT36 0x1000000000 54 55extern int RTW_STATUS_CODE(int error_code); 56 57void *_rtw_zmalloc(u32 sz); 58void *_rtw_malloc(u32 sz); 59void _kfree(u8 *pbuf, u32 sz); 60 61struct sk_buff *_rtw_skb_alloc(u32 sz); 62struct sk_buff *_rtw_skb_copy(const struct sk_buff *skb); 63int _rtw_netif_rx(struct net_device *ndev, struct sk_buff *skb); 64 65#define rtw_malloc(sz) _rtw_malloc((sz)) 66#define rtw_zmalloc(sz) _rtw_zmalloc((sz)) 67 68#define rtw_skb_alloc(size) _rtw_skb_alloc((size)) 69#define rtw_skb_alloc_f(size, mstat_f) _rtw_skb_alloc((size)) 70#define rtw_skb_copy(skb) _rtw_skb_copy((skb)) 71#define rtw_skb_copy_f(skb, mstat_f) _rtw_skb_copy((skb)) 72#define rtw_netif_rx(ndev, skb) _rtw_netif_rx(ndev, skb) 73 74extern void _rtw_init_queue(struct __queue *pqueue); 75 76static inline void thread_enter(char *name) 77{ 78 allow_signal(SIGTERM); 79} 80 81static inline void flush_signals_thread(void) 82{ 83 if (signal_pending(current)) 84 { 85 flush_signals(current); 86 } 87} 88 89#define rtw_warn_on(condition) WARN_ON(condition) 90 91static inline int rtw_bug_check(void *parg1, void *parg2, void *parg3, void *parg4) 92{ 93 int ret = true; 94 95 return ret; 96 97} 98 99#define _RND(sz, r) ((((sz)+((r)-1))/(r))*(r)) 100 101#ifndef MAC_ARG 102#define MAC_ARG(x) (x) 103#endif 104 105extern void rtw_free_netdev(struct net_device * netdev); 106 107/* Macros for handling unaligned memory accesses */ 108 109void rtw_buf_free(u8 **buf, u32 *buf_len); 110void rtw_buf_update(u8 **buf, u32 *buf_len, u8 *src, u32 src_len); 111 112struct rtw_cbuf { 113 u32 write; 114 u32 read; 115 u32 size; 116 void *bufs[]; 117}; 118 119bool rtw_cbuf_full(struct rtw_cbuf *cbuf); 120bool rtw_cbuf_empty(struct rtw_cbuf *cbuf); 121bool rtw_cbuf_push(struct rtw_cbuf *cbuf, void *buf); 122void *rtw_cbuf_pop(struct rtw_cbuf *cbuf); 123struct rtw_cbuf *rtw_cbuf_alloc(u32 size); 124 125/* String handler */ 126/* 127 * Write formatted output to sized buffer 128 */ 129#define rtw_sprintf(buf, size, format, arg...) snprintf(buf, size, format, ##arg) 130 131#endif 132