• Main Page
  • Modules
  • Files

xacml_server.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_SERVER_H
00018 #define XACML_SERVER_H
00019 
00020 #include "xacml_datatypes.h"
00021 #include "xacml.h"
00022 
00023 #ifndef DONT_DOCUMENT_INTERNAL
00024 EXTERN_C_BEGIN
00025 #endif
00026 
00027 /* Server Authz Processing */
00028 
00029 typedef struct xacml_server_s * xacml_server_t;
00030 
00031 xacml_result_t
00032 xacml_server_init(
00033     xacml_server_t *                    server,
00034     xacml_authorization_handler_t       handler,
00035     void *                              arg);
00036 
00037 xacml_result_t
00038 xacml_server_set_port(
00039     xacml_server_t                      server,
00040     unsigned short                      port);
00041 
00042 xacml_result_t
00043 xacml_server_get_port(
00044     const xacml_server_t                server,
00045     unsigned short *                    port);
00046 
00047 xacml_result_t
00048 xacml_server_start(
00049     xacml_server_t                      server);
00050 
00051 void
00052 xacml_server_destroy(
00053     xacml_server_t                      server);
00054 
00055 xacml_result_t
00056 xacml_server_set_io_module(
00057     xacml_server_t                      server,
00058     const char *                        module);
00059 
00060 xacml_result_t
00061 xacml_server_set_io_descriptor(
00062     xacml_server_t                      server,
00063     const xacml_io_descriptor_t        *descriptor);
00064 
00065 #ifndef DONT_DOCUMENT_INTERNAL
00066 EXTERN_C_END
00067 #endif
00068 
00069 #endif /* XACML_SERVER_H */