Eneboo - Documentación para desarrolladores
Clases | 'defines' | 'typedefs' | Enumeraciones | Funciones
Referencia del Archivo src/libpq/include/utils/acl.h
#include "nodes/parsenodes.h"
#include "utils/array.h"

Ir al código fuente de este archivo.

Clases

struct  AclItem

'defines'

#define ACL_ID_PUBLIC   0
#define ACLITEM_GET_PRIVS(item)   ((item).ai_privs & 0xFFFF)
#define ACLITEM_GET_GOPTIONS(item)   (((item).ai_privs >> 16) & 0xFFFF)
#define ACLITEM_GET_RIGHTS(item)   ((item).ai_privs)
#define ACL_GRANT_OPTION_FOR(privs)   (((AclMode) (privs) & 0xFFFF) << 16)
#define ACL_OPTION_TO_PRIVS(privs)   (((AclMode) (privs) >> 16) & 0xFFFF)
#define ACLITEM_SET_PRIVS(item, privs)
#define ACLITEM_SET_GOPTIONS(item, goptions)
#define ACLITEM_SET_RIGHTS(item, rights)   ((item).ai_privs = (AclMode) (rights))
#define ACLITEM_SET_PRIVS_GOPTIONS(item, privs, goptions)
#define ACLITEM_ALL_PRIV_BITS   ((AclMode) 0xFFFF)
#define ACLITEM_ALL_GOPTION_BITS   ((AclMode) 0xFFFF << 16)
#define ACL_NUM(ACL)   (ARR_DIMS(ACL)[0])
#define ACL_DAT(ACL)   ((AclItem *) ARR_DATA_PTR(ACL))
#define ACL_N_SIZE(N)   (ARR_OVERHEAD(1) + ((N) * sizeof(AclItem)))
#define ACL_SIZE(ACL)   ARR_SIZE(ACL)
#define IDLIST_NUM(IDL)   (ARR_DIMS(IDL)[0])
#define IDLIST_DAT(IDL)   ((Oid *) ARR_DATA_PTR(IDL))
#define IDLIST_N_SIZE(N)   (ARR_OVERHEAD(1) + ((N) * sizeof(Oid)))
#define IDLIST_SIZE(IDL)   ARR_SIZE(IDL)
#define DatumGetAclItemP(X)   ((AclItem *) DatumGetPointer(X))
#define PG_GETARG_ACLITEM_P(n)   DatumGetAclItemP(PG_GETARG_DATUM(n))
#define PG_RETURN_ACLITEM_P(x)   PG_RETURN_POINTER(x)
#define DatumGetAclP(X)   ((Acl *) PG_DETOAST_DATUM(X))
#define DatumGetAclPCopy(X)   ((Acl *) PG_DETOAST_DATUM_COPY(X))
#define PG_GETARG_ACL_P(n)   DatumGetAclP(PG_GETARG_DATUM(n))
#define PG_GETARG_ACL_P_COPY(n)   DatumGetAclPCopy(PG_GETARG_DATUM(n))
#define PG_RETURN_ACL_P(x)   PG_RETURN_POINTER(x)
#define DatumGetIdListP(X)   ((IdList *) PG_DETOAST_DATUM(X))
#define DatumGetIdListPCopy(X)   ((IdList *) PG_DETOAST_DATUM_COPY(X))
#define PG_GETARG_IDLIST_P(n)   DatumGetIdListP(PG_GETARG_DATUM(n))
#define PG_GETARG_IDLIST_P_COPY(n)   DatumGetIdListPCopy(PG_GETARG_DATUM(n))
#define PG_RETURN_IDLIST_P(x)   PG_RETURN_POINTER(x)
#define ACL_MODECHG_ADD   1
#define ACL_MODECHG_DEL   2
#define ACL_MODECHG_EQL   3
#define ACL_INSERT_CHR   'a'
#define ACL_SELECT_CHR   'r'
#define ACL_UPDATE_CHR   'w'
#define ACL_DELETE_CHR   'd'
#define ACL_RULE_CHR   'R'
#define ACL_REFERENCES_CHR   'x'
#define ACL_TRIGGER_CHR   't'
#define ACL_EXECUTE_CHR   'X'
#define ACL_USAGE_CHR   'U'
#define ACL_CREATE_CHR   'C'
#define ACL_CREATE_TEMP_CHR   'T'
#define ACL_ALL_RIGHTS_STR   "arwdRxtXUCT"
#define ACL_ALL_RIGHTS_RELATION   (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_RULE|ACL_REFERENCES|ACL_TRIGGER)
#define ACL_ALL_RIGHTS_DATABASE   (ACL_CREATE|ACL_CREATE_TEMP)
#define ACL_ALL_RIGHTS_FUNCTION   (ACL_EXECUTE)
#define ACL_ALL_RIGHTS_LANGUAGE   (ACL_USAGE)
#define ACL_ALL_RIGHTS_NAMESPACE   (ACL_USAGE|ACL_CREATE)
#define ACL_ALL_RIGHTS_TABLESPACE   (ACL_CREATE)

'typedefs'

typedef struct AclItem AclItem
typedef ArrayType Acl
typedef ArrayType IdList
typedef enum AclObjectKind AclObjectKind

Enumeraciones

enum  AclMaskHow { ACLMASK_ALL, ACLMASK_ANY }
enum  AclResult { ACLCHECK_OK = 0, ACLCHECK_NO_PRIV, ACLCHECK_NOT_OWNER }
enum  AclObjectKind {
  ACL_KIND_CLASS, ACL_KIND_DATABASE, ACL_KIND_PROC, ACL_KIND_OPER,
  ACL_KIND_TYPE, ACL_KIND_LANGUAGE, ACL_KIND_NAMESPACE, ACL_KIND_OPCLASS,
  ACL_KIND_CONVERSION, ACL_KIND_TABLESPACE, MAX_ACL_KIND
}

Funciones

Aclacldefault (GrantObjectType objtype, Oid ownerId)
Aclaclupdate (const Acl *old_acl, const AclItem *mod_aip, int modechg, Oid ownerId, DropBehavior behavior)
Aclaclnewowner (const Acl *old_acl, Oid oldOwnerId, Oid newOwnerId)
AclMode aclmask (const Acl *acl, Oid roleid, Oid ownerId, AclMode mask, AclMaskHow how)
int aclmembers (const Acl *acl, Oid **roleids)
bool has_privs_of_role (Oid member, Oid role)
bool is_member_of_role (Oid member, Oid role)
bool is_member_of_role_nosuper (Oid member, Oid role)
bool is_admin_of_role (Oid member, Oid role)
void check_is_member_of_role (Oid member, Oid role)
void select_best_grantor (Oid roleId, AclMode privileges, const Acl *acl, Oid ownerId, Oid *grantorId, AclMode *grantOptions)
void initialize_acl (void)
Datum aclitemin (PG_FUNCTION_ARGS)
Datum aclitemout (PG_FUNCTION_ARGS)
Datum aclinsert (PG_FUNCTION_ARGS)
Datum aclremove (PG_FUNCTION_ARGS)
Datum aclcontains (PG_FUNCTION_ARGS)
Datum makeaclitem (PG_FUNCTION_ARGS)
Datum aclitem_eq (PG_FUNCTION_ARGS)
Datum hash_aclitem (PG_FUNCTION_ARGS)
void ExecuteGrantStmt (GrantStmt *stmt)
AclMode pg_class_aclmask (Oid table_oid, Oid roleid, AclMode mask, AclMaskHow how)
AclMode pg_database_aclmask (Oid db_oid, Oid roleid, AclMode mask, AclMaskHow how)
AclMode pg_proc_aclmask (Oid proc_oid, Oid roleid, AclMode mask, AclMaskHow how)
AclMode pg_language_aclmask (Oid lang_oid, Oid roleid, AclMode mask, AclMaskHow how)
AclMode pg_namespace_aclmask (Oid nsp_oid, Oid roleid, AclMode mask, AclMaskHow how)
AclMode pg_tablespace_aclmask (Oid spc_oid, Oid roleid, AclMode mask, AclMaskHow how)
AclResult pg_class_aclcheck (Oid table_oid, Oid roleid, AclMode mode)
AclResult pg_database_aclcheck (Oid db_oid, Oid roleid, AclMode mode)
AclResult pg_proc_aclcheck (Oid proc_oid, Oid roleid, AclMode mode)
AclResult pg_language_aclcheck (Oid lang_oid, Oid roleid, AclMode mode)
AclResult pg_namespace_aclcheck (Oid nsp_oid, Oid roleid, AclMode mode)
AclResult pg_tablespace_aclcheck (Oid spc_oid, Oid roleid, AclMode mode)
void aclcheck_error (AclResult aclerr, AclObjectKind objectkind, const char *objectname)
bool pg_class_ownercheck (Oid class_oid, Oid roleid)
bool pg_type_ownercheck (Oid type_oid, Oid roleid)
bool pg_oper_ownercheck (Oid oper_oid, Oid roleid)
bool pg_proc_ownercheck (Oid proc_oid, Oid roleid)
bool pg_namespace_ownercheck (Oid nsp_oid, Oid roleid)
bool pg_tablespace_ownercheck (Oid spc_oid, Oid roleid)
bool pg_opclass_ownercheck (Oid opc_oid, Oid roleid)
bool pg_database_ownercheck (Oid db_oid, Oid roleid)
bool pg_conversion_ownercheck (Oid conv_oid, Oid roleid)

Documentación de los 'defines'

#define ACL_ALL_RIGHTS_DATABASE   (ACL_CREATE|ACL_CREATE_TEMP)
#define ACL_ALL_RIGHTS_FUNCTION   (ACL_EXECUTE)
#define ACL_ALL_RIGHTS_LANGUAGE   (ACL_USAGE)
#define ACL_ALL_RIGHTS_NAMESPACE   (ACL_USAGE|ACL_CREATE)
#define ACL_ALL_RIGHTS_RELATION   (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_RULE|ACL_REFERENCES|ACL_TRIGGER)
#define ACL_ALL_RIGHTS_STR   "arwdRxtXUCT"
#define ACL_ALL_RIGHTS_TABLESPACE   (ACL_CREATE)
#define ACL_CREATE_CHR   'C'
#define ACL_CREATE_TEMP_CHR   'T'
#define ACL_DAT (   ACL)    ((AclItem *) ARR_DATA_PTR(ACL))
#define ACL_DELETE_CHR   'd'
#define ACL_EXECUTE_CHR   'X'
#define ACL_GRANT_OPTION_FOR (   privs)    (((AclMode) (privs) & 0xFFFF) << 16)
#define ACL_ID_PUBLIC   0
#define ACL_INSERT_CHR   'a'
#define ACL_MODECHG_ADD   1
#define ACL_MODECHG_DEL   2
#define ACL_MODECHG_EQL   3
#define ACL_N_SIZE (   N)    (ARR_OVERHEAD(1) + ((N) * sizeof(AclItem)))
#define ACL_NUM (   ACL)    (ARR_DIMS(ACL)[0])
#define ACL_OPTION_TO_PRIVS (   privs)    (((AclMode) (privs) >> 16) & 0xFFFF)
#define ACL_REFERENCES_CHR   'x'
#define ACL_RULE_CHR   'R'
#define ACL_SELECT_CHR   'r'
#define ACL_SIZE (   ACL)    ARR_SIZE(ACL)
#define ACL_TRIGGER_CHR   't'
#define ACL_UPDATE_CHR   'w'
#define ACL_USAGE_CHR   'U'
#define ACLITEM_ALL_GOPTION_BITS   ((AclMode) 0xFFFF << 16)
#define ACLITEM_ALL_PRIV_BITS   ((AclMode) 0xFFFF)
#define ACLITEM_GET_GOPTIONS (   item)    (((item).ai_privs >> 16) & 0xFFFF)
#define ACLITEM_GET_PRIVS (   item)    ((item).ai_privs & 0xFFFF)
#define ACLITEM_GET_RIGHTS (   item)    ((item).ai_privs)
#define ACLITEM_SET_GOPTIONS (   item,
  goptions 
)
Valor:
((item).ai_privs = ((item).ai_privs & ~(((AclMode) 0xFFFF) << 16)) | \
                                         (((AclMode) (goptions) & 0xFFFF) << 16))
#define ACLITEM_SET_PRIVS (   item,
  privs 
)
Valor:
((item).ai_privs = ((item).ai_privs & ~((AclMode) 0xFFFF)) | \
                                         ((AclMode) (privs) & 0xFFFF))
#define ACLITEM_SET_PRIVS_GOPTIONS (   item,
  privs,
  goptions 
)
Valor:
((item).ai_privs = ((AclMode) (privs) & 0xFFFF) | \
                                         (((AclMode) (goptions) & 0xFFFF) << 16))
#define ACLITEM_SET_RIGHTS (   item,
  rights 
)    ((item).ai_privs = (AclMode) (rights))
#define DatumGetAclItemP (   X)    ((AclItem *) DatumGetPointer(X))
#define DatumGetAclP (   X)    ((Acl *) PG_DETOAST_DATUM(X))
#define DatumGetAclPCopy (   X)    ((Acl *) PG_DETOAST_DATUM_COPY(X))
#define DatumGetIdListP (   X)    ((IdList *) PG_DETOAST_DATUM(X))
#define DatumGetIdListPCopy (   X)    ((IdList *) PG_DETOAST_DATUM_COPY(X))
#define IDLIST_DAT (   IDL)    ((Oid *) ARR_DATA_PTR(IDL))
#define IDLIST_N_SIZE (   N)    (ARR_OVERHEAD(1) + ((N) * sizeof(Oid)))
#define IDLIST_NUM (   IDL)    (ARR_DIMS(IDL)[0])
#define IDLIST_SIZE (   IDL)    ARR_SIZE(IDL)
#define PG_GETARG_ACL_P (   n)    DatumGetAclP(PG_GETARG_DATUM(n))
#define PG_GETARG_ACL_P_COPY (   n)    DatumGetAclPCopy(PG_GETARG_DATUM(n))
#define PG_GETARG_ACLITEM_P (   n)    DatumGetAclItemP(PG_GETARG_DATUM(n))
#define PG_GETARG_IDLIST_P (   n)    DatumGetIdListP(PG_GETARG_DATUM(n))
#define PG_GETARG_IDLIST_P_COPY (   n)    DatumGetIdListPCopy(PG_GETARG_DATUM(n))
#define PG_RETURN_ACL_P (   x)    PG_RETURN_POINTER(x)
#define PG_RETURN_ACLITEM_P (   x)    PG_RETURN_POINTER(x)
#define PG_RETURN_IDLIST_P (   x)    PG_RETURN_POINTER(x)

Documentación de los 'typedefs'

typedef ArrayType Acl
typedef struct AclItem AclItem
typedef ArrayType IdList

Documentación de las enumeraciones

enum AclMaskHow
Valores de enumeraciones:
ACLMASK_ALL 
ACLMASK_ANY 
Valores de enumeraciones:
ACL_KIND_CLASS 
ACL_KIND_DATABASE 
ACL_KIND_PROC 
ACL_KIND_OPER 
ACL_KIND_TYPE 
ACL_KIND_LANGUAGE 
ACL_KIND_NAMESPACE 
ACL_KIND_OPCLASS 
ACL_KIND_CONVERSION 
ACL_KIND_TABLESPACE 
MAX_ACL_KIND 
enum AclResult
Valores de enumeraciones:
ACLCHECK_OK 
ACLCHECK_NO_PRIV 
ACLCHECK_NOT_OWNER 

Documentación de las funciones

void aclcheck_error ( AclResult  aclerr,
AclObjectKind  objectkind,
const char *  objectname 
)
Datum aclcontains ( PG_FUNCTION_ARGS  )
Acl* acldefault ( GrantObjectType  objtype,
Oid  ownerId 
)
Datum aclinsert ( PG_FUNCTION_ARGS  )
Datum aclitem_eq ( PG_FUNCTION_ARGS  )
Datum aclitemin ( PG_FUNCTION_ARGS  )
Datum aclitemout ( PG_FUNCTION_ARGS  )
AclMode aclmask ( const Acl acl,
Oid  roleid,
Oid  ownerId,
AclMode  mask,
AclMaskHow  how 
)
int aclmembers ( const Acl acl,
Oid **  roleids 
)
Acl* aclnewowner ( const Acl old_acl,
Oid  oldOwnerId,
Oid  newOwnerId 
)
Datum aclremove ( PG_FUNCTION_ARGS  )
Acl* aclupdate ( const Acl old_acl,
const AclItem mod_aip,
int  modechg,
Oid  ownerId,
DropBehavior  behavior 
)
void check_is_member_of_role ( Oid  member,
Oid  role 
)
void ExecuteGrantStmt ( GrantStmt stmt)
bool has_privs_of_role ( Oid  member,
Oid  role 
)
Datum hash_aclitem ( PG_FUNCTION_ARGS  )
void initialize_acl ( void  )
bool is_admin_of_role ( Oid  member,
Oid  role 
)
bool is_member_of_role ( Oid  member,
Oid  role 
)
bool is_member_of_role_nosuper ( Oid  member,
Oid  role 
)
Datum makeaclitem ( PG_FUNCTION_ARGS  )
AclResult pg_class_aclcheck ( Oid  table_oid,
Oid  roleid,
AclMode  mode 
)
AclMode pg_class_aclmask ( Oid  table_oid,
Oid  roleid,
AclMode  mask,
AclMaskHow  how 
)
bool pg_class_ownercheck ( Oid  class_oid,
Oid  roleid 
)
bool pg_conversion_ownercheck ( Oid  conv_oid,
Oid  roleid 
)
AclResult pg_database_aclcheck ( Oid  db_oid,
Oid  roleid,
AclMode  mode 
)
AclMode pg_database_aclmask ( Oid  db_oid,
Oid  roleid,
AclMode  mask,
AclMaskHow  how 
)
bool pg_database_ownercheck ( Oid  db_oid,
Oid  roleid 
)
AclResult pg_language_aclcheck ( Oid  lang_oid,
Oid  roleid,
AclMode  mode 
)
AclMode pg_language_aclmask ( Oid  lang_oid,
Oid  roleid,
AclMode  mask,
AclMaskHow  how 
)
AclResult pg_namespace_aclcheck ( Oid  nsp_oid,
Oid  roleid,
AclMode  mode 
)
AclMode pg_namespace_aclmask ( Oid  nsp_oid,
Oid  roleid,
AclMode  mask,
AclMaskHow  how 
)
bool pg_namespace_ownercheck ( Oid  nsp_oid,
Oid  roleid 
)
bool pg_opclass_ownercheck ( Oid  opc_oid,
Oid  roleid 
)
bool pg_oper_ownercheck ( Oid  oper_oid,
Oid  roleid 
)
AclResult pg_proc_aclcheck ( Oid  proc_oid,
Oid  roleid,
AclMode  mode 
)
AclMode pg_proc_aclmask ( Oid  proc_oid,
Oid  roleid,
AclMode  mask,
AclMaskHow  how 
)
bool pg_proc_ownercheck ( Oid  proc_oid,
Oid  roleid 
)
AclResult pg_tablespace_aclcheck ( Oid  spc_oid,
Oid  roleid,
AclMode  mode 
)
AclMode pg_tablespace_aclmask ( Oid  spc_oid,
Oid  roleid,
AclMode  mask,
AclMaskHow  how 
)
bool pg_tablespace_ownercheck ( Oid  spc_oid,
Oid  roleid 
)
bool pg_type_ownercheck ( Oid  type_oid,
Oid  roleid 
)
void select_best_grantor ( Oid  roleId,
AclMode  privileges,
const Acl acl,
Oid  ownerId,
Oid grantorId,
AclMode grantOptions 
)
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'