ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Windows/util_windows.h
Revision: 1.8
Committed: 2008-01-01T09:40:34Z (16 years, 5 months ago) by gbeauche
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +1 -1 lines
Log Message:
Happy New Year!

File Contents

# User Rev Content
1 gbeauche 1.1 /*
2     * util_windows.h - Miscellaneous utilities for Win32
3     *
4 gbeauche 1.8 * Basilisk II (C) 1997-2008 Christian Bauer
5 gbeauche 1.1 *
6     * Windows platform specific code copyright (C) Lauri Pesonen
7     *
8     * This program is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License as published by
10     * the Free Software Foundation; either version 2 of the License, or
11     * (at your option) any later version.
12     *
13     * This program is distributed in the hope that it will be useful,
14     * but WITHOUT ANY WARRANTY; without even the implied warranty of
15     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16     * GNU General Public License for more details.
17     *
18     * You should have received a copy of the GNU General Public License
19     * along with this program; if not, write to the Free Software
20     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21     */
22    
23     #ifndef _UTIL_WINDOWS_H
24     #define _UTIL_WINDOWS_H
25    
26     BOOL exists( const char *path );
27     int32 get_file_size( const char *path );
28     BOOL create_file( const char *path, DWORD size );
29 gbeauche 1.5 bool check_drivers(void);
30 gbeauche 1.1
31 gbeauche 1.3 // Thread wrappers
32 gbeauche 1.2 extern HANDLE create_thread(LPTHREAD_START_ROUTINE start_routine, void *arg = NULL);
33     extern void wait_thread(HANDLE thread);
34     extern void kill_thread(HANDLE thread);
35    
36 gbeauche 1.3 // Mutex wrappers
37     class mutex_t {
38     CRITICAL_SECTION cs;
39     public:
40     mutex_t() { InitializeCriticalSection(&cs); }
41     ~mutex_t() { DeleteCriticalSection(&cs); }
42     void lock() { EnterCriticalSection(&cs); }
43     void unlock() { LeaveCriticalSection(&cs); }
44     };
45    
46 gbeauche 1.6 // Network control panel helpers
47     extern const char *ether_name_to_guid(const char *name);
48     extern const char *ether_guid_to_name(const char *guid);
49    
50 gbeauche 1.7 // Get TAP-Win32 devices (caller free()s returned buffer)
51     extern const char *ether_tap_devices(void);
52    
53 gbeauche 1.1 #endif // _UTIL_WINDOWS_H