Index: tdebase/ksysguard/ksysguardd/CMakeLists.txt =================================================================== --- tdebase.orig/ksysguard/ksysguardd/CMakeLists.txt +++ tdebase/ksysguard/ksysguardd/CMakeLists.txt @@ -19,6 +19,8 @@ elseif( ${CMAKE_SYSTEM_NAME} MATCHES "Op set( OS_SPECIFIC_DIR OpenBSD ) elseif( ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" ) set( OS_SPECIFIC_DIR FreeBSD ) +elseif( ${CMAKE_SYSTEM_NAME} MATCHES "SunOS" ) + set( OS_SPECIFIC_DIR Solaris ) elseif( ${CMAKE_SYSTEM_NAME} MATCHES "NetBSD" ) set( OS_SPECIFIC_DIR NetBSD ) else() @@ -30,7 +32,7 @@ add_subdirectory( ${OS_SPECIFIC_DIR} ) add_definitions( -DKSYSGUARDDRCFILE=\"${SYSCONF_INSTALL_DIR}/ksysguarddrc\" - -DOSTYPE_${CMAKE_SYSTEM_NAME} + -DOSTYPE_${OS_SPECIFIC_DIR} ) @@ -46,6 +48,6 @@ include_directories( tde_add_executable( ksysguardd AUTOMOC SOURCES Command.c conf.c ksysguardd.c PWUIDCache.c LINK ccont-static ksysguardd-static ${TDE_LIB_DIR}/libtdefakes_nonpic.a - ${SENSORS_LIBRARIES} + ${SENSORS_LIBRARIES} socket nsl DESTINATION ${BIN_INSTALL_DIR} ) Index: tdebase/ksysguard/ksysguardd/Solaris/CMakeLists.txt =================================================================== --- /dev/null +++ tdebase/ksysguard/ksysguardd/Solaris/CMakeLists.txt @@ -0,0 +1,29 @@ +################################################# +# +# (C) 2019 DilOS Team +# denis (at) dilos (dot) org +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + + +include_directories( + ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/ksysguard/CContLib + ${CMAKE_SOURCE_DIR}/ksysguard/ksysguardd +) + +add_definitions( + -DHAVE_KSTAT +) + +##### ksysguardd (static) ####################### + +tde_add_library( ksysguardd STATIC + SOURCES + LoadAvg.c Memory.c NetDev.c ProcessList.c + LINK kstat +) Index: tdebase/tdm/backend/CMakeLists.txt =================================================================== --- tdebase.orig/tdm/backend/CMakeLists.txt +++ tdebase/tdm/backend/CMakeLists.txt @@ -44,6 +44,6 @@ tde_add_executable( tdm process.c protodpy.c reset.c resource.c rpcauth.c server.c session.c sessreg.c socket.c streams.c util.c xdmauth.c xdmcp.c - LINK X11 ${XAU_LIBRARIES} ${DBUS_LIBRARIES} ${CRYPT_LIBRARY} ${PAM_LIBRARY} ${UTIL_LIBRARY} ${XDMCP_LIBRARIES} + LINK socket nsl X11 ${XAU_LIBRARIES} ${DBUS_LIBRARIES} ${CRYPT_LIBRARY} ${PAM_LIBRARY} ${XDMCP_LIBRARIES} DESTINATION ${BIN_INSTALL_DIR} ) Index: tdebase/kcontrol/info/CMakeLists.txt =================================================================== --- tdebase.orig/kcontrol/info/CMakeLists.txt +++ tdebase/kcontrol/info/CMakeLists.txt @@ -41,6 +41,6 @@ install( FILES tde_add_kpart( kcm_info AUTOMOC SOURCES main.cpp memory.cpp ${OPENGL_SOURCES} - LINK tdeui-shared ${GL_LIBRARIES} ${GLU_LIBRARIES} + LINK tdeui-shared ${GL_LIBRARIES} ${GLU_LIBRARIES} kstat DESTINATION ${PLUGIN_INSTALL_DIR} ) Index: tdebase/kcontrol/ebrowsing/plugins/localdomain/CMakeLists.txt =================================================================== --- tdebase.orig/kcontrol/ebrowsing/plugins/localdomain/CMakeLists.txt +++ tdebase/kcontrol/ebrowsing/plugins/localdomain/CMakeLists.txt @@ -38,6 +38,6 @@ tde_add_kpart( liblocaldomainurifilter A tde_add_executable( klocaldomainurifilterhelper SOURCES klocaldomainurifilterhelper.c - LINK + LINK socket nsl DESTINATION ${BIN_INSTALL_DIR} ) Index: tdebase/kcontrol/nics/nic.cpp =================================================================== --- tdebase.orig/kcontrol/nics/nic.cpp +++ tdebase/kcontrol/nics/nic.cpp @@ -222,7 +222,11 @@ NICList* findNICs() result=ioctl(sockfd,SIOCGIFHWADDR,&ifcopy); if (result==0) { +#ifdef __dilos__ + char *n = ifcopy.ifr_enaddr; +#else /* !__dilos__*/ char *n = &ifcopy.ifr_ifru.ifru_hwaddr.sa_data[0]; +#endif /* __dilos__ */ tmp->HWaddr = HWaddr2String(n); } #elif defined SIOCGENADDR Index: tdebase/twin/compton-tde/compton.c =================================================================== --- tdebase.orig/twin/compton-tde/compton.c +++ tdebase/twin/compton-tde/compton.c @@ -11,6 +11,9 @@ #include "compton.h" #include +#ifdef __dilos__ +#include +#endif /* __dilos__ */ // === Global constants === Index: tdebase/cmake/modules/TDEMacros.cmake =================================================================== --- tdebase.orig/cmake/modules/TDEMacros.cmake +++ tdebase/cmake/modules/TDEMacros.cmake @@ -2182,11 +2182,11 @@ macro( tde_setup_architecture_flags ) set( LINKER_IMMEDIATE_BINDING_FLAGS "" CACHE INTERNAL "" FORCE ) endif( ) - check_cxx_compiler_flag( -fPIE HAVE_PIE_SUPPORT ) - if( HAVE_PIE_SUPPORT ) - set( TDE_PIE_CFLAGS -fPIE ) - set( TDE_PIE_LDFLAGS -pie ) - endif( HAVE_PIE_SUPPORT ) +# check_cxx_compiler_flag( -fPIE HAVE_PIE_SUPPORT ) +# if( HAVE_PIE_SUPPORT ) +# set( TDE_PIE_CFLAGS -fPIE ) +# set( TDE_PIE_LDFLAGS -pie ) +# endif( HAVE_PIE_SUPPORT ) endmacro( ) Index: tdebase/tdeioslave/media/medianotifier/medianotifier.cpp =================================================================== --- tdebase.orig/tdeioslave/media/medianotifier/medianotifier.cpp +++ tdebase/tdeioslave/media/medianotifier/medianotifier.cpp @@ -372,12 +372,20 @@ extern "C" void MediaNotifier::checkFreeDiskSpace() { +#ifdef __dilos__ + struct statvfs sfs; +#else /* !__dilos__ */ struct statfs sfs; +#endif /* __dilos__ */ long total, avail; if ( m_freeDialog ) return; +#ifdef __dilos__ + if ( statvfs( TQFile::encodeName( TQDir::homeDirPath() ), &sfs ) == 0 ) +#else /* !__dilos__ */ if ( statfs( TQFile::encodeName( TQDir::homeDirPath() ), &sfs ) == 0 ) +#endif /* __dilos__ */ { total = sfs.f_blocks; avail = ( getuid() ? sfs.f_bavail : sfs.f_bfree ); Index: tdebase/kicker/kicker/ui/k_new_mnu.cpp =================================================================== --- tdebase.orig/kicker/kicker/ui/k_new_mnu.cpp +++ tdebase/kicker/kicker/ui/k_new_mnu.cpp @@ -3618,8 +3618,13 @@ void KMenu::updateMedia() { descr = mountPoint; // calc the free/total space +#ifdef __dilos__ + struct statvfs sfs; + if ( statvfs( TQFile::encodeName( mountPoint ), &sfs ) == 0 ) +#else /* !__dilos__ */ struct statfs sfs; if ( statfs( TQFile::encodeName( mountPoint ), &sfs ) == 0 ) +#endif /* __dilos__ */ { uint64_t total = ( uint64_t )sfs.f_blocks * sfs.f_bsize; uint64_t avail = ( uint64_t )( getuid() ? sfs.f_bavail : sfs.f_bfree ) * sfs.f_bsize; Index: tdebase/kicker/extensions/kasbar/kasloaditem.cpp =================================================================== --- tdebase.orig/kicker/extensions/kasbar/kasloaditem.cpp +++ tdebase/kicker/extensions/kasbar/kasloaditem.cpp @@ -2,7 +2,7 @@ #include #include -#ifdef HAVE_SYS_LOADAVG_H +#if defined(HAVE_SYS_LOADAVG_H) || defined(__dilos__) #include // e.g. Solaris #endif Index: tdebase/kdesktop/lockeng.cc =================================================================== --- tdebase.orig/kdesktop/lockeng.cc +++ tdebase/kdesktop/lockeng.cc @@ -14,8 +14,10 @@ #include +#ifndef __dilos__ #include #include +#endif /* __dilos__ */ #include #include @@ -198,6 +200,7 @@ SaverEngine::SaverEngine() delete config; config = NULL; +#ifndef __dilos__ // Initialize SmartCard readers TDEGenericDevice *hwdevice; TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices(); @@ -208,6 +211,7 @@ SaverEngine::SaverEngine() connect(cdevice, TQT_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*))); cdevice->enableCardMonitoring(true); } +#endif /* __dilos__ */ // Check card login status KUser userinfo; @@ -262,6 +266,7 @@ void SaverEngine::cardStartupTimeout() { void SaverEngine::cryptographicCardInserted(TDECryptographicCardDevice* cdevice) { TQString login_name = TQString::null; +#ifndef __dilos__ X509CertificatePtrList certList = cdevice->cardX509Certificates(); if (certList.count() > 0) { KSSLCertificate* card_cert = NULL; @@ -275,6 +280,7 @@ void SaverEngine::cryptographicCardInser } delete card_cert; } +#endif /* __dilos__ */ if (login_name != "") { KUser user; Index: tdebase/kdesktop/lock/lockprocess.h =================================================================== --- tdebase.orig/kdesktop/lock/lockprocess.h +++ tdebase/kdesktop/lock/lockprocess.h @@ -12,8 +12,12 @@ #include +#ifdef __dilos__ +typedef void TDECryptographicCardDevice; +#else /* !__dilos__ */ #include #include +#endif /* __dilos__ */ #include @@ -267,7 +271,9 @@ class LockProcess : public TQWidget int m_dialogPrevY; bool m_notifyReadyRequested; +#ifndef __dilos__ TDECryptographicCardDevice* m_loginCardDevice; +#endif /* __dilos__ */ TQWidget* m_maskWidget; Window m_saverRootWindow; Index: tdebase/kdesktop/lock/lockprocess.cc =================================================================== --- tdebase.orig/kdesktop/lock/lockprocess.cc +++ tdebase/kdesktop/lock/lockprocess.cc @@ -225,7 +225,9 @@ LockProcess::LockProcess() m_dialogPrevX(0), m_dialogPrevY(0), m_notifyReadyRequested(false), +#ifndef __dilos__ m_loginCardDevice(NULL), +#endif /* __dilos__ */ m_maskWidget(NULL), m_saverRootWindow(0) { @@ -291,6 +293,7 @@ LockProcess::LockProcess() } } +#ifndef __dilos__ // Initialize SmartCard readers TDEGenericDevice *hwdevice; TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices(); @@ -303,6 +306,7 @@ LockProcess::LockProcess() cdevice->enableCardMonitoring(true); // cdevice->enablePINEntryCallbacks(true); } +#endif /* __dilos__ */ #ifdef KEEP_MOUSE_UNGRABBED setEnabled(false); @@ -2824,6 +2828,7 @@ void LockProcess::processInputPipeComman void LockProcess::cryptographicCardInserted(TDECryptographicCardDevice* cdevice) { TQString login_name = TQString::null; +#ifndef __dilos__ X509CertificatePtrList certList = cdevice->cardX509Certificates(); if (certList.count() > 0) { KSSLCertificate* card_cert = NULL; @@ -2837,12 +2842,15 @@ void LockProcess::cryptographicCardInser } delete card_cert; } +#endif /* __dilos__ */ if (login_name != "") { KUser user; if (login_name == user.loginName()) { // Pass login to the PAM stack... +#ifndef __dilos__ m_loginCardDevice = cdevice; +#endif /* __dilos__ */ if (dynamic_cast(currentDialog)) { dynamic_cast(currentDialog)->closeDialogForced(); TQTimer::singleShot(0, this, SLOT(signalPassDlgToAttemptCardLogin())); @@ -2864,18 +2872,28 @@ void LockProcess::cryptographicCardRemov passDlg->resetCardLogin(); } else { +#ifndef __dilos__ m_loginCardDevice = NULL; +#endif /* __dilos__ */ TQTimer::singleShot(0, this, SLOT(signalPassDlgToAttemptCardAbort())); } } void LockProcess::signalPassDlgToAttemptCardLogin() { PasswordDlg* passDlg = dynamic_cast(currentDialog); - if (passDlg && m_loginCardDevice) { + if (passDlg +#ifndef __dilos__ + && m_loginCardDevice +#endif /* __dilos__ */ + ) { passDlg->attemptCardLogin(); } else { - if (currentDialog && m_loginCardDevice) { + if (currentDialog +#ifndef __dilos__ + && m_loginCardDevice +#endif /* __dilos__ */ + ) { // Try again later TQTimer::singleShot(0, this, SLOT(signalPassDlgToAttemptCardLogin())); } @@ -2904,6 +2922,7 @@ void LockProcess::cryptographicCardPinRe qryDlg.setUnlockIcon(); mForceReject = false; execDialog(&qryDlg); +#ifndef __dilos__ if (mForceReject == false) { pin_entry = qryDlg.getEntry(); cdevice->setProvidedPin(pin_entry); @@ -2911,10 +2930,15 @@ void LockProcess::cryptographicCardPinRe else { cdevice->setProvidedPin(TQString::null); } +#endif /* __dilos__ */ } TDECryptographicCardDevice* LockProcess::cryptographicCardDevice() { +#ifdef __dilos__ + return nullptr; +#else /* !__dilos__ */ return m_loginCardDevice; +#endif /* __dilos__ */ } void LockProcess::fullyOnline() { Index: tdebase/kdesktop/lock/lockdlg.cc =================================================================== --- tdebase.orig/kdesktop/lock/lockdlg.cc +++ tdebase/kdesktop/lock/lockdlg.cc @@ -558,6 +558,7 @@ void PasswordDlg::handleVerify() // Check if cryptographic card login is being used if (mCardLoginInProgress) { // Attempt authentication if configured +#ifndef __dilos__ TDECryptographicCardDevice* cdevice = static_cast(parent())->cryptographicCardDevice(); if (cdevice) { TQString autoPIN = cdevice->autoPIN(); @@ -566,6 +567,7 @@ void PasswordDlg::handleVerify() TQTimer::singleShot(0, this, SLOT(slotOK())); } } +#endif /* __dilos__ */ mCardLoginInProgress = false; } } Index: tdebase/tdesu/tdesud/tdesud.cpp =================================================================== --- tdebase.orig/tdesu/tdesud/tdesud.cpp +++ tdebase/tdesu/tdesud/tdesud.cpp @@ -45,7 +45,7 @@ #include #include -#if !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__) +#if !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__dilos__) #include #endif #include @@ -251,7 +251,7 @@ int create_socket() int main(int argc, char *argv[]) { -#if !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__) +#if !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__dilos__) prctl(PR_SET_DUMPABLE, 0); #endif Index: tdebase/tdm/backend/getfd.c =================================================================== --- tdebase.orig/tdm/backend/getfd.c +++ tdebase/tdm/backend/getfd.c @@ -22,7 +22,7 @@ is_a_console(int fd) { char arg; arg = 0; -#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) +#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__dilos__) return arg; #else return (ioctl(fd, KDGKBTYPE, &arg) == 0 Index: tdebase/tdm/kfrontend/kgverify.cpp =================================================================== --- tdebase.orig/tdm/kfrontend/kgverify.cpp +++ tdebase/tdm/kfrontend/kgverify.cpp @@ -34,8 +34,10 @@ Foundation, Inc., 51 Franklin Street, Fi #include +#ifndef __dilos__ #include #include +#endif /* __dilos__ */ #include #include @@ -665,12 +667,14 @@ KGVerify::handleVerify() inGreeterPlugin = !ndelay; if (cardLoginInProgress) { +#ifndef __dilos__ TQString autoPIN = cardLoginDevice->autoPIN(); if (autoPIN != TQString::null) { // Initiate login setPassword(autoPIN); accept(); } +#endif /* __dilos__ */ cardLoginInProgress = false; } } Index: tdebase/tdm/kfrontend/kgreeter.cpp =================================================================== --- tdebase.orig/tdm/kfrontend/kgreeter.cpp +++ tdebase/tdm/kfrontend/kgreeter.cpp @@ -37,8 +37,10 @@ Foundation, Inc., 51 Franklin Street, Fi #include +#ifndef __dilos__ #include #include +#endif /* __dilos__ */ #include #include @@ -247,6 +249,7 @@ KGreeter::~KGreeter() } void KGreeter::cryptographicCardWatcherSetup() { +#ifndef __dilos__ cardLoginUser = TQString::null; // Initialize SmartCard readers @@ -259,6 +262,7 @@ void KGreeter::cryptographicCardWatcherS connect(cdevice, TQT_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*))); cdevice->enableCardMonitoring(true); } +#endif /* __dilos__ */ } void KGreeter::done(int r) { @@ -872,6 +876,7 @@ void KGreeter::cryptographicCardInserted #endif TQString login_name = TQString::null; +#ifndef __dilos__ X509CertificatePtrList certList = cdevice->cardX509Certificates(); if (certList.count() > 0) { KSSLCertificate* card_cert = NULL; @@ -885,6 +890,7 @@ void KGreeter::cryptographicCardInserted } delete card_cert; } +#endif /* __dilos__ */ if (login_name != "") { if (verify->cardLoginInProgress) { Index: tdebase/tdm/kfrontend/sakdlg.cc =================================================================== --- tdebase.orig/tdm/kfrontend/sakdlg.cc +++ tdebase/tdm/kfrontend/sakdlg.cc @@ -12,8 +12,10 @@ #include +#ifndef __dilos__ #include #include +#endif /* __dilos__ */ #include #include @@ -135,6 +137,7 @@ SAKDlg::SAKDlg(TQWidget *parent) connect(mSAKProcess, TQT_SIGNAL(processExited(TDEProcess*)), this, TQT_SLOT(slotSAKProcessExited())); mSAKProcess->start(); +#ifndef __dilos__ // Initialize SmartCard readers TDEGenericDevice *hwdevice; TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices(); @@ -145,6 +148,7 @@ SAKDlg::SAKDlg(TQWidget *parent) connect(cdevice, TQT_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*))); cdevice->enableCardMonitoring(true); } +#endif /* __dilos__ */ mControlPipeHandlerThread = new TQEventLoopThread(); mControlPipeHandler = new ControlPipeHandlerObject(); @@ -173,6 +177,7 @@ void SAKDlg::processInputPipeCommand(TQS void SAKDlg::cryptographicCardInserted(TDECryptographicCardDevice* cdevice) { TQString login_name = TQString::null; +#ifndef __dilos__ X509CertificatePtrList certList = cdevice->cardX509Certificates(); if (certList.count() > 0) { KSSLCertificate* card_cert = NULL; @@ -186,6 +191,7 @@ void SAKDlg::cryptographicCardInserted(T } delete card_cert; } +#endif /* __dilos__ */ if (login_name != "") { DM dm; Index: tdebase/tdm/kfrontend/CMakeLists.txt =================================================================== --- tdebase.orig/tdm/kfrontend/CMakeLists.txt +++ tdebase/tdm/kfrontend/CMakeLists.txt @@ -55,7 +55,7 @@ set_property( SOURCE tdm_config.c tdm_gr tde_add_executable( tdm_config SOURCES tdm_config.c - LINK + LINK socket nsl DESTINATION ${BIN_INSTALL_DIR} ) @@ -100,6 +100,6 @@ tde_add_executable( gentdmconf AUTOMOC tde_add_executable( tdmctl SOURCES tdmctl.c - LINK + LINK socket nsl DESTINATION ${BIN_INSTALL_DIR} ) Index: tdebase/kcontrol/nics/CMakeLists.txt =================================================================== --- tdebase.orig/kcontrol/nics/CMakeLists.txt +++ tdebase/kcontrol/nics/CMakeLists.txt @@ -12,7 +12,9 @@ include( CheckFunctionExists ) check_include_file( "sys/sockio.h" HAVE_SYS_SOCKIO_H ) +tde_save_and_set( CMAKE_REQUIRED_LIBRARIES socket nsl ) check_function_exists( getnameinfo HAVE_GETNAMEINFO ) +tde_restore( CMAKE_REQUIRED_LIBRARIES ) check_struct_has_member( "struct sockaddr" sa_len "sys/types.h;sys/socket.h" HAVE_STRUCT_SOCKADDR_SA_LEN ) Index: tdebase/tdm/cryptocardwatcher/main.cpp =================================================================== --- tdebase.orig/tdm/cryptocardwatcher/main.cpp +++ tdebase/tdm/cryptocardwatcher/main.cpp @@ -41,8 +41,10 @@ #include +#ifndef __dilos__ #include #include +#endif /* __dilos__ */ #include "watcher.h" @@ -117,6 +119,7 @@ int main(int argc, char *argv[]) { tdeapp.disableAutoDcopRegistration(); CardWatcher* watcher = new CardWatcher(); +#ifndef __dilos__ // Initialize SmartCard readers TDEGenericDevice *hwdevice; TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices(); @@ -127,6 +130,7 @@ int main(int argc, char *argv[]) { TQObject::connect(cdevice, TQT_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), watcher, TQT_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*))); cdevice->enableCardMonitoring(true); } +#endif /* __dilos__ */ // Start TDE application ret = tdeapp.exec(); Index: tdebase/tdm/cryptocardwatcher/watcher.cc =================================================================== --- tdebase.orig/tdm/cryptocardwatcher/watcher.cc +++ tdebase/tdm/cryptocardwatcher/watcher.cc @@ -21,8 +21,10 @@ #include +#ifndef __dilos__ #include #include +#endif /* __dilos__ */ #include #include @@ -37,6 +39,7 @@ CardWatcher::~CardWatcher() { void CardWatcher::cryptographicCardInserted(TDECryptographicCardDevice* cdevice) { TQString login_name = TQString::null; +#ifndef __dilos__ X509CertificatePtrList certList = cdevice->cardX509Certificates(); if (certList.count() > 0) { KSSLCertificate* card_cert = NULL; @@ -50,6 +53,7 @@ void CardWatcher::cryptographicCardInser } delete card_cert; } +#endif /* __dilos__ */ if (login_name != "") { // Determine if user already has an active session Index: tdebase/tdekbdledsync/getfd.c =================================================================== --- tdebase.orig/tdekbdledsync/getfd.c +++ tdebase/tdekbdledsync/getfd.c @@ -4,7 +4,9 @@ #include #include #include +#ifdef __linux__ #include +#endif /* __linux__ */ #include "getfd.h" /* @@ -17,11 +19,15 @@ static int is_a_console(int fd) { +#ifdef __linux__ char arg; arg = 0; return (ioctl(fd, KDGKBTYPE, &arg) == 0 && ((arg == KB_101) || (arg == KB_84))); +#else /* !__linux__ */ + return (0); +#endif /* __linux__ */ } static int Index: tdebase/tdekbdledsync/main.cpp =================================================================== --- tdebase.orig/tdekbdledsync/main.cpp +++ tdebase/tdekbdledsync/main.cpp @@ -30,9 +30,11 @@ License along with tdekbdledsync. If not #include #include #include +#ifdef __linux__ #include #include #include +#endif /* __linux__ */ #include #include #include @@ -42,7 +44,9 @@ License along with tdekbdledsync. If not #include #include extern "C" { +#ifdef __linux__ #include +#endif /* __linux__ */ #include "getfd.h" } #include @@ -64,6 +68,10 @@ using namespace std; typedef unsigned char byte; +#ifndef __linux__ +#define KEY_MAX 0 +#endif /* __linux__ */ + char filename[32]; char key_bitmask[(KEY_MAX + 7) / 8]; @@ -262,11 +270,14 @@ int find_keyboards() { fd = open(filename, O_RDWR|O_SYNC); if (fd >= 0) { +#ifdef __linux__ ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(key_bitmask)), key_bitmask); // Ensure that we do not detect tsak faked keyboards ioctl (fd, EVIOCGNAME(sizeof(name)), name); +#endif /* __linux__ */ if (str_ends_with(name, "+tsak") == 0) { +#ifdef __linux__ struct input_id input_info; ioctl (fd, EVIOCGID, &input_info); if ((input_info.vendor != 0) && (input_info.product != 0)) { @@ -278,6 +289,7 @@ int find_keyboards() { } } } +#endif /* __linux__ */ } if (keyboard_fds[keyboard_fd_num] == 0) { @@ -302,8 +314,10 @@ int main() { int current_keyboard; char name[256] = "Unknown"; unsigned int states; +#ifdef __linux__ struct input_event ev; struct vt_stat vtstat; +#endif /* __linux__ */ int vt_fd; int x11_vt_num = -1; // XEvent xev; @@ -364,6 +378,7 @@ int main() { struct udev_monitor *mon; struct timeval tv; +#ifdef __linux__ // Create the udev object udev = udev_new(); if (!udev) { @@ -376,6 +391,7 @@ int main() { mon = udev_monitor_new_from_netlink(udev, "udev"); udev_monitor_filter_add_match_subsystem_devtype(mon, "input", NULL); udev_monitor_enable_receiving(mon); +#endif /* __linux__ */ while (1) { // Get masks @@ -395,12 +411,15 @@ int main() { for (current_keyboard=0;current_keyboard