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-2025, 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
13
14/*
15 * Internal APIs
16 */
17extern char *GetSecurityLabel(const ObjectAddress *object,
18 const char *provider);
19extern void SetSecurityLabel(const ObjectAddress *object,
20 const char *provider, const char *label);
21extern void DeleteSecurityLabel(const ObjectAddress *object);
22extern void DeleteSharedSecurityLabel(Oid objectId, Oid classId);
23
24/*
25 * Statement and ESP hook support
26 */
28
29typedef void (*check_object_relabel_type) (const ObjectAddress *object,
30 const char *seclabel);
31extern void register_label_provider(const char *provider_name,
33
34#endif /* SECLABEL_H */
#define stmt
Definition: indent_codes.h:59
static JitProviderCallbacks provider
Definition: jit.c:43
static char * label
unsigned int Oid
Definition: postgres_ext.h:32
void SetSecurityLabel(const ObjectAddress *object, const char *provider, const char *label)
Definition: seclabel.c:404
ObjectAddress ExecSecLabelStmt(SecLabelStmt *stmt)
Definition: seclabel.c:115
void register_label_provider(const char *provider_name, check_object_relabel_type hook)
Definition: seclabel.c:570
char * GetSecurityLabel(const ObjectAddress *object, const char *provider)
Definition: seclabel.c:272
void(* check_object_relabel_type)(const ObjectAddress *object, const char *seclabel)
Definition: seclabel.h:29
void DeleteSecurityLabel(const ObjectAddress *object)
Definition: seclabel.c:523
void DeleteSharedSecurityLabel(Oid objectId, Oid classId)
Definition: seclabel.c:491