summaryrefslogtreecommitdiff
path: root/extensions/source/nsplugin/source/nsp_func.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/nsplugin/source/nsp_func.hxx')
-rw-r--r--extensions/source/nsplugin/source/nsp_func.hxx103
1 files changed, 103 insertions, 0 deletions
diff --git a/extensions/source/nsplugin/source/nsp_func.hxx b/extensions/source/nsplugin/source/nsp_func.hxx
new file mode 100644
index 000000000000..e132235ec4b6
--- /dev/null
+++ b/extensions/source/nsplugin/source/nsp_func.hxx
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __NSP_FUNC_HXX
+#define __NSP_FUNC_HXX
+
+
+// Some function diffrent from UNIX and Window.
+
+/************************ In UNIX ************************/
+
+
+#ifdef UNIX
+// for chdir()
+#define NSP_CHDIR chdir
+//for vsnprintf()
+#define NSP_vsnprintf vsnprintf
+
+
+//for pipe()
+typedef int NSP_PIPE_FD;
+#define NSP_Inherited_Pipe(fp) pipe(fd)
+#define NSP_Close_Pipe(fp) close(fp)
+//for write(), read()
+#define NSP_Write_Pipe(a, b, c, d) write(a, b, c)
+#define NSP_Read_Pipe(a, b, c, d) read(a, b, c)
+
+//for socket
+#define NSP_CloseSocket close
+
+//for sleep
+#define NSP_Sleep(a) sleep(a)
+
+//for mutex
+#define NSP_Mute_Obj pthread_mutex_t
+#define NSP_New_Mute_Obj() PTHREAD_MUTEX_INITIALIZER
+#define NSP_Lock_Mute_Obj(a) pthread_mutex_lock(&a)
+#define NSP_Unlock_Mute_Obj(a) pthread_mutex_unlock(&a)
+
+#define STRNICMP(a, b ,c) strncasecmp(a, b ,c)
+#endif //end of UNIX
+
+/************************ In WINWS ************************/
+
+#ifdef WNT
+
+#include <windows.h>
+//for chdir()
+#define NSP_CHDIR(a) _chdir(a)
+//for vsnprintf()
+#define NSP_vsnprintf _vsnprintf
+
+//for pipe()
+typedef HANDLE NSP_PIPE_FD;
+SECURITY_ATTRIBUTES NSP_pipe_access = { sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
+#define NSP_Inherited_Pipe(fd) (!CreatePipe(&fd[0], &fd[1], &NSP_pipe_access, 1024*10))
+#define NSP_Close_Pipe(fp) CloseHandle(fp)
+//for write(), read()
+#define NSP_Write_Pipe(a, b, c, d) WriteFile(a, b, c, d, NULL)
+#define NSP_Read_Pipe(a, b, c, d) ReadFile(a, b, c, d, NULL)
+
+//for execl()
+#define NSP_CreateProcess(a, b ) CreateProcess(a, b, NULL, NULL, TRUE, 0, NULL, NULL, NULL, NULL)
+
+//for socket
+#define NSP_CloseSocket closesocket
+//for sleep
+#define NSP_Sleep(a) Sleep(a*1000)
+
+//for mutex
+#define NSP_Mute_Obj HANDLE
+#define NSP_New_Mute_Obj() CreateMutex (NULL, FALSE, NULL)
+#define NSP_Lock_Mute_Obj(a) WaitForSingleObject(a, INFINITE)
+#define NSP_Unlock_Mute_Obj(a) ReleaseMutex(a)
+#define STRNICMP(a, b ,c) strnicmp(a, b ,c)
+
+#endif //end of WNT
+
+
+#endif //end of __NSP_FUNC_HXX