Macro: etr_struct_semun

Back to the Main Page. | Download the M4 Source.

# etr_struct_semun

## Synopsis

`ETR_STRUCT_SEMUN`

## Version

1.1 (2001/07/26) Miscellaneous @ ac-archive-0.5.32

## Author

Warren Young <warren@etr-usa.com>

## Description

This macro checks to see if sys/sem.h defines struct semun. Some systems do, some systems don't. Your code must be able to deal with this possibility; if HAVE_STRUCT_SEMUM isn't defined for a given system, you have to define this structure before you can call functions like semctl().

You should call ETR_SYSV_IPC before this macro, to separate the check for System V IPC headers from the check for struct semun.

## M4 Source Code

    AC_DEFUN([ETR_STRUCT_SEMUN],
    [
    AC_CACHE_CHECK([for struct semun], ac_cv_struct_semun, [
            AC_TRY_COMPILE(
                    [
                            #include <sys/types.h>
                            #include <sys/ipc.h>
                            #include <sys/sem.h>
                    ],
                    [ struct semun s; ],
                    ac_cv_struct_semun=yes,
                    ac_cv_struct_semun=no)
    ])

            if test x"$ac_cv_struct_semun" = "xyes"
            then
                    AC_DEFINE(HAVE_STRUCT_SEMUN, 1,
                            [ Define if your system's sys/sem.h file defines struct semun ])
            fi
    ]) dnl ETR_STRUCT_SEMUN