# axutil_md5.h

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 #ifndef AXUTIL_MD5_H
    00019 #define AXUTIL_MD5_H
    00020
    00026 #include <axutil_utils_defines.h>
    00027 #include <axutil_env.h>
    00028
    00029 #ifdef __cplusplus
    00030 extern "C"
    00031 {
    00032 #endif
    00033
    00048     #define AXIS2_MD5_DIGESTSIZE 16
    00049
    00050     typedef struct axutil_md5_ctx
    00051     {
    00053         unsigned int state[4];
    00055         unsigned int count[2];
    00057         unsigned char buffer[64];
    00058     }
    00059     axutil_md5_ctx_t;
    00060
    00068     AXIS2_EXTERN axutil_md5_ctx_t *AXIS2_CALL
    00069     axutil_md5_ctx_create(
    00070         const axutil_env_t * env);
    00071
    00077     AXIS2_EXTERN void AXIS2_CALL
    00078     axutil_md5_ctx_free(
    00079         axutil_md5_ctx_t * md5_ctx,
    00080         const axutil_env_t * env);
    00081
    00090     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00091     axutil_md5_update(
    00092         axutil_md5_ctx_t *context,
    00093         const axutil_env_t * env,
    00094         const void *input_str,
    00095         size_t inputLen);
    00096
    00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00105     axutil_md5_final(
    00106         axutil_md5_ctx_t *context,
    00107         const axutil_env_t * env,
    00108         unsigned char digest[AXIS2_MD5_DIGESTSIZE]);
    00109
    00117     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00118     axutil_md5(
    00119          const axutil_env_t * env,
    00120          unsigned char digest[AXIS2_MD5_DIGESTSIZE],
    00121          const void *input_str,
    00122          size_t inputLen);
    00123
    00126 #ifdef __cplusplus
    00127 }
    00128 #endif
    00129
    00130 #endif /* AXIS2_MD5_H */