diff --git a/libexec/ftp-proxy/ftp-proxy.c b/libexec/ftp-proxy/ftp-proxy.c
index 6473c16..8b53f25 100644
--- a/libexec/ftp-proxy/ftp-proxy.c
+++ b/libexec/ftp-proxy/ftp-proxy.c
@@ -186,7 +186,7 @@ static void
 close_client_data(void)
 {
 	if (client_data_socket >= 0) {
-		shutdown(client_data_socket, 2);
+		shutdown(client_data_socket, SHUT_RDWR);
 		close(client_data_socket);
 		client_data_socket = -1;
 	}
@@ -196,7 +196,7 @@ static void
 close_server_data(void)
 {
 	if (server_data_socket >= 0)  {
-		shutdown(server_data_socket, 2);
+		shutdown(server_data_socket, SHUT_RDWR);
 		close(server_data_socket);
 		server_data_socket = -1;
 	}
@@ -1353,14 +1353,14 @@ main(int argc, char *argv[])
 		}
 		free(fdsp);
 		if (client_iob.got_eof) {
-			shutdown(server_iob.fd, 1);
-			shutdown(client_iob.fd, 0);
+			shutdown(server_iob.fd, SHUT_WR);
+			shutdown(client_iob.fd, SHUT_RD);
 			client_iob.got_eof = 0;
 			client_iob.alive = 0;
 		}
 		if (server_iob.got_eof) {
-			shutdown(client_iob.fd, 1);
-			shutdown(server_iob.fd, 0);
+			shutdown(client_iob.fd, SHUT_WR);
+			shutdown(server_iob.fd, SHUT_RD);
 			server_iob.got_eof = 0;
 			server_iob.alive = 0;
 		}
diff --git a/libexec/rexecd/rexecd.c b/libexec/rexecd/rexecd.c
index 1c69787..78da8c7 100644
--- a/libexec/rexecd/rexecd.c
+++ b/libexec/rexecd/rexecd.c
@@ -254,7 +254,7 @@ doit(f, fromp)
 				if (ready & (1<<pv[0])) {
 					cc = read(pv[0], buf, sizeof (buf));
 					if (cc <= 0) {
-						shutdown(s, 1+1);
+						shutdown(s, SHUT_RDWR);
 						readfrom &= ~(1<<pv[0]);
 					} else
 						(void) write(s, buf, cc);
diff --git a/libexec/rlogind/rlogind.c b/libexec/rlogind/rlogind.c
index a55b213..1634327 100644
--- a/libexec/rlogind/rlogind.c
+++ b/libexec/rlogind/rlogind.c
@@ -516,7 +516,7 @@ cleanup(int signo __unused)
 	chflags(line, 0);
 	chmod(line, 0666);
 	chown(line, 0, 0);
-	shutdown(netf, 2);
+	shutdown(netf, SHUT_RDWR);
 	exit(1);
 }
 
diff --git a/libexec/rshd/rshd.c b/libexec/rshd/rshd.c
index ee1f6cc..26071f1 100644
--- a/libexec/rshd/rshd.c
+++ b/libexec/rshd/rshd.c
@@ -277,7 +277,7 @@ doit(union sockunion *fromp)
 		if ((cc = read(STDIN_FILENO, &c, 1)) != 1) {
 			if (cc < 0)
 				syslog(LOG_NOTICE, "read: %m");
-			shutdown(0, 1+1);
+			shutdown(0, SHUT_RDWR);
 			exit(1);
 		}
 		if (c == 0)
@@ -521,7 +521,7 @@ fail:
 					errno = 0;
 					cc = read(pv[0], buf, sizeof(buf));
 					if (cc <= 0) {
-						shutdown(s, 1+1);
+						shutdown(s, SHUT_RDWR);
 						FD_CLR(pv[0], &readfrom);
 					} else {
 #ifdef CRYPT
@@ -539,7 +539,7 @@ fail:
 					errno = 0;
 					cc = read(pv1[0], buf, sizeof(buf));
 					if (cc <= 0) {
-						shutdown(pv1[0], 1+1);
+						shutdown(pv1[0], SHUT_RDWR);
 						FD_CLR(pv1[0], &readfrom);
 					} else {
 						des_enc_write(STDOUT_FILENO,
@@ -554,7 +554,7 @@ fail:
 					    buf, sizeof(buf),
 						schedule, &kdata->session);
 					if (cc <= 0) {
-						shutdown(pv2[0], 1+1);
+						shutdown(pv2[0], SHUT_RDWR);
 						FD_CLR(pv2[0], &writeto);
 					} else {
 						write(pv2[0], buf, cc);
diff --git a/libexec/telnetd/sys_term.c b/libexec/telnetd/sys_term.c
index 80ab2e2..93ba5af 100644
--- a/libexec/telnetd/sys_term.c
+++ b/libexec/telnetd/sys_term.c
@@ -1187,6 +1187,6 @@ cleanup(int sig __unused)
 	*p = 'p';
 	(void)chmod(line, 0666);
 	(void)chown(line, 0, 0);
-	(void) shutdown(net, 2);
+	(void) shutdown(net, SHUT_RDWR);
 	_exit(1);
 }
diff --git a/sbin/mount_portal/activate.c b/sbin/mount_portal/activate.c
index eb6f0ea..1185683 100644
--- a/sbin/mount_portal/activate.c
+++ b/sbin/mount_portal/activate.c
@@ -144,7 +144,7 @@ send_reply(int so, int fd, int error)
 #endif
 	sleep(1);	/*XXX*/
 #ifdef notdef
-	if (shutdown(so, 2) < 0)
+	if (shutdown(so, SHUT_RDWR) < 0)
 		syslog(LOG_ERR, "shutdown: %s", strerror(errno));
 #endif
 	/*
diff --git a/sys/netproto/ncp/ncp_sock.c b/sys/netproto/ncp/ncp_sock.c
index 99e5a20..88ebffe 100644
--- a/sys/netproto/ncp/ncp_sock.c
+++ b/sys/netproto/ncp/ncp_sock.c
@@ -367,20 +367,20 @@ ncp_sock_disconnect(struct ncp_conn *conn) {
 	if (conn->ncp_so) {
 		so = conn->ncp_so;
 		conn->ncp_so = (struct socket *)0;
-		soshutdown(so, 2);
+		soshutdown(so, SHUT_RDWR);
 		soclose(so, FNONBLOCK);
 	}
 	if (conn->wdg_so) {
 		so = conn->wdg_so;
 		conn->wdg_so = (struct socket *)0;
-		soshutdown(so, 2);
+		soshutdown(so, SHUT_RDWR);
 		soclose(so, FNONBLOCK);
 	}
 #ifdef NCPBURST
 	if (conn->bc_so) {
 		so = conn->bc_so;
 		conn->bc_so = (struct socket *)NULL;
-		soshutdown(so, 2);
+		soshutdown(so, SHUT_RDWR);
 		soclose(so, FNONBLOCK);
 	}
 #endif
diff --git a/sys/netproto/smb/smb_trantcp.c b/sys/netproto/smb/smb_trantcp.c
index c80c7ae..e7bf91d 100644
--- a/sys/netproto/smb/smb_trantcp.c
+++ b/sys/netproto/smb/smb_trantcp.c
@@ -553,7 +553,7 @@ smb_nbst_disconnect(struct smb_vc *vcp, struct thread *td)
 	if ((so = nbp->nbp_tso) != NULL) {
 		nbp->nbp_flags &= ~NBF_CONNECTED;
 		nbp->nbp_tso = (struct socket *)NULL;
-		soshutdown(so, 2);
+		soshutdown(so, SHUT_RDWR);
 		soclose(so, FNONBLOCK);
 	}
 	if (nbp->nbp_state != NBST_RETARGET) {
diff --git a/sys/vfs/nfs/nfs_socket.c b/sys/vfs/nfs/nfs_socket.c
index b74d0f5..d1937f0 100644
--- a/sys/vfs/nfs/nfs_socket.c
+++ b/sys/vfs/nfs/nfs_socket.c
@@ -421,7 +421,7 @@ nfs_disconnect(struct nfsmount *nmp)
 	if (nmp->nm_so) {
 		so = nmp->nm_so;
 		nmp->nm_so = (struct socket *)0;
-		soshutdown(so, 2);
+		soshutdown(so, SHUT_RDWR);
 		soclose(so, FNONBLOCK);
 	}
 }
diff --git a/sys/vfs/nfs/nfs_syscalls.c b/sys/vfs/nfs/nfs_syscalls.c
index b0bce96..d9e96f3 100644
--- a/sys/vfs/nfs/nfs_syscalls.c
+++ b/sys/vfs/nfs/nfs_syscalls.c
@@ -722,7 +722,7 @@ nfsrv_zapsock(struct nfssvc_sock *slp)
 		so->so_rcv.ssb_flags &= ~SSB_UPCALL;
 		so->so_upcall = NULL;
 		so->so_upcallarg = NULL;
-		soshutdown(so, 2);
+		soshutdown(so, SHUT_RDWR);
 		closef(fp, NULL);
 		if (slp->ns_nam)
 			FREE(slp->ns_nam, M_SONAME);
diff --git a/sys/vfs/portal/portal_vfsops.c b/sys/vfs/portal/portal_vfsops.c
index 8ce5d79..db3b395 100644
--- a/sys/vfs/portal/portal_vfsops.c
+++ b/sys/vfs/portal/portal_vfsops.c
@@ -178,7 +178,8 @@ portal_unmount(struct mount *mp, int mntflags)
 	 * daemon to wake up, and then the accept will get ECONNABORTED
 	 * which it interprets as a request to go and bury itself.
 	 */
-	soshutdown((struct socket *) VFSTOPORTAL(mp)->pm_server->f_data, 2);
+	soshutdown((struct socket *) VFSTOPORTAL(mp)->pm_server->f_data,
+		SHUT_RDWR);
 	/*
 	 * Discard reference to underlying file.  Must call closef because
 	 * this may be the last reference.
diff --git a/sys/vfs/portal/portal_vnops.c b/sys/vfs/portal/portal_vnops.c
index 94435c0..de7955b 100644
--- a/sys/vfs/portal/portal_vnops.c
+++ b/sys/vfs/portal/portal_vnops.c
@@ -428,7 +428,7 @@ bad:;
 	}
 
 	if (so) {
-		soshutdown(so, 2);
+		soshutdown(so, SHUT_RDWR);
 		soclose(so, FNONBLOCK);
 	}
 	return (error);
diff --git a/usr.bin/rsh/rsh.c b/usr.bin/rsh/rsh.c
index a560dd7..7a8925b 100644
--- a/usr.bin/rsh/rsh.c
+++ b/usr.bin/rsh/rsh.c
@@ -315,7 +315,7 @@ try_connect:
 			err(1, "fork");
 	}
         else
-		shutdown(rem, 1);
+		shutdown(rem, SHUT_WR);
 
 #ifdef KERBEROS
 #ifdef CRYPT
@@ -383,7 +383,7 @@ rewrite:
 			goto reread;
 		goto rewrite;
 done:
-		shutdown(rem, 1);
+		shutdown(rem, SHUT_WR);
 		exit(0);
 	}
 
diff --git a/usr.bin/telnet/commands.c b/usr.bin/telnet/commands.c
index 5a0686d..73df428 100644
--- a/usr.bin/telnet/commands.c
+++ b/usr.bin/telnet/commands.c
@@ -1338,7 +1338,7 @@ bye(int argc, char *argv[])
     extern int resettermname;
 
     if (connected) {
-	(void) shutdown(net, 2);
+	(void) shutdown(net, SHUT_RDWR);
 	printf("Connection closed.\n");
 	(void) NetClose(net);
 	connected = 0;
diff --git a/usr.sbin/IPXrouted/main.c b/usr.sbin/IPXrouted/main.c
index cef51f9..103a55a 100644
--- a/usr.sbin/IPXrouted/main.c
+++ b/usr.sbin/IPXrouted/main.c
@@ -166,7 +166,7 @@ main(int argc, char *argv[])
 	r = socket(AF_ROUTE, SOCK_RAW, 0);
 	/* later, get smart about lookingforinterfaces */
 	if (r)
-		shutdown(r, 0); /* for now, don't want reponses */
+		shutdown(r, SHUT_RD); /* for now, don't want reponses */
 	else {
 		fprintf(stderr, "IPXrouted: no routing socket\n");
 		exit(1);
diff --git a/usr.sbin/faithd/rsh.c b/usr.sbin/faithd/rsh.c
index 302b17f..3c0c91b 100644
--- a/usr.sbin/faithd/rsh.c
+++ b/usr.sbin/faithd/rsh.c
@@ -107,7 +107,7 @@ relay(int src, int dst)
 	case 0:
 		if (s_rcv == src) {
 			/* half close */
-			shutdown(dst, 1);
+			shutdown(dst, SHUT_WR);
 			half = YES;
 			break;
 		}
diff --git a/usr.sbin/faithd/tcp.c b/usr.sbin/faithd/tcp.c
index 57db7c6..09fc6cc 100644
--- a/usr.sbin/faithd/tcp.c
+++ b/usr.sbin/faithd/tcp.c
@@ -256,7 +256,7 @@ relay(int s_rcv, int s_snd, const char *service, int direction)
 				/* NOTREACHED */
 			case 0:
 				/* to close opposite-direction relay process */
-				shutdown(s_snd, 0);
+				shutdown(s_snd, SHUT_RD);
 
 				close(s_rcv);
 				close(s_snd);
diff --git a/usr.sbin/rtsold/probe.c b/usr.sbin/rtsold/probe.c
index 4b39a84..4ab2c82 100644
--- a/usr.sbin/rtsold/probe.c
+++ b/usr.sbin/rtsold/probe.c
@@ -84,7 +84,7 @@ probe_init(void)
 	}
 
 	/* make the socket send-only */
-	if (shutdown(probesock, 0)) {
+	if (shutdown(probesock, SHUT_RD)) {
 		warnmsg(LOG_ERR, __func__, "shutdown: %s", strerror(errno));
 		return(-1);
 	}
