47#define ARGSUSED(x) x = (argc != 0) || (argv != 0) || (cmdp != 0) || (aip != 0)
81#if defined(WIN32) || defined(_WINDOWS)
82#elif defined(HAVE_SIGSETJMP)
102 fp =
popen((pprog[0] ==
'\0') ?
"more" : pprog,
"w");
119 if ((pagerfp !=
NULL) && (pagerfp !=
stdout)) {
141 if (dfltname[0] ==
'\0') {
142 (
void)
printf(
"Enter a name for this bookmark: ");
144 (
void)
printf(
"Enter a name for this bookmark, or hit enter for \"%s\": ", dfltname);
148 if (bmname[0] !=
'\0') {
151 }
else if (dfltname[0] !=
'\0') {
166 memset(&bm, 0,
sizeof(bm));
242 if ((saveBm < 0) && (
gBm.
pass[0] !=
'\0')) {
243 (
void)
printf(
"\n\nYou logged into this site using a password.\nWould you like to save the password with this bookmark?\n\n");
249 (
void)
printf(
"\nNot saving the password.\n");
279 (
void)
printf(
"\n\nYou have not saved a bookmark for this site.\n");
281 (
void)
printf(
"\nWould you like to save a bookmark to:\n\t%s\n\n",
url);
291 if ((
c ==
'n') || (
c ==
'y'))
296 }
else if (
c ==
'Y') {
302 (
void)
printf(
"Not saved. (If you don't want to be asked this, \"set confirm-close no\")\n\n\n");
331 (
void)
printf(
"Sorry, configuration information is not saved for this user.\n");
332 }
else if ((
argc <= 1) || (
argv[1][0] ==
'\0')) {
384 if (lp->
line[0] ==
'"')
422#ifdef USE_WHAT_SERVER_SAYS_IS_CWD
432 if ((cdCwd ==
NULL) || (cdCwd[0] ==
'\0')) {
443 if (
strcmp(cdCwd,
"..") == 0) {
449#ifdef USE_WHAT_SERVER_SAYS_IS_CWD
521 if ((cdCwd[0] ==
'\0') || (
strcmp(cdCwd,
".") == 0)) {
528 if ((cdCwd[0] ==
'.') && (cdCwd[1] ==
'.') && ((cdCwd[2] ==
'\0') ||
IsLocalPathDelim(cdCwd[2]))) {
543 lastSubDir = (
cp ==
NULL);
548 }
while ((!lastSubDir) && (
result == 0));
721 for (lp =
ll.first; lp !=
NULL; lp = lp->
next) {
740 const char *
volatile *localpath,
742 volatile time_t localmtime,
743 const char *
volatile remotepath,
745 volatile time_t remotemtime,
749 char tstr[80], ans[32];
750 static char newname[128];
758 tstr[
sizeof(tstr) - 1] =
'\0';
762 "\nThe local file \"%s\" already exists.\n\tLocal: %12lld bytes, dated %s.\n",
763#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_QD)
764 "\nThe local file \"%s\" already exists.\n\tLocal: %12qd bytes, dated %s.\n",
765#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_I64D)
766 "\nThe local file \"%s\" already exists.\n\tLocal: %12I64d bytes, dated %s.\n",
768 "\nThe local file \"%s\" already exists.\n\tLocal: %12ld bytes, dated %s.\n",
779 "\tRemote: %12lld bytes, dated %s.\n",
780#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_QD)
781 "\tRemote: %12qd bytes, dated %s.\n",
782#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_I64D)
783 "\tRemote: %12I64d bytes, dated %s.\n",
785 "\tRemote: %12ld bytes, dated %s.\n",
790 if ((remotemtime == localmtime) && (remotesize == localsize)) {
791 (
void)
printf(
"\t(Files are identical, skipped)\n\n");
797 "\tRemote: %12lld bytes, date unknown.\n",
798#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_QD)
799 "\tRemote: %12qd bytes, date unknown.\n",
800#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_I64D)
801 "\tRemote: %12I64d bytes, date unknown.\n",
803 "\tRemote: %12ld bytes, date unknown.\n",
810 "\tRemote: size unknown, dated %s.\n",
821 printf(
" [A]ppend to? [S]kip? [N]ew Name?\n");
824 printf(
" [R!]esume all?");
825 printf(
" [S!]kip all? [C]ancel > ");
828 switch ((
int) ans[0]) {
843 printf(
"\tResume is not available on this server.\n\n");
846 }
else if (remotesize < localsize) {
847 printf(
"\tCannot resume when local file is already larger than the remote file.\n\n");
850 }
else if (remotesize <= localsize) {
851 printf(
"\tLocal file is already the same size as the remote file.\n\n");
856 *startPoint = localsize;
859 printf(
"\n\tNOTE: If you want NcFTP to guess automatically, \"set auto-resume yes\"\n\n");
896 newname[
strlen(newname) - 1] =
'\0';
897 if (newname[0] ==
'\0') {
899 printf(
"Skipped %s.\n", remotepath);
902 *localpath = newname;
924 const char *dstdir =
NULL;
939 while ((opt =
Getopt(
argc,
argv,
"aAzfrRTD")) >= 0)
switch (opt) {
1001 if (renameMode != 0) {
1004 (
void)
fprintf(
stderr,
"\nFor get with rename, try \"get -z remote-path-name local-path-name\".\n");
1017 rc =
FTPGetFiles3(&
gConn,
pattern, dstdir, recurseFlag, doGlob, xtype, resumeFlag, appendFlag, deleteFlag, tarflag, confirmProc, 0);
1039 int showall = 0, helpall = 0;
1044 int len, widestName;
1046 const char *cmdnames[64];
1054 if (
argc == 1 || showall) {
1056Commands may be abbreviated. 'help showall' shows hidden and unsupported \n\
1057commands. 'help <command>' gives a brief description of <command>.\n\n");
1069 (
void)
memset((
char *) cmdnames, 0,
sizeof(cmdnames));
1080 cmdnames[
i++] =
c->name;
1082 if (
len > widestName)
1090 screenColumns =
atoi(
cp);
1095 nCols = (screenColumns + 0) / widestName;
1097 if ((nCmds2Print %
nCols) > 0)
1103 if (
k < nCmds2Print) {
1105 (
j <
nCols - 1) ? widestName : widestName - 2
1112 }
else if (helpall) {
1155 if (bookmarks ==
NULL)
1167 (
void)
fprintf(pager,
"--BOOKMARK----------URL--------------------------------------------------------\n");
1189#if defined(WIN32) || defined(_WINDOWS)
1190 char ncftpbookmarks[260];
1194 char msg[kNcFTPBookmarksMailslotMsgSize];
1198 if (selectedBmName !=
NULL)
1199 memset(selectedBmName, 0, dsize);
1201 (
void)
fprintf(
stderr,
"Cannot find path to %s. Please re-run Setup.\n",
"ncftpbookmarks.exe");
1204 prog = ncftpbookmarks;
1211 SysPerror(
"CreateMailslot");
1212 (
void)
fprintf(
stderr,
"Could not create communication channel with %s.\n",
"ncftpbookmarks.exe");
1213 (
void)
fprintf(
stderr,
"%s",
"This means if you select a bookmark to connect to that NcFTP\n");
1218 if (winExecResult <= 31)
switch (winExecResult) {
1223 fprintf(
stderr,
"Could not run %s: %s\n",
prog,
"The specified file was not found.");
1226 fprintf(
stderr,
"Could not run %s: %s\n",
prog,
"The specified path was not found.");
1234 fprintf(
stdout,
"Waiting for %s to exit...\n",
"ncftpbookmarks.exe");
1246 SysPerror(
"ReadFile");
1248 msg[
sizeof(
msg) - 1] =
'\0';
1250 Trace(0,
"Selected bookmark from editor: [%s]\n", selectedBmName);
1258 char ncftpbookmarks[256];
1262 char bmSelectionFile[256];
1266 if (selectedBmName !=
NULL)
1267 memset(selectedBmName, 0, dsize);
1268 STRNCPY(ncftpbookmarks, BINDIR);
1270 STRNCAT(ncftpbookmarks,
"ncftpbookmarks");
1272 STRNCPY(bmSelectionFile,
"view");
1276 STRNCAT(bmSelectionFile, pidStr);
1283 }
else if (
pid == 0) {
1286 av[0] = (
char *)
"ncftpbookmarks";
1287 av[1] = bmSelectionFile;
1289 execv(ncftpbookmarks, av);
1305 if (
strcmp(bmSelectionFile,
"view") != 0) {
1308 (
void)
FGets(selectedBmName, dsize, fp);
1311 Trace(0,
"Selected bookmark from editor: [%s]\n", selectedBmName);
1337 if (bm[0] !=
'\0') {
1346 (
void)
printf(
"You haven't bookmarked any FTP sites.\n");
1347 (
void)
printf(
"Before closing a site, you can use the \"bookmark\" command to save the current\nhost and directory for next time.\n");
1349 (
void)
printf(
"\nTo use a bookmark, use the \"open\" command with the name of the bookmark.\n");
1377 volatile int listmode;
1379 volatile int paging;
1380#if defined(WIN32) || defined(_WINDOWS)
1390 if (
argv[0][0] ==
'd') {
1393 }
else if (
argv[0][0] ==
'n') {
1396 }
else if (
argv[0][0] ==
'p') {
1400 if (
argv[0][1] ==
'd') {
1403 }
else if (
argv[0][1] ==
'n') {
1418 if (
argv[
i][0] !=
'-')
1420 if (
argv[
i][1] ==
'-') {
1421 if (
argv[
i][2] ==
'\0') {
1459#if defined(WIN32) || defined(_WINDOWS)
1460#elif defined(HAVE_SIGSETJMP)
1468#if defined(WIN32) || defined(_WINDOWS)
1500#if defined(WIN32) || defined(_WINDOWS)
1522 if ((
dir[0] ==
'-') && (
dir[1] ==
'\0')) {
1529 }
else if (
dir[0] ==
'~') {
1530 if (
dir[1] ==
'\0') {
1532 }
else if (
dir[1] ==
'/') {
1554#if defined(WIN32) || defined(_WINDOWS)
1559 volatile int listmode;
1561 volatile int paging;
1568 if (
argv[0][1] ==
'd') {
1571 }
else if (
argv[0][1] ==
'n') {
1582 if (
argv[
i][0] !=
'-')
1584 if (
argv[
i][1] ==
'-') {
1585 if (
argv[
i][2] ==
'\0') {
1628 FILE *
volatile outfp;
1629 FILE *
volatile infp;
1642 for (
i=1, dashopts=0;
i<
argc;
i++) {
1644 if (
argv[
i][0] ==
'-')
1649 if (dashopts == 0) {
1657 infp =
popen(incmd,
"r");
1664#ifdef HAVE_SIGSETJMP
1738#if defined(WIN32) || defined(_WINDOWS)
1744 Sys(
argc,
argv, aip,
"/bin/chmod", 1);
1753#if defined(WIN32) || defined(_WINDOWS)
1765 Sys(
argc,
argv, aip,
"/bin/mkdir", 0);
1772#if defined(WIN32) || defined(_WINDOWS)
1788#if defined(WIN32) || defined(_WINDOWS)
1794 Sys(
argc,
argv, aip,
"/bin/mv", 1);
1804#if defined(WIN32) || defined(_WINDOWS)
1817 for (lp =
ll.first; lp !=
NULL; lp = lp->
next) {
1828 Sys(
argc,
argv, aip,
"/bin/rm", 1);
1838#if defined(WIN32) || defined(_WINDOWS)
1851 for (lp =
ll.first; lp !=
NULL; lp = lp->
next) {
1862 Sys(
argc,
argv, aip,
"/bin/rmdir", 1);
1911 if ((
i >
gOptInd) && (shortMode == 0))
1914 Trace(-1,
"Unable to get information about site %s.\n",
host);
1915 }
else if (shortMode) {
1922 Trace(-1,
" Alias: %s\n", *cpp);
1925 Trace(-1,
" Address: %s\n", ipStr);
1950 if ((opt ==
'd') || (opt ==
't')) {
1973 for (linePtr = dirContents.
first;
1975 linePtr = nextLinePtr)
1977 nextLinePtr = linePtr->
next;
1994 for (linePtr = dirContents.
first;
1996 linePtr = nextLinePtr)
1998 nextLinePtr = linePtr->
next;
2058 padlim =
sizeof(
buf) - 1;
2061#ifdef HAVE_VSNPRINTF
2064 buf[
sizeof(
buf) - 1] =
'\0';
2072 for (;
len < padlim;
len++)
2094 if (rp->
code == 331)
2151 (
void)
printf(
"\nPassword requested by %s for user \"%s\".\n\n",
2180 OpenMsg(
"Resolving %s...", ohost);
2194 (
void)
printf(
"Unknown host \"%s\".\n", ohost);
2198 OpenMsg(
"Connecting to %s...", ipstr);
2201 Trace(0,
"Fw: %s Type: %d User: %s Pass: %s Port: %u\n",
2210 Trace(0,
"NOTE: Your domain name could not be detected.\n");
2212 Trace(0,
" Make sure you manually add your domain name to firewall-exception-list.\n");
2230 (
void)
STRNCPY(prompt,
"Password for firewall user \"");
2326 int directoryURL = 0;
2350 }
else if (uOptInd >
argc) {
2366 (
void)
printf(
"You haven't bookmarked any FTP sites.\n");
2367 (
void)
printf(
"Before closing a site, you can use the \"bookmark\" command to save the current\nhost and directory for next time.\n");
2370 (
void)
printf(
"\nTo use a bookmark, use the \"open\" command with the name of the bookmark.\n");
2407 if (urlfile[0] !=
'\0') {
2441 if (uOptInd <=
argc)
2465 if (uOptInd >
argc) {
2473 if ((rc >= 0) && (directoryURL != 0)) {
2501#if defined(WIN32) || defined(_WINDOWS)
2513#if defined(WIN32) || defined(_WINDOWS)
2516#ifdef HAVE_SIGSETJMP
2554#if defined(WIN32) || defined(_WINDOWS)
2570 const char *
volatile localpath,
2572 volatile time_t localmtime,
2573 const char *
volatile *remotepath,
2575 volatile time_t remotemtime,
2579 char tstr[80], ans[32];
2580 static char newname[128];
2588 printf(
"\nThe remote file \"%s\" already exists.\n", *remotepath);
2594 "\tLocal: %12lld bytes, dated %s.\n",
2595#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_QD)
2596 "\tLocal: %12qd bytes, dated %s.\n",
2597#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_I64D)
2598 "\tLocal: %12I64d bytes, dated %s.\n",
2600 "\tLocal: %12ld bytes, dated %s.\n",
2605 if ((remotemtime == localmtime) && (remotesize == localsize)) {
2606 (
void)
printf(
"\t(Files are identical, skipped)\n\n");
2612 "\tLocal: %12lld bytes, date unknown.\n",
2613#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_QD)
2614 "\tLocal: %12qd bytes, date unknown.\n",
2615#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_I64D)
2616 "\tLocal: %12I64d bytes, date unknown.\n",
2618 "\tLocal: %12ld bytes, date unknown.\n",
2625 "\tLocal: size unknown, dated %s.\n",
2630 tstr[
sizeof(tstr) - 1] =
'\0';
2635 "\tRemote: %12lld bytes, dated %s.\n",
2636#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_QD)
2637 "\tRemote: %12qd bytes, dated %s.\n",
2638#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_I64D)
2639 "\tRemote: %12I64d bytes, dated %s.\n",
2641 "\tRemote: %12ld bytes, dated %s.\n",
2649 "\tRemote: %12lld bytes, date unknown.\n",
2650#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_QD)
2651 "\tRemote: %12qd bytes, date unknown.\n",
2652#elif defined(HAVE_LONG_LONG) && defined(PRINTF_LONG_LONG_I64D)
2653 "\tRemote: %12I64d bytes, date unknown.\n",
2655 "\tRemote: %12ld bytes, date unknown.\n",
2662 "\tRemote: size unknown, dated %s.\n",
2674 printf(
" [A]ppend to? [S]kip? [N]ew Name?\n");
2677 printf(
" [R!]esume all?");
2678 printf(
" [S!]kip all? [C]ancel > ");
2680 switch ((
int) ans[0]) {
2695 printf(
"\tResume is not available on this server.\n\n");
2698 }
else if (remotesize > localsize) {
2699 printf(
"\tCannot resume when remote file is already larger than the local file.\n\n");
2702 }
else if (remotesize == localsize) {
2703 printf(
"\tRemote file is already the same size as the local file.\n\n");
2708 *startPoint = remotesize;
2711 printf(
"\n\tNOTE: If you want NcFTP to guess automatically, \"set auto-resume yes\"\n\n");
2743 if (ans[0] ==
'N') {
2748 newname[
strlen(newname) - 1] =
'\0';
2749 if (newname[0] ==
'\0') {
2751 printf(
"Skipped %s.\n", localpath);
2754 *remotepath = newname;
2774 const char *dstdir =
NULL;
2790 while ((opt =
Getopt(
argc,
argv,
"AafZzrRD")) >= 0)
switch (opt) {
2842 if (renameMode != 0) {
2845 (
void)
fprintf(
stderr,
"\nFor put with rename, try \"put -z local-path-name remote-path-name\".\n");
2849 rc =
FTPPutOneFile3(&
gConn,
argv[
gOptInd],
argv[
gOptInd + 1], xtype, (-1), appendFlag,
NULL,
NULL, resumeFlag, deleteFlag, confirmProc, 0);
2858 rc =
FTPPutFiles3(&
gConn,
pattern, dstdir, recurseFlag, doGlob, xtype, appendFlag,
NULL,
NULL, resumeFlag, deleteFlag, confirmProc, 0);
2883#ifdef USE_WHAT_SERVER_SAYS_IS_CWD
2898 olddir[
sizeof(olddir) - 2] =
'\0';
2907 Trace(-1,
"This URL is also valid on this server:\n");
2910 if (olddir[
sizeof(olddir) - 2] ==
'\0') {
2969 for (lp =
ll.first; lp !=
NULL; lp = lp->
next) {
3053 for (lp =
ll.first; lp !=
NULL; lp = lp->
next)
3063 for (lp =
ll.first; lp !=
NULL; lp = lp->
next)
3096#if defined(WIN32) || defined(_WINDOWS)
3108 }
else if (
pid == 0) {
3175 if ((
s2[0] ==
'n') || (
s2[0] ==
'+')) {
3186 if ((
n <= 0) || (toff <= 0))
3196 }
else if (
c ==
'm') {
3199 }
else if (
c ==
'h') {
3202 }
else if (
c ==
'd') {
3222 if ((
hr < 0) || (
min < 0))
3243#if defined(WIN32) || defined(_WINDOWS)
3244 (
void)
printf(
"Sorry, spooling isn't allowed until you run Setup.exe.\n");
3246 (
void)
printf(
"Sorry, spooling isn't allowed because this user requires that the NCFTPDIR\nenvironment variable be set to a directory to write datafiles to.\n");
3250#if defined(WIN32) || defined(_WINDOWS)
3251 (
void)
printf(
"Sorry, the \"ncftpbatch\" program could not be found.\nPlease re-run Setup to correct this problem.\n");
3253 (
void)
printf(
"Sorry, the \"ncftpbatch\" program could not be found.\nThis program must be installed and in your PATH in order to use this feature.\n");
3276 (
void)
printf(
"Background process started.\n");
3277#if defined(WIN32) || defined(_WINDOWS)
3284 (
void)
printf(
"Background processes started.\n");
3285#if defined(WIN32) || defined(_WINDOWS)
3318 (
void)
printf(
"Sorry, spooling isn't allowed when you're not logged in anonymously, because\nthe spool files would need to save your password.\n\nYou can override this by doing a \"set save-passwords yes\" if you're willing\nto live with the consequences.\n");
3325 while ((opt =
Getopt(
argc,
argv,
"@:azfrRD")) >= 0)
switch (opt) {
3329 (
void)
fprintf(
stderr,
"Bad date. It must be expressed as one of the following:\n\tYYYYMMDDHHMMSS\t\n\t\"now + N hours|min|sec|days\"\n\tHH:MM\n\nNote: Do not forget to quote the entire argument for the offset option.\nExample: bgget -@ \"now + 15 min\" ...\n");
3369 perror(
"could not get current local directory");
3373 if (renameMode != 0) {
3410 for (lp =
ll.first; lp !=
NULL; lp = lp->
next) {
3438 Trace(-1,
" + Spooled: get %s\n", lp->
line);
3474 (
void)
printf(
"Sorry, spooling isn't allowed when you're not logged in anonymously, because\nthe spool files would need to save your password.\n\nYou can override this by doing a \"set save-passwords yes\" if you're willing\nto live with the consequences.\n");
3481 while ((opt =
Getopt(
argc,
argv,
"@:azrRD")) >= 0)
switch (opt) {
3485 (
void)
fprintf(
stderr,
"Bad date. It must be expressed as one of the following:\n\tYYYYMMDDHHMMSS\t\n\t\"now + N hours|min|sec|days\"\n\tHH:MM\n\nNote: Do not forget to quote the entire argument for the offset option.\nExample: bgget -@ \"now + 15 min\" ...\n");
3525 perror(
"could not get current local directory");
3529 if (renameMode != 0) {
3566 for (lp =
ll.first; lp !=
NULL; lp = lp->
next) {
3594 Trace(-1,
" + Spooled: put %s\n", lp->
line);
3645 cs =
"binary/image";
3647 Trace(-1,
"Type is %c (%s).\n",
c,
cs);
3691 (
void)
printf(
"Author: Mike Gleason (ncftp@ncftp.com)\n");
3693 (
void)
printf(
"Archived at: ftp://ftp.ncftp.com/ncftp/\n");
3697 (
void)
printf(
"Compile Date: %s\n", __DATE__);
char * Strncpy(char *const, const char *const, const size_t)
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
char * strchr(const char *String, int ch)
#define STRNCPY(dst, src, n)
void CloseBookmarkFile(FILE *fp)
int GetNextBookmark(FILE *fp, Bookmark *bmp)
FILE * OpenBookmarkFile(int *numBookmarks0)
void SetBookmarkDefaults(BookmarkPtr bmp)
int GetBookmark(const char *const bmabbr, Bookmark *bmp)
void DefaultBookmarkName(char *dst, size_t siz, char *src)
int PutBookmark(Bookmark *bmp, int savePassword)
void BookmarkToURL(BookmarkPtr bmp, char *url, size_t urlsize)
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
UINT WINAPI DECLSPEC_HOTPATCH WinExec(LPCSTR lpCmdLine, UINT uCmdShow)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
void MyInetAddr(char *, size_t, char **, int)
char * gl_getpass(const char *const prompt, char *const pass, int dsize)
GLint GLint GLint GLint GLint x
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLint GLboolean GLint GLenum access
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
int FTPLocalGlob(FTPCIPtr cip, LineListPtr fileList, const char *pattern, int doGlob)
int FTPRemoteGlob(FTPCIPtr cip, LineListPtr fileList, const char *pattern, int doGlob)
_Check_return_ _CRTIMP int __cdecl iscntrl(_In_ int _C)
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
_Check_return_ _CRTIMP int __cdecl _fileno(_In_ FILE *_File)
_Check_return_opt_ _CRTIMP int __cdecl fputs(_In_z_ const char *_Str, _Inout_ FILE *_File)
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
_Check_return_opt_ _CRTIMP int __cdecl fflush(_Inout_opt_ FILE *_File)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
_Check_return_opt_ _CRTIMP char *__cdecl fgets(_Out_writes_z_(_MaxCount) char *_Buf, _In_ int _MaxCount, _Inout_ FILE *_File)
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ _CRTIMP int __cdecl sscanf(_In_z_ const char *_Src, _In_z_ _Scanf_format_string_ const char *_Format,...)
int __cdecl vsprintf(char *_Dest, const char *_Format, va_list _Args)
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
void InitLineList(LineListPtr list)
void DisposeLineListContents(LineListPtr list)
void Ls(const char *const item, int listmode, const char *const options, FILE *stream)
void LLs(const char *const, int, const char *const, FILE *)
#define memcpy(s1, s2, n)
int FTPRmdir(const FTPCIPtr cip, const char *const pattern, const int recurse, const int doGlob)
int FTPSymlink(const FTPCIPtr cip, const char *const lfrom, const char *const lto)
int FTPMkdir(const FTPCIPtr cip, const char *const newDir, const int recurse)
int FTPChmod(const FTPCIPtr cip, const char *const pattern, const char *const mode, const int doGlob)
int FTPUmask(const FTPCIPtr cip, const char *const umsk)
int FTPDelete(const FTPCIPtr cip, const char *const pattern, const int recurse, const int doGlob)
int FTPRemoteHelp(const FTPCIPtr cip, const char *const pattern, const LineListPtr llp)
int FTPGetCWD(const FTPCIPtr cip, char *const newCwd, const size_t newCwdSize)
int FTPRename(const FTPCIPtr cip, const char *const oldname, const char *const newname)
int FTPChdir(const FTPCIPtr cip, const char *const cdCwd)
int FTPSetTransferType(const FTPCIPtr cip, int type)
void FTPPerror(const FTPCIPtr cip, const int err, const int eerr, const char *const s1, const char *const s2)
char gLibNcFTPVersion[64]
static struct hostent * GetHostEntry(char *host, struct in_addr *ip_address)
int FTPGetFiles3(const FTPCIPtr cip, const char *pattern1, const char *const dstdir1, const int recurse, int doGlob, const int xtype, const int resumeflag, int appendflag, const int deleteflag, const int tarflag, const ConfirmResumeDownloadProc resumeProc, int UNUSED(reserved))
int FTPListToMemory2(const FTPCIPtr cip, const char *const pattern, const LineListPtr llines, const char *const lsflags, const int blankLines, int *const tryMLSD)
int FTPGetOneFile3(const FTPCIPtr cip, const char *const file, const char *const dstfile, const int xtype, const int fdtouse, const int resumeflag, const int appendflag, const int deleteflag, const ConfirmResumeDownloadProc resumeProc, int UNUSED(reserved))
int FTPPutFiles3(const FTPCIPtr cip, const char *const pattern, const char *const dstdir1, const int recurse, const int doGlob, const int xtype, int appendflag, const char *const tmppfx, const char *const tmpsfx, const int resumeflag, const int deleteflag, const ConfirmResumeUploadProc resumeProc, int UNUSED(reserved))
int FTPPutOneFile3(const FTPCIPtr cip, const char *const file, const char *const dstfile, const int xtype, const int fdtouse, const int appendflag, const char *const tmppfx, const char *const tmpsfx, const int resumeflag, const int deleteflag, const ConfirmResumeUploadProc resumeProc, int UNUSED(reserved))
int FTPGetOneFile2(const FTPCIPtr cip, const char *const file, const char *const dstfile, const int xtype, const int fdtouse, const int resumeflag, const int appendflag)
void HostsCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void LocalPwdCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void EchoCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
static void NcFTPRedialStatusProc(const FTPCIPtr cipUNUSED, int mode, int val)
void GetCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
unsigned int gFirewallPort
static void NcFTPGetPassphraseProc(const FTPCIPtr cip, LineListPtr pwPrompt, char *pass, size_t dsize)
void ChdirCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void BookmarkCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void ChmodCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void SiteCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
static int PrintHosts(void)
void SpoolGetCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void PrintResp(LineListPtr llp)
void SaveUnsavedBookmark(void)
void SpoolPutCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
char gOurInstallationPath[]
void RenameCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void PageCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void LocalListCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void LookupCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void RGlobCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void UmaskCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void PwdCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
static int RunBookmarkEditor(char *selectedBmName, size_t dsize)
char gFirewallExceptionList[]
void SymlinkCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void SetCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void JobsCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void LocalMkdirCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void MlsCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)
void ShellCmd(const int argc, const char **const argv, const CommandPtr cmdp, const ArgvInfoPtr aip)