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;