[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
{--------------------------------------------------------------
Copyright (c) 1996-97 Massimo Maria Ghisalberti
CopyRight (c) 1996-97 MAx!
CopyRight (c) 1996-97 Objects Built for you! (O.B.you!)
Internet EMail: roentgen@mbox.vol.it
MODULO: CrtDll.pas
Interface fo the crtdll.dll Microsoft c runtime library
VERSIONe: 1.0 Freeware.
Data iniziale : 11/8/97
NOTE: If you use this code, please mention O.B.you!
somewhere in your program
--------------------------------------------------------------}
unit CrtDll;
interface
uses SysUtils,Windows;
const MSCrtDll = 'crtdll.dll';
const _MAX_PATH =260;
const _MAX_DRIVE =3;
const _MAX_DIR =256;
const _MAX_FNAME =256;
const _MAX_EXT =256;
const CLK_TCK =1000.0
type size_t = cardinal;
type TbsearchFunc = function (arg1,arg2 :Pointer):integer;
type TqsortFunc = function (arg1,arg2 :Pointer):integer;
type TcMemHeap = Pointer;
type TClock_t = cardinal;
type Div_t = record
quot :integer;
rem :integer;
end;
type lDiv_t = Div_t;
type TDFree = record
total_clusters :cardinal;
avail_clusters :cardinal;
sectors_per_cluster :cardinal;
bytes_per_sector :cardinal;
end;
type PDFree = ^TDFree;
procedure abort;
function abs(value :integer):integer;cdecl;
function atexit(ExitFunc :Pointer):integer;cdecl;
function atof(value :PChar):double;cdecl;
function atoi(value :PChar):integer;cdecl;
function atol(value :PChar):integer;cdecl;
function itoa(value :integer;text :string;radix :integer):PChar;cdecl;
function bsearch(_key,_base :Pointer;_nmemb,_size :size_t;SFunc :TbsearchFunc):Pointer;cdecl;
function calloc (nitems, size :size_t):TcMemHeap;cdecl;
function cdiv(_numer,_denom :integer):Div_t;cdecl;
function cldiv(_numer,_denom :integer):lDiv_t;cdecl;
procedure cexit(status :integer);cdecl;
procedure cfree(heap :Pointer);cdecl;
function getenv(env :PChar):PChar;cdecl;
function labs(int :integer):integer;cdecl;
function malloc(size :size_t):TcMemHeap;cdecl;
function lrot(val :cardinal;count :integer):cardinal;cdecl;
function rotl(val ,count :word):word;cdecl;
procedure qsort(base :Pointer; nmemb,size :size_t; qsortFunc :TqsortFunc);cdecl;
function rand:integer;cdecl;
function realloc(block :TcMemHeap;size :size_t):TcMemHeap;cdecl;
procedure srand(arg :cardinal);cdecl;
function system(command :PChar):integer;cdecl;
function putenv(env :PChar):integer;cdecl;
//function setenv(str,value :PChar;overwrite :integer):integer;cdecl;
procedure splitpath(path,drive,dir,name,ext :PChar);cdecl;
procedure fnsplit(path,drive,dir,name,ext :PChar);cdecl;
function strrev(Prima:PChar):PChar;cdecl ;
function cstrlen(STringa :PChar):integer;cdecl;
function strtok (str1 :PChar;const str2 :PChar):PChar;cdecl;
function searchenv(const FileName, VarName, Buff :PChar):PChar;cdecl;
function clock:TClock_t;cdecl;
function dup(Handle :THFile):THFile;
function dup2(NewHandle, OldHandle :THFile):THFile;cdecl;
function fullpath(Buff ,const Path :PChar; BuffLn :integer);cdecl;
function getdrive:integer;cdecl;
function getdrives:cardinal;cdecl;
function getdiskfree(DriveNum :cardinal, dtable :PDFree);cdecl;
function getpid;cdecl;
var HMsCrtDll :THandle;
implementation
procedure abort;external MSCrtDll name 'abort';
function abs;external MSCrtDll name 'abs';
function atexit;external MSCrtDll name 'atexit';
function atof;external MSCrtDll name 'atof';
function atoi;external MSCrtDll name 'atoi';
function atol;external MSCrtDll name 'atol';
function itoa;external MSCrtDll name 'itoa';
function bsearch;external MSCrtDll name 'bsearch';
function calloc;external MSCrtDll name 'calloc';
function cdiv;external MSCrtDll name 'div';
function cldiv;external MSCrtDll name 'ldiv';
procedure cexit;external MSCrtDll name 'exit';
procedure cfree;external MSCrtDll name 'free';
function getenv;external MSCrtDll name 'getenv';
function labs;external MSCrtDll name 'labs';
function malloc;external MSCrtDll name 'malloc';
function lrot;external MSCrtDll name '_lrot';
function rotl;external MSCrtDll name '_rotl';
procedure qsort;external MSCrtDll name 'qsort';
function rand;external MSCrtDll name 'rand';
function realloc;external MSCrtDll name 'realloc';
procedure srand;external MSCrtDll name 'srand';
function system;external MSCrtDll name 'system';
function putenv;external MSCrtDll name '_putenv';
//function setenv;external MSCrtDll name 'setenv';
procedure splitpath;external MSCrtDll name '_splitpath';
procedure fnsplit;external MSCrtDll name '_splitpath';
function strrev;external MSCrtDll name '_strrev';
function cstrlen;external MSCrtDll name 'strlen';
function strtok;external MSCrtDll name 'strtok';
function searchenv;external MSCrtDll name '_searchenv';
function clock:external MSCrtDll name 'clock';
function dup:external MSCrtDll name 'dup';
function dup2:external MSCrtDll name 'dup2';
function fullpath:external MSCrtDll name '_fullpath';
function getdrive;external MSCrtDll name '_getdrive';
function getdrives;external MSCrtDll name '_getdrives';
function getdiskfree;external MSCrtDll name '_getdiskfree';
function getpid;external MSCrtDll name '_getpid';
end.
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]