All of lore.kernel.org
 help / color / mirror / Atom feed
* [ SEMANAGE ] Stub record handlers
@ 2005-09-20  8:59 Ivan Gyurdiev
  2005-09-20  9:22 ` [ SEMANAGE ] Fix record handlers, add status codes Ivan Gyurdiev
  2005-09-21 14:41 ` [ SEMANAGE ] Stub record handlers Stephen Smalley
  0 siblings, 2 replies; 6+ messages in thread
From: Ivan Gyurdiev @ 2005-09-20  8:59 UTC (permalink / raw)
  To: selinux

[-- Attachment #1: Type: text/plain, Size: 128 bytes --]

The attached patch stubs out most of the record handlers, and has the 
dbase_* routines fill out parts of the config structure.

[-- Attachment #2: libsemanage.record_handlers.stub.diff --]
[-- Type: text/x-patch, Size: 8695 bytes --]

diff -Naur libsemanage.new/src/database_file.c libsemanage/src/database_file.c
--- libsemanage.new/src/database_file.c	2005-09-20 02:55:29.000000000 -0400
+++ libsemanage/src/database_file.c	2005-09-20 04:51:20.000000000 -0400
@@ -2,6 +2,7 @@
 #include <stddef.h>
 #include "database.h"
 #include "record_file.h"
+#include "record_file_handlers.h"
 #include "users_file.h"
 #include "ports_file.h"
 
@@ -42,11 +43,23 @@
 	record_t data) {
 
 	iterate_config_t config;
+	record_add_arg_t handler_arg;
+
+	handler_arg.rtable = dconfig->rtable;
+	handler_arg.key = key;
+	handler_arg.data = data;
+	/* handler_arg.derr_fatal =  */
+
 	config.rtable = dconfig->rtable;
+	/* config.filename = */
+	/* config.parse_arg = */
+	/* config.perr_fatal = */
+	config.modify = 1;
+	config.handler = record_add;
+	config.handler_arg = &handler_arg;
+	/* config.merr_fatal = */
 
 	/* Stub */
-	key = NULL;
-	data = NULL;
 	return -1;
 }
 
@@ -56,11 +69,23 @@
 	record_t data) {
 
 	iterate_config_t config;
+	record_modify_arg_t handler_arg;
+
+	handler_arg.rtable = dconfig->rtable;
+	handler_arg.key = key;
+	handler_arg.data = data;
+	/* handler_arg.merr_fatal = */
+	
 	config.rtable = dconfig->rtable;
+	/* config.filename = */
+	/* config.parse_arg = */
+	/* config.perr_fatal = */
+	config.modify = 1;
+	config.handler = record_modify;
+	config.handler_arg = &handler_arg;
+	/* config.merr_fatal = */
 
 	/* Stub */
-	key = NULL;
-	data = NULL;
 	return -1;
 }
 
@@ -69,10 +94,21 @@
 	record_key_t key) {
 
 	iterate_config_t config;
+	record_del_arg_t handler_arg;
+
+	handler_arg.rtable = dconfig->rtable;
+	handler_arg.key = key;
+
 	config.rtable = dconfig->rtable;
-	
+	/* config.filename = */
+	/* config.parse_arg = */
+	/* config.perr_fatal = */
+	config.modify = 1;
+	config.handler = record_add;
+	config.handler_arg = &handler_arg;
+	/* config.merr_fatal = */
+
 	/* Stub */
-	key = NULL;
 	return -1;
 }
 
@@ -82,11 +118,22 @@
 	record_t* response) {
 
 	iterate_config_t config;
+	record_query_arg_t handler_arg;
+
+	handler_arg.rtable = dconfig->rtable;
+	handler_arg.key = key;
+	handler_arg.response = response;
+
 	config.rtable = dconfig->rtable;
-	
+	/* config.filename = */
+	/* config.parse_arg = */
+	/* config.perr_fatal = */
+	config.modify = 0;
+	config.handler = record_add;
+	config.handler_arg = &handler_arg;
+	/* config.merr_fatal = */	
+
 	/* Stub */
-	key = NULL;
-	response = NULL;
 	return -1;
 }
 
@@ -96,11 +143,22 @@
 	int* response) {
 
 	iterate_config_t config;
+	record_exists_arg_t handler_arg;
+
+	handler_arg.rtable = dconfig->rtable;
+	handler_arg.key = key;
+	handler_arg.response = response;
+
 	config.rtable = dconfig->rtable;
-	
+	/* config.filename = */
+	/* config.parse_arg = */
+	/* config.perr_fatal = */
+	config.modify = 0;
+	config.handler = record_exists;
+	config.handler_arg = &handler_arg;
+	/* config.merr_fatal = */	
+
 	/* Stub */
-	key = NULL;
-	response = NULL;
 	return -1;
 }
 
@@ -109,26 +167,48 @@
 	int* response) {
 	
 	iterate_config_t config;
+	record_count_arg_t handler_arg;
+
+	handler_arg.rtable = dconfig->rtable;
+	handler_arg.response = response;
+
 	config.rtable = dconfig->rtable;
+	/* config.filename = */
+	/* config.parse_arg = */
+	/* config.perr_fatal = */
+	config.modify = 0;
+	config.handler = record_count;
+	config.handler_arg = &handler_arg;
+	/* config.merr_fatal = */
 
 	/* Stub */
-	response = NULL;
 	return -1;
 }
 
 int dbase_iterate(
 	dbase_config_t* dconfig,
-	int (*handler) (record_key_t key,
-	                record_t record,
-	                void* varg),
-	void* handler_arg) {
-
-	iterate_config_t config;
-	config.rtable = dconfig->rtable;
+	int (*fn) (record_key_t key,
+	           record_t record,
+	           void* varg),
+	void* fn_arg) {
+
+	iterate_config_t config;
+	record_iterate_arg_t handler_arg;
+
+	handler_arg.rtable = dconfig->rtable;
+	handler_arg.fn = fn;
+	handler_arg.fn_arg = fn_arg;
+
+	config.rtable = dconfig->rtable;
+	/* config.filename = */
+	/* config.parse_arg = */
+	/* config.perr_fatal = */
+	config.modify = 0;
+	config.handler = record_iterate;
+	config.handler_arg = &handler_arg;
+	/* config.merr_fatal = */
 
 	/* Stub */
-	handler = NULL;
-	handler_arg = NULL;
 	return -1;
 }
 
@@ -140,6 +220,13 @@
 
 	iterate_config_t config;
 	config.rtable = dconfig->rtable;
+	/* config.filename = */
+	/* config.parse_arg = */
+	/* config.perr_fatal = */
+	config.modify = 0;
+	/* config.handler = */
+	/* config.handler_arg = */
+	/* config.merr_fatal = */
 
 	/* Stub */
 	keyset = NULL;
diff -Naur libsemanage.new/src/database.h libsemanage/src/database.h
--- libsemanage.new/src/database.h	2005-09-14 11:44:44.000000000 -0400
+++ libsemanage/src/database.h	2005-09-20 04:49:25.000000000 -0400
@@ -47,10 +47,10 @@
 
 extern int dbase_iterate(
 	dbase_config_t* dconfig,
-	int (*handler) (record_key_t key,
-	                record_t record,
-	                void* varg),
-	void* handler_arg);
+	int (*fn) (record_key_t key,
+	           record_t record,
+	           void* varg),
+	void* fn_arg);
 
 extern int dbase_list(
 	dbase_config_t* dconfig,
diff -Naur libsemanage.new/src/record_file_handlers.c libsemanage/src/record_file_handlers.c
--- libsemanage.new/src/record_file_handlers.c	1969-12-31 19:00:00.000000000 -0500
+++ libsemanage/src/record_file_handlers.c	2005-09-20 04:54:00.000000000 -0400
@@ -0,0 +1,71 @@
+#include "record_file.h"
+#include "record_file_handlers.h"
+
+#ifndef RECORD_DEFINED
+typedef void* record_t;
+typedef void* record_key_t;
+#define RECORD_DEFINED
+#endif
+
+int record_query(record_t process_rec, record_t unused, void* varg) {
+
+	/* Stub */
+	process_rec = NULL;
+	unused = NULL;
+	varg = NULL;
+	return RECORD_HANDLER_SIGEXIT;
+}
+
+int record_exists(record_t process_rec, record_t unused, void* varg) {
+
+	/* Stub */
+	process_rec = NULL;
+	unused = NULL;
+	varg = NULL;
+	return RECORD_HANDLER_SIGEXIT;
+}
+
+int record_add(record_t process_rec, record_t* new_rec, void* varg) {
+	
+	/* Stub */
+	process_rec = NULL;
+	new_rec = NULL;
+	varg = NULL;
+	return RECORD_HANDLER_SIGEXIT;
+}
+
+int record_modify (record_t process_rec, record_t* new_rec, void* varg) {
+
+	/* Stub */
+	process_rec = NULL;
+	new_rec = NULL;
+	varg = NULL;
+	return RECORD_HANDLER_SIGEXIT;
+}
+
+int record_del(record_t process_rec, record_t* unused, void* varg) {
+
+	/* Stub */
+	process_rec = NULL;
+	unused = NULL;
+	varg = NULL;
+	return RECORD_HANDLER_SIGEXIT;
+}
+
+int record_count(record_t process_rec, record_t* unused, void* varg) {
+
+	/* Stub */
+	process_rec = NULL;
+	unused = NULL;
+	varg = NULL;
+	return RECORD_HANDLER_SIGEXIT;
+}
+
+int record_iterate(record_t process_rec, record_t* unused, void* varg) {
+
+	/* Stub */
+	process_rec = NULL;
+	unused = NULL;
+	varg = NULL;
+	return RECORD_HANDLER_SIGEXIT;
+}
diff -Naur libsemanage.new/src/record_file_handlers.h libsemanage/src/record_file_handlers.h
--- libsemanage.new/src/record_file_handlers.h	1969-12-31 19:00:00.000000000 -0500
+++ libsemanage/src/record_file_handlers.h	2005-09-20 04:53:26.000000000 -0400
@@ -0,0 +1,62 @@
+#ifndef _SEMANAGE_RECORD_FILE_HANDLERS_H_
+#define _SEMANAGE_RECORD_FILE_HANDLERS_H_
+
+#include "record_file.h"
+
+#ifndef RECORD_DEFINED
+typedef void* record_t;
+typedef void* record_key_t;
+#define RECORD_DEFINED
+#endif
+
+typedef struct record_query_arg {
+	record_table_t* rtable;
+	record_key_t key;
+	record_t* response;
+} record_query_arg_t;
+
+typedef struct record_del_arg {
+	record_table_t* rtable;
+	record_key_t key;
+} record_del_arg_t;
+
+typedef struct record_exists_arg {
+	record_table_t* rtable;
+	record_key_t key;
+	int* response;
+} record_exists_arg_t;
+
+typedef struct record_add_arg {
+	record_table_t* rtable;
+	record_key_t key;
+	record_t data;
+	int derr_fatal;
+} record_add_arg_t;
+
+typedef struct record_modify_arg {
+	record_table_t* rtable;
+	record_key_t key;
+	record_t data;
+	int merr_fatal;
+} record_modify_arg_t;
+
+typedef struct record_count_arg {
+	record_table_t* rtable;
+	int* response;
+} record_count_arg_t;
+
+typedef struct record_iterate_arg {
+	record_table_t* rtable;
+	int (*fn) (record_key_t key, record_t rec, void* varg);
+	void* fn_arg;
+} record_iterate_arg_t;
+
+extern int record_query(record_t rec, record_t unused, void* varg);
+extern int record_exists(record_t rec, record_t unused, void* varg);
+extern int record_add(record_t rec, record_t* new_rec, void* varg);
+extern int record_modify (record_t rec, record_t* new_rec, void* varg);
+extern int record_del(record_t rec, record_t* unused, void* varg);
+extern int record_count(record_t rec, record_t* unused, void* varg);
+extern int record_iterate(record_t rec, record_t* unused, void* varg);
+
+#endif

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-09-21 15:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-20  8:59 [ SEMANAGE ] Stub record handlers Ivan Gyurdiev
2005-09-20  9:22 ` [ SEMANAGE ] Fix record handlers, add status codes Ivan Gyurdiev
2005-09-21 14:42   ` Stephen Smalley
2005-09-21 15:19     ` Ivan Gyurdiev
2005-09-21 15:36       ` Stephen Smalley
2005-09-21 14:41 ` [ SEMANAGE ] Stub record handlers Stephen Smalley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.