dllist.pp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. {$IFNDEF FPC_DOTTEDUNITS}
  2. unit dllist;
  3. {$ENDIF FPC_DOTTEDUNITS}
  4. interface
  5. {$linklib pq}
  6. {$i dllisttypes.inc}
  7. function DLNewList:PDllist;cdecl; external;
  8. procedure DLFreeList(_para1:PDllist);cdecl; external;
  9. function DLNewElem(val : pointer) :PDlelem;cdecl;external;
  10. procedure DLFreeElem(_para1:PDlelem);cdecl; external;
  11. function DLGetHead(_para1:PDllist):PDlelem;cdecl; external;
  12. function DLGetTail(_para1:PDllist):PDlelem;cdecl; external;
  13. function DLRemTail(l:PDllist):PDlelem;cdecl; external;
  14. function DLGetPred(_para1:PDlelem):PDlelem;cdecl; external;
  15. function DLGetSucc(_para1:PDlelem):PDlelem;cdecl; external;
  16. procedure DLRemove(_para1:PDlelem);cdecl; external;
  17. procedure DLAddHead(list:PDllist; node:PDlelem);cdecl; external;
  18. procedure DLAddTail(list:PDllist; node:PDlelem);cdecl; external;
  19. function DLRemHead(list:PDllist):PDlelem;cdecl; external;
  20. { Macro translated }
  21. Function DLE_VAL(elem : PDlelem) : pointer;
  22. implementation
  23. // This function is also defined in DllistDyn!
  24. Function DLE_VAL(elem : PDlelem) : pointer;
  25. begin
  26. DLE_VAL:=elem^.dle_val
  27. end;
  28. end.