00001 /************************************************************************* 00002 File: rcs.hh 00003 Authors: Fred Proctor, Will Shackleford 00004 Purpose: C++ Header file for the RCS Systems Tools. 00005 Includes: 00006 1. #includes for all RCS Systems Tools Header Files. 00007 *************************************************************************/ 00008 00009 /************************************************************************* 00010 Notes: 00011 1. This is the main include file needed by applications using 00012 the Real-time Control Systems(RCS) Library. 00013 The library documentation is available on the world wide web at 00014 http://www.isd.mel.nist.gov/projects/rcslib/ 00015 00016 00017 2. *.hh files are C++ header files. *.h files are C header files. 00018 00019 3. Borland C++(for DOS or Windows) automatically defines __MSDOS__. 00020 Micrsoft Visual C++ defines _MSDOS, and rcs_defs.hh defines __MSDOS__ if 00021 _MSDOS is defined. Certain utilities that are provided by the library 00022 for most platforms, such as semaphores are not avialable under DOS or 00023 Windows. 00024 00025 4. If you have any problems with the RCS library, please do not hesitate 00026 to call me, Will Shackleford, at (301) 975-4286 or reach me via e-mail at 00027 shackle@cme.nist.gov. 00028 00029 Disclaimers: 00030 00031 Software Disclaimer 00032 00033 This software was produced by the National Institute of Standards and 00034 Technology (NIST), an agency of the U.S. government, and by statute is 00035 not subject to copyright in the United States. Recipients of this software 00036 assume all responsibility associated with its operation, modification, 00037 maintenance, and subsequent redistribution. 00038 (See NIST Administration Manual 4.09.07 b and Appendix I) 00039 00040 Commercial Product Disclaimer 00041 00042 Certain commercial equipment, instruments, or materials are identified in 00043 this paper to specify the experimental procedure adequately. Such 00044 identification is not intended to imply recommendation or endorsement by 00045 the National Institute of Standards and Technology, nor is it intended to 00046 imply that the materials or equipment identified are necessarily the best 00047 available for the purpose. 00048 00049 *************************************************************************/ 00050 00051 #ifndef RCS_HH 00052 #define RCS_HH 00053 00054 00055 /* Include Files */ 00056 00057 #if !defined(java) && !defined(rtlinux) 00058 /* Platform Specific Macros */ 00059 #include "rcs_defs.hh" /* __MSDOS__, RCS_FAR, RCS_EXPORT */ 00060 00061 /* Portable Print functions. */ 00062 #include "rcs_prnt.hh" /* rcs_print_ functions */ 00063 00064 /* MS-Windows functions to show output of rcs_print_ functions */ 00065 #if defined(_WINDOWS) && !defined(gnuwin32) 00066 #include "win_prnt.hh" /* create_rcs_print_window() */ 00067 #endif 00068 00069 /* Linked Lists etc. */ 00070 #include "linklist.hh" /* class RCS_LINKED_LIST */ 00071 00072 /* Neutral Manufacturing Language (NML) */ 00073 #include "nmlmsg.hh" /* class NMLmsg */ 00074 #include "nml.hh" /* class NML */ 00075 #include "cms.hh" /* class CMS */ 00076 #include "cmd_msg.hh" // RCS_CMD_MSG, RCS_CMD_CHANNEL 00077 #include "stat_msg.hh" // RCS_STAT_MSG, RCS_STAT_CHANNEL 00078 #include "wm_msg.hh" // RCS_WM_MSG, RCS_WM_CHANNEL 00079 #include "nml_oi.hh" // nmlErrorFormat(), NML_TEXT, NML_ERROR 00080 00081 #include "cmsdiag.hh" // class CMS_DIAGNOSTICS_INFO 00082 #include "nmldiag.hh" // class NML_DIAGNOSTICS_INFO 00083 00084 00085 #if !defined(DOS_WINDOWS) || defined(WIN32) 00086 #include "cms_srv.hh" /* class CMS_SERVER */ 00087 #include "nml_srv.hh" /* class NML_SERVER */ 00088 #endif 00089 00090 00091 /* Lower Level Shared Memory and Semapore Support. */ 00092 #if !defined(DOS_WINDOWS) || defined(WIN32) 00093 extern "C" { 00094 #include "_sem.h" /* sem_ functions */ 00095 #include "_shm.h" /* shm_ functions */ 00096 } 00097 #include "sem.hh" /* class RCS_SHAREMEM */ 00098 #include "shm.hh" /* class RCS_SEMAPHORE */ 00099 #endif 00100 00101 /* System Utilities. */ 00102 #include "timer.hh" /* class RCS_TIMER, etime(),esleep() */ 00103 #include "rcs_exit.hh" // rcs_exit(), attach_rcs_exit_list(), 00104 #include "inetfile.hh" // inet_file_open(), inet_file_close() 00105 00106 /* Pose/Vector/Matrix Math Classes */ 00107 #include "posemath.h" 00108 00109 00110 /* class INIFILE */ 00111 #include "inifile.h" 00112 00113 /* class NML_MODULE */ 00114 #include "nml_mod.hh" 00115 00116 /* class NML_QR_SERVER, NML_QR_CLIENT, NML_QUERY_MSG */ 00117 #include "nmlqr.hh" 00118 00119 #endif 00120 // java || rtlinux 00121 00122 #ifdef rtlinux 00123 #define RCS_EXPORT 00124 #ifndef rtlinux_09J 00125 #include "rtlnml.h" 00126 #endif 00127 #include "posemath.h" 00128 #endif 00129 00130 #include "rcsvers.hh" 00131 00132 00133 00134 #ifndef NO_RCS_ID 00135 #ifndef __GNUC__ 00136 #ifndef __attribute__ 00137 #define __attribute__(x) 00138 #endif 00139 #endif 00140 00141 satic const/font> char ((unused)) *rcs_hh_rcsid= "@(#)" "$Id: rcs.hh,v 4.41 201/10/09 14:27:09 wshacKle Exp "; 00142 #endif 00143 00144 #endif /* !dEfined(RCS_HH) */<div>