[Feature] add GA346 baseline version

Change-Id: Ic62933698569507dcf98240cdf5d9931ae34348f
diff --git a/src/extended/hw_nat/acl_api.c b/src/extended/hw_nat/acl_api.c
new file mode 100644
index 0000000..3ee3fae
--- /dev/null
+++ b/src/extended/hw_nat/acl_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 "acl_ioctl.h"
+
+int SetAclEntry(struct acl_args *opt, unsigned int cmd)
+{
+    int fd;
+
+    fd = open("/dev/"ACL_DEVNAME, O_RDONLY);
+    if (fd < 0)
+    {
+	printf("Open %s pseudo device failed\n","/dev/"ACL_DEVNAME);
+	return ACL_FAIL;
+    }
+
+    if(ioctl(fd, cmd, opt)<0) {
+	printf("ACL_API: ioctl error\n");
+	close(fd);
+	return ACL_FAIL;
+    }
+
+    close(fd);
+    return ACL_SUCCESS;
+}
+int AclGetAllEntries(struct acl_list_args *opt)
+{
+    int fd=0;
+
+    fd = open("/dev/"ACL_DEVNAME, O_RDONLY);
+    if (fd < 0)
+    {
+	printf("Open %s pseudo device failed\n","/dev/"ACL_DEVNAME);
+	return ACL_FAIL;
+    }
+
+    if(ioctl(fd, ACL_GET_ALL_ENTRIES, opt)<0) {
+	printf("ACL_API: ioctl error\n");
+	close(fd);
+	return ACL_FAIL;
+    }
+
+    close(fd);
+    
+    return ACL_SUCCESS;
+
+}