share momery and semophore issue while porting from linux

Now I am porting a program from LINUX to QNX. It seemed ok except the semophore and share memory API function. the API functions provided by LINUX are semget, semctl, semop. the counterpart on QNX are sem_open, sem_post, sem_wait… (I think the former is POSIX compatible.) they are rather different. I think the source file may need large modification due to the uncompatible. Can anyone give some suggestion to simpler the modification? I mean if QNX provide another group of API functions more like LINUX or POSIX compitable?

The QNX APIs are POSIX. Linux is using SysV which is not POSIX. There is also the pthread*() API which can also be used in shared memory and that is also POSIX and is supported on QNX and (supposidly) Linux.

I do find the phread*() API on QNX. you mean, using them I can replace the LINUX semophore and share memory API with minimum change. thanks for your help.