This is amigatcp.h in view mode; [Download] [Up]
/*
* Project : tin - a Usenet reader
* Module : amigatcp.h
* Author : M.Tomlinson
* Created : 15-05-94
* Updated : 05-06-94
* Notes : TCP support for AmigaDOS
* Copyright : (c) Copyright 1994 by Mark Tomlinson
* You may freely copy or redistribute this software,
* so long as there is no profit made from its use, sale
* trade or reproduction. You may not change this copy-
* right notice, and it must be included in any copy made
*/
#if defined(M_AMIGA)
#ifndef AMIGATCP_H
#define AMIGATCP_H
#ifdef NNTP_ABLE
#ifdef AS225
#include <ss/socket.h>
#else
/* Stop bsdsocket including an incompatible unistd.h! */
#define UNISTD_H
/* And also get rid of prototypes for the netlib we're not using */
#define CLIB_NETLIB_PROTOS_H
#include <bsdsocket.h>
/* But we still need prototypes for select() and inet_ntoa() */
/* if we're not using optimisation... */
#ifndef inet_ntoa
char * inet_ntoa(struct in_addr addr);
#endif
#ifndef select
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exeptfds,
struct timeval *timeout);
#endif
#endif
struct __tcpbuf
{
int fd; /* socket number */
char *buf; /* current buffer pointer */
char *base; /* beginning of buffer */
int size; /* size of buffer */
int cnt; /* number of bytes in buf */
int flags; /* read/write */
};
#define TIO_WRITE 1
#define TIO_READ 2
typedef struct __tcpbuf TCP;
extern int s_printf(TCP *, const char *, ...);
extern TCP *s_fdopen(int, const char *);
extern int s_flush(TCP *);
extern void s_fclose(TCP *);
extern char *s_gets(char *, int, TCP *);
extern int s_puts(const char *, TCP *);
extern int s_init(void);
extern void s_end(void);
extern int s_dup(int);
extern int s_socket(long, long, long);
extern void xs_close(int);
#define s_close xs_close
#define socket s_socket
/* AS225 screws up a bit on types for inet_ntoa... */
#ifdef AS225
static char * __inline xinet_ntoa(long x)
{ return inet_ntoa(x);
}
#define inet_ntoa(x) xinet_ntoa((x).s_addr)
#endif
#endif /* NNTP_ABLE */
#endif /* AMIGATCP_H */
#endif /* M_AMIGA */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.