Header And Logo

PostgreSQL
| The world's most advanced open source database.

seclabel.h

Go to the documentation of this file.
00001 /*
00002  * seclabel.h
00003  *
00004  * Prototypes for functions in commands/seclabel.c
00005  *
00006  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00007  * Portions Copyright (c) 1994, Regents of the University of California
00008  */
00009 #ifndef SECLABEL_H
00010 #define SECLABEL_H
00011 
00012 #include "catalog/objectaddress.h"
00013 
00014 /*
00015  * Internal APIs
00016  */
00017 extern char *GetSecurityLabel(const ObjectAddress *object,
00018                  const char *provider);
00019 extern void SetSecurityLabel(const ObjectAddress *object,
00020                  const char *provider, const char *label);
00021 extern void DeleteSecurityLabel(const ObjectAddress *object);
00022 extern void DeleteSharedSecurityLabel(Oid objectId, Oid classId);
00023 
00024 /*
00025  * Statement and ESP hook support
00026  */
00027 extern Oid ExecSecLabelStmt(SecLabelStmt *stmt);
00028 
00029 typedef void (*check_object_relabel_type) (const ObjectAddress *object,
00030                                                        const char *seclabel);
00031 extern void register_label_provider(const char *provider,
00032                         check_object_relabel_type hook);
00033 
00034 #endif   /* SECLABEL_H */