3 <title>libsm : General Definitions</title>
7 <a href="index.html">Back to libsm overview</a>
10 <h1> libsm : General Definitions </h1>
11 <br> $Id: gen.html,v 1.5 2000-12-08 21:41:42 ca Exp $
14 <h2> Introduction </h2>
16 The header file <tt><sm/gen.h></tt>
17 contains general definitions that are used by every other
18 header file in <b>libsm</b>.
23 #include <sm/gen.h>
25 #define NULL ((void*)0)
31 #define SM_MAX(a, b) ((a) > (b) ? (a) : (b))
32 #define SM_MIN(a, b) ((a) < (b) ? (a) : (b))
35 ** The following types can be accessed and updated atomically.
36 ** This is relevant in the context of signal handlers and threads.
38 typedef <i>some signed integral type</i> SM_ATOMIC_INT_T;
39 typedef <i>some unsigned integral type</i> SM_ATOMIC_UINT_T;