1*7c568831SAndroid Build Coastguard Worker * Summary: minimal FTP implementation 2*7c568831SAndroid Build Coastguard Worker * Description: minimal FTP implementation allowing to fetch resources 3*7c568831SAndroid Build Coastguard Worker * like external subset. 4*7c568831SAndroid Build Coastguard Worker * 5*7c568831SAndroid Build Coastguard Worker * Copy: See Copyright for the status of this software. 6*7c568831SAndroid Build Coastguard Worker * 7*7c568831SAndroid Build Coastguard Worker * Author: Patrick Monnerat <[email protected]>, DATASPHERE S.A. 8*7c568831SAndroid Build Coastguard Worker 9*7c568831SAndroid Build Coastguard Worker /if not defined(NANO_FTP_H__) 10*7c568831SAndroid Build Coastguard Worker /define NANO_FTP_H__ 11*7c568831SAndroid Build Coastguard Worker 12*7c568831SAndroid Build Coastguard Worker /include "libxmlrpg/xmlversion" 13*7c568831SAndroid Build Coastguard Worker 14*7c568831SAndroid Build Coastguard Worker /if defined(LIBXML_FTP_ENABLED) 15*7c568831SAndroid Build Coastguard Worker 16*7c568831SAndroid Build Coastguard Worker /include "libxmlrpg/xmlTypesC" 17*7c568831SAndroid Build Coastguard Worker 18*7c568831SAndroid Build Coastguard Worker d INVALID_SOCKET c -1 19*7c568831SAndroid Build Coastguard Worker 20*7c568831SAndroid Build Coastguard Worker * ftpListCallback: 21*7c568831SAndroid Build Coastguard Worker * @userData: user provided data for the callback 22*7c568831SAndroid Build Coastguard Worker * @filename: the file name (including "->" when links are shown) 23*7c568831SAndroid Build Coastguard Worker * @attrib: the attribute string 24*7c568831SAndroid Build Coastguard Worker * @owner: the owner string 25*7c568831SAndroid Build Coastguard Worker * @group: the group string 26*7c568831SAndroid Build Coastguard Worker * @size: the file size 27*7c568831SAndroid Build Coastguard Worker * @links: the link count 28*7c568831SAndroid Build Coastguard Worker * @year: the year 29*7c568831SAndroid Build Coastguard Worker * @month: the month 30*7c568831SAndroid Build Coastguard Worker * @day: the day 31*7c568831SAndroid Build Coastguard Worker * @hour: the hour 32*7c568831SAndroid Build Coastguard Worker * @minute: the minute 33*7c568831SAndroid Build Coastguard Worker * 34*7c568831SAndroid Build Coastguard Worker * A callback for the xmlNanoFTPList command. 35*7c568831SAndroid Build Coastguard Worker * Note that only one of year and day:minute are specified. 36*7c568831SAndroid Build Coastguard Worker 37*7c568831SAndroid Build Coastguard Worker d ftpListCallback... 38*7c568831SAndroid Build Coastguard Worker d s * based(######typedef######) 39*7c568831SAndroid Build Coastguard Worker d procptr 40*7c568831SAndroid Build Coastguard Worker 41*7c568831SAndroid Build Coastguard Worker * ftpDataCallback: 42*7c568831SAndroid Build Coastguard Worker * @userData: the user provided context 43*7c568831SAndroid Build Coastguard Worker * @data: the data received 44*7c568831SAndroid Build Coastguard Worker * @len: its size in bytes 45*7c568831SAndroid Build Coastguard Worker * 46*7c568831SAndroid Build Coastguard Worker * A callback for the xmlNanoFTPGet command. 47*7c568831SAndroid Build Coastguard Worker 48*7c568831SAndroid Build Coastguard Worker d ftpDataCallback... 49*7c568831SAndroid Build Coastguard Worker d s * based(######typedef######) 50*7c568831SAndroid Build Coastguard Worker d procptr 51*7c568831SAndroid Build Coastguard Worker 52*7c568831SAndroid Build Coastguard Worker * Init 53*7c568831SAndroid Build Coastguard Worker 54*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPInit pr extproc('xmlNanoFTPInit') 55*7c568831SAndroid Build Coastguard Worker 56*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPCleanup... 57*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPCleanup') 58*7c568831SAndroid Build Coastguard Worker 59*7c568831SAndroid Build Coastguard Worker * Creating/freeing contexts. 60*7c568831SAndroid Build Coastguard Worker 61*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPNewCtxt... 62*7c568831SAndroid Build Coastguard Worker d pr * extproc('xmlNanoFTPNewCtxt') void * 63*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 64*7c568831SAndroid Build Coastguard Worker 65*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPFreeCtxt... 66*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPFreeCtxt') 67*7c568831SAndroid Build Coastguard Worker d ctx * value void * 68*7c568831SAndroid Build Coastguard Worker 69*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPConnectTo... 70*7c568831SAndroid Build Coastguard Worker d pr * extproc('xmlNanoFTPConnectTo') void * 71*7c568831SAndroid Build Coastguard Worker d server * value options(*string) const char * 72*7c568831SAndroid Build Coastguard Worker d port value like(xmlCint) 73*7c568831SAndroid Build Coastguard Worker 74*7c568831SAndroid Build Coastguard Worker * Opening/closing session connections. 75*7c568831SAndroid Build Coastguard Worker 76*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPOpen pr * extproc('xmlNanoFTPOpen') void * 77*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 78*7c568831SAndroid Build Coastguard Worker 79*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPConnect... 80*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPConnect') 81*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 82*7c568831SAndroid Build Coastguard Worker d ctx * value void * 83*7c568831SAndroid Build Coastguard Worker 84*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPClose... 85*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPClose') 86*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 87*7c568831SAndroid Build Coastguard Worker d ctx * value void * 88*7c568831SAndroid Build Coastguard Worker 89*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPQuit pr extproc('xmlNanoFTPQuit') 90*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 91*7c568831SAndroid Build Coastguard Worker d ctx * value void * 92*7c568831SAndroid Build Coastguard Worker 93*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPScanProxy... 94*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPScanProxy') 95*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 96*7c568831SAndroid Build Coastguard Worker 97*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPProxy... 98*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPProxy') 99*7c568831SAndroid Build Coastguard Worker d host * value options(*string) const char * 100*7c568831SAndroid Build Coastguard Worker d port value like(xmlCint) 101*7c568831SAndroid Build Coastguard Worker d user * value options(*string) const char * 102*7c568831SAndroid Build Coastguard Worker d passwd * value options(*string) const char * 103*7c568831SAndroid Build Coastguard Worker d type value like(xmlCint) 104*7c568831SAndroid Build Coastguard Worker 105*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPUpdateURL... 106*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPUpdateURL') 107*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 108*7c568831SAndroid Build Coastguard Worker d ctx * value void * 109*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 110*7c568831SAndroid Build Coastguard Worker 111*7c568831SAndroid Build Coastguard Worker * Rather internal commands. 112*7c568831SAndroid Build Coastguard Worker 113*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPGetResponse... 114*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPGetResponse') 115*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 116*7c568831SAndroid Build Coastguard Worker d ctx * value void * 117*7c568831SAndroid Build Coastguard Worker 118*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPCheckResponse... 119*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPCheckResponse') 120*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 121*7c568831SAndroid Build Coastguard Worker d ctx * value void * 122*7c568831SAndroid Build Coastguard Worker 123*7c568831SAndroid Build Coastguard Worker * CD/DIR/GET handlers. 124*7c568831SAndroid Build Coastguard Worker 125*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPCwd pr extproc('xmlNanoFTPCwd') 126*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 127*7c568831SAndroid Build Coastguard Worker d ctx * value void * 128*7c568831SAndroid Build Coastguard Worker d directory * value options(*string) const char * 129*7c568831SAndroid Build Coastguard Worker 130*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPDele pr extproc('xmlNanoFTPDele') 131*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 132*7c568831SAndroid Build Coastguard Worker d ctx * value void * 133*7c568831SAndroid Build Coastguard Worker d file * value options(*string) const char * 134*7c568831SAndroid Build Coastguard Worker 135*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPGetConnection... 136*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPGetConnection') Socket descriptor 137*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 138*7c568831SAndroid Build Coastguard Worker d ctx * value void * 139*7c568831SAndroid Build Coastguard Worker 140*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPCloseConnection... 141*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPCloseConnection') 142*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 143*7c568831SAndroid Build Coastguard Worker d ctx * value void * 144*7c568831SAndroid Build Coastguard Worker 145*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPList pr extproc('xmlNanoFTPList') 146*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 147*7c568831SAndroid Build Coastguard Worker d ctx * value void * 148*7c568831SAndroid Build Coastguard Worker d callback value like(ftpListCallback) 149*7c568831SAndroid Build Coastguard Worker d userData * value void * 150*7c568831SAndroid Build Coastguard Worker d filename * value options(*string) const char * 151*7c568831SAndroid Build Coastguard Worker 152*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPGetSocket... 153*7c568831SAndroid Build Coastguard Worker d pr extproc('xmlNanoFTPGetSocket') Socket descriptor 154*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 155*7c568831SAndroid Build Coastguard Worker d ctx * value void * 156*7c568831SAndroid Build Coastguard Worker d filename * value options(*string) const char * 157*7c568831SAndroid Build Coastguard Worker 158*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPGet pr extproc('xmlNanoFTPGet') 159*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 160*7c568831SAndroid Build Coastguard Worker d ctx * value void * 161*7c568831SAndroid Build Coastguard Worker d callback value like(ftpDataCallback) 162*7c568831SAndroid Build Coastguard Worker d userData * value void * 163*7c568831SAndroid Build Coastguard Worker d filename * value options(*string) const char * 164*7c568831SAndroid Build Coastguard Worker 165*7c568831SAndroid Build Coastguard Worker d xmlNanoFTPRead pr extproc('xmlNanoFTPRead') 166*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 167*7c568831SAndroid Build Coastguard Worker d ctx * value void * 168*7c568831SAndroid Build Coastguard Worker d dest * value void * 169*7c568831SAndroid Build Coastguard Worker d len value like(xmlCint) 170*7c568831SAndroid Build Coastguard Worker 171*7c568831SAndroid Build Coastguard Worker /endif LIBXML_FTP_ENABLED 172*7c568831SAndroid Build Coastguard Worker /endif NANO_FTP_H__ 173