gCAD3D 2.40
ut_os_w32.c File Reference
#include "../xa/MS_Def1.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <io.h>
#include <direct.h>
#include <time.h>
#include <sys/stat.h>
#include "../ut/ut_txt.h"
#include "../ut/func_types.h"
#include "../ut/ut_os.h"

Macros

#define YES   0
 
#define NO   1
 
#define PTRSIZ   sizeof(void*)
 

Functions

int OS_config ()
 
int OS_ck_libcVersion (int vMaj, int vMin)
 
char * OS_get_dir_pwd ()
 
 OS_file_date_m (time_t *tim_m, char *filnam)
 
 OS_date_cmp (time_t *tim1, time_t *tim2)
 
int OS_sys1 (char *sOut, int sSiz, char *cmd)
 
int OS_file_compare_A (char *fn1, char *fn2)
 
int OS_ck_SW_is_installed (char *ssw)
 
int OS_prc_dll (int mode, void *fDat)
 
void OS_get_curDir (char *sd, int sSiz)
 
int OS_stdout__ (int mode, char *fn)
 
char * OS_prc__ ()
 
int OS_file_waitExist (char *fn, int maxTim)
 
BOOL CALLBACK OS_hide_winCB (HWND hw1, LPARAM lParam)
 
char * OS_os_s ()
 
int OS_os_bits ()
 
int OS_hide_win ()
 
int OS_TimeStamp (TimeStamp *ts1)
 
double OS_prc_time_diff (double timStart)
 
double OS_prc_time_start ()
 
double OS_rTime ()
 
int OS_edit_ (char *filnam)
 
char * OS_get_lang ()
 
char * OS_get_term ()
 
char * OS_get_vwr_ps ()
 
char * OS_get_user ()
 
int OS_browse_ (char *filnam)
 
char * OS_get_browser ()
 
void OS_time (long *i1, long *i2, long *i3)
 
void OS_date (long *i1, long *i2, long *i3)
 
char * OS_date1 ()
 
int OS_Init_ (char *cmd)
 
int OS_system (char *buf)
 
int OS_exec (char *txt)
 ================================================================ More...
 
int OS_get_dialog ()
 
char * OS_get_edi ()
 
char * OS_get_printer ()
 
int OS_spawn_wait (char *cmd, int iwait)
 
void OS_Wait (int millisecs)
 
void OS_beep ()
 
int OS_checkFilExist (char *filnam, int mode)
 
int OS_checkDirExist (char *dirnam)
 
long OS_FilSiz (char *filnam)
 
int OS_check_isDir (char *dirnam)
 
int OS_dir_root (char *cbuf, int csiz)
 
int OS_dir_ck1 (char *p1)
 
int OS_dir_ck2 (char *p1)
 
int OS_dir_scan_ (char *cbuf, int *iNr)
 
int OS_filterff (char *fnamO, char *fnamI, char *ftext)
 
int OS_file_delGrp (char *fNam)
 
int OS_file_copy (char *oldNam, char *newNam)
 
int OS_file_rename (char *fnOld, char *fnNew)
 
int OS_file_delete (char *fNam)
 
int OS_file_readm1 (char *cbuf, int cSiz, char *fnam)
 
int OS_dll_build (char *dllNam)
 =================================================================== More...
 
int OS_dll_close (void **dl1)
 
int OS_dll__ (void **dl1, int mode, void *fDat)
 
int OS_debug_dll_ (char *dllNam)
 
int OS_dll_do (char *dllNam, char *fncnam, void *fncdat)
 
int OS_dll_run (char *dllNam, char *fncNam, char *fncDat)
 
int OS_ck_DirAbs (char *fNam)
 
int OS_dirAbs_fNam (char *dirOut, char *fNam)
 
int OS_file_zip (int mode, char *fnFrom, char *fnTo)
 
int OS_file_concat (char *fno, char *fn1, char *fn2)
 
char * OS_get_imgConv1 ()
 ================================================================ More...
 
char * OS_get_imgConv2 ()
 ================================================================ More...
 
int OS_jpg_bmp (char *fn_jpg, char *fn_bmp)
 
int OS_CkPrcIsActive (char *prcNam)
 
int OS_ckFileWritable (char *fnam)
 ================================================================ More...
 
int OS_dev_ck ()
 
int OS_timA_now (char *sts1)
 
int OS_tim_timA (struct tm *tm, char *stA)
 
int OS_timA_diff_s (double *dd, char *sts1, char *sts2)
 
int OS_err1 (char *fNam)
 

Variables

static char txbuf [256]
 

Detailed Description

=====================================================
Liste_Funktionen_Beginn:
OS_hide_win nur MS-Windows
see ../ut/ut_os_aix.c
Liste_Funktionen_Ende:
=====================================================
// Mircosoft-Test: MS-CompilerVersion; 2010=1600
#ifdef _MSC_VER
printf(" %d\n",_MSC_VER);
// Mircosoft-Windows-test 32-or-64-Bit:
#ifdef _WIN64
printf("This is a MS64-OS ! \n");
printf(" _WIN64 %d\n",_WIN64);
#else
printf("This is a MS32-OS ! \n");
#endif
#else
// Linux
#ifdef _LP64
// Linux64
#else
// Linux32
#endif

Macro Definition Documentation

#define YES   0
#define NO   1
#define PTRSIZ   sizeof(void*)

Function Documentation

int OS_config ( )
int OS_ck_libcVersion ( int  vMaj,
int  vMin 
)
* test if new software with Lib-version <versionLinked> can be used.
* <versionLinked> must be equal or less then the active Lib-version.
* View the active GNU-Lib-version in a shell with "/lib/libc.so.6"
* Mandriva 2009 reports "glibc 2.8"
* Input:
* versionLinked of the software at the time of binding
* RetCod: 0 OK; active-libc-version is >= <versionLinked>
* -1 Error; active-libc-version is < <versionLinked>
*
char* OS_get_dir_pwd ( )

OS_get_dir_pwd get current process-working-directory "PWD"

OS_file_date_m ( time_t *  tim_m,
char *  filnam 
)
OS_date_cmp ( time_t *  tim1,
time_t *  tim2 
)
int OS_sys1 ( char *  sOut,
int  sSiz,
char *  cmd 
)
int OS_file_compare_A ( char *  fn1,
char *  fn2 
)
int OS_ck_SW_is_installed ( char *  ssw)
int OS_prc_dll ( int  mode,
void *  fDat 
)
* mode >=0 work (mode = nc-function from NCCmdTab)
* mode -1 = work (programfunction fDat = "FUNC_xx")
* mode -2 = open (load Lib fNam)
* mode -3 = connect (connect Func fDat)
* mode -4 = unload active lib
*
void OS_get_curDir ( char *  sd,
int  sSiz 
)

OS_get_curDir get current directory

int OS_stdout__ ( int  mode,
char *  fn 
)

OS_stdout__ direct console-output into file mode 0 open file for console-output 1 reconnect stdout DOES NOT WORK !

char* OS_prc__ ( )

OS_prc__ get full filename of active process

int OS_file_waitExist ( char *  fn,
int  maxTim 
)
BOOL CALLBACK OS_hide_winCB ( HWND  hw1,
LPARAM  lParam 
)
char* OS_os_s ( )
int OS_os_bits ( )
int OS_hide_win ( )
int OS_TimeStamp ( TimeStamp ts1)

OS_TimeStamp get TimeStamp (sec; res = 0.01; ~1 year)

static TimeStamp TimeStamp = 0; OS_TimeStamp (&Memspc.ts); // in UME_create if(Memspc.ts != TimeStamp) {update; TimeStamp = Memspc.ts; }

double OS_prc_time_diff ( double  timStart)
* OS_prc_time_diff returns processor-time
* processor-time does not include usleep ..
* Example:
* d1 = OS_prc_start_time();
* ..
* printf(" processor-time used (secs) %lf \n", OS_prc_diff_time(d1));
*
double OS_prc_time_start ( )
* OS_prc_time_start returns processor-time
*
double OS_rTime ( )

OS_rTime returns time in sec's, (res = mycrosec's)

int OS_edit_ ( char *  filnam)
char* OS_get_lang ( )

returns language; eg "de" or "en"

char* OS_get_term ( )
char* OS_get_vwr_ps ( )

returns ps-viewer (gv|evince)

char* OS_get_user ( )

returns console-program; eg "xterm -e "

int OS_browse_ ( char *  filnam)
* html-browse <filnam>
* do not wait for end of process.
*
char* OS_get_browser ( )

returns html-browser; eg "mozilla"

void OS_time ( long *  i1,
long *  i2,
long *  i3 
)

OS_time returns (hour, min, sec)

void OS_date ( long *  i1,
long *  i2,
long *  i3 
)

OS_date returns (year, mon, day)

char* OS_date1 ( )
* Format: 2002/09/04-13:30:33
* printf ("# %s\n", OS_date1());
*
int OS_Init_ ( char *  cmd)
int OS_system ( char *  buf)
* OS_system Perform OS-Command; wait for completion (system)
* do not wait: use OS_exec
*
int OS_exec ( char *  txt)

================================================================

================================================================ OS_exec Perform OS-Command; do not wait for completion.

int OS_get_dialog ( )

check if zenity is installed

char* OS_get_edi ( )

returns fileEditorProgram; eg "gedit " or "kedit "

char* OS_get_printer ( )

get 1. word of /etc/printcap

int OS_spawn_wait ( char *  cmd,
int  iwait 
)
void OS_Wait ( int  millisecs)

wait - milli-seconds (<millisecs> * 0.001 seconds)

void OS_beep ( )
int OS_checkFilExist ( char *  filnam,
int  mode 
)
* OS_checkFilExist check if File or Directory exists
* mode = 0: display message sofort;
* mode = 1: just fix returncode, no message
* mode = 2: make Errormessage (TX_Error) if File does not exist
*
* rc = 0 = Fehler; datei existiert NICHT.
* rc = 1 = OK, Datei existiert.
*
int OS_checkDirExist ( char *  dirnam)
* if dir dirnam does not exist, try to create it.
* Nur testen ob directory existiert: use OS_checkFilExist.
*
* rc = 0 = Fehler; Dir existiert NICHT.
* rc = 1 = Dir sucessfully created.
* rc = 2 = Dir did already exist.
*
long OS_FilSiz ( char *  filnam)

OS_FilSiz returns filesize in bytes

OS_FilSiz returns filesize in bytes

int OS_check_isDir ( char *  dirnam)
* returns if {dirnam} is directory or file
* rc = 1 = OFF = NO; dirnam is NOT directory
* rc = 0 = ON = OK; dirnam is directory.
* rc = -1 = Error - dirnam does not exist
*
int OS_dir_root ( char *  cbuf,
int  csiz 
)

OS_dir_root returns a list of root-directories

int OS_dir_ck1 ( char *  p1)
* check rootDir
* irc=0 CD-Rom,
* 1 Diskette,
* 2 normal
*
int OS_dir_ck2 ( char *  p1)
* check if directory is writable
* irc=0=no, not writable,
* 1=jes, directory is writable
*
int OS_dir_scan_ ( char *  cbuf,
int *  iNr 
)
* scan directory
* iNr = 0: init suche; zu scannender Pfad ist cbuf.
* iNr > 0: cbuf ist next found file; do not change iNr! (Filename ohne Path !)
* iNr < 0; kein weiteres File found; directory closed.
*
* scan directory
* iNr = 0: init suche; zu scannender Pfad ist cbuf.
* iNr > 0: cbuf ist next found file; do not change iNr! (Filename ohne Path !)
* iNr < 0; kein weiteres File found; directory closed.
*
int OS_filterff ( char *  fnamO,
char *  fnamI,
char *  ftext 
)
int OS_file_delGrp ( char *  fNam)
int OS_file_copy ( char *  oldNam,
char *  newNam 
)

OS_file_copy copy file

int OS_file_rename ( char *  fnOld,
char *  fnNew 
)

rename File; NO Wildcards !

int OS_file_delete ( char *  fNam)
* delete File; NO Wildcards !
* MS u Unix gleich.
* retCod: 0=OK; -1=Error.
*
int OS_file_readm1 ( char *  cbuf,
int  cSiz,
char *  fnam 
)
* read complete file into memory
* Datei fnam in den Buff cbuf einlesen.
* cSiz = size of cbuf
* Retcode:
* -1 Error
* >0 size of file
*
int OS_dll_build ( char *  dllNam)

===================================================================

=================================================================== wenn .mak vorh: compile/link

int OS_dll_close ( void **  dl1)
int OS_dll__ ( void **  dl1,
int  mode,
void *  fDat 
)
* load dll | start dll-function | unload dll
* Input:
* mode FUNC_LOAD = load DLL. fDat: dll-name without directory, fTyp.
* FUNC_CONNECT = connect (connect Func fDat)
* FUNC_EXEC = work (call active Func with parameter fDat)
* FUNC_UNLOAD = unload active lib
* FUNC_RECOMPILE = recompile DLL
* Output:
* dll (address of) loaded DLL
* retCod 0=OK; else error
*
int OS_debug_dll_ ( char *  dllNam)
* wenn im Debug-Modus wird hier gestoppt;
* In .gdbinit muss stehen:
* wenn Debugger steht, eingeben "watch varnam" und "c"
*
* Zweck: Debugger kann DLL nur ansprechen wenn geladen.
*
int OS_dll_do ( char *  dllNam,
char *  fncnam,
void *  fncdat 
)

load dll; start function fncNam (fncDat); unload dll.

int OS_dll_run ( char *  dllNam,
char *  fncNam,
char *  fncDat 
)
int OS_ck_DirAbs ( char *  fNam)
int OS_dirAbs_fNam ( char *  dirOut,
char *  fNam 
)
int OS_file_zip ( int  mode,
char *  fnFrom,
char *  fnTo 
)
int OS_file_concat ( char *  fno,
char *  fn1,
char *  fn2 
)
char* OS_get_imgConv1 ( )

================================================================

================================================================ returns jpg2bmp-converter-program.

char* OS_get_imgConv2 ( )

================================================================

================================================================ returns bmp2jpg-converter-program; eg /usr/bin/cjpeg

int OS_jpg_bmp ( char *  fn_jpg,
char *  fn_bmp 
)
int OS_CkPrcIsActive ( char *  prcNam)
int OS_ckFileWritable ( char *  fnam)

================================================================

================================================================ OS_checkFileWritable check if file is writeable; 0=no, 1=yes.

int OS_dev_ck ( )
int OS_timA_now ( char *  sts1)
int OS_tim_timA ( struct tm *  tm,
char *  stA 
)
* OS_tim_timA get timestamp from time-string
* timestring format: |2017-10-14 10:32:07|
*
int OS_timA_diff_s ( double *  dd,
char *  sts1,
char *  sts2 
)
* get difftime in seconds of two timestrings
* timestring format: |2017-10-14 10:32:07|
*
int OS_err1 ( char *  fNam)
* OS_err1 print errno
* Example:
*

Variable Documentation

char txbuf[256]
static