First Commit with CCN Sync
diff --git a/nlsr-sync-0.0/nlsrc.c b/nlsr-sync-0.0/nlsrc.c
new file mode 100755
index 0000000..44ce2ad
--- /dev/null
+++ b/nlsr-sync-0.0/nlsrc.c
@@ -0,0 +1,101 @@
+//1. Make the necessary includes and set up the variables:
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <stdio.h>
+#include <sys/un.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#include <arpa/inet.h>
+#include <getopt.h>
+
+struct option longopts[] =
+{
+ { "server_ip", required_argument, NULL, 's'},
+ { "server_port", required_argument, NULL, 'p'},
+ { 0 }
+};
+
+static int
+usage(char *progname)
+{
+ printf("Usage: %s [OPTIONS...]\n\
+ NLSR Api client....\n\
+ nlsrc -s server_ip -p server_port add|del name|neighbor name_prefix [faceX] \n\
+ add/del, -- adding/deleting operation\n\
+ name/neighbor, -- Operation for name/neighbor\n\
+ name_name, -- Name prefix for name/neighbor\n\
+ faceX, -- Face Id for neighbor if third argument is neighbor\n", progname);
+
+ exit(1);
+}
+
+int main(int argc, char *argv[])
+{
+ int sockfd;
+ int len;
+ struct sockaddr_in address;
+ int result;
+ int byteSend;
+ char *server_address, *server_port;
+
+ int command_len=0;
+ int i;
+
+ if (argc < 8 )
+ usage(argv[0]);
+ if ( strcmp(argv[6],"neighbor") == 0 && argc <9 )
+ usage(argv[0]);
+
+ while ((result = getopt_long(argc, argv, "s:p:", longopts, 0)) != -1)
+ {
+ switch (result)
+ {
+ case 's':
+ server_address = optarg;
+ break;
+ case 'p':
+ server_port = optarg;
+ break;
+ }
+ }
+
+
+ char recv_buffer[1024];
+ bzero(recv_buffer,1024);
+
+ for(i=5;i<argc;i++)
+ command_len+=(strlen(argv[i])+1);
+ char *command=malloc(command_len);
+ memset(command,command_len+1,0);
+ for(i=5;i<argc;i++)
+ {
+ memcpy(command+strlen(command),argv[i],strlen(argv[i]));
+ if ( i < argc-1 )
+ memcpy(command+strlen(command)," ",1);
+ }
+
+ sockfd = socket(AF_INET, SOCK_STREAM, 0);
+ //address.sun_family = AF_UNIX;
+ //strcpy(address.sun_path, "/tmp/nlsr_api_server_socket");
+ address.sin_family = AF_INET;
+ address.sin_addr.s_addr = inet_addr(server_address);
+ address.sin_port = atoi(server_port);
+
+ len = sizeof(address);
+ result = connect(sockfd, (struct sockaddr *)&address, len);
+ if(result == -1)
+ {
+ perror("oops nlsrc ");
+ exit(1);
+ }
+ printf("Command to send: %s \n",command);
+ byteSend=send(sockfd, command, strlen(command),0);
+ recv(sockfd, recv_buffer, 1024, 0);
+ printf("%s\n",recv_buffer);
+ free(command);
+ close(sockfd);
+ exit(0);
+}