This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
deb-mbse/mbsebbs/transfer.c

128 lines
2.9 KiB
C
Raw Normal View History

2004-11-05 15:54:31 +00:00
/*****************************************************************************
*
* $Id$
* Purpose ...............: File Transfers
*
*****************************************************************************
* Copyright (C) 1997-2004
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
* 1971 BV IJmuiden
* the Netherlands
*
* This file is part of MBSE BBS.
*
* This BBS is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2, or (at your option) any
* later version.
*
* MBSE BBS is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MBSE BBS; see the file COPYING. If not, write to the Free
* Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*****************************************************************************/
#include "../config.h"
#include "../lib/mbselib.h"
#include "../lib/mbse.h"
#include "../lib/users.h"
#include "transfer.h"
2004-11-05 21:14:04 +00:00
#include "change.h"
2004-11-05 15:54:31 +00:00
2004-11-05 16:17:11 +00:00
/*
Design remarks.
This entry must accept up and downloads at the same time in case a users
wants to download but uses a bidirectional protocol and has something to
upload.
First design fase: support the now used external protocols and link it to
the rest of the bbs.
Second design fase: add build-in zmodem and ymodem-1k.
To think of:
- Drop bidirectional support, is this still in use. No bimodem specs and
Hydra seems not implemented in any terminal emulator.
- Add sliding kermit? Can still be used externally.
- Add special internet protocol and make a module for minicom. No, this
would mean only a few users will use it.
*/
2004-11-05 21:14:04 +00:00
int ForceProtocol()
{
/*
* If user has no default protocol, make sure he has one.
*/
if (strcmp(sProtName, "") == 0) {
Chg_Protocol();
/*
* If the user didn't pick a protocol, quit.
*/
if (strcmp(sProtName, "") == 0) {
return FALSE;
}
}
return TRUE;
}
/*
* Download files to the user.
* Returns:
* 0 - All seems well
* 1 - No tranfer protocol selected
*/
int download(down_list *download_list)
2004-11-05 15:54:31 +00:00
{
2004-11-05 21:14:04 +00:00
down_list *tmpf;
int rc, maxrc = 0;
/*
* If user has no default protocol, make sure he has one.
*/
if (!ForceProtocol()) {
return 1;
}
for (tmpf = download_list; tmpf && (maxrc < 2); tmpf = tmpf->next) {
}
2004-11-05 15:54:31 +00:00
return 0;
}
2004-11-05 21:14:04 +00:00
/*
* Upload files from the user.
* Returns:
* 0 - All seems well
* 1 - No transfer protocol selected.
*/
int upload(up_list *upload_list)
{
2004-11-05 21:14:04 +00:00
/*
* If user has no default protocol, make sure he has one.
*/
if (!ForceProtocol()) {
return 1;
}
return 0;
}