aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/socket.c
diff options
context:
space:
mode:
authorBob Duff <duff@adacore.com>2009-11-30 10:38:23 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2009-11-30 11:38:23 +0100
commitc84b434f46aabff791f59a45ec74c8b9a3cf32f2 (patch)
tree8b0a240aa8ed5792f527be14bd43e2be09bd2b77 /gcc/ada/socket.c
parente68c7b43067cf63f3783238073193ea2ab2fe525 (diff)
downloadgcc-c84b434f46aabff791f59a45ec74c8b9a3cf32f2.zip
gcc-c84b434f46aabff791f59a45ec74c8b9a3cf32f2.tar.gz
gcc-c84b434f46aabff791f59a45ec74c8b9a3cf32f2.tar.bz2
socket.c: Add more accessor functions for struct servent (need setters as well as getters).
2009-11-30 Bob Duff <duff@adacore.com> * socket.c: Add more accessor functions for struct servent (need setters as well as getters). * g-sothco.ads (Servent): Declare interfaces to C setter functions for struct servent. * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for struct servent. From-SVN: r154777
Diffstat (limited to 'gcc/ada/socket.c')
-rw-r--r--gcc/ada/socket.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ada/socket.c b/gcc/ada/socket.c
index 0bc4b43..7675564 100644
--- a/gcc/ada/socket.c
+++ b/gcc/ada/socket.c
@@ -91,6 +91,10 @@ extern char * __gnat_servent_s_name (struct servent *);
extern char ** __gnat_servent_s_aliases (struct servent *);
extern int __gnat_servent_s_port (struct servent *);
extern char * __gnat_servent_s_proto (struct servent *);
+extern void __gnat_servent_set_s_name (struct servent *, char *);
+extern void __gnat_servent_set_s_aliases (struct servent *, char **);
+extern void __gnat_servent_set_s_port (struct servent *, int);
+extern void __gnat_servent_set_s_proto (struct servent *, char *);
#if defined (__vxworks) || defined (_WIN32)
extern int __gnat_inet_pton (int, const char *, void *);
#endif
@@ -535,6 +539,8 @@ __gnat_inet_pton (int af, const char *src, void *dst) {
* };
*/
+/* Getters */
+
char *
__gnat_servent_s_name (struct servent * s)
{
@@ -559,6 +565,31 @@ __gnat_servent_s_proto (struct servent * s)
return s->s_proto;
}
+/* Setters */
+
+void
+__gnat_servent_set_s_name (struct servent * s, char * s_name)
+{
+ s->s_name = s_name;
+}
+
+void
+__gnat_servent_set_s_aliases (struct servent * s, char ** s_aliases)
+{
+ s->s_aliases = s_aliases;
+}
+
+void
+__gnat_servent_set_s_port (struct servent * s, int s_port)
+{
+ s->s_port = s_port;
+}
+
+void
+__gnat_servent_set_s_proto (struct servent * s, char * s_proto)
+{
+ s->s_proto = s_proto;
+}
#else
# warning Sockets are not supported on this platform