File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / lib / setup-os400.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:15 2020 UTC (5 years ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    1: #ifndef HEADER_CURL_SETUP_OS400_H
    2: #define HEADER_CURL_SETUP_OS400_H
    3: /***************************************************************************
    4:  *                                  _   _ ____  _
    5:  *  Project                     ___| | | |  _ \| |
    6:  *                             / __| | | | |_) | |
    7:  *                            | (__| |_| |  _ <| |___
    8:  *                             \___|\___/|_| \_\_____|
    9:  *
   10:  * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
   11:  *
   12:  * This software is licensed as described in the file COPYING, which
   13:  * you should have received as part of this distribution. The terms
   14:  * are also available at https://curl.haxx.se/docs/copyright.html.
   15:  *
   16:  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
   17:  * copies of the Software, and permit persons to whom the Software is
   18:  * furnished to do so, under the terms of the COPYING file.
   19:  *
   20:  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
   21:  * KIND, either express or implied.
   22:  *
   23:  ***************************************************************************/
   24: 
   25: 
   26: /* OS/400 netdb.h does not define NI_MAXHOST. */
   27: #define NI_MAXHOST      1025
   28: 
   29: /* OS/400 netdb.h does not define NI_MAXSERV. */
   30: #define NI_MAXSERV      32
   31: 
   32: /* No OS/400 header file defines u_int32_t. */
   33: typedef unsigned long   u_int32_t;
   34: 
   35: 
   36: /* System API wrapper prototypes & definitions to support ASCII parameters. */
   37: 
   38: #include <sys/socket.h>
   39: #include <netdb.h>
   40: #include <gskssl.h>
   41: #include <qsoasync.h>
   42: #include <gssapi.h>
   43: 
   44: extern int Curl_getaddrinfo_a(const char *nodename,
   45:                               const char *servname,
   46:                               const struct addrinfo *hints,
   47:                               struct addrinfo **res);
   48: #define getaddrinfo             Curl_getaddrinfo_a
   49: 
   50: 
   51: extern int Curl_getnameinfo_a(const struct sockaddr *sa,
   52:                               curl_socklen_t salen,
   53:                               char *nodename, curl_socklen_t nodenamelen,
   54:                               char *servname, curl_socklen_t servnamelen,
   55:                               int flags);
   56: #define getnameinfo             Curl_getnameinfo_a
   57: 
   58: 
   59: /* GSKit wrappers. */
   60: 
   61: extern int      Curl_gsk_environment_open(gsk_handle * my_env_handle);
   62: #define gsk_environment_open    Curl_gsk_environment_open
   63: 
   64: extern int      Curl_gsk_secure_soc_open(gsk_handle my_env_handle,
   65:                                          gsk_handle * my_session_handle);
   66: #define gsk_secure_soc_open     Curl_gsk_secure_soc_open
   67: 
   68: extern int      Curl_gsk_environment_close(gsk_handle * my_env_handle);
   69: #define gsk_environment_close   Curl_gsk_environment_close
   70: 
   71: extern int      Curl_gsk_secure_soc_close(gsk_handle * my_session_handle);
   72: #define gsk_secure_soc_close    Curl_gsk_secure_soc_close
   73: 
   74: extern int      Curl_gsk_environment_init(gsk_handle my_env_handle);
   75: #define gsk_environment_init    Curl_gsk_environment_init
   76: 
   77: extern int      Curl_gsk_secure_soc_init(gsk_handle my_session_handle);
   78: #define gsk_secure_soc_init     Curl_gsk_secure_soc_init
   79: 
   80: extern int      Curl_gsk_attribute_set_buffer_a(gsk_handle my_gsk_handle,
   81:                                                 GSK_BUF_ID bufID,
   82:                                                 const char *buffer,
   83:                                                 int bufSize);
   84: #define gsk_attribute_set_buffer        Curl_gsk_attribute_set_buffer_a
   85: 
   86: extern int      Curl_gsk_attribute_set_enum(gsk_handle my_gsk_handle,
   87:                                             GSK_ENUM_ID enumID,
   88:                                             GSK_ENUM_VALUE enumValue);
   89: #define gsk_attribute_set_enum  Curl_gsk_attribute_set_enum
   90: 
   91: extern int      Curl_gsk_attribute_set_numeric_value(gsk_handle my_gsk_handle,
   92:                                                      GSK_NUM_ID numID,
   93:                                                      int numValue);
   94: #define gsk_attribute_set_numeric_value Curl_gsk_attribute_set_numeric_value
   95: 
   96: extern int      Curl_gsk_attribute_set_callback(gsk_handle my_gsk_handle,
   97:                                                 GSK_CALLBACK_ID callBackID,
   98:                                                 void *callBackAreaPtr);
   99: #define gsk_attribute_set_callback      Curl_gsk_attribute_set_callback
  100: 
  101: extern int      Curl_gsk_attribute_get_buffer_a(gsk_handle my_gsk_handle,
  102:                                                 GSK_BUF_ID bufID,
  103:                                                 const char **buffer,
  104:                                                 int *bufSize);
  105: #define gsk_attribute_get_buffer        Curl_gsk_attribute_get_buffer_a
  106: 
  107: extern int      Curl_gsk_attribute_get_enum(gsk_handle my_gsk_handle,
  108:                                             GSK_ENUM_ID enumID,
  109:                                             GSK_ENUM_VALUE *enumValue);
  110: #define gsk_attribute_get_enum  Curl_gsk_attribute_get_enum
  111: 
  112: extern int      Curl_gsk_attribute_get_numeric_value(gsk_handle my_gsk_handle,
  113:                                                      GSK_NUM_ID numID,
  114:                                                      int *numValue);
  115: #define gsk_attribute_get_numeric_value Curl_gsk_attribute_get_numeric_value
  116: 
  117: extern int      Curl_gsk_attribute_get_cert_info(gsk_handle my_gsk_handle,
  118:                                  GSK_CERT_ID certID,
  119:                                  const gsk_cert_data_elem **certDataElem,
  120:                                  int *certDataElementCount);
  121: #define gsk_attribute_get_cert_info     Curl_gsk_attribute_get_cert_info
  122: 
  123: extern int      Curl_gsk_secure_soc_misc(gsk_handle my_session_handle,
  124:                                          GSK_MISC_ID miscID);
  125: #define gsk_secure_soc_misc     Curl_gsk_secure_soc_misc
  126: 
  127: extern int      Curl_gsk_secure_soc_read(gsk_handle my_session_handle,
  128:                                          char *readBuffer,
  129:                                          int readBufSize, int *amtRead);
  130: #define gsk_secure_soc_read     Curl_gsk_secure_soc_read
  131: 
  132: extern int      Curl_gsk_secure_soc_write(gsk_handle my_session_handle,
  133:                                           char *writeBuffer,
  134:                                           int writeBufSize, int *amtWritten);
  135: #define gsk_secure_soc_write    Curl_gsk_secure_soc_write
  136: 
  137: extern const char *     Curl_gsk_strerror_a(int gsk_return_value);
  138: #define gsk_strerror    Curl_gsk_strerror_a
  139: 
  140: extern int      Curl_gsk_secure_soc_startInit(gsk_handle my_session_handle,
  141:                                       int IOCompletionPort,
  142:                                       Qso_OverlappedIO_t * communicationsArea);
  143: #define gsk_secure_soc_startInit        Curl_gsk_secure_soc_startInit
  144: 
  145: 
  146: /* GSSAPI wrappers. */
  147: 
  148: extern OM_uint32 Curl_gss_import_name_a(OM_uint32 * minor_status,
  149:                                         gss_buffer_t in_name,
  150:                                         gss_OID in_name_type,
  151:                                         gss_name_t * out_name);
  152: #define gss_import_name         Curl_gss_import_name_a
  153: 
  154: 
  155: extern OM_uint32 Curl_gss_display_status_a(OM_uint32 * minor_status,
  156:                                            OM_uint32 status_value,
  157:                                            int status_type, gss_OID mech_type,
  158:                                            gss_msg_ctx_t * message_context,
  159:                                            gss_buffer_t status_string);
  160: #define gss_display_status      Curl_gss_display_status_a
  161: 
  162: 
  163: extern OM_uint32 Curl_gss_init_sec_context_a(OM_uint32 * minor_status,
  164:                                              gss_cred_id_t cred_handle,
  165:                                              gss_ctx_id_t * context_handle,
  166:                                              gss_name_t target_name,
  167:                                              gss_OID mech_type,
  168:                                              gss_flags_t req_flags,
  169:                                              OM_uint32 time_req,
  170:                                              gss_channel_bindings_t
  171:                                              input_chan_bindings,
  172:                                              gss_buffer_t input_token,
  173:                                              gss_OID * actual_mech_type,
  174:                                              gss_buffer_t output_token,
  175:                                              gss_flags_t * ret_flags,
  176:                                              OM_uint32 * time_rec);
  177: #define gss_init_sec_context    Curl_gss_init_sec_context_a
  178: 
  179: 
  180: extern OM_uint32 Curl_gss_delete_sec_context_a(OM_uint32 * minor_status,
  181:                                                gss_ctx_id_t * context_handle,
  182:                                                gss_buffer_t output_token);
  183: #define gss_delete_sec_context  Curl_gss_delete_sec_context_a
  184: 
  185: 
  186: /* LDAP wrappers. */
  187: 
  188: #define BerValue                struct berval
  189: 
  190: #define ldap_url_parse          ldap_url_parse_utf8
  191: #define ldap_init               Curl_ldap_init_a
  192: #define ldap_simple_bind_s      Curl_ldap_simple_bind_s_a
  193: #define ldap_search_s           Curl_ldap_search_s_a
  194: #define ldap_get_values_len     Curl_ldap_get_values_len_a
  195: #define ldap_err2string         Curl_ldap_err2string_a
  196: #define ldap_get_dn             Curl_ldap_get_dn_a
  197: #define ldap_first_attribute    Curl_ldap_first_attribute_a
  198: #define ldap_next_attribute     Curl_ldap_next_attribute_a
  199: 
  200: /* Some socket functions must be wrapped to process textual addresses
  201:    like AF_UNIX. */
  202: 
  203: extern int Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen);
  204: extern int Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen);
  205: extern int Curl_os400_sendto(int sd, char *buffer, int buflen, int flags,
  206:                              struct sockaddr * dstaddr, int addrlen);
  207: extern int Curl_os400_recvfrom(int sd, char *buffer, int buflen, int flags,
  208:                                struct sockaddr *fromaddr, int *addrlen);
  209: extern int Curl_os400_getpeername(int sd, struct sockaddr *addr, int *addrlen);
  210: extern int Curl_os400_getsockname(int sd, struct sockaddr *addr, int *addrlen);
  211: 
  212: #define connect                 Curl_os400_connect
  213: #define bind                    Curl_os400_bind
  214: #define sendto                  Curl_os400_sendto
  215: #define recvfrom                Curl_os400_recvfrom
  216: #define getpeername             Curl_os400_getpeername
  217: #define getsockname             Curl_os400_getsockname
  218: 
  219: #ifdef HAVE_LIBZ
  220: #define zlibVersion             Curl_os400_zlibVersion
  221: #define inflateInit_            Curl_os400_inflateInit_
  222: #define inflateInit2_           Curl_os400_inflateInit2_
  223: #define inflate                 Curl_os400_inflate
  224: #define inflateEnd              Curl_os400_inflateEnd
  225: #endif
  226: 
  227: #endif /* HEADER_CURL_SETUP_OS400_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>