GPUSuitabilityEst/code/kernel_module/data_structure/list_entry.h
2026-07-20 12:30:11 +01:00

19 lines
616 B
C

#pragma once
typedef struct _LIST_ENTRY {
struct _LIST_ENTRY *flink;
struct _LIST_ENTRY *blink;
} LIST_ENTRY, *PLIST_ENTRY;
#include <stddef.h>
#define CONTAINING_RECORD(address, type, field) \
((type *)((char*)(address) - offsetof(type, field)))
void InitializeListHead(PLIST_ENTRY ListHead);
int IsListEmpty(const PLIST_ENTRY ListHead);
void InsertHeadList(PLIST_ENTRY ListHead, PLIST_ENTRY Entry);
void InsertTailList(PLIST_ENTRY ListHead, PLIST_ENTRY Entry);
void RemoveEntryList(PLIST_ENTRY Entry);
PLIST_ENTRY RemoveHeadList(PLIST_ENTRY ListHead);
PLIST_ENTRY RemoveTailList(PLIST_ENTRY ListHead);