Merge pull request #59 from moteus/master

Fix. Build with cURL 7.19.7 (Ubuntu 10.04LTS)
This commit is contained in:
Alexey Melnichuk 2015-06-15 10:30:47 +03:00
commit 578189668e
3 changed files with 378 additions and 373 deletions

View File

@ -1,182 +1,182 @@
/******************************************************************************
* Author: Alexey Melnichuk <mimir@newmail.ru>
*
* Copyright (C) 2014 Alexey Melnichuk <mimir@newmail.ru>
*
* Licensed according to the included 'LICENSE' document
*
* This file is part of lua-lcurl library.
******************************************************************************/
#include "l52util.h"
#include <memory.h>
#include <string.h> /* for memset */
#include <assert.h>
#if LUA_VERSION_NUM >= 502
int luaL_typerror (lua_State *L, int narg, const char *tname) {
const char *msg = lua_pushfstring(L, "%s expected, got %s", tname,
luaL_typename(L, narg));
return luaL_argerror(L, narg, msg);
}
#ifndef luaL_register
void luaL_register (lua_State *L, const char *libname, const luaL_Reg *l){
if(libname) lua_newtable(L);
luaL_setfuncs(L, l, 0);
}
#endif
#else
void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup){
luaL_checkstack(L, nup, "too many upvalues");
for (; l->name != NULL; l++) { /* fill the table with given functions */
int i;
for (i = 0; i < nup; i++) /* copy upvalues to the top */
lua_pushvalue(L, -nup);
lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */
lua_setfield(L, -(nup + 2), l->name);
}
lua_pop(L, nup); /* remove upvalues */
}
void lua_rawgetp(lua_State *L, int index, const void *p){
index = lua_absindex(L, index);
lua_pushlightuserdata(L, (void *)p);
lua_rawget(L, index);
}
void lua_rawsetp (lua_State *L, int index, const void *p){
index = lua_absindex(L, index);
lua_pushlightuserdata(L, (void *)p);
lua_insert(L, -2);
lua_rawset(L, index);
}
int luaL_getmetafield (lua_State *L, int obj, const char *event) {
if (!lua_getmetatable(L, obj)) /* no metatable? */
return 0;
lua_pushstring(L, event);
lua_rawget(L, -2);
if (lua_isnil(L, -1)) {
lua_pop(L, 2); /* remove metatable and metafield */
return 0;
}
else {
lua_remove(L, -2); /* remove only metatable */
return 1;
}
}
int luaL_callmeta (lua_State *L, int obj, const char *event) {
obj = lua_absindex(L, obj);
if (!luaL_getmetafield(L, obj, event)) /* no metafield? */
return 0;
lua_pushvalue(L, obj);
lua_call(L, 1, 1);
return 1;
}
#endif
int lutil_newmetatablep (lua_State *L, const void *p) {
lua_rawgetp(L, LUA_REGISTRYINDEX, p);
if (!lua_isnil(L, -1)) /* name already in use? */
return 0; /* leave previous value on top, but return 0 */
lua_pop(L, 1);
lua_newtable(L); /* create metatable */
lua_pushvalue(L, -1); /* duplicate metatable to set*/
lua_rawsetp(L, LUA_REGISTRYINDEX, p);
return 1;
}
void lutil_getmetatablep (lua_State *L, const void *p) {
lua_rawgetp(L, LUA_REGISTRYINDEX, p);
}
void lutil_setmetatablep (lua_State *L, const void *p) {
lutil_getmetatablep(L, p);
assert(lua_istable(L,-1));
lua_setmetatable (L, -2);
}
int lutil_isudatap (lua_State *L, int ud, const void *p) {
if (lua_isuserdata(L, ud)){
if (lua_getmetatable(L, ud)) { /* does it have a metatable? */
int res;
lutil_getmetatablep(L,p); /* get correct metatable */
res = lua_rawequal(L, -1, -2); /* does it have the correct mt? */
lua_pop(L, 2); /* remove both metatables */
return res;
}
}
return 0;
}
void *lutil_checkudatap (lua_State *L, int ud, const void *p) {
void *up = lua_touserdata(L, ud);
if (up != NULL) { /* value is a userdata? */
if (lua_getmetatable(L, ud)) { /* does it have a metatable? */
lutil_getmetatablep(L,p); /* get correct metatable */
if (lua_rawequal(L, -1, -2)) { /* does it have the correct mt? */
lua_pop(L, 2); /* remove both metatables */
return up;
}
}
}
luaL_typerror(L, ud, p); /* else error */
return NULL; /* to avoid warnings */
}
int lutil_createmetap (lua_State *L, const void *p, const luaL_Reg *methods, int nup) {
if (!lutil_newmetatablep(L, p)){
lua_insert(L, -1 - nup); /* move mt prior upvalues */
return 0;
}
lua_insert(L, -1 - nup); /* move mt prior upvalues */
luaL_setfuncs (L, methods, nup); /* define methods */
lua_pushliteral (L, "__index"); /* define metamethods */
lua_pushvalue (L, -2);
lua_settable (L, -3);
return 1;
}
void *lutil_newudatap_impl(lua_State *L, size_t size, const void *p){
void *obj = lua_newuserdata (L, size);
memset(obj, 0, size);
lutil_setmetatablep(L, p);
return obj;
}
void lutil_pushint64(lua_State *L, int64_t v){
if(sizeof(lua_Integer) >= sizeof(int64_t)){
lua_pushinteger(L, (lua_Integer)v);
return;
}
lua_pushnumber(L, (lua_Number)v);
}
int64_t lutil_checkint64(lua_State *L, int idx){
if(sizeof(lua_Integer) >= sizeof(int64_t))
return luaL_checkinteger(L, idx);
return (int64_t)luaL_checknumber(L, idx);
}
int64_t lutil_optint64(lua_State *L, int idx, int64_t v){
if(sizeof(lua_Integer) >= sizeof(int64_t))
return luaL_optinteger(L, idx, v);
return (int64_t)luaL_optnumber(L, idx, v);
}
void lutil_pushnvalues(lua_State *L, int n){
for(;n;--n) lua_pushvalue(L, -n);
}
/******************************************************************************
* Author: Alexey Melnichuk <mimir@newmail.ru>
*
* Copyright (C) 2014 Alexey Melnichuk <mimir@newmail.ru>
*
* Licensed according to the included 'LICENSE' document
*
* This file is part of lua-lcurl library.
******************************************************************************/
#include "l52util.h"
#include <memory.h>
#include <string.h> /* for memset */
#include <assert.h>
#if LUA_VERSION_NUM >= 502
int luaL_typerror (lua_State *L, int narg, const char *tname) {
const char *msg = lua_pushfstring(L, "%s expected, got %s", tname,
luaL_typename(L, narg));
return luaL_argerror(L, narg, msg);
}
#ifndef luaL_register
void luaL_register (lua_State *L, const char *libname, const luaL_Reg *l){
if(libname) lua_newtable(L);
luaL_setfuncs(L, l, 0);
}
#endif
#else
void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup){
luaL_checkstack(L, nup, "too many upvalues");
for (; l->name != NULL; l++) { /* fill the table with given functions */
int i;
for (i = 0; i < nup; i++) /* copy upvalues to the top */
lua_pushvalue(L, -nup);
lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */
lua_setfield(L, -(nup + 2), l->name);
}
lua_pop(L, nup); /* remove upvalues */
}
void lua_rawgetp(lua_State *L, int index, const void *p){
index = lua_absindex(L, index);
lua_pushlightuserdata(L, (void *)p);
lua_rawget(L, index);
}
void lua_rawsetp (lua_State *L, int index, const void *p){
index = lua_absindex(L, index);
lua_pushlightuserdata(L, (void *)p);
lua_insert(L, -2);
lua_rawset(L, index);
}
int luaL_getmetafield (lua_State *L, int obj, const char *event) {
if (!lua_getmetatable(L, obj)) /* no metatable? */
return 0;
lua_pushstring(L, event);
lua_rawget(L, -2);
if (lua_isnil(L, -1)) {
lua_pop(L, 2); /* remove metatable and metafield */
return 0;
}
else {
lua_remove(L, -2); /* remove only metatable */
return 1;
}
}
int luaL_callmeta (lua_State *L, int obj, const char *event) {
obj = lua_absindex(L, obj);
if (!luaL_getmetafield(L, obj, event)) /* no metafield? */
return 0;
lua_pushvalue(L, obj);
lua_call(L, 1, 1);
return 1;
}
#endif
int lutil_newmetatablep (lua_State *L, const void *p) {
lua_rawgetp(L, LUA_REGISTRYINDEX, p);
if (!lua_isnil(L, -1)) /* name already in use? */
return 0; /* leave previous value on top, but return 0 */
lua_pop(L, 1);
lua_newtable(L); /* create metatable */
lua_pushvalue(L, -1); /* duplicate metatable to set*/
lua_rawsetp(L, LUA_REGISTRYINDEX, p);
return 1;
}
void lutil_getmetatablep (lua_State *L, const void *p) {
lua_rawgetp(L, LUA_REGISTRYINDEX, p);
}
void lutil_setmetatablep (lua_State *L, const void *p) {
lutil_getmetatablep(L, p);
assert(lua_istable(L,-1));
lua_setmetatable (L, -2);
}
int lutil_isudatap (lua_State *L, int ud, const void *p) {
if (lua_isuserdata(L, ud)){
if (lua_getmetatable(L, ud)) { /* does it have a metatable? */
int res;
lutil_getmetatablep(L,p); /* get correct metatable */
res = lua_rawequal(L, -1, -2); /* does it have the correct mt? */
lua_pop(L, 2); /* remove both metatables */
return res;
}
}
return 0;
}
void *lutil_checkudatap (lua_State *L, int ud, const void *p) {
void *up = lua_touserdata(L, ud);
if (up != NULL) { /* value is a userdata? */
if (lua_getmetatable(L, ud)) { /* does it have a metatable? */
lutil_getmetatablep(L,p); /* get correct metatable */
if (lua_rawequal(L, -1, -2)) { /* does it have the correct mt? */
lua_pop(L, 2); /* remove both metatables */
return up;
}
}
}
luaL_typerror(L, ud, p); /* else error */
return NULL; /* to avoid warnings */
}
int lutil_createmetap (lua_State *L, const void *p, const luaL_Reg *methods, int nup) {
if (!lutil_newmetatablep(L, p)){
lua_insert(L, -1 - nup); /* move mt prior upvalues */
return 0;
}
lua_insert(L, -1 - nup); /* move mt prior upvalues */
luaL_setfuncs (L, methods, nup); /* define methods */
lua_pushliteral (L, "__index"); /* define metamethods */
lua_pushvalue (L, -2);
lua_settable (L, -3);
return 1;
}
void *lutil_newudatap_impl(lua_State *L, size_t size, const void *p){
void *obj = lua_newuserdata (L, size);
memset(obj, 0, size);
lutil_setmetatablep(L, p);
return obj;
}
void lutil_pushint64(lua_State *L, int64_t v){
if(sizeof(lua_Integer) >= sizeof(int64_t)){
lua_pushinteger(L, (lua_Integer)v);
return;
}
lua_pushnumber(L, (lua_Number)v);
}
int64_t lutil_checkint64(lua_State *L, int idx){
if(sizeof(lua_Integer) >= sizeof(int64_t))
return luaL_checkinteger(L, idx);
return (int64_t)luaL_checknumber(L, idx);
}
int64_t lutil_optint64(lua_State *L, int idx, int64_t v){
if(sizeof(lua_Integer) >= sizeof(int64_t))
return luaL_optinteger(L, idx, v);
return (int64_t)luaL_optnumber(L, idx, v);
}
void lutil_pushnvalues(lua_State *L, int n){
for(;n;--n) lua_pushvalue(L, -n);
}

View File

@ -1,33 +1,33 @@
/******************************************************************************
* Author: Alexey Melnichuk <mimir@newmail.ru>
*
* Copyright (C) 2014 Alexey Melnichuk <mimir@newmail.ru>
*
* Licensed according to the included 'LICENSE' document
*
* This file is part of lua-lcurl library.
******************************************************************************/
#ifndef _LCERROR_H_
#define _LCERROR_H_
#include "lcurl.h"
#define LCURL_ERROR_CURL 1
#define LCURL_ERROR_EASY 1
#define LCURL_ERROR_MULTI 2
#define LCURL_ERROR_SHARE 3
#define LCURL_ERROR_FORM 4
#define LCURL_ERROR_RETURN 1
#define LCURL_ERROR_RAISE 2
int lcurl_fail(lua_State *L, int error_type, int code);
int lcurl_fail_ex(lua_State *L, int mode, int error_type, int code);
int lcurl_error_new(lua_State *L);
void lcurl_error_initlib(lua_State *L, int nup);
#endif
/******************************************************************************
* Author: Alexey Melnichuk <mimir@newmail.ru>
*
* Copyright (C) 2014 Alexey Melnichuk <mimir@newmail.ru>
*
* Licensed according to the included 'LICENSE' document
*
* This file is part of lua-lcurl library.
******************************************************************************/
#ifndef _LCERROR_H_
#define _LCERROR_H_
#include "lcurl.h"
#define LCURL_ERROR_CURL 1
#define LCURL_ERROR_EASY 1
#define LCURL_ERROR_MULTI 2
#define LCURL_ERROR_SHARE 3
#define LCURL_ERROR_FORM 4
#define LCURL_ERROR_RETURN 1
#define LCURL_ERROR_RAISE 2
int lcurl_fail(lua_State *L, int error_type, int code);
int lcurl_fail_ex(lua_State *L, int mode, int error_type, int code);
int lcurl_error_new(lua_State *L);
void lcurl_error_initlib(lua_State *L, int nup);
#endif

View File

@ -1,158 +1,163 @@
/* Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options */
FLG_ENTRY(AUTH_NONE )
FLG_ENTRY(AUTH_BASIC )
FLG_ENTRY(AUTH_DIGEST )
FLG_ENTRY(AUTH_GSSNEGOTIATE )
#if LCURL_CURL_VER_GE(7,38,0)
FLG_ENTRY(AUTH_NEGOTIATE )
#endif
FLG_ENTRY(AUTH_NTLM )
#if LCURL_CURL_VER_GE(7,19,3)
FLG_ENTRY(AUTH_DIGEST_IE )
#endif
#if LCURL_CURL_VER_GE(7,22,0)
FLG_ENTRY(AUTH_NTLM_WB )
#endif
#if LCURL_CURL_VER_GE(7,21,3)
FLG_ENTRY(AUTH_ONLY )
#endif
FLG_ENTRY(AUTH_ANY )
FLG_ENTRY(AUTH_ANYSAFE )
#ifdef CURLSSH_AUTH_ANY
FLG_ENTRY(SSH_AUTH_ANY )
#endif
#ifdef CURLSSH_AUTH_NONE
FLG_ENTRY(SSH_AUTH_NONE )
#endif
#ifdef CURLSSH_AUTH_PUBLICKEY
FLG_ENTRY(SSH_AUTH_PUBLICKEY )
#endif
#ifdef CURLSSH_AUTH_PASSWORD
FLG_ENTRY(SSH_AUTH_PASSWORD )
#endif
#ifdef CURLSSH_AUTH_HOST
FLG_ENTRY(SSH_AUTH_HOST )
#endif
#ifdef CURLSSH_AUTH_KEYBOARD
FLG_ENTRY(SSH_AUTH_KEYBOARD )
#endif
#ifdef CURLSSH_AUTH_AGENT
FLG_ENTRY(SSH_AUTH_AGENT )
#endif
#ifdef CURLSSH_AUTH_DEFAULT
FLG_ENTRY(SSH_AUTH_DEFAULT )
#endif
FLG_ENTRY(GSSAPI_DELEGATION_NONE )
FLG_ENTRY(GSSAPI_DELEGATION_POLICY_FLAG )
FLG_ENTRY(GSSAPI_DELEGATION_FLAG )
/* Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options */
FLG_ENTRY(USESSL_NONE )
FLG_ENTRY(USESSL_TRY )
FLG_ENTRY(USESSL_CONTROL )
FLG_ENTRY(USESSL_ALL )
#ifdef CURLSSLOPT_ALLOW_BEAST
FLG_ENTRY(SSLOPT_ALLOW_BEAST )
#endif
/* parameter for the CURLOPT_FTP_SSL_CCC option */
FLG_ENTRY(FTPSSL_CCC_NONE )
FLG_ENTRY(FTPSSL_CCC_PASSIVE )
FLG_ENTRY(FTPSSL_CCC_ACTIVE )
/* parameter for the CURLOPT_FTPSSLAUTH option */
FLG_ENTRY(FTPAUTH_DEFAULT )
FLG_ENTRY(FTPAUTH_SSL )
FLG_ENTRY(FTPAUTH_TLS )
/* parameter for the CURLOPT_FTP_CREATE_MISSING_DIRS option */
FLG_ENTRY(FTP_CREATE_DIR_NONE )
FLG_ENTRY(FTP_CREATE_DIR )
FLG_ENTRY(FTP_CREATE_DIR_RETRY )
FLG_ENTRY(FTP_CREATE_DIR_LAST )
/* parameter for the CURLOPT_FTP_FILEMETHOD option */
FLG_ENTRY(FTPMETHOD_DEFAULT )
FLG_ENTRY(FTPMETHOD_MULTICWD )
FLG_ENTRY(FTPMETHOD_NOCWD )
FLG_ENTRY(FTPMETHOD_SINGLECWD )
/* bitmask defines for CURLOPT_HEADEROPT */
#if LCURL_CURL_VER_GE(7,37,0)
FLG_ENTRY(HEADER_UNIFIED )
FLG_ENTRY(HEADER_SEPARATE )
#endif
/* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */
FLG_ENTRY(PROTO_HTTP )
FLG_ENTRY(PROTO_HTTPS )
FLG_ENTRY(PROTO_FTP )
FLG_ENTRY(PROTO_FTPS )
FLG_ENTRY(PROTO_SCP )
FLG_ENTRY(PROTO_SFTP )
FLG_ENTRY(PROTO_TELNET )
FLG_ENTRY(PROTO_LDAP )
FLG_ENTRY(PROTO_LDAPS )
FLG_ENTRY(PROTO_DICT )
FLG_ENTRY(PROTO_FILE )
FLG_ENTRY(PROTO_TFTP )
#ifdef CURLPROTO_IMAP
FLG_ENTRY(PROTO_IMAP )
#endif
#ifdef CURLPROTO_IMAPS
FLG_ENTRY(PROTO_IMAPS )
#endif
#ifdef CURLPROTO_POP3
FLG_ENTRY(PROTO_POP3 )
#endif
#ifdef CURLPROTO_POP3S
FLG_ENTRY(PROTO_POP3S )
#endif
#ifdef CURLPROTO_SMTP
FLG_ENTRY(PROTO_SMTP )
#endif
#ifdef CURLPROTO_SMTPS
FLG_ENTRY(PROTO_SMTPS )
#endif
#ifdef CURLPROTO_RTSP
FLG_ENTRY(PROTO_RTSP )
#endif
#ifdef CURLPROTO_RTMP
FLG_ENTRY(PROTO_RTMP )
#endif
#ifdef CURLPROTO_RTMPT
FLG_ENTRY(PROTO_RTMPT )
#endif
#ifdef CURLPROTO_RTMPE
FLG_ENTRY(PROTO_RTMPE )
#endif
#ifdef CURLPROTO_RTMPTE
FLG_ENTRY(PROTO_RTMPTE )
#endif
#ifdef CURLPROTO_RTMPS
FLG_ENTRY(PROTO_RTMPS )
#endif
#ifdef CURLPROTO_RTMPTS
FLG_ENTRY(PROTO_RTMPTS )
#endif
#ifdef CURLPROTO_GOPHER
FLG_ENTRY(PROTO_GOPHER )
#endif
FLG_ENTRY(PROTO_ALL )
FLG_ENTRY(PROXY_HTTP ) /* added in 7.10.0 */
FLG_ENTRY(PROXY_HTTP_1_0 ) /* added in 7.19.4 */
FLG_ENTRY(PROXY_SOCKS4 ) /* added in 7.15.2 */
FLG_ENTRY(PROXY_SOCKS5 ) /* added in 7.10.0 */
FLG_ENTRY(PROXY_SOCKS4A ) /* added in 7.18.0 */
FLG_ENTRY(PROXY_SOCKS5_HOSTNAME ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_ALL ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_CONT ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_RECV ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_RECV_CONT ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_SEND ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_SEND_CONT ) /* added in 7.18.0 */
/* Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options */
FLG_ENTRY(AUTH_NONE )
FLG_ENTRY(AUTH_BASIC )
FLG_ENTRY(AUTH_DIGEST )
FLG_ENTRY(AUTH_GSSNEGOTIATE )
#if LCURL_CURL_VER_GE(7,38,0)
FLG_ENTRY(AUTH_NEGOTIATE )
#endif
FLG_ENTRY(AUTH_NTLM )
#if LCURL_CURL_VER_GE(7,19,3)
FLG_ENTRY(AUTH_DIGEST_IE )
#endif
#if LCURL_CURL_VER_GE(7,22,0)
FLG_ENTRY(AUTH_NTLM_WB )
#endif
#if LCURL_CURL_VER_GE(7,21,3)
FLG_ENTRY(AUTH_ONLY )
#endif
FLG_ENTRY(AUTH_ANY )
FLG_ENTRY(AUTH_ANYSAFE )
#ifdef CURLSSH_AUTH_ANY
FLG_ENTRY(SSH_AUTH_ANY )
#endif
#ifdef CURLSSH_AUTH_NONE
FLG_ENTRY(SSH_AUTH_NONE )
#endif
#ifdef CURLSSH_AUTH_PUBLICKEY
FLG_ENTRY(SSH_AUTH_PUBLICKEY )
#endif
#ifdef CURLSSH_AUTH_PASSWORD
FLG_ENTRY(SSH_AUTH_PASSWORD )
#endif
#ifdef CURLSSH_AUTH_HOST
FLG_ENTRY(SSH_AUTH_HOST )
#endif
#ifdef CURLSSH_AUTH_KEYBOARD
FLG_ENTRY(SSH_AUTH_KEYBOARD )
#endif
#ifdef CURLSSH_AUTH_AGENT
FLG_ENTRY(SSH_AUTH_AGENT )
#endif
#ifdef CURLSSH_AUTH_DEFAULT
FLG_ENTRY(SSH_AUTH_DEFAULT )
#endif
#ifdef CURLGSSAPI_DELEGATION_NONE
FLG_ENTRY(GSSAPI_DELEGATION_NONE )
#endif
#ifdef CURLGSSAPI_DELEGATION_POLICY_FLAG
FLG_ENTRY(GSSAPI_DELEGATION_POLICY_FLAG )
#endif
#ifdef CURLGSSAPI_DELEGATION_FLAG
FLG_ENTRY(GSSAPI_DELEGATION_FLAG )
#endif
/* Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options */
FLG_ENTRY(USESSL_NONE )
FLG_ENTRY(USESSL_TRY )
FLG_ENTRY(USESSL_CONTROL )
FLG_ENTRY(USESSL_ALL )
#ifdef CURLSSLOPT_ALLOW_BEAST
FLG_ENTRY(SSLOPT_ALLOW_BEAST )
#endif
/* parameter for the CURLOPT_FTP_SSL_CCC option */
FLG_ENTRY(FTPSSL_CCC_NONE )
FLG_ENTRY(FTPSSL_CCC_PASSIVE )
FLG_ENTRY(FTPSSL_CCC_ACTIVE )
/* parameter for the CURLOPT_FTPSSLAUTH option */
FLG_ENTRY(FTPAUTH_DEFAULT )
FLG_ENTRY(FTPAUTH_SSL )
FLG_ENTRY(FTPAUTH_TLS )
/* parameter for the CURLOPT_FTP_CREATE_MISSING_DIRS option */
FLG_ENTRY(FTP_CREATE_DIR_NONE )
FLG_ENTRY(FTP_CREATE_DIR )
FLG_ENTRY(FTP_CREATE_DIR_RETRY )
FLG_ENTRY(FTP_CREATE_DIR_LAST )
/* parameter for the CURLOPT_FTP_FILEMETHOD option */
FLG_ENTRY(FTPMETHOD_DEFAULT )
FLG_ENTRY(FTPMETHOD_MULTICWD )
FLG_ENTRY(FTPMETHOD_NOCWD )
FLG_ENTRY(FTPMETHOD_SINGLECWD )
/* bitmask defines for CURLOPT_HEADEROPT */
#if LCURL_CURL_VER_GE(7,37,0)
FLG_ENTRY(HEADER_UNIFIED )
FLG_ENTRY(HEADER_SEPARATE )
#endif
/* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */
FLG_ENTRY(PROTO_HTTP )
FLG_ENTRY(PROTO_HTTPS )
FLG_ENTRY(PROTO_FTP )
FLG_ENTRY(PROTO_FTPS )
FLG_ENTRY(PROTO_SCP )
FLG_ENTRY(PROTO_SFTP )
FLG_ENTRY(PROTO_TELNET )
FLG_ENTRY(PROTO_LDAP )
FLG_ENTRY(PROTO_LDAPS )
FLG_ENTRY(PROTO_DICT )
FLG_ENTRY(PROTO_FILE )
FLG_ENTRY(PROTO_TFTP )
#ifdef CURLPROTO_IMAP
FLG_ENTRY(PROTO_IMAP )
#endif
#ifdef CURLPROTO_IMAPS
FLG_ENTRY(PROTO_IMAPS )
#endif
#ifdef CURLPROTO_POP3
FLG_ENTRY(PROTO_POP3 )
#endif
#ifdef CURLPROTO_POP3S
FLG_ENTRY(PROTO_POP3S )
#endif
#ifdef CURLPROTO_SMTP
FLG_ENTRY(PROTO_SMTP )
#endif
#ifdef CURLPROTO_SMTPS
FLG_ENTRY(PROTO_SMTPS )
#endif
#ifdef CURLPROTO_RTSP
FLG_ENTRY(PROTO_RTSP )
#endif
#ifdef CURLPROTO_RTMP
FLG_ENTRY(PROTO_RTMP )
#endif
#ifdef CURLPROTO_RTMPT
FLG_ENTRY(PROTO_RTMPT )
#endif
#ifdef CURLPROTO_RTMPE
FLG_ENTRY(PROTO_RTMPE )
#endif
#ifdef CURLPROTO_RTMPTE
FLG_ENTRY(PROTO_RTMPTE )
#endif
#ifdef CURLPROTO_RTMPS
FLG_ENTRY(PROTO_RTMPS )
#endif
#ifdef CURLPROTO_RTMPTS
FLG_ENTRY(PROTO_RTMPTS )
#endif
#ifdef CURLPROTO_GOPHER
FLG_ENTRY(PROTO_GOPHER )
#endif
FLG_ENTRY(PROTO_ALL )
FLG_ENTRY(PROXY_HTTP ) /* added in 7.10.0 */
FLG_ENTRY(PROXY_HTTP_1_0 ) /* added in 7.19.4 */
FLG_ENTRY(PROXY_SOCKS4 ) /* added in 7.15.2 */
FLG_ENTRY(PROXY_SOCKS5 ) /* added in 7.10.0 */
FLG_ENTRY(PROXY_SOCKS4A ) /* added in 7.18.0 */
FLG_ENTRY(PROXY_SOCKS5_HOSTNAME ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_ALL ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_CONT ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_RECV ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_RECV_CONT ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_SEND ) /* added in 7.18.0 */
FLG_ENTRY(PAUSE_SEND_CONT ) /* added in 7.18.0 */