1 /* 2 * ProFTPD - FTP server daemon 3 * Copyright (c) 2004-2015 The ProFTPD Project team 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. 18 * 19 * As a special exemption, The ProFTPD Project team and other respective 20 * copyright holders give permission to link this program with OpenSSL, and 21 * distribute the resulting executable, without including the source code for 22 * OpenSSL in the source distribution. 23 */ 24 25 /* Display of files */ 26 27 #ifndef PR_DISPLAY_H 28 #define PR_DISPLAY_H 29 30 struct fh_rec; 31 32 /* This flag should be used to tell the pr_display_file() function to NOT 33 * end the displayed lines, and instead to send the last line of a possibly 34 * multiline file as just another line; the response will be terminated 35 * properly by the calling code. 36 */ 37 #define PR_DISPLAY_FL_NO_EOM 0x0001 38 39 /* This flag should be used to tell the pr_display_file() function to send 40 * the file lines immediately via pr_response_send(), rather than queueing 41 * up the lines, to be flushed out to the client later. 42 */ 43 #define PR_DISPLAY_FL_SEND_NOW 0x0002 44 45 /* Used to read the file handle given by fh, located on the filesystem fs, and 46 * return the results, with variables expanded, to the client, using the 47 * response code given by resp_code. Returns 0 if the file handle's contents 48 * are displayed without issue, -1 otherwise (with errno set appropriately). 49 */ 50 int pr_display_fh(struct fh_rec *fh, const char *fs, const char *resp_code, 51 int flags); 52 53 /* Used to read the file given by path, located on the filesystem fs, and 54 * return the results, with variables expanded, to the client, using the 55 * response code given by resp_code. Returns 0 if the file is displayed without 56 * issue, -1 otherwise (with errno set appropriately). 57 */ 58 int pr_display_file(const char *path, const char *fs, const char *resp_code, 59 int flags); 60 61 #endif /* PR_DISPLAY_H */ 62