Move all rs* generated functions to be extern "C".

Change-Id: Ie99117ce8ec50e56ae29eb748f3b7e0b319da76f
diff --git a/rsg_generator.c b/rsg_generator.c
index ca26851..fd531b6 100644
--- a/rsg_generator.c
+++ b/rsg_generator.c
@@ -123,9 +123,12 @@
     fprintf(f, ")");
 }
 
-void printFuncDecls(FILE *f, const char *prefix, int addContext) {
+void printFuncDecls(FILE *f, const char *prefix, int addContext, int externC) {
     int ct;
     for (ct=0; ct < apiCount; ct++) {
+        if (externC) {
+            fprintf(f, "extern \"C\" ");
+        }
         printFuncDecl(f, &apis[ct], prefix, addContext, 0);
         fprintf(f, ";\n");
     }
@@ -400,6 +403,8 @@
         int needFlush = 0;
         const ApiEntry * api = &apis[ct];
 
+        fprintf(f, "extern \"C\" ");
+
         printFuncDecl(f, api, "rs", 0, 0);
         fprintf(f, "\n{\n");
         fprintf(f, "    ");
@@ -655,7 +660,7 @@
             fprintf(f, "namespace android {\n");
             fprintf(f, "namespace renderscript {\n");
             printStructures(f);
-            printFuncDecls(f, "rsi_", 1);
+            printFuncDecls(f, "rsi_", 1, 0);
             printPlaybackFuncs(f, "rsp_");
             fprintf(f, "\n\ntypedef struct RsPlaybackRemoteHeaderRec {\n");
             fprintf(f, "    uint32_t command;\n");
@@ -673,7 +678,7 @@
 
         case '1': // rsgApiFuncDecl.h
         {
-            printFuncDecls(f, "rs", 0);
+            printFuncDecls(f, "rs", 0, 1);
         }
         break;