diff --git a/src/etc/MAKEDEV.mi b/src/etc/MAKEDEV.mi index 50300c2c..9e108a18 100644 --- a/src/etc/MAKEDEV.mi +++ b/src/etc/MAKEDEV.mi @@ -1,6 +1,6 @@ include(MAKEDEV.sub)dnl dnl -vers(a, {-$OpenBSD: MAKEDEV.mi,v 1.67 2004/02/05 22:22:15 todd Exp $-})dnl +vers(a, {-$OpenBSD: MAKEDEV.mi,v 1.68 2004/02/10 01:31:20 millert Exp $-})dnl dnl divert(1)dnl {-#-} @@ -186,6 +186,7 @@ target(all, ppi, 0)dnl target(all, view0, 0, 1, 2, 3, 4, 5)dnl target(all, local)dnl target(all, gpr, 0)dnl +target(all, ptm)dnl dnl _mkdev(all, {-all-}, {-dnl show_target(all)dnl @@ -405,6 +406,8 @@ __devitem(wsmouse, wsmouse*, wscons mice)dnl _mkdev(wsmouse, wsmouse*, {-M wsmouse$U c major_wsmouse_c $U 600-})dnl __devitem(quad, quadmouse, "quadrature mouse")dnl __devtitle(pty, Pseudo terminals)dnl +__devitem(ptm, ptm, pty master device)dnl +_mkdev(ptm, ptm, {-M ptm c major_ptm_c 0 666-})dnl __devitem(tty, tty*, set of 16 slave psuedo terminals)dnl __devitem(pty, pty*, set of 16 master pseudo terminals)dnl _mkdev(pty, pty*, {-if [ $U -gt 15 ]; then diff --git a/src/etc/etc.alpha/MAKEDEV b/src/etc/etc.alpha/MAKEDEV index 4421db9a..42cac7fd 100644 --- a/src/etc/etc.alpha/MAKEDEV +++ b/src/etc/etc.alpha/MAKEDEV @@ -52,6 +52,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Printers: # lpt* IEEE 1284 centronics printer # lpa* interruptless lp @@ -382,6 +383,10 @@ lpt*|lpa*) M $n$U c 31 $(($U+$f)) 600 ;; +ptm) + M ptm c 55 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -501,7 +506,7 @@ all) R cd0 cd1 rd0 tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 R bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 fd1 fd1B fd1C fd1D R fd1E fd1F fd1G fd1H fd0 fd0B fd0C fd0D fd0E fd0F fd0G fd0H - R xfs0 ss0 ss1 ch0 wscons pci iop0 iop1 usbs rmidi0 rmidi1 + R xfs0 ss0 ss1 ch0 ptm wscons pci iop0 iop1 usbs rmidi0 rmidi1 R rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7 music0 speaker R audio0 uk0 random lpa0 lpa1 lpa2 lpt0 lpt1 lpt2 mmclock lkm R tty00 tty01 tty02 tty03 ttyc0 ttyc1 ttyc2 ttyc3 ttyc4 ttyc5 diff --git a/src/etc/etc.alpha/MAKEDEV.md b/src/etc/etc.alpha/MAKEDEV.md index 9a6adf92..f8f7f4b0 100644 --- a/src/etc/etc.alpha/MAKEDEV.md +++ b/src/etc/etc.alpha/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.17 2004/01/12 22:18:24 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.18 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -46,6 +46,7 @@ _DEV(wsmouse, 30) _TITLE(pty) _DEV(tty, 4) _DEV(pty, 5) +_DEV(ptm, 55) _TITLE(prn) _DEV(lpt, 31) _DEV(lpa) diff --git a/src/etc/etc.cats/MAKEDEV.md b/src/etc/etc.cats/MAKEDEV.md index 9e0c454c..5c41eeef 100644 --- a/src/etc/etc.cats/MAKEDEV.md +++ b/src/etc/etc.cats/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.1 2004/02/01 05:26:50 drahn Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.2 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001 Todd T. Fries @@ -83,6 +83,7 @@ _DEV(systrace, 50) _DEV(bktr, 75) _DEV(tuner, 75) _DEV(radio, 97) +_DEV(ptm, 98) dnl divert(7)dnl dnl diff --git a/src/etc/etc.hp300/MAKEDEV b/src/etc/etc.hp300/MAKEDEV index 5709d84e..683c782a 100644 --- a/src/etc/etc.hp300/MAKEDEV +++ b/src/etc/etc.hp300/MAKEDEV @@ -44,6 +44,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Printers: # ppi* HP-IB plotters # Call units: @@ -343,6 +344,10 @@ fd) MKlist="$MKlist;chmod 555 fd" ;; +ptm) + M ptm c 52 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -402,7 +407,7 @@ all) R ite0 ct0 ct1 hd0 hd1 hd2 dcm0 dcm1 dcm2 dcm3 dca0 dca1 st0 R st1 hil grf0 ccd0 ccd1 ccd2 ccd3 vnd0 vnd1 vnd2 vnd3 sd0 sd1 R sd2 sd3 sd4 rd0 tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 - R bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 xfs0 local ppi0 + R bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 xfs0 ptm local ppi0 R apci0 random lkm pf systrace std fd ;; diff --git a/src/etc/etc.hp300/MAKEDEV.md b/src/etc/etc.hp300/MAKEDEV.md index 85a90e32..78720866 100644 --- a/src/etc/etc.hp300/MAKEDEV.md +++ b/src/etc/etc.hp300/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.14 2004/01/13 15:13:14 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.15 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -66,6 +66,7 @@ _DEV(apci) _TITLE(pty) _DEV(tty, 4) _DEV(pty, 5) +_DEV(ptm, 52) _TITLE(prn) _DEV(ppi, 11) _TITLE(call) diff --git a/src/etc/etc.hppa/MAKEDEV b/src/etc/etc.hppa/MAKEDEV index 0c939a5a..2381cb1c 100644 --- a/src/etc/etc.hppa/MAKEDEV +++ b/src/etc/etc.hppa/MAKEDEV @@ -41,6 +41,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Printers: # lpt* IEEE 1284 centronics printer # Console ports: @@ -340,6 +341,10 @@ lpt*|lpa*) M $n$U c 30 $(($U+$f)) 600 ;; +ptm) + M ptm c 38 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -425,9 +430,9 @@ all) R cd0 cd1 rd0 tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 R bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 fd1 fd1B fd1C fd1D R fd1E fd1F fd1G fd1H fd0 fd0B fd0C fd0D fd0E fd0F fd0G fd0H - R xfs0 ss0 ss1 ch0 ses0 wscons pci audio0 uk0 random lpa0 lpa1 - R lpa2 lpt0 lpt1 lpt2 lkm tty00 tty01 tty02 tty03 crypto pf - R systrace std st0 st1 fd + R xfs0 ss0 ss1 ch0 ses0 ptm wscons pci audio0 uk0 random lpa0 + R lpa1 lpa2 lpt0 lpt1 lpt2 lkm tty00 tty01 tty02 tty03 crypto + R pf systrace std st0 st1 fd ;; sd*|ccd*) diff --git a/src/etc/etc.hppa/MAKEDEV.md b/src/etc/etc.hppa/MAKEDEV.md index 2bef1e12..72498d0c 100644 --- a/src/etc/etc.hppa/MAKEDEV.md +++ b/src/etc/etc.hppa/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.16 2003/12/09 04:27:51 mickey Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.17 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -35,6 +35,7 @@ _DEV(com, 23) _TITLE(pty) _DEV(tty, 4) _DEV(pty, 5) +_DEV(ptm, 38) _TITLE(prn) _DEV(lpt, 30) _TITLE(cons) diff --git a/src/etc/etc.i386/MAKEDEV b/src/etc/etc.i386/MAKEDEV index 5299a60a..82001ecf 100644 --- a/src/etc/etc.i386/MAKEDEV +++ b/src/etc/etc.i386/MAKEDEV @@ -54,6 +54,7 @@ # tty[0-7][0-9a-f] NS16x50 serial ports # ttyc* Cyclades serial ports # Pseudo terminals: +# ptm pty master device # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals # Printers: @@ -457,6 +458,10 @@ pty*) done ;; +ptm) + M ptm c 81 0 666 + ;; + tty[0-7][0-9a-f]) U=${i#tty*} o=$(h2d $U) @@ -575,8 +580,8 @@ all) R sd3 sd4 cd0 cd1 rd0 tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 R bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 fd1 fd1B fd1C R fd1D fd1E fd1F fd1G fd1H fd0 fd0B fd0C fd0D fd0E fd0F fd0G - R fd0H xfs0 ss0 ss1 ch0 ses0 gpr0 wscons pci iop0 iop1 usbs - R rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7 + R fd0H xfs0 ss0 ss1 ch0 ses0 ptm gpr0 wscons pci iop0 iop1 + R usbs rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7 R tuner0 radio0 music0 speaker audio0 wdt0 wt0 uk0 random joy0 R joy1 lpa0 lpa1 lpa2 lpt0 lpt1 lpt2 lkm tty00 tty01 tty02 R tty03 ttyc0 ttyc1 ttyc2 ttyc3 ttyc4 ttyc5 ttyc6 ttyc7 apm diff --git a/src/etc/etc.i386/MAKEDEV.md b/src/etc/etc.i386/MAKEDEV.md index dd0521c7..4e7f82eb 100644 --- a/src/etc/etc.i386/MAKEDEV.md +++ b/src/etc/etc.i386/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.18 2004/01/12 22:18:24 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.19 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -48,6 +48,7 @@ _TITLE(term) _DEV(com, 8) _DEV(ttyc, 38) _TITLE(pty) +_DEV(ptm, 81) _DEV(tty, 5) _DEV(pty, 6) _TITLE(prn) diff --git a/src/etc/etc.mac68k/MAKEDEV b/src/etc/etc.mac68k/MAKEDEV index 18768d39..1466591d 100644 --- a/src/etc/etc.mac68k/MAKEDEV +++ b/src/etc/etc.mac68k/MAKEDEV @@ -42,6 +42,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Graphics devices: # grf* custom chip (grf0), Retina Z2/Z3 (grf1/grf2), # Cirrus boards (grf3), A2410 (grf4) video or @@ -298,6 +299,10 @@ bpf*) M bpf$U c 22 $U 600 ;; +ptm) + M ptm c 52 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -362,8 +367,8 @@ all) R ttye0 ccd0 ccd1 ccd2 ccd3 cd0 cd1 rd0 tun0 tun1 tun2 tun3 R bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 R pty2 xfs0 ss0 ss1 ch0 vnd0 vnd1 vnd2 vnd3 sd0 sd1 sd2 sd3 - R sd4 local grf0 grf1 grf2 grf3 adb asc0 uk0 random lkm tty00 - R tty01 pf systrace std st0 st1 fd + R sd4 ptm local grf0 grf1 grf2 grf3 adb asc0 uk0 random lkm + R tty00 tty01 pf systrace std st0 st1 fd ;; sd*|ccd*) diff --git a/src/etc/etc.mac68k/MAKEDEV.md b/src/etc/etc.mac68k/MAKEDEV.md index 734ad487..fb018c07 100644 --- a/src/etc/etc.mac68k/MAKEDEV.md +++ b/src/etc/etc.mac68k/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.12 2004/01/13 15:13:14 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.13 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -40,6 +40,7 @@ _DEV(mac_tty0) _TITLE(pty) _DEV(tty, 4) _DEV(pty, 5) +_DEV(ptm, 52) _TITLE(graph) _DEV(grf_mac, 10) _TITLE(spec) diff --git a/src/etc/etc.macppc/MAKEDEV b/src/etc/etc.macppc/MAKEDEV index 5fbd2824..e07a8c0f 100644 --- a/src/etc/etc.macppc/MAKEDEV +++ b/src/etc/etc.macppc/MAKEDEV @@ -51,6 +51,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # USB devices: # usb* Bus control devices used by usbd for attach/detach # uhid* Generic HID devices @@ -353,6 +354,10 @@ usb*) M usb$u c 61 $U 660 ;; +ptm) + M ptm c 77 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -457,7 +462,7 @@ fd) all) R ccd0 ccd1 ccd2 ccd3 vnd0 vnd1 vnd2 vnd3 sd0 sd1 sd2 sd3 sd4 R cd0 cd1 rd0 tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 - R bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 xfs0 ss0 ss1 ch0 + R bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 xfs0 ss0 ss1 ch0 ptm R local wscons pci iop0 iop1 usbs tuner0 radio0 audio0 uk0 R random lkm tty00 tty01 tty02 tty03 apm crypto pf systrace R wd0 wd1 wd2 wd3 raid0 raid1 raid2 raid3 std st0 st1 fd diff --git a/src/etc/etc.macppc/MAKEDEV.md b/src/etc/etc.macppc/MAKEDEV.md index 987d2d3e..728e0953 100644 --- a/src/etc/etc.macppc/MAKEDEV.md +++ b/src/etc/etc.macppc/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.13 2004/01/13 13:38:21 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.14 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -45,6 +45,7 @@ _DEV(com, 7) _TITLE(pty) _DEV(tty, 4) _DEV(pty, 5) +_DEV(ptm, 77) _TITLE(usb) _DEV(usb, 61) _DEV(uhid, 62) diff --git a/src/etc/etc.mvme68k/MAKEDEV b/src/etc/etc.mvme68k/MAKEDEV index 9e113223..f7ec457a 100644 --- a/src/etc/etc.mvme68k/MAKEDEV +++ b/src/etc/etc.mvme68k/MAKEDEV @@ -44,6 +44,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Printers: # par0 Printer port # Special purpose devices: @@ -293,6 +294,10 @@ lp*) esac ;; +ptm) + M ptm c 52 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -402,7 +407,7 @@ all) R vnd2 vnd3 sd0 sd1 sd2 sd3 sd4 cd0 cd1 rd0 tun0 tun1 tun2 R tun3 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 pty0 R pty1 pty2 xfs0 ss0 ss1 ch0 vmel0 vmes0 flash0 nvram0 sram0 - R uk0 random lkm pf systrace std st0 st1 fd + R ptm uk0 random lkm pf systrace std st0 st1 fd ;; sd*|ccd*) diff --git a/src/etc/etc.mvme68k/MAKEDEV.md b/src/etc/etc.mvme68k/MAKEDEV.md index a12b1fec..81cb07c9 100644 --- a/src/etc/etc.mvme68k/MAKEDEV.md +++ b/src/etc/etc.mvme68k/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.9 2003/09/26 06:58:02 miod Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.10 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -143,6 +143,7 @@ _DEV(ttyw, 30) _TITLE(pty) _DEV(tty, 4) _DEV(pty, 5) +_DEV(ptm, 52) _TITLE(prn) _DEV(lp, 28) _TITLE(spec) diff --git a/src/etc/etc.mvme88k/MAKEDEV b/src/etc/etc.mvme88k/MAKEDEV index aca2f935..a5c2dd3f 100644 --- a/src/etc/etc.mvme88k/MAKEDEV +++ b/src/etc/etc.mvme88k/MAKEDEV @@ -43,6 +43,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Special purpose devices: # uk* SCSI Unknown device # ss* SCSI scanners @@ -277,6 +278,10 @@ uk*) M uk$U c 41 $U 640 operator ;; +ptm) + M ptm c 52 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -370,7 +375,7 @@ all) R ccd3 vnd0 vnd1 vnd2 vnd3 sd0 sd1 sd2 sd3 sd4 cd0 cd1 rd0 R tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 R bpf8 bpf9 pty0 pty1 pty2 xfs0 ss0 ch0 vmel0 vmes0 nvram0 - R sram0 uk0 random lkm pf systrace std st0 st1 fd + R sram0 ptm uk0 random lkm pf systrace std st0 st1 fd ;; sd*|ccd*) diff --git a/src/etc/etc.mvme88k/MAKEDEV.md b/src/etc/etc.mvme88k/MAKEDEV.md index f492f574..da150df8 100644 --- a/src/etc/etc.mvme88k/MAKEDEV.md +++ b/src/etc/etc.mvme88k/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.10 2004/01/05 20:11:56 miod Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.11 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -117,6 +117,7 @@ _DEV(vx, 15) _TITLE(pty) _DEV(tty, 4) _DEV(pty, 5) +_DEV(ptm, 52) _TITLE(spec) _DEV(uk, 41) _DEV(ss, 42) diff --git a/src/etc/etc.mvmeppc/MAKEDEV.md b/src/etc/etc.mvmeppc/MAKEDEV.md index cd10ea08..d2905ba3 100644 --- a/src/etc/etc.mvmeppc/MAKEDEV.md +++ b/src/etc/etc.mvmeppc/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.12 2004/01/12 22:18:24 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.13 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -42,6 +42,7 @@ _DEV(wsmouse, 69) _TITLE(pty) _DEV(tty) _DEV(pty) +_DEV(ptm, 55) _TITLE(graphics) _DEV(mac_grf) _TTILE(usb) diff --git a/src/etc/etc.pegasos/MAKEDEV b/src/etc/etc.pegasos/MAKEDEV index 7f020902..532e4546 100644 --- a/src/etc/etc.pegasos/MAKEDEV +++ b/src/etc/etc.pegasos/MAKEDEV @@ -52,6 +52,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # USB devices: # usb* Bus control devices used by usbd for attach/detach # uhid* Generic HID devices @@ -361,6 +362,10 @@ usb*) M usb$u c 61 $U 660 ;; +ptm) + M ptm c 77 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -465,7 +470,7 @@ fd) all) R ccd0 ccd1 ccd2 ccd3 vnd0 vnd1 vnd2 vnd3 sd0 sd1 sd2 sd3 sd4 R cd0 cd1 rd0 tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 - R bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 xfs0 ss0 ss1 ch0 + R bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 pty2 xfs0 ss0 ss1 ch0 ptm R local wscons pci iop0 iop1 usbs tuner0 radio0 audio0 uk0 R random lkm tty00 tty01 tty02 tty03 apm crypto pf systrace R wd0 wd1 wd2 wd3 raid0 raid1 raid2 raid3 std st0 st1 fd diff --git a/src/etc/etc.pegasos/MAKEDEV.md b/src/etc/etc.pegasos/MAKEDEV.md index 4d6c942b..68509d6b 100644 --- a/src/etc/etc.pegasos/MAKEDEV.md +++ b/src/etc/etc.pegasos/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.2 2004/01/12 23:32:24 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.3 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001 Todd T. Fries @@ -54,6 +54,7 @@ _DEV(com, 7) _TITLE(pty) _DEV(tty, 4) _DEV(pty, 5) +_DEV(ptm, 77) _TITLE(usb) _DEV(usb, 61) _DEV(uhid, 62) diff --git a/src/etc/etc.sparc/MAKEDEV b/src/etc/etc.sparc/MAKEDEV index adb33704..b0d67136 100644 --- a/src/etc/etc.sparc/MAKEDEV +++ b/src/etc/etc.sparc/MAKEDEV @@ -45,6 +45,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Printers: # Console ports: # ttyC0 wscons screen 0 @@ -392,6 +393,10 @@ wscons) R ttyC4 ttyC5 ttyC6 ttyC7 ttyC8 ttyC9 ttyCa ttyCb ;; +ptm) + M ptm c 125 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -487,9 +492,9 @@ all) R tun3 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 pty0 R pty1 pty2 fd1 fd1B fd1C fd1D fd1E fd1F fd1G fd1H fd0 fd0B R fd0C fd0D fd0E fd0F fd0G fd0H xfs0 ss0 ss1 ch0 ses0 cuaa - R cuab cuac cuad ttya ttyb ttyc ttyd wscons audio0 uk0 random - R lkm pf systrace xd0 xd1 xd2 xd3 raid0 raid1 raid2 raid3 std - R st0 st1 fd + R cuab cuac cuad ttya ttyb ttyc ttyd ptm wscons audio0 uk0 + R random lkm pf systrace xd0 xd1 xd2 xd3 raid0 raid1 raid2 + R raid3 std st0 st1 fd ;; presto*|xd*|xy*|sd*|raid*|ccd*) diff --git a/src/etc/etc.sparc/MAKEDEV.md b/src/etc/etc.sparc/MAKEDEV.md index 43ee5437..25c8d743 100644 --- a/src/etc/etc.sparc/MAKEDEV.md +++ b/src/etc/etc.sparc/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.19 2003/06/18 18:08:59 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.20 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -71,6 +71,7 @@ _DEV(presto, 25, 26) _TITLE(pty) _DEV(tty, 20) _DEV(pty, 21) +_DEV(ptm, 125) _TITLE(prn) _TITLE(cons) _DEV(wscons) diff --git a/src/etc/etc.sparc64/MAKEDEV b/src/etc/etc.sparc64/MAKEDEV index 6fd4562e..75318119 100644 --- a/src/etc/etc.sparc64/MAKEDEV +++ b/src/etc/etc.sparc64/MAKEDEV @@ -57,6 +57,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Printers: # lpt* IEEE 1284 centronics printer # lpa* interruptless lp @@ -420,6 +421,10 @@ lpt*|lpa*) M $n$U c 37 $(($U+$f)) 600 ;; +ptm) + M ptm c 123 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -576,8 +581,8 @@ all) R bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 pty0 pty1 R pty2 fd1 fd1B fd1C fd1D fd1E fd1F fd1G fd1H fd0 fd0B fd0C R fd0D fd0E fd0F fd0G fd0H xfs0 ss0 ss1 ch0 ses0 ccd0 ccd1 - R ccd2 ccd3 wscons pci usbs audio0 uk0 random lpa0 lpa1 lpa2 - R lpt0 lpt1 lpt2 lkm tty00 tty01 tty02 tty03 ttyh0 ttyh1 + R ccd2 ccd3 ptm wscons pci usbs audio0 uk0 random lpa0 lpa1 + R lpa2 lpt0 lpt1 lpt2 lkm tty00 tty01 tty02 tty03 ttyh0 ttyh1 R crypto pf systrace wd0 wd1 wd2 wd3 raid0 raid1 raid2 raid3 R std st0 st1 fd ;; diff --git a/src/etc/etc.sparc64/MAKEDEV.md b/src/etc/etc.sparc64/MAKEDEV.md index dd7a2b9c..821b3170 100644 --- a/src/etc/etc.sparc64/MAKEDEV.md +++ b/src/etc/etc.sparc64/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.28 2004/01/12 22:18:24 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.29 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -76,6 +76,7 @@ _DEV(tth, 77) _TITLE(pty) _DEV(tty, 20) _DEV(pty, 21) +_DEV(ptm, 123) _TITLE(prn) _DEV(lpt, 37) _DEV(lpa) diff --git a/src/etc/etc.vax/MAKEDEV b/src/etc/etc.vax/MAKEDEV index 336848d9..a314a46f 100644 --- a/src/etc/etc.vax/MAKEDEV +++ b/src/etc/etc.vax/MAKEDEV @@ -56,6 +56,7 @@ # Pseudo terminals: # tty* set of 16 slave psuedo terminals # pty* set of 16 master pseudo terminals +# ptm pty master device # Printers: # Terminal ports: # dhu* unibus dhu11 @@ -418,6 +419,10 @@ dl*) fi ;; +ptm) + M ptm c 75 0 666 + ;; + pty*) if [ $U -gt 15 ]; then echo bad unit for pty in: $i @@ -510,9 +515,9 @@ local) all) R vt0 dl0 dz0 dhu0 ts0 ts1 mt0 mt1 hd0 hd1 hd2 ccd0 vnd0 sd0 R sd1 sd2 sd3 cd0 tun0 tun1 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 - R bpf7 pty0 pty1 ss0 uk0 random lkm pf systrace rx0 rx1 ra0 - R ra1 ra2 ra3 hp0 hp1 hp2 hp3 raid0 raid1 raid2 raid3 std st0 - R st1 fd + R bpf7 pty0 pty1 ss0 ptm uk0 random lkm pf systrace rx0 rx1 + R ra0 ra1 ra2 ra3 hp0 hp1 hp2 hp3 raid0 raid1 raid2 raid3 std + R st0 st1 fd ;; up*|sd*|rx*|rl*|rb*|raid*|ra*|hp*|hk*|hd*|ccd*) diff --git a/src/etc/etc.vax/MAKEDEV.md b/src/etc/etc.vax/MAKEDEV.md index 0f9a0145..ef0c8f12 100644 --- a/src/etc/etc.vax/MAKEDEV.md +++ b/src/etc/etc.vax/MAKEDEV.md @@ -1,5 +1,5 @@ vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.13 2003/06/18 18:08:59 todd Exp $-}, + {-$OpenBSD: MAKEDEV.md,v 1.14 2004/02/10 01:31:20 millert Exp $-}, etc.MACHINE)dnl dnl dnl Copyright (c) 2001,2002,2003 Todd T. Fries @@ -130,6 +130,7 @@ _DEV(ccd, 54, 17) _TITLE(pty) _DEV(tty, 20) _DEV(pty, 21) +_DEV(ptm, 75) _TITLE(prn) _TITLE(term) _DEV(dhu, 34) diff --git a/src/lib/libutil/openpty.3 b/src/lib/libutil/openpty.3 index 4794f784..986912b6 100644 --- a/src/lib/libutil/openpty.3 +++ b/src/lib/libutil/openpty.3 @@ -1,4 +1,4 @@ -.\" $OpenBSD: openpty.3,v 1.11 2003/06/02 20:18:42 millert Exp $ +.\" $OpenBSD: openpty.3,v 1.12 2004/02/10 01:31:20 millert Exp $ .\" Copyright (c) 1995 .\" The Regents of the University of California. All rights reserved. .\" @@ -78,6 +78,24 @@ is non-null, the window size of the slave will be set to the values in .Fa winp . .Pp The +.Fn openpty +function works in the following way: +first it attempts to allocate the pseudo-tty through the +.Pa /dev/ptm +device (see +.Xr pty 4 +for details) and if that fails it searches for a free psuedo-tty by iterating +through all existing pseudo-tty devices in +.Pa /dev . +When a free pseudo-tty is found, its ownership is changed to +the UID of the caller, permissions are set to correct values, +and all earlier uses of that device are revoked (see +.Xr revoke 2 +for details). +The first method can work for any user, the second method requires +super-user privileges in most cases. +.Pp +The .Fn login_tty function prepares for a login on the tty .Fa fd @@ -132,6 +150,7 @@ returns the process ID of the child process. .Sh FILES .Bl -tag -width /dev/[pt]ty[pqrstuvwxyzPQRST][0123456789abcdef] -compact .It Pa /dev/[pt]ty[pqrstuvwxyzPQRST][0123456789abcdef] +.It Pa /dev/ptm .El .Sh ERRORS .Fn openpty @@ -154,4 +173,6 @@ or .Fn fork fails. .Sh SEE ALSO -.Xr fork 2 +.Xr fork 2 , +.Xr revoke 2 , +.Xr pty 4 diff --git a/src/lib/libutil/pty.c b/src/lib/libutil/pty.c index 743daf70..a8fa7671 100644 --- a/src/lib/libutil/pty.c +++ b/src/lib/libutil/pty.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pty.c,v 1.10 2003/06/02 20:18:42 millert Exp $ */ +/* $OpenBSD: pty.c,v 1.11 2004/02/10 01:31:20 millert Exp $ */ /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /* from: static char sccsid[] = "@(#)pty.c 8.1 (Berkeley) 6/4/93"; */ -static const char rcsid[] = "$Id: pty.c,v 1.10 2003/06/02 20:18:42 millert Exp $"; +static const char rcsid[] = "$Id: pty.c,v 1.11 2004/02/10 01:31:20 millert Exp $"; #endif /* LIBC_SCCS and not lint */ #include @@ -44,6 +44,7 @@ static const char rcsid[] = "$Id: pty.c,v 1.10 2003/06/02 20:18:42 millert Exp $ #include #include #include +#include #include "util.h" @@ -60,7 +61,41 @@ openpty(amaster, aslave, name, termp, winp) register const char *cp1, *cp2; register int master, slave, ttygid; struct group *gr; + struct ptmget ptm; + int fd; + /* Try to use /dev/ptm and the PTMGET ioctl to get a properly set up + * and owned pty/tty pair. If this fails, (because we might not have + * the ptm device, etc.) fall back to using the traditional method + * of walking through the pty entries in /dev for the moment, until + * there is less chance of people being seriously boned by running + * kernels without /dev/ptm in them. + */ + + fd = open(PATH_PTMDEV, O_RDWR, 0); + if (fd == -1) + goto walkit; + if ((ioctl(fd, PTMGET, &ptm) == -1)) { + close(fd); + goto walkit; + } + close(fd); + master = ptm.cfd; + slave = ptm.sfd; + if (name) { + /* + * Manual page says "at least 16 characters". + */ + strlcpy(name, ptm.sn, 16); + } + *amaster = master; + *aslave = slave; + if (termp) + (void) tcsetattr(slave, TCSAFLUSH, termp); + if (winp) + (void) ioctl(slave, TIOCSWINSZ, (char *)winp); + return (0); + walkit: if ((gr = getgrnam("tty")) != NULL) ttygid = gr->gr_gid; else