From 8feb8d12b476b794a71e7c4ddc00ed4f5a2ff45e Mon Sep 17 00:00:00 2001 From: corinna Date: Thu, 12 Jan 2006 16:59:15 +0000 Subject: [PATCH] * wincap.cc: New file. * wincap.h: New file. * Makefile.in: Accomodate having our own wincap implementation now. --- winsup/cygserver/ChangeLog | 6 ++++++ winsup/cygserver/Makefile.in | 7 +++---- winsup/cygserver/wincap.cc | 23 +++++++++++++++++++++++ winsup/cygserver/wincap.h | 30 ++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 winsup/cygserver/wincap.cc create mode 100644 winsup/cygserver/wincap.h diff --git a/winsup/cygserver/ChangeLog b/winsup/cygserver/ChangeLog index 1a13f20e03..30bd8d12c6 100644 --- a/winsup/cygserver/ChangeLog +++ b/winsup/cygserver/ChangeLog @@ -1,3 +1,9 @@ +2006-01-12 Corinna Vinschen + + * wincap.cc: New file. + * wincap.h: New file. + * Makefile.in: Accomodate having our own wincap implementation now. + 2006-01-09 Corinna Vinschen Check FreeBSD upstream changes and apply important patches. diff --git a/winsup/cygserver/Makefile.in b/winsup/cygserver/Makefile.in index 1b76a76434..d3426f6b63 100644 --- a/winsup/cygserver/Makefile.in +++ b/winsup/cygserver/Makefile.in @@ -1,5 +1,5 @@ # Makefile for Cygwin server -# Copyright 2003 Red Hat, Inc. +# Copyright 2003, 2006 Red Hat, Inc. # This file is part of Cygwin. @@ -40,11 +40,10 @@ override CXXFLAGS+=-MMD -DHAVE_DECL_GETOPT=0 -D__OUTSIDE_CYGWIN__ -DSYSCONFDIR=" OBJS:= cygserver.o client.o process.o msg.o sem.o shm.o threaded_queue.o \ transport.o transport_pipes.o transport_sockets.o \ bsd_helper.o bsd_log.o bsd_mutex.o \ - sysv_msg.o sysv_sem.o sysv_shm.o + sysv_msg.o sysv_sem.o sysv_shm.o wincap.o LIBOBJS:=${patsubst %.o,lib%.o,$(OBJS)} -CYGWIN_OBJS:=$(cygwin_build)/smallprint.o $(cygwin_build)/version.o \ - $(cygwin_build)/wincap.o +CYGWIN_OBJS:=$(cygwin_build)/smallprint.o $(cygwin_build)/version.o CYGWIN_LIB:=$(cygwin_build)/libcygwin.a diff --git a/winsup/cygserver/wincap.cc b/winsup/cygserver/wincap.cc new file mode 100644 index 0000000000..875415d280 --- /dev/null +++ b/winsup/cygserver/wincap.cc @@ -0,0 +1,23 @@ +/* wincap.cc -- figure out on which OS we're running. + Lightweight version for Cygserver + + Copyright 2006 Red Hat, Inc. + +This file is part of Cygwin. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. */ + +#include "woutsup.h" + +wincapc wincap; + +void +wincapc::init () +{ + memset (&version, 0, sizeof version); + /* Request simple version info. */ + version.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); + GetVersionEx (&version); +} diff --git a/winsup/cygserver/wincap.h b/winsup/cygserver/wincap.h new file mode 100644 index 0000000000..af09cadf88 --- /dev/null +++ b/winsup/cygserver/wincap.h @@ -0,0 +1,30 @@ +/* wincap.h: Header for OS capability class. + Lightweight version for Cygserver. + + Copyright 2006 Red Hat, Inc. + +This file is part of Cygwin. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. */ + +#ifndef _CYGSERVER_WINCAP_H +#define _CYGSERVER_WINCAP_H + +class wincapc +{ + OSVERSIONINFO version; + +public: + void init (); + + bool is_winnt () const + { return version.dwPlatformId == VER_PLATFORM_WIN32_NT; } + bool has_security () const + { return version.dwPlatformId == VER_PLATFORM_WIN32_NT; } +}; + +extern wincapc wincap; + +#endif /* _CYGSERVER_WINCAP_H */ -- 2.11.0