new doc makefiles
[unix-history] / usr / src / share / doc / psd / 20.ipctut / udgramsend.c
CommitLineData
6b54e9a9
KB
1/*
2 * Copyright (c) 1986 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms are permitted
6 * provided that the above copyright notice and this paragraph are
7 * duplicated in all such forms and that any documentation,
8 * advertising materials, and other materials related to such
9 * distribution and use acknowledge that the software was developed
10 * by the University of California, Berkeley. The name of the
11 * University may not be used to endorse or promote products derived
12 * from this software without specific prior written permission.
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16 */
17
18#ifndef lint
19char copyright[] =
20"@(#) Copyright (c) 1986 The Regents of the University of California.\n\
21 All rights reserved.\n";
22#endif /* not lint */
23
24#ifndef lint
25static char sccsid[] = "@(#)udgramsend.c 6.3 (Berkeley) %G%";
26#endif /* not lint */
27
23237d2e
KM
28#include <sys/types.h>
29#include <sys/socket.h>
30#include <sys/un.h>
31#include <stdio.h>
32
33#define DATA "The sea is calm tonight, the tide is full . . ."
34
35/*
36 * Here I send a datagram to a receiver whose name I get from the command
37 * line arguments. The form of the command line is udgramsend pathname
38 */
39
40main(argc, argv)
a43acb6b
MK
41 int argc;
42 char *argv[];
23237d2e 43{
a43acb6b 44 int sock;
23237d2e
KM
45 struct sockaddr_un name;
46
47 /* Create socket on which to send. */
48 sock = socket(AF_UNIX, SOCK_DGRAM, 0);
49 if (sock < 0) {
50 perror("opening datagram socket");
a43acb6b 51 exit(1);
23237d2e
KM
52 }
53 /* Construct name of socket to send to. */
54 name.sun_family = AF_UNIX;
55 strcpy(name.sun_path, argv[1]);
56 /* Send message. */
57 if (sendto(sock, DATA, sizeof(DATA), 0,
58 &name, sizeof(struct sockaddr_un)) < 0) {
59 perror("sending datagram message");
60 }
61 close(sock);
62}