⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fastpathpattreep.h

📁 vxworks 6.x 的全部头文件
💻 H
字号:
/* fastPathPatTreeP.h - Private definitions for the Fastpath cache  *//* Copyright 1984-2001 Wind River Systems, Inc. *//*modification history--------------------01g,04nov03,rlm  Ran batch header path update for header re-org.01f,18dec02,vvv  updated the rnh_matchaddr call to reflect the modified API01e,07aug01,niq  Replace Free with KHEAP_FREE01d,02may01,niq  Correcting mod history01c,01may01,niq  Copied over from tor2_0.open_stack branch01b,20mar01,niq  Adding comments01a,29jan01,niq  written*//*DESCRIPTION This include file contains private definitions used by the Patricia tree Fastpath cache implementation (fastPathPatTree.c) INCLUDE FILES:*/#ifndef __INCfastPathPatTreePh#define __INCfastPathPatTreePh/* includes */#include <net/radix.h>#include <net/route.h>/* typedefs */typedef struct rtentry		CACHE_ENTRY;typedef CACHE_ENTRY *		CACHE_ENTRY_ID;typedef struct radix_node_head	CACHE_COOKIE;typedef CACHE_COOKIE *		CACHE_COOKIE_ID;/* defines *//* Definitions for CACHE_ENTRY_ALLOC flags - bitwise OR values */#define ZERO_IT			1#define ALLOC_DEST_ADDR		2#define ALLOC_GATE_ADDR		4/* Definitions for Cache management */#define CACHE_ENTRY_SIZE		sizeof(CACHE_ENTRY)#define CACHE_TABLE_INIT(pCacheCookie, keyLength) \    (pCacheCookie = NULL, rn_inithead (&pCacheCookie, keyLength))#define CACHE_TABLE_DESTROY(pCacheCookie) \    rn_destroyhead (pCacheCookie)#define CACHE_TABLE_ENTRY_ALLOC(pCacheEntry, flags) \    (pCacheEntry = ptCacheEntryAlloc (flags))        #define CACHE_TABLE_ENTRY_FREE(pCacheEntry) \    { \    if (GET_CACHE_ENTRY_DEST_ADDR (pCacheEntry)) \	KHEAP_FREE ((char *)GET_CACHE_ENTRY_DEST_ADDR (pCacheEntry)); \    if (GET_CACHE_ENTRY_GATE_ADDR (pCacheEntry)) \	KHEAP_FREE ((char *)GET_CACHE_ENTRY_GATE_ADDR (pCacheEntry)); \    KHEAP_FREE ((char *)pCacheEntry); \    }#define CACHE_TABLE_ENTRY_ADD(pCacheCookie, pCacheEntry, pDstAddr, pNetMask) \    (pCacheCookie->rnh_addaddr ((caddr_t)pDstAddr, pNetMask, \				pCacheCookie, pCacheEntry->rt_nodes))#define CACHE_TABLE_ENTRY_DEL(pCacheCookie, pDstAddr, pNetMask) \    (pCacheCookie->rnh_deladdr (pDstAddr, pNetMask, pCacheCookie))#define CACHE_TABLE_ENTRY_MATCHADDR(pCacheEntry, pCacheCookie, pDstIpAddr) \    { \    pCacheEntry = (CACHE_ENTRY_ID)(pCacheCookie->rnh_matchaddr (\						(caddr_t)pDstIpAddr, \						pCacheCookie, 0)); \    /* Make sure it is not the ROOT node */ \    if (pCacheEntry && ((struct radix_node *)pCacheEntry)->rn_flags & RNF_ROOT)\        pCacheEntry = NULL; \    }#define CACHE_TABLE_ENTRY_LOOKUP(pCacheEntry, pCacheCookie, pDstIpAddr, pNetmask) \    { \    pCacheEntry = (CACHE_ENTRY_ID)(pCacheCookie->rnh_lookup (\						(caddr_t)pDstIpAddr,\						pNetmask, \						pCacheCookie)); \    /* Make sure it is not the ROOT node */ \    if (pCacheEntry && ((struct radix_node *)pCacheEntry)->rn_flags & RNF_ROOT)\        pCacheEntry = NULL; \    }	#define CACHE_TABLE_WALK(pCacheCookie, pUsrFunc, pArg) \    rn_walktree (pCacheCookie, pUsrFunc, pArg)#endif /* __INCfastPathPatTreePh */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -