summaryrefslogtreecommitdiff
path: root/pr/include/md/_win95.h
diff options
context:
space:
mode:
Diffstat (limited to 'pr/include/md/_win95.h')
-rw-r--r--pr/include/md/_win95.h52
1 files changed, 50 insertions, 2 deletions
diff --git a/pr/include/md/_win95.h b/pr/include/md/_win95.h
index 6a9bb271..f2e628f5 100644
--- a/pr/include/md/_win95.h
+++ b/pr/include/md/_win95.h
@@ -51,6 +51,26 @@
#define HAVE_DLL
#undef HAVE_THREAD_AFFINITY
+#define _PR_HAVE_GETADDRINFO
+#define _PR_INET6_PROBE
+#ifndef _PR_INET6
+#define AF_INET6 23
+/* newer ws2tcpip.h provides these */
+#ifndef AI_CANONNAME
+#define AI_CANONNAME 0x2
+struct addrinfo {
+ int ai_flags;
+ int ai_family;
+ int ai_socktype;
+ int ai_protocol;
+ size_t ai_addrlen;
+ char *ai_canonname;
+ struct sockaddr *ai_addr;
+ struct addrinfo *ai_next;
+};
+#endif
+#endif
+#define _PR_HAVE_THREADSAFE_GETHOST
#define _PR_HAVE_ATOMIC_OPS
#define PR_HAVE_WIN32_NAMED_SHARED_MEMORY
@@ -92,6 +112,9 @@ struct _MDThread {
struct PRThread *prev, *next; /* used by the cvar wait queue to
* chain the PRThread structures
* together */
+ void (*start)(void *); /* used by _PR_MD_CREATE_THREAD to
+ * pass its 'start' argument to
+ * pr_root. */
};
struct _MDThreadStack {
@@ -112,6 +135,16 @@ struct _MDDir {
PRUint32 magic; /* for debugging */
};
+#ifdef MOZ_UNICODE
+struct _MDDirUTF16 {
+ HANDLE d_hdl;
+ WIN32_FIND_DATAW d_entry;
+ PRBool firstEntry; /* Is this the entry returned
+ * by FindFirstFileW()? */
+ PRUint32 magic; /* for debugging */
+};
+#endif /* MOZ_UNICODE */
+
struct _MDCVar {
PRUint32 magic;
struct PRThread *waitHead, *waitTail; /* the wait queue: a doubly-
@@ -213,6 +246,15 @@ extern PRInt32 _MD_CloseFile(PRInt32 osfd);
#define _MD_TLOCKFILE _PR_MD_TLOCKFILE
#define _MD_UNLOCKFILE _PR_MD_UNLOCKFILE
+#ifdef MOZ_UNICODE
+/* --- UTF16 IO stuff --- */
+#define _MD_OPEN_FILE_UTF16 _PR_MD_OPEN_FILE_UTF16
+#define _MD_OPEN_DIR_UTF16 _PR_MD_OPEN_DIR_UTF16
+#define _MD_READ_DIR_UTF16 _PR_MD_READ_DIR_UTF16
+#define _MD_CLOSE_DIR_UTF16 _PR_MD_CLOSE_DIR_UTF16
+#define _MD_GETFILEINFO64_UTF16 _PR_MD_GETFILEINFO64_UTF16
+#endif /* MOZ_UNICODE */
+
/* --- Socket IO stuff --- */
#define _MD_EACCES WSAEACCES
#define _MD_EADDRINUSE WSAEADDRINUSE
@@ -243,7 +285,7 @@ extern void _MD_MakeNonblock(PRFileDesc *f);
#define _MD_INIT_FD_INHERITABLE _PR_MD_INIT_FD_INHERITABLE
#define _MD_QUERY_FD_INHERITABLE _PR_MD_QUERY_FD_INHERITABLE
#define _MD_SHUTDOWN _PR_MD_SHUTDOWN
-#define _MD_LISTEN(s, backlog) listen(s->secret->md.osfd,backlog)
+#define _MD_LISTEN _PR_MD_LISTEN
extern PRInt32 _MD_CloseSocket(PRInt32 osfd);
#define _MD_CLOSE_SOCKET _MD_CloseSocket
#define _MD_SENDTO _PR_MD_SENDTO
@@ -394,7 +436,10 @@ extern PRStatus _PR_WaitWindowsProcess(struct PRProcess *process,
extern PRStatus _PR_KillWindowsProcess(struct PRProcess *process);
#define _MD_CLEANUP_BEFORE_EXIT _PR_MD_CLEANUP_BEFORE_EXIT
-#define _MD_INIT_CONTEXT
+#define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
+ PR_BEGIN_MACRO \
+ *status = PR_TRUE; \
+ PR_END_MACRO
#define _MD_SWITCH_CONTEXT
#define _MD_RESTORE_CONTEXT
@@ -405,6 +450,9 @@ extern PRStatus _PR_KillWindowsProcess(struct PRProcess *process);
#define _MD_INTERVAL_PER_MILLISEC() (_PR_MD_INTERVAL_PER_SEC() / 1000)
#define _MD_INTERVAL_PER_MICROSEC() (_PR_MD_INTERVAL_PER_SEC() / 1000000)
+/* --- Time --- */
+extern void _PR_FileTimeToPRTime(const FILETIME *filetime, PRTime *prtm);
+
/* --- Native-Thread Specific Definitions ------------------------------- */
extern struct PRThread * _MD_CURRENT_THREAD(void);