Ignore:
Timestamp:
May 9, 2005, 7:02:45 AM (20 years ago)
Author:
bird
Message:

SysV Shared Memory.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/InnoTekLIBC/backend.h

    • Property cvs2svn:cvs-rev changed from 1.23 to 1.24
    r1985 r1986  
    894894/** @defgroup grp_Back_sysvipc LIBC Backend - SysV IPC
    895895 * @{ */
     896
     897/**
     898 * sysget syscall.
     899 */
     900int __libc_Back_sysvSemGet(key_t key, int nsems, int semflg);
     901
     902/**
     903 * semop syscall.
     904 */
     905int __libc_Back_sysvSemOp(int semid, struct sembuf *sops_user, size_t nsops);
     906
    896907/**
    897908 * semctl syscall
     
    899910int __libc_Back_sysvSemCtl(int semid, int semnum, int cmd, union semun real_arg);
    900911
    901 /**
    902  * sysget syscall.
    903  */
    904 int __libc_Back_sysvSemGet(key_t key, int nsems, int semflg);
    905 
    906 /**
    907  * semop syscall.
    908  */
    909 int __libc_Back_sysvSemOp(int semid, struct sembuf *sops_user, size_t nsops);
     912
     913/**
     914 * shmget.
     915 */
     916int __libc_Back_sysvShmGet(key_t key, size_t size, int shmflg);
     917
     918/**
     919 * shmat.
     920 */
     921int __libc_Back_sysvShmAt(int shmid, const void *shmaddr, int shmflg, void **ppvActual);
     922
     923/**
     924 * shmdt.
     925 */
     926int __libc_Back_sysvShmDt(const void *shmaddr);
     927
     928/**
     929 * shmctl.
     930 */
     931int __libc_Back_sysvShmCtl(int shmid, int cmd, struct shmid_ds *bufptr);
     932
     933/** @} */
     934
     935
     936/** @defgroup grp_Back_safesem LIBC Backend - Internal Signal-Safe Semaphores.
     937 * @{ */
     938
     939/**
     940 * Creates a safe mutex sem.
     941 *
     942 * @returns 0 on success.
     943 * @returns Negative error code (errno.h) on failure.
     944 * @param   phmtx       Where to store the semaphore handle.
     945 * @param   fShared     Set if the semaphore should be sharable between processes.
     946 */
     947int __libc_Back_safesemMtxCreate(uintptr_t *phmtx, int fShared);
     948
     949/**
     950 * Opens a shared safe mutex sem.
     951 *
     952 * @returns 0 on success.
     953 * @returns Negative error code (errno.h) on failure.
     954 * @param   hmtx        The semaphore handle.
     955 */
     956int __libc_Back_safesemMtxOpen(uintptr_t hmtx);
     957
     958/**
     959 * Closes a shared safe mutex sem.
     960 *
     961 * @returns 0 on success.
     962 * @returns Negative error code (errno.h) on failure.
     963 * @param   hmtx        The semaphore handle.
     964 */
     965int __libc_Back_safesemMtxClose(uintptr_t hmtx);
     966
     967/**
     968 * Locks a mutex semaphore.
     969 *
     970 * @returns 0 on success.
     971 * @returns Negative errno on failure.
     972 * @param   hmtx    Handle to the mutex.
     973 */
     974int __libc_Back_safesemMtxLock(uintptr_t hmtx);
     975
     976/**
     977 * Unlocks a mutex semaphore.
     978 *
     979 * @returns 0 on success.
     980 * @returns Negative errno on failure.
     981 * @param   hmtx    Handle to the mutex.
     982 */
     983int __libc_Back_safesemMtxUnlock(uintptr_t hmtx);
     984
     985/**
     986 * Creates a safe event sem.
     987 *
     988 * @returns 0 on success.
     989 * @returns Negative error code (errno.h) on failure.
     990 * @param   phev        Where to store the semaphore handle.
     991 * @param   fShared     Set if the semaphore should be sharable between processes.
     992 */
     993int __libc_Back_safesemEvCreate(uintptr_t *phev, int fShared);
     994
     995/**
     996 * Opens a shared safe event sem.
     997 *
     998 * @returns 0 on success.
     999 * @returns Negative error code (errno.h) on failure.
     1000 * @param   hev         The semaphore handle.
     1001 */
     1002int __libc_Back_safesemEvOpen(uintptr_t hev);
     1003
     1004/**
     1005 * Closes a shared safe mutex sem.
     1006 *
     1007 * @returns 0 on success.
     1008 * @returns Negative error code (errno.h) on failure.
     1009 * @param   hev         The semaphore handle.
     1010 */
     1011int __libc_Back_safesemEvClose(uintptr_t hev);
     1012
     1013/**
     1014 * Sleep on a semaphore.
     1015 *
     1016 * This is the most difficult thing we're doing in this file.
     1017 *
     1018 * @returns 0 on success.
     1019 * @returns Negative error code (errno.h) on failure.
     1020 *
     1021 * @param   hev         The semaphore to sleep on.
     1022 * @param   hmtx        The semaphore protecting hev and which is to be unlocked while
     1023 *                      sleeping and reaquired upon waking up.
     1024 * @param   pfnComplete Function to execute on signal and on wait completion.
     1025 * @param   pvUser      User argument to pfnComplete.
     1026 */
     1027int __libc_Back_safesemEvSleep(uintptr_t hev, uintptr_t hmtx, void (*pfnComplete)(void *pvUser), void *pvUser);
     1028
     1029/**
     1030 * Wakes up all threads sleeping on a given event semaphore.
     1031 *
     1032 * @returns 0 on success.
     1033 * @returns Negative error code (errno.h) on failure.
     1034 * @param   hev         Event semaphore to post.
     1035 */
     1036int __libc_Back_safesemEvWakeup(uintptr_t hev);
     1037
    9101038
    9111039/** @} */
Note: See TracChangeset for help on using the changeset viewer.