libexplain  1.4.D001
Functions
libexplain/shmctl_or_die.c File Reference
#include <libexplain/ac/errno.h>
#include <libexplain/ac/sys/shm.h>
#include <libexplain/output.h>
#include <libexplain/shmctl.h>

Go to the source code of this file.

Functions

static int shmctl (int shmid, int command, struct shmid_ds *data)
int explain_shmctl_or_die (int shmid, int command, struct shmid_ds *data)
int explain_shmctl_on_error (int shmid, int command, struct shmid_ds *data)

Function Documentation

int explain_shmctl_on_error ( int  shmid,
int  command,
struct shmid_ds *  data 
)

The explain_shmctl_on_error function is used to call the shmctl(2) system call. On failure an explanation will be printed to stderr, obtained from the explain_shmctl(3) function.

Parameters:
shmidThe shmid, exactly as to be passed to the shmctl(2) system call.
commandThe command, exactly as to be passed to the shmctl(2) system call.
dataThe data, exactly as to be passed to the shmctl(2) system call.
Returns:
The value returned by the wrapped shmctl(2) system call.
Example:
This function is intended to be used in a fashion similar to the following example:
 if (explain_shmctl_on_error(shmid, command, data) < 0)
 {
     ...cope with error
     ...no need to print error message
 }

Definition at line 55 of file shmctl_or_die.c.

int explain_shmctl_or_die ( int  shmid,
int  command,
struct shmid_ds *  data 
)

The explain_shmctl_or_die function is used to call the shmctl(2) system call. On failure an explanation will be printed to stderr, obtained from the explain_shmctl(3) function, and then the process terminates by calling exit(EXIT_FAILURE).

Parameters:
shmidThe shmid, exactly as to be passed to the shmctl(2) system call.
commandThe command, exactly as to be passed to the shmctl(2) system call.
dataThe data, exactly as to be passed to the shmctl(2) system call.
Returns:
This function only returns on success, see shmctl(2) for more information. On failure, prints an explanation and exits, it does not return.
Example:
This function is intended to be used in a fashion similar to the following example:
 explain_shmctl_or_die(shmid, command, data);

Definition at line 41 of file shmctl_or_die.c.

static int shmctl ( int  shmid,
int  command,
struct shmid_ds *  data 
) [static]

Definition at line 29 of file shmctl_or_die.c.