1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <asm/ipc.h> extern void* __ipc(); void* shmat(int shmid,const void* shmaddr,int shmflg) { void* raddr; register void* result; result=__ipc(SHMAT,shmid,shmflg,&raddr,shmaddr); if ((unsigned long)result <= -(unsigned long)SHMLBA) result=raddr; return result; }