Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
linklist.hmd
Package: win2ksrc.rar [view]
Upload User: caisha3
Upload Date: 2013-09-21
Package Size: 208739k
Code Size: 2k
Category:
Windows Develop
Development Platform:
Visual C++
- //////////////////////////////////////////////////////////////////////
- //
- // PRIVATE header file for linklist utility
- //
- //////////////////////////////////////////////////////////////////////
- //
- // A Linked List Entry
- //
- typedef struct _lle
- {
- #ifdef DEBUGVER
- WORD wTest; // consistency check
- #endif
- HLLE hlleNext;
- #ifdef DBLLINK
- HLLE hllePrev;
- #endif // DBLLINK
- WORD rgw[0]; // Variable length data
- } LLE;
- typedef LLE * PLLE;
- typedef LLE FAR * LPLLE;
- //
- // Linked List Information
- //
- typedef struct _lli
- {
- HLLE hlleHead;
- HLLE hlleTail;
- DWORD chlleMac;
- void * pcs; // pointer to critical section object
- DWORD cbUserData; // How big the user data is
- LLF llf; // LinkList Flags
- LPFNKILLNODE lpfnKill; // Callback for deletion of node
- LPFNFCMPNODE lpfnCmp; // Callback for node comparison
- } LLI;
- typedef LLI * PLLI;
- typedef LLI FAR * LPLLI;
- //
- // Some NICE nulls (for clean code)
- //
- #define hlliNull (HLLI)NULL
- #define hlleNull (HLLE)NULL
- //
- // These help keep the code clean
- //
- #define LockHlle(hlle) ((LPLLE)LockHmem(hlle))
- #define LockHlli(hlli) ((LPLLI)LockHmem(hlli))
- #define HlliAlloc() ((HLLI)AllocHmem(sizeof(LLI)))
- #define HlleAllocCb(cb) ((HLLE)AllocHmem(cb))
- #define FreeHlli(hlli) FreeHmem(hlli)
- #define FreeHlle(hlle) FreeHmem(hlle)
- //
- // PRIVATE INTERNAL ROUTINES
- //
- void PASCAL LLInsertHlle( HLLI, HLLE, HLLE, HLLE );
- void PASCAL LLDeleteHlle( HLLI, HLLE, HLLE );
- //
- // Some debug stuff
- //
- #ifdef DEBUGVER
- #define WCONSIST (WORD)0xabcd
- #endif // DEBUGVER