X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=cfg%2Fos.h;h=924daadea7f9c79e6e253b6d7fb00207186eebaf;hb=faf2f6bfd5933ff75e6cc01e3d48f9277f731d8f;hp=eb82043ae0d4c6f613e2d220f9fd6a5f8c2afaac;hpb=b6aafeedb04966d47966b8842109a239ab53eef5;p=bertos.git diff --git a/cfg/os.h b/cfg/os.h old mode 100755 new mode 100644 index eb82043a..924daade --- a/cfg/os.h +++ b/cfg/os.h @@ -1,8 +1,33 @@ -/*! +/** * \file * * * \brief OS-specific definitions @@ -12,43 +37,10 @@ * \author Bernardo Innocenti */ -/*#* - *#* $Log$ - *#* Revision 1.9 2006/03/22 13:34:34 bernie - *#* MSVC support. - *#* - *#* Revision 1.8 2006/02/23 09:09:28 bernie - *#* Remove Linux specific hack. - *#* - *#* Revision 1.7 2006/02/20 01:46:59 bernie - *#* Port to MacOSX. - *#* - *#* Revision 1.6 2006/02/15 09:12:33 bernie - *#* Don't mask useful user signals on UNIX. - *#* - *#* Revision 1.5 2005/11/27 23:32:42 bernie - *#* Add CPU fallback for OS_ID. - *#* - *#* Revision 1.4 2005/11/27 03:07:13 bernie - *#* IRQ_SAVE_DISABLE(): Really block signals. - *#* - *#* Revision 1.3 2005/11/27 03:02:40 bernie - *#* Add POSIX emulation for IRQ_* macros; Add Qt support. - *#* - *#* Revision 1.2 2005/11/04 16:20:01 bernie - *#* Fix reference to README.devlib in header. - *#* - *#* Revision 1.1 2005/04/11 19:04:13 bernie - *#* Move top-level headers to cfg/ subdir. - *#* - *#* Revision 1.1 2004/12/31 17:40:24 bernie - *#* Add OS detection code. - *#* - *#*/ #ifndef DEVLIB_OS_H #define DEVLIB_OS_H -/*! Macro to include OS-specific versions of the headers. */ +/** Macro to include OS-specific versions of the headers. */ #define OS_HEADER(module) PP_STRINGIZE(PP_CAT3(module, _, OS_ID).h) #define OS_CSOURCE(module) PP_STRINGIZE(PP_CAT3(module, _, OS_ID).c) @@ -114,6 +106,14 @@ do { \ sigprocmask(SIG_SETMASK, &old_sigs, NULL); \ } while (0) + + #define IRQ_ENABLED() \ + ({ \ + sigset_t sigs; \ + sigprocmask(SIG_SETMASK, NULL, &sigs); \ + sigismember(&sigs, SIGALRM) ? false : true; \ + }) + #else #define OS_UNIX 0 #define OS_POSIX 0 @@ -147,7 +147,7 @@ * Summarize hosted environments as OS_HOSTED and embedded * environment with OS_EMBEDDED. */ -#if OS_WIN32 || OS_UNIX || OS_DARWIN +#if OS_WIN32 || OS_UNIX || OS_DARWIN || OS_QT #define OS_HOSTED 1 #define OS_EMBEDDED 0 #else