environment/systemtype.c
///////////////////////////////////////////////////////////////////////////////
// Filename: systemtype.c
///////////////////////////////////////////////////////////////////////////////
// Purpose: get some information over system where program is running
///////////////////////////////////////////////////////////////////////////////
// History:
// ========
//
// Date     Time     Name      Description   
// -------- -------- --------  ------------------------------------------------
// 96/02/06 02:08:54 muellerg: created
//
///////////////////////////////////////////////////////////////////////////////
// Feature test switches ///////////////////////////// Feature test switches //
    /* NONE */
// System headers /////////////////////////////////////////// System headers //
#include <stdlib.h>
#include <sys/utsname.h>
// Local headers ///////////////////////////////////////////// Local headers //
#include "../common.h"
// Macros /////////////////////////////////////////////////////////// Macros //
    /* NONE */
// File scope objects /////////////////////////////////// File scope objects //
    /* NONE */
// External variables, functions, and classes ///////////// External objects //
    /* NONE */
// Signal catching functions ///////////////////// Signal catching functions //
    /* NONE */
// Structures, unions, and class definitions /////////////////// Definitions //
    /* NONE */
// Functions and class implementation /// Functions and class implementation //
    /* NONE */
// Main /////////////////////////////////////////////////////////////// Main //
int
main(int argc, char *argv[])
{
    error.set_program_name(argv[0]);    
    struct utsname un;
    if ( uname( &un ) == -1 ) // if -1, an error occurred 
        error.system("uname failed");
    // no errors occurred, so display the fields 
    cout    << "System name:\t" << un.sysname << endl
            << "Node name:\t"   << un.nodename << endl
            << "Release:\t"     << un.release << endl
            << "Version:\t"     << un.version << endl
            << "Machine:\t"     << un.machine << endl
#ifdef _HPUX_SOURCE
            << "ID Number:\t"   << un.__idnumber << endl
#endif
            << endl;
    return(EXIT_SUCCESS);
}