imd.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr
00003  *cr            (C) Copyright 1995-2008 The Board of Trustees of the
00004  *cr                        University of Illinois
00005  *cr                         All Rights Reserved
00006  *cr
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  * RCS INFORMATION:
00011  *
00012  *      $RCSfile: imd.h,v $
00013  *      $Author: johns $       $Locker:  $             $State: Exp $
00014  *      $Revision: 1.18 $       $Date: 2008/03/27 19:36:51 $
00015  *
00016  ***************************************************************************/
00017 
00018 #ifndef IMD_H__
00019 #define IMD_H__
00020 
00021 #include <limits.h>
00022 
00023 #if ( INT_MAX == 2147483647 )
00024 typedef int     int32;
00025 #else
00026 typedef short   int32;
00027 #endif
00028 
00029 
00030 typedef enum IMDType_t {
00031   IMD_DISCONNECT,   
00032   IMD_ENERGIES,     
00033   IMD_FCOORDS,      
00034   IMD_GO,           
00035   IMD_HANDSHAKE,    
00036   IMD_KILL,         
00037   IMD_MDCOMM,       
00038   IMD_PAUSE,        
00039   IMD_TRATE,        
00040   IMD_IOERROR       
00041 } IMDType;          
00044 typedef struct {
00045   int32 tstep;      
00046   float T;          
00047   float Etot;       
00048   float Epot;       
00049   float Evdw;       
00050   float Eelec;      
00051   float Ebond;      
00052   float Eangle;     
00053   float Edihe;      
00054   float Eimpr;      
00055 } IMDEnergies;      
00058 #ifdef WIN32
00059     #if defined(SimTK_MOLMODEL_BUILDING_SHARED_LIBRARY)
00060         #define SimTK_MOLMODEL_EXPORT __declspec(dllexport)
00061     #elif defined(SimTK_MOLMODEL_BUILDING_STATIC_LIBRARY) || defined(SimTK_USE_STATIC_LIBRARIES)
00062         #define SimTK_MOLMODEL_EXPORT
00063     #else
00064         #define SimTK_MOLMODEL_EXPORT __declspec(dllimport)   // i.e., a client of a shared library
00065     #endif
00066 #else
00067     #define SimTK_MOLMODEL_EXPORT // Linux, Mac
00068 #endif
00069 
00070 /* Send control messages - these consist of a header with no subsequent data */
00071 extern int SimTK_MOLMODEL_EXPORT imd_disconnect(void *);   
00072 extern int SimTK_MOLMODEL_EXPORT imd_pause(void *);        
00073 extern int SimTK_MOLMODEL_EXPORT imd_kill(void *);         
00074 extern int SimTK_MOLMODEL_EXPORT imd_handshake(void *);    
00075 extern int SimTK_MOLMODEL_EXPORT imd_trate(void *, int32); 
00077 /* Send data update messages */
00078 
00080 extern int SimTK_MOLMODEL_EXPORT imd_send_mdcomm(void *, int32, const int32 *, const float *);
00081 
00083 extern int SimTK_MOLMODEL_EXPORT imd_send_energies(void *, const IMDEnergies *);
00084 
00086 extern int SimTK_MOLMODEL_EXPORT imd_send_fcoords(void *, int32, const float *);
00087 
00093 extern int SimTK_MOLMODEL_EXPORT imd_recv_handshake(void *);
00094 
00096 extern IMDType SimTK_MOLMODEL_EXPORT imd_recv_header(void *, int32 *);
00097 
00099 extern int SimTK_MOLMODEL_EXPORT imd_recv_mdcomm(void *, int32, int32 *, float *);
00100 
00102 extern int SimTK_MOLMODEL_EXPORT imd_recv_energies(void *, IMDEnergies *);
00103 
00105 extern int SimTK_MOLMODEL_EXPORT imd_recv_fcoords(void *, int32, float *);
00106 
00107 #endif
00108 

Generated on Fri Sep 26 07:44:10 2008 for SimTKcore by  doxygen 1.5.6