1{ 2 This file is part of the Free Pascal run time library. 3 Copyright (c) 1999-2000 by Marco van de Voort 4 member of the Free Pascal development team 5 6 CDecl calls for ipc unit 7 8 See the file COPYING.FPC, included in this distribution, 9 for details about the copyright. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 15 **********************************************************************} 16 17 18function cshmget(key:key_t;size:size_t;shmflg:cint):cint; cdecl; external; 19Function cshmat (shmid:cint; shmaddr:pointer; shmflg:cint):pointer; cdecl;external; 20Function cshmdt (shmaddr:pointer):cint; cdecl; external; 21Function cshmctl(shmid:cint; cmd:cint; buf: pshmid_ds): cint; cdecl; external; 22Function csemget(key:Tkey; nsems:cint; semflg:cint): cint; cdecl; external; 23Function csemop(semid:cint; sops: psembuf; nsops: cuint): cint; cdecl; external; 24Function csemctl(semid:cint; semnum:cint; cmd:cint; var arg: tsemun): cint; cdecl; external; 25Function cmsgget(key: TKey; msgflg:cint):cint; cdecl; external; 26Function cmsgsnd(msqid:cint; msgp: PMSGBuf; msgsz: size_t; msgflg:cint): cint; cdecl; external; 27Function cmsgrcv(msqid:cint; msgp: PMSGBuf; msgsz: size_t; msgtyp:cint; msgflg:cint):cint; cdecl; external; 28Function cmsgctl(msqid:cint; cmd: cint; buf: PMSQid_ds): cint; cdecl; external; 29 30function cftok(path:Pchar; id:cint):key_t; cdecl; external; 31 32function ftok(path:Pchar; id:cint):key_t; 33 34var st:stat; 35 36begin 37 ftok:=cftok(path,id); 38end; 39 40function shmget(key:key_t;size:size_t;flag:cint):cint; 41begin 42 shmget:=cshmget(key, size, flag); 43end; 44 45Function shmat (shmid:cint; shmaddr:pointer; shmflg:cint):pointer; 46begin 47 shmat:=cshmat(shmid, shmaddr, shmflg); 48end; 49 50Function shmdt (shmaddr:pointer):cint; 51 52begin 53 shmdt:=cshmdt(shmaddr); 54end; 55 56Function shmctl(shmid:cint; cmd:cint; buf: pshmid_ds): cint; 57 58begin 59 shmctl:= cshmctl(shmid, cmd, buf); 60end; 61 62Function semget(key:Tkey; nsems:cint; semflg:cint): cint; 63begin 64 semget:=csemget(key, nsems, semflg); 65end; 66 67Function semop(semid:cint; sops: psembuf; nsops: cuint): cint; 68begin 69 semop:=csemop(semid, sops, nsops); 70end; 71 72Function semctl(semid:cint; semnum:cint; cmd:cint; var arg: tsemun): cint; 73begin 74 semctl:=csemctl(semid, semnum, cmd, arg); 75end; 76 77Function msgget(key: TKey; msgflg:cint):cint; 78begin 79 msgget:=cmsgget(key, msgflg); 80end; 81 82Function msgsnd(msqid:cint; msgp: PMSGBuf; msgsz: size_t; msgflg:cint): cint; 83begin 84 msgsnd:=cmsgsnd(msqid, msgp, msgsz, msgflg); 85end; 86 87Function msgrcv(msqid:cint; msgp: PMSGBuf; msgsz: size_t; msgtyp:cint; msgflg:cint):cint; 88begin 89 msgrcv:=cmsgrcv(msqid, msgp, msgsz, msgtyp, msgflg); 90end; 91 92Function msgctl(msqid:cint; cmd: cint; buf: PMSQid_ds): cint; 93begin 94 msgctl:=cmsgctl( msqid, cmd, buf); 95end; 96 97