d(・ω・d) 微分!(∫・ω・)∫ 積分!∂(・ω・∂) 偏微分!(∮・ω・)∮ 沿閉曲線的積分!(∬・ω・)∬ 重積分!∇(・ω・∇)梯度!∇・(・ω・∇・)散度!∇×(・ω・∇×)旋度!Δ(・ω・Δ)拉普拉斯!#゚Å゚)⊂彡☆))゚Д゚)・∵ლ(◉◞౪◟◉ )ლ千言萬語,不如一個「表情符號(emoji)」簡單生動又有趣!ಠ▃ಠ生氣、-`д´-憤怒、(¬_¬)無言、(•͈⌔•͈⑅)傷心、哭、開心、大笑、可愛、困惑、發呆、大眼睛、驚呀、跳舞、興奮、奔跑..≧Д≦ (;≧皿≦) (⁎˃ᆺ˂) ╬ Ò ‸ Ó) <(`^´)> ( >д<) (ꐦ ಠ皿ಠ ) (`Д´) (;`O´)o o(-`д´- 。) ( ˃⌂˂ ) (°ㅂ° ╬) (ʘ言ʘ╬) (Ò 皿 Ó ╬) (-`д´-) 눈_눈 (⋋▂⋌) (¬▂¬) ಠ▃ಠ (>x<) ╰(‵□′)╯
| Current Path : /usr/include/openssl/ |
| Current File : //usr/include/openssl/buffer.h |
/*
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
*/
#ifndef OPENSSL_BUFFER_H
#define OPENSSL_BUFFER_H
#pragma once
#include <openssl/macros.h>
#ifndef OPENSSL_NO_DEPRECATED_3_0
#define HEADER_BUFFER_H
#endif
#include <openssl/types.h>
#ifndef OPENSSL_CRYPTO_H
#include <openssl/crypto.h>
#endif
#include <openssl/buffererr.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <stddef.h>
#include <sys/types.h>
#ifndef OPENSSL_NO_DEPRECATED_3_0
#define BUF_strdup(s) OPENSSL_strdup(s)
#define BUF_strndup(s, size) OPENSSL_strndup(s, size)
#define BUF_memdup(data, size) OPENSSL_memdup(data, size)
#define BUF_strlcpy(dst, src, size) OPENSSL_strlcpy(dst, src, size)
#define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size)
#define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen)
#endif
struct buf_mem_st {
size_t length; /* current number of bytes */
char *data;
size_t max; /* size of buffer */
unsigned long flags;
};
#define BUF_MEM_FLAG_SECURE 0x01
BUF_MEM *BUF_MEM_new(void);
BUF_MEM *BUF_MEM_new_ex(unsigned long flags);
void BUF_MEM_free(BUF_MEM *a);
size_t BUF_MEM_grow(BUF_MEM *str, size_t len);
size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len);
void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz);
#ifdef __cplusplus
}
#endif
#endif