2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these libraries and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
27 * $XConsortium: SunV3.hh /main/4 1996/04/21 19:50:07 drk $
29 * RESTRICTED CONFIDENTIAL INFORMATION:
31 * The information in this document is subject to special
32 * restrictions in a confidential disclosure agreement bertween
33 * HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
34 * document outside HP, IBM, Sun, USL, SCO, or Univel wihtout
35 * Sun's specific written approval. This documment and all copies
36 * and derivative works thereof must be returned or destroyed at
39 * Copyright 1993 Sun Microsystems, Inc. All rights reserved.
47 #include "RFCFormat.hh"
49 class SunV3 : public RFCFormat {
51 SunV3(DtMail::Session *);
55 static void decode(const char * enc_info,
59 const unsigned long inputLen);
60 static void encode(Buffer & buf,
63 const unsigned long len);
66 virtual void formatBodies(DtMailEnv & error,
67 DtMail::Message & msg,
68 DtMailBoolean include_content_length,
69 char ** extra_headers,
72 virtual void formatHeaders(DtMailEnv & error,
73 DtMail::Message & msg,
74 DtMailBoolean include_unix_from,
75 const char * extra_headers,
80 static int uudecode(char ** outputBp,
83 const unsigned long inputLen);
85 static int uncompress(char ** outputBp,
88 const unsigned long inputLen);
90 void encode_uue_line(Buffer & buf,
91 const unsigned char * unencodedBp,
92 const unsigned long unencodedLen);
94 void uuencode(Buffer & buf,
97 const unsigned long len);
99 void getV3Type(DtMail::BodyPart *, char *);