[Feature] add GA346 baseline version

Change-Id: Ic62933698569507dcf98240cdf5d9931ae34348f
diff --git a/src/extended/hw_nat/ac_api.c b/src/extended/hw_nat/ac_api.c
new file mode 100644
index 0000000..2f448b9
--- /dev/null
+++ b/src/extended/hw_nat/ac_api.c
@@ -0,0 +1,50 @@
+#include <stdlib.h>             
+#include <stdio.h>             
+#include <string.h>           
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include "ac_ioctl.h"
+
+int SetAcEntry(struct ac_args *opt, unsigned int cmd)
+{
+    int fd;
+
+    fd = open("/dev/"AC_DEVNAME, O_RDONLY);
+    if (fd < 0)
+    {
+        printf("Open %s pseudo device failed\n","/dev/"AC_DEVNAME);
+        return AC_FAIL;
+    }
+
+    if(ioctl(fd, cmd, opt)<0) {
+        printf("AC_API: ioctl error\n");
+        close(fd);
+        return AC_FAIL;
+    }
+
+    close(fd);
+    return AC_SUCCESS;
+}
+
+
+int GetAcEntry(struct ac_args *opt, unsigned int cmd)
+{
+    int fd;
+
+    fd = open("/dev/"AC_DEVNAME, O_RDONLY);
+    if (fd < 0)
+    {
+	printf("Open %s pseudo device failed\n","/dev/"AC_DEVNAME);
+	return AC_FAIL;
+    }
+
+    if(ioctl(fd, cmd, opt)<0) {
+	printf("AC_API: ioctl error\n");
+	close(fd);
+	return AC_FAIL;
+    }
+
+    close(fd);
+    return AC_SUCCESS;
+}