epoc32/include/libc/arpa/tftp.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /* TFTP.H
     2  * 
     3  * Portions Copyright (c) 1993-1999 Nokia Corporation and/or its subsidiary(-ies).
     4  * All rights reserved.
     5  */
     6 
     7 /** @file
     8 @publishedAll
     9 @released
    10 */
    11 
    12 /*
    13  * Copyright (c) 1983, 1993
    14  *	The Regents of the University of California.  All rights reserved.
    15  *
    16  * Redistribution and use in source and binary forms, with or without
    17  * modification, are permitted provided that the following conditions
    18  * are met:
    19  * 1. Redistributions of source code must retain the above copyright
    20  *    notice, this list of conditions and the following disclaimer.
    21  * 2. Redistributions in binary form must reproduce the above copyright
    22  *    notice, this list of conditions and the following disclaimer in the
    23  *    documentation and/or other materials provided with the distribution.
    24  * 3. All advertising materials mentioning features or use of this software
    25  *    must display the following acknowledgement:
    26  *	This product includes software developed by the University of
    27  *	California, Berkeley and its contributors.
    28  * 4. Neither the name of the University nor the names of its contributors
    29  *    may be used to endorse or promote products derived from this software
    30  *    without specific prior written permission.
    31  *
    32  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    33  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    34  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    35  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    36  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    37  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    38  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    39  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    40  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    41  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    42  * SUCH DAMAGE.
    43  *
    44  *	@(#)tftp.h	8.1 (Berkeley) 6/2/93
    45  */
    46 
    47 #ifndef _ARPA_TFTP_H_
    48 #define	_ARPA_TFTP_H_
    49 
    50 #ifdef __cplusplus
    51 extern "C" {
    52 #endif
    53 
    54 /**
    55 Trivial File Transfer Protocol (IEN-133)
    56 */
    57 #define	SEGSIZE		512		/* data segment size */
    58 
    59 /**
    60 Packet types.
    61 */
    62 #define	RRQ	01			/* read request */
    63 #define	WRQ	02			/* write request */
    64 #define	DATA	03			/* data packet */
    65 #define	ACK	04			/* acknowledgement */
    66 #define	ERROR	05			/* error code */
    67 
    68 struct	tftphdr {
    69 	short	th_opcode;		/* packet type */
    70 	union {
    71 		short	tu_block;	/* block # */
    72 		short	tu_code;	/* error code */
    73 		char	tu_stuff[1];	/* request packet stuff */
    74 	} th_u;
    75 	char	th_data[1];		/* data or error string */
    76 };
    77 
    78 #define	th_block	th_u.tu_block
    79 #define	th_code		th_u.tu_code
    80 #define	th_stuff	th_u.tu_stuff
    81 #define	th_msg		th_data
    82 
    83 /**
    84 Error codes.
    85 */
    86 #define	EUNDEF		0		/* not defined */
    87 #define	ENOTFOUND	1		/* file not found */
    88 #define	EACCESS		2		/* access violation */
    89 #define	ENOSPACE	3		/* disk full or allocation exceeded */
    90 #define	EBADOP		4		/* illegal TFTP operation */
    91 #define	EBADID		5		/* unknown transfer ID */
    92 #define	EEXISTS		6		/* file already exists */
    93 #define	ENOUSER		7		/* no such user */
    94 
    95 #ifdef __cplusplus
    96 }
    97 #endif
    98 #endif /* !_TFTP_H_ */