A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/ncbi__ftp__connector_8c_source.html below:

NCBI C++ ToolKit: src/connect/ncbi_ftp_connector.c Source File

56 #define NCBI_USE_ERRCODE_X Connect_FTP 113  size_t lineno

,

const char

* line);

143

(

"[FTP; %s] Error closing data connection: %s"

,

148

(

"[FTP; %s] Incomplete data transfer: " 152

xxx->

size

, &

"s"

[xxx->

size

== 1]));

156  static const char

* kWarningFmt[] =

157

{

"[FTP; %s] Server reports restarted download" 159  "[FTP; %s] Restart parse error prevents download" 166

(

"[FTP; %s] Premature EOF in data: " 174  CORE_TRACEF

((

"[FTP; %s] Transfer size verified (" 183

(

"[FTP%s%s] Data connection transfer aborted"

,

184

xxx->

what

?

": "

:

""

, xxx->

what

? xxx->

what

:

""

));

207

(

"[FTP%s%s] Lost connection to %s:%hu (%s)"

,

222  char

* line,

size_t

maxlinelen,

241

? eIO_Closed : rdstat;

244  if

(

len

==

sizeof

(

buf

)) {

250  if

(sscanf(

buf

,

"%d%n"

, &c, &m) < 1 || m != 3 || !c

251

|| (

buf

[m] &&

buf

[m] !=

' '

&&

buf

[m] !=

'-'

)

257  if

(

buf

[m] ==

'-'

)

263  msg

+= strspn(

msg

,

" \t"

);

284  char

* line,

size_t

maxlinelen,

300  else if

(c == 332 || c == 532)

302  else if

(c == 110 && (xxx->

data

|| xxx->

send

))

304

sprintf(reason,

"code %d"

, c);

307  if

(status == eIO_Closed || c == 221)

328  if

(c == 450 && xxx->

abor

) {

333  if

((quit && quit == c) || (cXX && c / 100 == cXX))

340 #define s_FTPCommand(x, c, a) s_FTPCommandEx(x, c, a, 0) 350  size_t

cmdlen, arglen, linelen;

355

cmdlen = strlen(

cmd

);

356

linelen = cmdlen + 2;

358

arglen = *arg ? strlen(arg) : 0;

359

linelen += 1 + arglen;

362

line = linelen <

sizeof

(x_buf) ? x_buf : (

char

*)

malloc

(linelen + 1);

366

memcpy(line,

cmd

, cmdlen);

368

line[cmdlen++] =

' '

;

369

memcpy(line + cmdlen, arg, arglen);

372

line[cmdlen++] =

'\r'

;

373

line[cmdlen++] =

'\n'

;

374

line[cmdlen] =

'\0'

;

375  assert

(cmdlen == linelen);

382

(

"Sending FTP %.*s command (%s)"

,

383

(

int

) strcspn(line,

" \t"

), line,

396 static const char

*

x_4Word

(

const char

* line,

const char

word[4+1])

398  const char

* s = strstr(line, word);

399  return

s && ((s == line ||

isspace

((

unsigned char

) s[-1]))

400

&& !

isalpha

((

unsigned char

) s[4])) ? s : 0;

405  size_t lineno

,

const char

* line)

412  if

((s =

x_4Word

(line,

"NOOP"

)) != 0) {

413  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

418  if

((s =

x_4Word

(line,

"SYST"

)) != 0) {

419  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

424  if

((s =

x_4Word

(line,

"SITE"

)) != 0) {

425  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

430  if

((s =

x_4Word

(line,

"FEAT"

)) != 0) {

431  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

436  if

((s =

x_4Word

(line,

"MDTM"

)) != 0) {

437  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

442  if

((s =

x_4Word

(line,

"SIZE"

)) != 0) {

443  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

448  if

((s =

x_4Word

(line,

"REST"

)) != 0) {

449  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

454  if

((s =

x_4Word

(line,

"MLST"

)) != 0) {

455  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

460  if

((s =

x_4Word

(line,

"MLSD"

)) != 0) {

461  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

466  if

((s =

x_4Word

(line,

"EPRT"

)) != 0) {

467  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

472  if

((s =

x_4Word

(line,

"EPSV"

)) != 0) {

473  if

(s[4 + strspn(s + 4,

" \t"

)] !=

'*'

)

497  CORE_TRACEF

((

"FTP features parsed from HELP: 0x%04hX"

, xxx->

feat

));

504  size_t lineno

,

const char

* line)

508  if

(

code

&& strlen(line) >= 4

510

||

isspace

((

unsigned char

) line[3])

511

||

isspace

((

unsigned char

) line[4]))) {

551  CORE_TRACEF

((

"FTP features parsed from FEAT: 0x%04hX"

, xxx->

feat

));

625

(

"[FTP; %s:%hu] Server ready, features = 0x%02X"

,

678  size_t l

= strcspn(s,

"\""

);

683

*

len

= (size_t)(s -

str

);

686  memmove

(s, s + 1, strlen(s + 1) + 1);

698  static const char

kCwd[] =

"CWD"

;

717  else if

(

toupper

((

unsigned char

)(*

cmd

)) ==

'X'

)

719  else if

(

toupper

((

unsigned char

)

cmd

[2]) ==

'U'

)

733

}

else if

(

toupper

((

unsigned char

)(*

cmd

)) ==

'X'

)

735  if

(

toupper

((

unsigned char

)(*

cmd

)) ==

'R'

) {

738

}

else if

(

toupper

((

unsigned char

)(*

cmd

)) ==

'C'

) {

742  if

(

toupper

((

unsigned char

)

cmd

[1]) !=

'W'

) {

757

dir =

buf

+ strspn(

buf

,

" "

);

802

dst->

sec

+= src->

usec

/ 1000000;

824

time_t deadline = time(0);

833

deadline += (time_t)(timeout->

sec

+ (timeout->

usec

+ 500000) / 1000000);

838  if

(time(0) >= deadline)

862  if

(!xxx->

data

&& how != 2)

864  if

(!xxx->

cntl

|| how == 1)

887  int

sync = xxx->

sync

;

895

xxx->

sync

= sync ? 1 : 0;

903  unsigned short

* port)

914

status =

s_FTPCommand

(xxx,

"EPSV"

, port ? 0 :

"ALL"

);

924  if

(!(s = strchr(

buf

,

'('

)) || !(d = *++s) || *++s != d || *++s != d

925

|| sscanf(++s,

"%u%c%n"

, &p,

buf

, &

n

) < 2 || p > 0xFFFF

926

|| *

buf

!= d || s[

n

] !=

')'

) {

930

*port = (

unsigned

short) p;

939  unsigned short

* port)

957

q = c >

buf

? c[-1] :

'\0'

;

958  for

(

i

= 0;

i

< (

unsigned int

)(

sizeof

(o) /

sizeof

(o[0])); ++

i

) {

959  if

(sscanf(c, &

",%d%n"

[!

i

], &o[

i

], &

code

) < 1)

964  if

(

i

>= (

unsigned int

)(

sizeof

(o) /

sizeof

(o[0]))) {

965  if

(!q || q !=

'('

|| *c ==

')'

)

972  assert

(

i

== (

unsigned int

)(

sizeof

(o) /

sizeof

(o[0])));

974  if

(o[

i

] < 0 || o[

i

] > 255)

977  if

(!(

i

= (

unsigned int

)((((((o[0]<<8) | o[1])<<8) | o[2])<<8) | o[3])))

979  if

(

i

== (

unsigned int

)(-1))

982  if

(!(

i

= (

unsigned int

)((o[4]<<8) | o[5])))

985

*port = (

unsigned

short)

i

;

1036

(

"[FTP; %s] Cannot open data connection to %s:%hu (%s)"

,

1048  unsigned short

port)

1056

memcpy(

buf

,

"|1|"

, 3);

1058

sprintf((

buf

+ 3) + strlen(

buf

+ 3),

"|%hu|"

, port);

1077  unsigned short

port)

1079  unsigned char

octet[

sizeof

(host) +

sizeof

(port)];

1080  char buf

[80], *s =

buf

;

1086

memcpy(octet, &host,

sizeof

(host));

1087

memcpy(octet +

sizeof

(host), &port,

sizeof

(port));

1088  for

(

n

= 0;

n

<

sizeof

(octet); ++

n

)

1089

s += sprintf(s, &

",%u"

[!

n

], octet[

n

]);

1107  unsigned short

port;

1199

(

"[FTP; %s] Cannot accept data connection" 1200  " at :%hu (%s)"

, xxx->

what

,

1224

}

else if

(

code

== 450 ||

code

== 550) {

1226

status = eIO_Closed;

1275  const char

*src, *dst;

1276  size_t len

= strcspn(arg,

" \t"

);

1282  if

(*

tmp

!=

'"'

) {

1290  tmp

+= strspn(

tmp

,

" \t"

);

1291  if

(*

tmp

!=

'"'

) {

1292  len

= strcspn(

tmp

,

" \t"

);

1303

src && *src && dst && *dst && !

tmp

[strspn(

tmp

,

" \t"

)]

1341  size_t lineno

,

const char

* line)

1370  if

(!

n

||

n

!= strlen(

size

))

1408  static const int

kDay[12] = {31, 0, 31, 30, 31, 30,

1409

31, 31, 30, 31, 30, 31};

1410  char

* frac = strchr(timestamp,

'.'

);

1422  if

(strlen(frac) != strspn(frac,

kDigits

))

1425  len

= strlen(timestamp);

1426  if

(

len

== 15 &&

strncmp

(timestamp++,

"191"

, 3) == 0) {

1428

timestamp[0] =

'2'

;

1429

timestamp[1] =

'0'

;

1430

}

else if

(

len

!= 14)

1437  for

(

n

= 0;

n

< (

int

)(

sizeof

(field)/

sizeof

(field[0])); ++

n

) {

1443

field[

n

] = atoi(

buf

);

1446

memset(&tm, 0,

sizeof

(tm));

1447  if

(field[0] < 1970)

1449

tm.tm_year = field[0] - 1900;

1450  if

(field[1] < 1 || field[1] > 12)

1452

tm.tm_mon = field[1] - 1;

1453  if

(field[2] < 1 || field[2] > (field[1] != 2

1458

|| !(field[0] % 400))))) {

1461

tm.tm_mday = field[2];

1462  if

(field[3] < 0 || field[3] > 23)

1464

tm.tm_hour = field[3];

1465  if

(field[4] < 0 || field[4] > 59)

1467

tm.tm_min = field[4];

1468  if

(field[5] < 0 || field[5] > 60)

1470

tm.tm_sec = field[5];

1473  if

((

t

= timegm(&tm)) == (time_t)(-1))

1478  if

((

t

= mktime(&tm)) == (time_t)(-1))

1485  if

(tm.tm_isdst > 0 &&

n

== tm.tm_hour)

1489  n

= sprintf(

buf

,

"%lu%s%-.9s"

, (

unsigned long

)

t

,

1490

&

"."

[!frac || !*frac], frac ? frac :

""

);

1552  size_t lineno

,

const char

* line)

1556  const char

* comment = strrchr(line,

'('

);

1558  if

(comment && strchr(++comment,

')'

)

1559

&& (

n

= strspn(comment,

kDigits

)) > 0

1560

&& (m = strspn(comment +

n

,

" \t"

)) > 0

1565

&

size

, &k) < 1 && k != (

int

)

n

) {

1566  CORE_TRACEF

((

"[FTP; %s] Error reading size from \"%.*s\""

,

1567

xxx->

what

, (

int

)

n

, comment));

1625  size_t lineno

,

const char

* line)

1634  size_t lineno

,

const char

* line)

1657  if

(

cmd

[3] ==

'T'

) {

1673  size_t lineno

,

const char

* line)

1697  if

(*

cmd

==

'F'

) {

1699

status = eIO_Closed;

1703  else if

(

code

!= 200)

1704

status = eIO_Closed;

1717  int

abor = xxx->

abor

;

1724  if

(wait == eIO_Closed) {

1725

status = eIO_Closed;

1737  if

(

code

== 450 && abor) {

1743

(

"[FTP%s%s] %spurious response %d from server%s%s"

,

1744

xxx->

what

?

"; "

:

""

, xxx->

what

? xxx->

what

:

""

,

1745

xxx->

data

?

"Aborting upload due to a s"

:

"S"

,

code

,

1746

*

buf

?

": "

:

""

,

buf

));

1750

status = eIO_Closed;

1752

}

else if

(!xxx->

cntl

)

1753

status = eIO_Closed;

1754  if

(status == eIO_Closed)

1757

xxx->

abor

= abor ? 1 : 0;

1807  if

(

size

&& s[

size

- 1] ==

'\r'

)

1812  if

(!(c = (

const char

*) memchr(s,

' '

,

size

)))

1815  size

= (size_t)(c - s);

1816  assert

(*c ==

' '

|| !*c);

1824

status =

s_FTPRename

(xxx, c + strspn(c,

" \t"

));

1825

}

else if

((

size

== 3 ||

toupper

((

unsigned char

) c[-4]) ==

'X'

)

1830

status =

s_FTPDir

(xxx, s, *c ? c + 1 : c);

1833

status =

s_FTPDir

(xxx, s, *c ? c + 1 : c);

1973  unsigned short

ntry = 0;

2012

}

while

(++ntry < xxx->

info

->max_try);

2015

(

"[FTP; %s:%hu] Too many failed attempts (%hu), giving up" 2088

xxx->

size

+= *n_written;

2089  if

(status == eIO_Closed) {

2091

(

"[FTP; %s] Data connection lost"

, xxx->

what

));

2099  const char

* run = (

const char

*) memchr(

buf

,

'\n'

,

size

);

2101  if

(run && run < (

const char

*)

buf

+ --

size

) {

2111  static const char

kIAC[] = {

'\377'

,

'\377'

};

2112  const char

* s = (

const char

*)

buf

;

2124  if

(!(p = (

const char

*) memchr(s, kIAC[0],

size

-

count

)))

2127

part = (size_t)(p - s);

2136

*n_written =

count

;

2143  if

(status == eIO_Closed && !xxx->

cntl

)

2217  if

(status == eIO_Closed) {

2224

status = eIO_Closed;

2235

status = eIO_Closed;

2298  if

(status == eIO_Closed &&

code

== 221)

2303

status = eIO_Closed;

2353  unsigned short

port,

2365  if

((host && strlen(host) >=

sizeof

(xinfo->

host

)) ||

2366

(user && strlen(user) >=

sizeof

(xinfo->

user

)) ||

2367

(pass && strlen(pass) >=

sizeof

(xinfo->

pass

)) ||

2368

(path && strlen(path) >=

sizeof

(xinfo->

path

)) ||

2381  if

(!(xxx->

info

= xinfo)) {

2391

strcpy(xinfo->

host

, host);

2392

xinfo->

port

= port;

2393

strcpy(xinfo->

user

, user && *user ? user :

"ftp"

);

2394

strcpy(xinfo->

pass

, pass ? pass :

"-none@"

);

2395

strcpy(xinfo->

path

, path ? path :

""

);

2427

xxx->

cmcb

= cmcb ? *cmcb : kNoCmcb;

2451  unsigned short

port,

std::ofstream out("events_result.xml")

main entry point for tests

static const char * str(char *buf, int n)

int BUF_Write(BUF *pBuf, const void *data, size_t size)

size_t BUF_Read(BUF buf, void *data, size_t size)

void BUF_Destroy(BUF buf)

CONNECTOR FTP_CreateConnectorSimple(const char *host, unsigned short port, const char *user, const char *pass, const char *path, TFTP_Flags flag, const SFTP_Callback *cmcb)

FSetupVTable setup

init meta, may not be NULL

#define CONN_SET_METHOD(meta, method, function, connector)

#define CONN_SET_DEFAULT_TIMEOUT(meta, timeout)

CONNECTOR next

linked list

CONNECTOR FTP_CreateConnector(const SConnNetInfo *info, TFTP_Flags flag, const SFTP_Callback *cmcb)

FDestroy destroy

destroys handle, can be NULL

void * handle

data handle of the connector

SMetaConnector * meta

back link to original meta

char * SOCK_GetPeerAddressStringEx(SOCK sock, char *buf, size_t bufsize, ESOCK_AddressFormat format)

Get textual representation of the socket's peer.

EIO_Status SOCK_SetTimeout(SOCK sock, EIO_Event event, const STimeout *timeout)

Specify timeout for the connection I/O (see SOCK_[Read|Write|Close]()).

void SOCK_DisableOSSendDelay(SOCK sock, int on_off)

Control OS-defined send strategy by disabling/enabling the TCP Nagle algorithm (which is on by defaul...

unsigned int SOCK_HostToNetLong(unsigned int value)

See man for the BSDisms, htonl() and htons().

EIO_Status SOCK_Close(SOCK sock)

Close the SOCK handle, and destroy all relevant internal data.

EIO_Status SOCK_Read(SOCK sock, void *buf, size_t size, size_t *n_read, EIO_ReadMethod how)

Read/peek up to "size" bytes from "sock" to a buffer pointed to by "buf".

EIO_Status SOCK_Status(SOCK sock, EIO_Event direction)

Return low-level socket I/O status of *last* socket operation.

void SOCK_SetCork(SOCK sock, int on_off)

Control OS-defined send strategy by disabling/enabling the TCP layer to send incomplete network frame...

unsigned short SOCK_HostToNetShort(unsigned short value)

See man for the BSDisms, htonl() and htons().

EIO_Status SOCK_Wait(SOCK sock, EIO_Event event, const STimeout *timeout)

Block on the socket until either the specified "event" is available or "timeout" expires (if "timeout...

EIO_Status SOCK_CreateEx(const char *host, unsigned short port, const STimeout *timeout, SOCK *sock, const void *data, size_t size, TSOCK_Flags flags)

[CLIENT-side] Connect client to another(server-side, listening) socket (socket() + connect() [+ selec...

ESwitch SOCK_SetDataLoggingAPI(ESwitch log)

By default data are not logged.

EIO_Status SOCK_Abort(SOCK sock)

If there is outstanding connection or output data pending, cancel it.

EIO_Status LSOCK_AcceptEx(LSOCK lsock, const STimeout *timeout, SOCK *sock, TSOCK_Flags flags)

[SERVER-side] Accept connection from a client.

int SOCK_ntoa(unsigned int addr, char *buf, size_t bufsize)

Convert IP address to a string in dotted notation.

unsigned int SOCK_GetLocalHostAddress(ESwitch reget)

Same as SOCK_GetLocalHostAddress6() only strictly for IPv4.

EIO_Status SOCK_ReadLine(SOCK sock, char *line, size_t size, size_t *n_read)

Read a line from SOCK.

EIO_Status SOCK_Write(SOCK sock, const void *data, size_t size, size_t *n_written, EIO_WriteMethod how)

Write "size" bytes of "data" to "sock".

EIO_Status LSOCK_CreateEx(unsigned short port, unsigned short backlog, LSOCK *lsock, TSOCK_Flags flags)

Same as LSOCK_CreateEx6(,,,, eOff)

ESwitch SOCK_SetDataLogging(SOCK sock, ESwitch log)

Control the data logging for socket "sock" individually.

unsigned short LSOCK_GetPort(LSOCK lsock, ENH_ByteOrder byte_order)

Get socket port number, which it listens on.

EIO_Status LSOCK_Close(LSOCK lsock)

[SERVER-side] Close the listening socket, destroy relevant internal data.

TNCBI_BigCount SOCK_GetCount(SOCK sock, EIO_Event direction)

Get counts of read or written bytes.

const STimeout * SOCK_GetTimeout(SOCK sock, EIO_Event event)

Get the connection's i/o timeout (or NULL, if the timeout is infinite).

@ eSAF_IP

only numeric IP if INET socket, empty otherwise

@ fSOCK_KeepAlive

keep socket alive (if supported by OS)

char http_proxy_host[255+1]

enum ENcbiSwitch ESwitch

Aux.

time_t UTIL_Timezone(void)

Return timezone offset (in seconds West of UTC) for the current time zone.

char http_proxy_user[63+1]

unsigned short http_proxy_port

int ConnNetInfo_SetArgs(SConnNetInfo *net_info, const char *args)

SConnNetInfo * ConnNetInfo_Clone(const SConnNetInfo *net_info)

LOG CORE_GetLOG(void)

Get the log handle that is to be used by the core internals (CORE LOG).

unsigned int usec

microseconds (modulo 1,000,000)

char http_proxy_pass[63+1]

const char * IO_StatusStr(EIO_Status status)

Get the text form of an enum status value.

int ConnNetInfo_SetUserHeader(SConnNetInfo *net_info, const char *header)

void ConnNetInfo_Log(const SConnNetInfo *net_info, ELOG_Level sev, LOG log)

EBProxyType http_proxy_mask

EIO_Event

I/O event (or direction).

#define NCBI_BIGCOUNT_FORMAT_SPEC

EBDebugPrintout debug_printout

const char * http_referer

void ConnNetInfo_Destroy(SConnNetInfo *net_info)

uint64_t TNCBI_BigCount

Big unsigned integer for file size and position.

@ eIO_Timeout

timeout expired before any I/O succeeded

@ eIO_NotSupported

operation is not supported or is not available

@ eIO_Success

everything is fine, no error occurred

@ eIO_Unknown

unknown I/O error (likely fatal but can retry)

@ eIO_InvalidArg

bad argument / parameter value(s) supplied

@ fProxy_Http

$http_proxy used

@ eIO_ReadPlain

read readily available data only, wait if none

@ eIO_WritePlain

write as much as possible, report back how much

@ eIO_WriteOutOfBand

write out-of-band chunk of urgent data (if supp)

@ eIO_WritePersist

write exactly as much as specified, w/waits

@ eIO_ReadWrite

eIO_Read | eIO_Write (also, eCONN_OnFlush)

@ eIO_Open

also serves as no-event indicator in SOCK_Poll

@ eIO_Close

also serves as an error indicator in SOCK_Poll

unsigned int

A callback function used to compare two keys in a database.

if(yy_accept[yy_current_state])

static void text(MDB_val *v)

const struct ncbi::grid::netcache::search::fields::SIZE size

int strncmp(const char *str1, const char *str2, size_t count)

char * strncpy0(char *s1, const char *s2, size_t n)

Copy not more than "n" characters from string "s2" into "s1", and return the result,...

SConnNetInfo * ConnNetInfo_CreateInternal(const char *service)

static EIO_Status x_FTPParseSize(SFTPConnector *xxx, const char *size)

static EIO_Status x_FTPParseReply(SFTPConnector *xxx, int *code, char *line, size_t maxlinelen, FFTPReplyCB replycb)

static EIO_Status s_FTPSyst(SFTPConnector *xxx, const char *cmd)

static EIO_Status x_FTPFeat(SFTPConnector *xxx)

static EIO_Status s_FTPExecute(SFTPConnector *xxx, const STimeout *timeout)

static const STimeout kFailsafeTimeout

static EIO_Status x_FTPRename(SFTPConnector *xxx, const char *src, const char *dst)

static EIO_Status x_FTPNegotiateCB(SFTPConnector *xxx, int code, size_t lineno, const char *line)

static EIO_Status x_FTPSyncCntl(SFTPConnector *xxx, const STimeout *timeout)

static EIO_Status x_FTPHelpCB(SFTPConnector *xxx, int code, size_t lineno, const char *line)

static int x_IsLongerTimeout(const STimeout *p1, const STimeout *p2)

EIO_Status(* FFTPReplyCB)(SFTPConnector *xxx, int code, size_t lineno, const char *line)

static EIO_Status x_FTPFeatCB(SFTPConnector *xxx, int code, size_t lineno, const char *line)

static char * s_VT_Descr(CONNECTOR connector)

static EIO_Status s_VT_Status(CONNECTOR connector, EIO_Event direction)

static EIO_Status x_FTPCompleteUpload(SFTPConnector *xxx, const STimeout *timeout)

static EIO_Status x_FTPRetrieveCB(SFTPConnector *xxx, int code, size_t lineno, const char *line)

static EIO_Status s_FTPDele(SFTPConnector *xxx, const char *cmd)

static char * x_FTPUnquote(char *str, size_t *len)

static EIO_Status s_VT_Write(CONNECTOR connector, const void *buf, size_t size, size_t *n_written, const STimeout *timeout)

static EIO_Status x_FTPBinary(SFTPConnector *xxx)

static EIO_Status s_VT_Read(CONNECTOR connector, void *buf, size_t size, size_t *n_read, const STimeout *timeout)

static EIO_Status x_FTPNoop(SFTPConnector *xxx)

static EIO_Status s_FTPCommandEx(SFTPConnector *xxx, const char *cmd, const char *arg, int off)

#define s_FTPCommand(x, c, a)

static EIO_Status x_FTPStatCB(SFTPConnector *xxx, int code, size_t lineno, const char *line)

static EIO_Status x_FTPRest(SFTPConnector *xxx, const char *arg, int out)

static const char * s_VT_GetType(CONNECTOR connector)

static EIO_Status x_FTPDrainReply(SFTPConnector *xxx, int *code, int cXX)

static EIO_Status x_FTPDir(SFTPConnector *xxx, const char *cmd, const char *arg)

static EIO_Status s_FTPRestart(SFTPConnector *xxx, const char *arg)

static EIO_Status s_FTPMlsX(SFTPConnector *xxx, const char *cmd, const STimeout *timeout)

static EIO_Status s_FTPStat(SFTPConnector *xxx, const char *cmd)

static EIO_Status x_FTPActive(SFTPConnector *xxx, LSOCK *lsock, const STimeout *timeout)

static EIO_Status x_FTPFeatures(SFTPConnector *xxx)

static EIO_Status x_FTPOpenData(SFTPConnector *xxx, LSOCK *lsock, const STimeout *timeout)

static EIO_Status s_VT_Close(CONNECTOR connector, const STimeout *timeout)

static EIO_Status x_FTPMlsdCB(SFTPConnector *xxx, int code, size_t lineno, const char *line)

static EIO_Status x_FTPPort(SFTPConnector *xxx, unsigned int host, unsigned short port)

static EIO_Status x_FTPHelp(SFTPConnector *xxx)

static EIO_Status s_VT_Flush(CONNECTOR connector, const STimeout *timeout)

static EIO_Status s_FTPReply(SFTPConnector *xxx, int *code, char *line, size_t maxlinelen, FFTPReplyCB replycb)

static EIO_Status s_FTPRename(SFTPConnector *xxx, const char *arg)

static EIO_Status x_FTPXfer(SFTPConnector *xxx, const char *cmd, const STimeout *timeout, FFTPReplyCB replycb)

static EIO_Status s_VT_Open(CONNECTOR connector, const STimeout *timeout)

CONNECTOR s_CreateConnector(const SConnNetInfo *info, const char *host, unsigned short port, const char *user, const char *pass, const char *path, TFTP_Flags flag, const SFTP_Callback *cmcb)

static EIO_Status s_FTPMdtm(SFTPConnector *xxx, const char *cmd)

static EIO_Status s_FTPSize(SFTPConnector *xxx, const char *cmd)

static EIO_Status s_FTPNegotiate(SFTPConnector *xxx, const char *cmd)

static EIO_Status x_FTPPassive(SFTPConnector *xxx, const STimeout *timeout)

static EIO_Status x_FTPCloseData(SFTPConnector *xxx, EIO_Event how, const STimeout *timeout)

static EIO_Status x_FTPPasv(SFTPConnector *xxx, unsigned int *host, unsigned short *port)

static void x_FTPCloseCntl(SFTPConnector *xxx, const char *abort)

static void s_Setup(CONNECTOR connector)

static EIO_Status x_FTPAbort(SFTPConnector *xxx, int how, const STimeout *timeout)

static EIO_Status x_DrainData(SFTPConnector *xxx, const STimeout *timeout)

static EIO_Status x_FTPEprt(SFTPConnector *xxx, unsigned int host, unsigned short port)

static EIO_Status x_FTPTelnetSynch(SFTPConnector *xxx)

static EIO_Status s_FTPStore(SFTPConnector *xxx, const char *cmd, const STimeout *timeout)

static EIO_Status s_FTPRetrieve(SFTPConnector *xxx, const char *cmd, const STimeout *timeout)

static EIO_Status s_VT_Wait(CONNECTOR connector, EIO_Event event, const STimeout *timeout)

static EIO_Status x_FTPPollCntl(SFTPConnector *xxx, const STimeout *timeout)

static EIO_Status x_FTPParseMdtm(SFTPConnector *xxx, char *timestamp)

static void x_StoreTimeoutNormalized(STimeout *dst, const STimeout *src)

static EIO_Status x_FTPMlstCB(SFTPConnector *xxx, int code, size_t lineno, const char *line)

static const char kDigits[]

static EIO_Status s_FTPDir(SFTPConnector *xxx, const char *cmd, const char *arg)

static void s_Destroy(CONNECTOR connector)

unsigned short TFTP_Features

static const char * x_4Word(const char *line, const char word[4+1])

static const STimeout kZeroTimeout

static EIO_Status x_FTPEpsv(SFTPConnector *xxx, unsigned int *host, unsigned short *port)

static EIO_Status x_FTPLogin(SFTPConnector *xxx)

#define CORE_LOGF_X(subcode, level, fmt_args)

#define CORE_TRACEF(fmt_args)

#define CORE_LOG(level, message)

static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)

static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)

const SConnNetInfo * info


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4