r10614: 2005-07-05 Kevin Rosenberg (kevin@rosenberg.net)
[uffi.git] / examples / c-test-fns.c
index 05244b80601358519d072453e65da11a8763d399..1f60e7757420c509ae140e1faea4be4b5b80ce55 100644 (file)
@@ -6,31 +6,38 @@
  *  Programer:    Kevin M. Rosenberg
  *  Date Started: Mar 2002
  *
- *  CVS Id:   $Id: c-test-fns.c,v 1.2 2002/03/21 04:04:45 kevin Exp $
+ *  CVS Id:   $Id$
  *
- * This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
+ * This file, part of UFFI, is Copyright (c) 2002-2005 by Kevin M. Rosenberg
  *
- * UFFI users are granted the rights to distribute and use this software
- * as governed by the terms of the Lisp Lesser GNU Public License
- * (http://opensource.franz.com/preamble.html), also known as the LLGPL.
-
  * These variables are correct for GCC
  * you'll need to modify these for other compilers
  ***************************************************************************/
 
 #ifdef WIN32
 #include <windows.h>
+
+BOOL WINAPI DllEntryPoint(HINSTANCE hinstdll,
+                          DWORD fdwReason,
+                          LPVOID lpvReserved)
+{
+        return 1;
+}
+       
+#define DLLEXPORT __declspec(dllexport)
+
+#else
+#define DLLEXPORT 
 #endif
 
 #include <ctype.h>
 #include <stdlib.h>
+#include <math.h>
 
 
 /* Test of constant input string */
+DLLEXPORT
 int
-#ifdef WIN32
-WINAPI
-#endif
 cs_count_upper (char* psz)
 {
   int count = 0;
@@ -47,10 +54,8 @@ cs_count_upper (char* psz)
 }
 
 /* Test of input and output of a string */
+DLLEXPORT
 void
-#ifdef WIN32
-WINAPI
-#endif
 cs_to_upper (char* psz)
 {
   if (psz) {
@@ -62,10 +67,8 @@ cs_to_upper (char* psz)
 }
 
 /* Test of an output only string */
+DLLEXPORT
 void
-#ifdef WIN32
-WINAPI
-#endif
 cs_make_random (int size, char* buffer)
 {
   int i;
@@ -74,5 +77,15 @@ cs_make_random (int size, char* buffer)
 }
 
     
+/* Test of input/output vector */
+DLLEXPORT
+void
+half_double_vector (int size, double* vec)
+{
+  int i;
+  for (i = 0; i < size; i++)
+    vec[i] /= 2.;
+}
 
     
+