diff --git a/ccnx/sync-app-socket-c.cc b/ccnx/sync-app-socket-c.cc
index cefd73c..ef4e6b6 100644
--- a/ccnx/sync-app-socket-c.cc
+++ b/ccnx/sync-app-socket-c.cc
@@ -113,7 +113,7 @@
 // should fix this "feature"
 extern "C" 
 int
-sync_app_socket_publish(SyncAppSocketStruct *sock, const char *prefix, int session, const char *buf, int freshness) 
+sync_app_socket_publish(const SyncAppSocketStruct *sock, const char *prefix, int session, const char *buf, int freshness) 
 {
   SyncAppSocket *temp = (SyncAppSocket*) sock;
   return temp->publishString(prefix, session, buf, freshness);
@@ -121,7 +121,7 @@
 
 extern "C"
 void
-sync_app_socket_remove(SyncAppSocketStruct *sock, const char *prefix) 
+sync_app_socket_remove(const SyncAppSocketStruct *sock, const char *prefix) 
 {
   SyncAppSocket *temp = (SyncAppSocket*) sock;
   temp->remove(prefix);
@@ -129,8 +129,8 @@
 
 extern "C"
 void
-sync_app_socket_fetch(SyncAppSocketStruct *sock, const char *prefix, int session, int sequence, 
-    void (*callback)(const char*, const char*), int retry = 0)
+sync_app_socket_fetch(const SyncAppSocketStruct *sock, const char *prefix, int session, int sequence, 
+    void (*callback)(const char*, const char*), int retry)
 {
   SyncAppSocket *temp = (SyncAppSocket*) sock;
   string s(prefix);
@@ -140,3 +140,4 @@
 
   temp->fetchString(s, seq, cb, retry);
 }
+
diff --git a/include/sync-app-socket-c.h b/include/sync-app-socket-c.h
index 6a5a0a0..7ab9e70 100644
--- a/include/sync-app-socket-c.h
+++ b/include/sync-app-socket-c.h
@@ -38,13 +38,13 @@
   };
 
   SyncAppSocketStruct *create_sync_app_socket(const char *prefix, 
-      void (*updatecallback)(const struct MissingDataInfo*, const int, const SyncAppSocketStruct*),
+      void (*updatecallback)(const struct MissingDataInfoC*, const int, const SyncAppSocketStruct*),
       void (*removecallback)(const char *));
   void delete_sync_app_socket(SyncAppSocketStruct **sock);
-  int sync_app_socket_publish(SyncAppSocketStruct *sock, const char *prefix, int session, const char *buf, int freshness);
-  void sync_app_socket_remove(SyncAppSocketStruct *sock, const char *prefix);
-  void sync_app_socket_fetch(SyncAppSocketStruct *sock, const char *prefix, int session, int seq,
-      void (*callback)(const char*, const char*), int retry = 0);
+  int sync_app_socket_publish(const SyncAppSocketStruct *sock, const char *prefix, int session, const char *buf, int freshness);
+  void sync_app_socket_remove(const SyncAppSocketStruct *sock, const char *prefix);
+  void sync_app_socket_fetch(const SyncAppSocketStruct *sock, const char *prefix, int session, int seq,
+      void (*callback)(const char*, const char*), int retry);
 #ifdef __cplusplus
 }
 #endif
