• Main Page
  • Modules
  • Files

xacml_authz_interop_profile.h

00001 /*
00002  * Copyright 1999-2008 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef XACML_AUTHZ_INTEROP_PROFILE_H
00018 #define XACML_AUTHZ_INTEROP_PROFILE_H
00019 
00020 #include "xacml_datatypes.h"
00021 
00022 #ifndef DONT_DOCUMENT_INTERNAL
00023 EXTERN_C_BEGIN
00024 #endif
00025 
00030 typedef enum
00031 {
00032     XACML_INTEROP_SUBJECT_X509_ID,
00033     XACML_INTEROP_SUBJECT_CONDOR_CANONICAL_NAME_ID,
00034     XACML_INTEROP_SUBJECT_X509_ISSUER,
00035     XACML_INTEROP_VO,
00036     XACML_INTEROP_VOMS_SIGNING_SUBJECT,
00037     XACML_INTEROP_VOMS_SIGNING_ISSUER,
00038     XACML_INTEROP_VOMS_FQAN,
00039     XACML_INTEROP_VOMS_PRIMARY_FQAN,
00040     XACML_INTEROP_CERTIFICATE_SERIAL_NUMBER,
00041     XACML_INTEROP_CA_SERIAL_NUMBER,
00042     XACML_INTEROP_VOMS_DNS_PORT,
00043     XACML_INTEROP_CA_POLICY_OID,
00044     XACML_INTEROP_CERT_CHAIN
00045 }
00046 xacml_interop_profile_subject_attr_t;
00047 
00048 extern const char *xacml_interop_profile_subject_attr_strings[];
00049 
00050 typedef enum
00051 {
00052     XACML_INTEROP_ACTION_RSL_STRING
00053 }
00054 xacml_interop_profile_action_attr_t;
00055 
00056 extern const char *xacml_interop_profile_action_attr_strings[];
00057 
00058 typedef enum
00059 {
00060     XACML_INTEROP_ACTION_TYPE_QUEUE,
00061     XACML_INTEROP_ACTION_TYPE_EXECUTE_NOW,
00062     XACML_INTEROP_ACTION_TYPE_ACCESS
00063 }
00064 xacml_interop_profile_action_type_enum_t;
00065 
00066 extern const char *xacml_interop_profile_action_type_enum_strings[];
00067 
00068 typedef enum
00069 {
00070     XACML_INTEROP_RESOURCE_DNS_HOST_NAME,
00071     XACML_INTEROP_RESOURCE_X509_ID,
00072     XACML_INTEROP_RESOURCE_X509_ISSUER
00073 }
00074 xacml_interop_profile_resource_attr_t;
00075 
00076 extern const char *xacml_interop_profile_resource_attr_strings[];
00077 
00078 typedef enum
00079 {
00080     XACML_INTEROP_RESOURCE_TYPE_CE,
00081     XACML_INTEROP_RESOURCE_TYPE_SE,
00082     XACML_INTEROP_RESOURCE_TYPE_WN
00083 }
00084 xacml_interop_profile_resource_type_enum_t;
00085 
00086 extern const char *xacml_interop_profile_resource_type_enum_strings[];
00087 
00088 typedef enum
00089 {
00090     XACML_INTEROP_ENV_PEP_OBLIG_SUPPORTED,
00091     XACML_INTEROP_ENV_PILOT_JOB_SUBJECT_X509_ID,
00092     XACML_INTEROP_ENV_PILOT_JOB_SUBJECT_CONDOR_CANONICAL_NAME_ID,
00093     XACML_INTEROP_ENV_PILOT_JOB_SUBJECT_X509_ISSUER,
00094     XACML_INTEROP_ENV_PILOT_JOB_VO,
00095     XACML_INTEROP_ENV_PILOT_JOB_VOMS_SIGNING_SUBJECT,
00096     XACML_INTEROP_ENV_PILOT_JOB_VOMS_SIGNING_ISSUER,
00097     XACML_INTEROP_ENV_PILOT_JOB_VOMS_FQAN,
00098     XACML_INTEROP_ENV_PILOT_JOB_VOMS_PRIMARY_FQAN
00099 }
00100 xacml_interop_profile_environment_attr_t;
00101 
00102 extern const char *xacml_interop_profile_environment_attr_strings[];
00103 
00104 typedef enum
00105 {
00106     XACML_INTEROP_OBLIGATION_UIDGID,
00107     XACML_INTEROP_OBLIGATION_SECONDARY_GIDS,
00108     XACML_INTEROP_OBLIGATION_USERNAME,
00109     XACML_INTEROP_OBLIGATION_AFS_TOKEN,
00110     XACML_INTEROP_OBLIGATION_ROOT_AND_HOME_PATHS,
00111     XACML_INTEROP_OBLIGATION_STORAGE_ACCESS_PRIORITY,
00112     XACML_INTEROP_OBLIGATION_ACCESS_PERMISSIONS
00113 }
00114 xacml_interop_profile_obligation_t;
00115 
00116 extern const char *xacml_interop_profile_obligation_strings[];
00117 
00118 typedef enum
00119 {
00120     XACML_INTEROP_OBLIGATION_ATTR_POSIX_UID,
00121     XACML_INTEROP_OBLIGATION_ATTR_POSIX_GID,
00122     XACML_INTEROP_OBLIGATION_ATTR_USERNAME,
00123     XACML_INTEROP_OBLIGATION_ATTR_AFS_TOKEN,
00124     XACML_INTEROP_OBLIGATION_ATTR_ROOTPATH,
00125     XACML_INTEROP_OBLIGATION_ATTR_HOMEPATH,
00126     XACML_INTEROP_OBLIGATION_ATTR_STORAGE_PRIORITY,
00127     XACML_INTEROP_OBLIGATION_ATTR_ACCESS_PERMISSIONS,
00128     
00129 }
00130 xacml_interop_profile_obligation_attrs_t;
00131 
00132 extern const char *xacml_interop_profile_obligation_attr_strings[];
00133 
00134 #ifndef DONT_DOCUMENT_INTERNAL
00135 EXTERN_C_END
00136 #endif
00137 
00138 #endif /* XACML_AUTHZ_INTEROP_PROFILE_H */