1 <html> 2 <head> 3 <title>libsm : General Definitions</title> 4 </head> 5 <body> 6 7 <a href="index.html">Back to libsm overview</a> 8 9 <center> 10 <h1> libsm : General Definitions </h1> 11 <br> $Id: gen.html,v 1.5 2000-12-08 21:41:42 ca Exp $ 12 </center> 13 14 <h2> Introduction </h2> 15 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>. 19 20 <h2> Synopsis </h2> 21 22 <pre> 23 #include <sm/gen.h> 24 25 #define NULL ((void*)0) 26 27 typedef int bool; 28 #define false 0 29 #define true 1 30 31 #define SM_MAX(a, b) ((a) > (b) ? (a) : (b)) 32 #define SM_MIN(a, b) ((a) < (b) ? (a) : (b)) 33 34 /* 35 ** The following types can be accessed and updated atomically. 36 ** This is relevant in the context of signal handlers and threads. 37 */ 38 typedef <i>some signed integral type</i> SM_ATOMIC_INT_T; 39 typedef <i>some unsigned integral type</i> SM_ATOMIC_UINT_T; 40 </pre> 41 42 </body> 43 </html> 44