~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to rtl/freebsd/unixsock.inc

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
{  
2
 
   $Id: unixsock.inc,v 1.10 2004/03/16 18:03:37 marco Exp $
3
 
   This file is part of the Free Pascal run time library.
4
 
   (c) 2000-2003 by Marco van de Voort
5
 
   member of the Free Pascal development team.
6
 
 
7
 
   See the file COPYING.FPC, included in this distribution,
8
 
   for details about the copyright.
9
 
   
10
 
   socket call implementations for FreeBSD
11
 
 
12
 
   This program is distributed in the hope that it will be useful,
13
 
   but WITHOUT ANY WARRANTY;without even the implied warranty of
14
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
 
}
16
 
 
17
 
{******************************************************************************
18
 
                          Basic Socket Functions
19
 
******************************************************************************}
20
 
 
21
 
function  fpsocket (domain:cint; xtype:cint; protocol: cint):cint; 
22
 
Begin
23
 
  fpSocket:=Do_Syscall(syscall_nr_socket,Domain,xtype,Protocol);
24
 
  socketerror:=fpgeterrno;
25
 
End;
26
 
 
27
 
function  fpsend (s:cint; msg:pointer; len:size_t; flags:cint):ssize_t; 
28
 
begin
29
 
  fpSend:=do_syscall(syscall_nr_sendto,S,TSysParam(msg),Len,Flags,0,0);
30
 
  socketerror:=fpgeterrno;
31
 
end;
32
 
 
33
 
function  fpsendto (s:cint; msg:pointer; len:size_t; flags:cint; tox :psockaddr; tolen: tsocklen):ssize_t; 
34
 
begin
35
 
  fpSendto:=do_syscall(syscall_nr_sendto,S,TSysParam(msg),Len,Flags,TSysParam(tox),tolen);
36
 
  socketerror:=fpgeterrno;
37
 
end;
38
 
 
39
 
function  fprecv (s:cint; buf: pointer; len: size_t; flags:cint):ssize_t;
40
 
begin
41
 
  fpRecv:=do_syscall(syscall_nr_Recvfrom,S,tsysparam(buf),len,flags,0,0);
42
 
  socketerror:=fpgeterrno;
43
 
end;
44
 
 
45
 
function  fprecvfrom (s:cint; buf: pointer; len: size_t; flags: cint; from : psockaddr; fromlen : psocklen):ssize_t; 
46
 
begin
47
 
  fpRecvFrom:=do_syscall(syscall_nr_Recvfrom,S,TSysParam(buf),len,flags,TSysParam(from),TSysParam(fromlen));
48
 
  socketerror:=fpgeterrno;
49
 
end;
50
 
 
51
 
function  fpbind (s:cint; addrx : psockaddr; addrlen : tsocklen):cint; 
52
 
begin
53
 
  fpBind:=do_syscall(syscall_nr_Bind,S,TSysParam(addrx),addrlen);
54
 
  socketerror:=fpgeterrno;
55
 
end;
56
 
 
57
 
function  fplisten (s:cint; backlog : cint):cint;                          
58
 
begin
59
 
  fpListen:=do_syscall(syscall_nr_Listen,S,backlog);
60
 
  socketerror:=fpgeterrno;
61
 
end;
62
 
 
63
 
function  fpaccept (s:cint; addrx : psockaddr; addrlen : psocklen):cint; 
64
 
begin
65
 
  fpAccept:=do_syscall(syscall_nr_accept,S,TSysParam(addrx),TSysParam(addrlen));
66
 
  socketerror:=fpgeterrno;
67
 
end;
68
 
 
69
 
function  fpconnect (s:cint; name  : psockaddr; namelen : tsocklen):cint; 
70
 
begin
71
 
  fpConnect:=do_syscall(syscall_nr_connect,S,TSysParam(name),namelen);
72
 
  socketerror:=fpgeterrno;
73
 
end;
74
 
 
75
 
function  fpshutdown (s:cint; how:cint):cint; 
76
 
begin
77
 
  fpShutDown:=do_syscall(syscall_nr_shutdown,S,how);
78
 
  socketerror:=fpgeterrno;
79
 
end;
80
 
 
81
 
function  fpgetsockname (s:cint; name  : psockaddr; namelen : psocklen):cint; 
82
 
begin
83
 
  fpGetSockName:=do_syscall(syscall_nr_GetSockName,S,TSysParam(name),TSysParam(namelen));
84
 
  socketerror:=fpgeterrno;
85
 
end;
86
 
 
87
 
function  fpgetpeername (s:cint; name  : psockaddr; namelen : psocklen):cint; 
88
 
begin
89
 
  fpGetPeerName:=do_syscall(syscall_nr_GetPeerName,S,TSysParam(name),TSysParam(namelen));
90
 
  socketerror:=fpgeterrno;
91
 
end;
92
 
 
93
 
function  fpsetsockopt  (s:cint; level:cint; optname:cint; optval:pointer; optlen : tsocklen):cint;
94
 
begin
95
 
  fpSetSockOpt:=do_syscall(syscall_nr_SetSockOpt,S,optname,TSysParam(optval),optlen);
96
 
  socketerror:=fpgeterrno;
97
 
end;
98
 
 
99
 
function  fpgetsockopt  (s:cint; level:cint; optname:cint; optval:pointer; optlen : psocklen):cint; 
100
 
begin
101
 
  fpGetSockOpt:=do_syscall(syscall_nr_GetSockOpt,S,level,TSysParam(optname),TSysParam(optval),TSysParam(optlen));
102
 
  socketerror:=fpgeterrno;
103
 
end;
104
 
 
105
 
function  fpsocketpair (d:cint; xtype:cint; protocol:cint; sv:pcint):cint; 
106
 
 
107
 
begin
108
 
  fpSocketPair:=do_syscall(syscall_nr_SocketPair,d,xtype,protocol,TSysParam(sv));
109
 
  socketerror:=fpgeterrno;
110
 
end;
111
 
 
112
 
{
113
 
 $Log: unixsock.inc,v $
114
 
 Revision 1.10  2004/03/16 18:03:37  marco
115
 
  * first changes sockets units
116
 
 
117
 
 Revision 1.9  2004/01/03 12:18:29  marco
118
 
  * a lot of copyright notices and CVS logs added and fixed
119
 
 
120
 
 Revision 1.8  2003/09/15 07:09:58  marco
121
 
  * small fixes, round 1
122
 
 
123
 
 Revision 1.7  2003/03/23 17:47:15  armin
124
 
 * CloseSocket added
125
 
 
126
 
 Revision 1.6  2002/09/07 16:01:18  peter
127
 
   * old logs removed and tabs fixed
128
 
 
129
 
 Revision 1.5  2002/02/05 07:54:34  marco
130
 
  * Fixed typo
131
 
 
132
 
}