PostgreSQL Source Code  git master
seclabel.h
Go to the documentation of this file.
1 /*
2  * seclabel.h
3  *
4  * Prototypes for functions in commands/seclabel.c
5  *
6  * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  */
9 #ifndef SECLABEL_H
10 #define SECLABEL_H
11 
12 #include "catalog/objectaddress.h"
13 
14 /*
15  * Internal APIs
16  */
17 extern char *GetSecurityLabel(const ObjectAddress *object,
18  const char *provider);
19 extern void SetSecurityLabel(const ObjectAddress *object,
20  const char *provider, const char *label);
21 extern void DeleteSecurityLabel(const ObjectAddress *object);
22 extern void DeleteSharedSecurityLabel(Oid objectId, Oid classId);
23 
24 /*
25  * Statement and ESP hook support
26  */
28 
29 typedef void (*check_object_relabel_type) (const ObjectAddress *object,
30  const char *seclabel);
31 extern void register_label_provider(const char *provider,
33 
34 #endif /* SECLABEL_H */
unsigned int Oid
Definition: postgres_ext.h:31
static JitProviderCallbacks provider
Definition: jit.c:43
void register_label_provider(const char *provider, check_object_relabel_type hook)
Definition: seclabel.c:493
void(* check_object_relabel_type)(const ObjectAddress *object, const char *seclabel)
Definition: seclabel.h:29
ObjectAddress ExecSecLabelStmt(SecLabelStmt *stmt)
Definition: seclabel.c:44
static char * label
void DeleteSharedSecurityLabel(Oid objectId, Oid classId)
Definition: seclabel.c:414
char * GetSecurityLabel(const ObjectAddress *object, const char *provider)
Definition: seclabel.c:195
void SetSecurityLabel(const ObjectAddress *object, const char *provider, const char *label)
Definition: seclabel.c:327
void DeleteSecurityLabel(const ObjectAddress *object)
Definition: seclabel.c:446