initial revision
[swftools.git] / pdf2swf / ttf2pt1 / windows.h
diff --git a/pdf2swf/ttf2pt1/windows.h b/pdf2swf/ttf2pt1/windows.h
new file mode 100644 (file)
index 0000000..a90ecf7
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * Implementation of things missing in Windows
+ */
+
+#ifndef M_PI
+#define M_PI  3.14159265358979323846
+#endif
+
+#undef ntohs
+#undef ntohl
+#undef htonl
+
+#ifdef WINDOWS_FUNCTIONS
+/* byte order */
+
+static unsigned short StoM(unsigned short inv) {
+    union iconv {
+        unsigned short    ui;
+        unsigned char   uc[2];
+    } *inp, outv;
+
+    inp = (union iconv *)&inv;
+
+    outv.uc[0] = inp->uc[1];
+    outv.uc[1] = inp->uc[0];
+    return (outv.ui);
+}
+
+static unsigned int ItoM(unsigned int inv) {
+    union iconv {
+        unsigned int    ui;
+        unsigned char   uc[4];
+    } *inp, outv;
+
+    inp = (union iconv *)&inv;
+
+    outv.uc[0] = inp->uc[3];
+    outv.uc[1] = inp->uc[2];
+    outv.uc[2] = inp->uc[1];
+    outv.uc[3] = inp->uc[0];
+
+    return (outv.ui);
+}
+
+unsigned short ntohs(unsigned short inv) { return StoM(inv); }
+unsigned long ntohl(unsigned long inv) { return ItoM(inv); }
+unsigned long htonl(unsigned long inv) { return ItoM(inv); }
+
+char *optarg;
+int optind=1;
+
+char getopt(int argc, char **argv, char *args) {
+       int n,nlen=strlen(args),nLen=0;
+       char nCmd;
+       
+       if (argv[optind] && *argv[optind]=='-') {
+               nCmd=*((argv[optind]+1));
+
+               for (n=0;n<nlen;n++) {
+                       if (args[n] == ':') continue;
+                       if (args[n] == nCmd) {
+                               if (args[n+1]==':') {
+                                       char retVal;
+                                       retVal=*(argv[optind]+1);
+                                       optarg=argv[optind+1];
+                                       if (!optarg) optarg="";
+                                       optind+=2;
+                                       return retVal;
+                               } else {
+                                       char retVal;
+                                       retVal=*(argv[optind]+1);
+                                       optarg=NULL;
+                                       optind+=1;
+                                       return retVal;
+                               }
+                       }
+               }       
+       }
+       return -1;
+}
+
+#else
+
+unsigned short ntohs(unsigned short inv);
+unsigned long ntohl(unsigned long inv);
+unsigned long htonl(unsigned long inv);
+
+extern char *optarg;
+extern int optind;
+
+char getopt(int argc, char **argv, char *args);
+#endif