core/vpl/os_win32/vpl.cxx
Go to the documentation of this file.
00001 // This is core/vpl/os_win32/vpl.cxx
00002 #include <sys/types.h>
00003 #include <sys/stat.h>
00004 #include <direct.h>
00005 #include <io.h>
00006 #include <process.h>
00007 #include <windows.h>
00008 
00009 char *
00010 vpl_getcwd( char *buf, vcl_size_t buf_size )
00011 {
00012   return _getcwd( buf, (int)buf_size );
00013 }
00014 
00015 int
00016 vpl_mkdir( const char *dir, unsigned short /*mode*/ )
00017 {
00018   _mkdir( dir );
00019   return 0;
00020 }
00021 
00022 int
00023 vpl_rmdir( const char *dir )
00024 {
00025 #if _MSC_VER >= 1400
00026   return _rmdir( dir );
00027 #else
00028   return rmdir( dir );
00029 #endif
00030 }
00031 
00032 int
00033 vpl_chdir( const char *dir )
00034 {
00035 #if _MSC_VER >= 1400
00036   return _chdir( dir );
00037 #else
00038   return chdir( dir );
00039 #endif
00040 }
00041 
00042 int
00043 vpl_unlink( const char *file )
00044 {
00045 #if defined(VCL_BORLAND)
00046   return unlink( file );
00047 #else
00048   return _unlink( file );
00049 #endif
00050 }
00051 
00052 unsigned int
00053 vpl_sleep( unsigned int t )
00054 {
00055   Sleep( long(t) * 1000 );
00056   return 0;
00057 }
00058 
00059 int
00060 vpl_usleep( unsigned int t )
00061 {
00062   Sleep( t / 1000 );
00063   return 0;
00064 }
00065 
00066 unsigned
00067 vpl_getpid( )
00068 {
00069 #if defined(VCL_BORLAND)
00070   return getpid();
00071 #else
00072   return _getpid();
00073 #endif
00074 }
00075 
00076 int vpl_putenv ( const char * envvar )
00077 {
00078 #if defined(VCL_BORLAND)
00079   return putenv(envvar);
00080 #else
00081   return _putenv(envvar);
00082 #endif
00083 }
00084 
00085 
00086 int vpl_gethostname(char *name, vcl_size_t len)
00087 {
00088 #if defined(VCL_VC)
00089   static bool wsa_initialised = false;
00090 
00091   if (!wsa_initialised)
00092   {
00093     WSADATA wsaData;
00094     WSAStartup(MAKEWORD(2,2), &wsaData);
00095   }
00096 #endif
00097   return gethostname(name, len);
00098 }