summaryrefslogtreecommitdiff
path: root/usr/src/man/man1m
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2011-03-14 14:05:30 -0400
committerRichard Lowe <richlowe@richlowe.net>2011-03-14 14:05:30 -0400
commitc10c16dec587a0662068f6e2991c29ed3a9db943 (patch)
treef414286f4bba41d75683ed4fbbaa6bfa4bf7fabd /usr/src/man/man1m
parent68caef18a23a498d9e3017b983562c0f4fd8ab23 (diff)
downloadillumos-joyent-c10c16dec587a0662068f6e2991c29ed3a9db943.tar.gz
243 system manual pages should live with the software
Reviewed by: garrett@nexenta.com Reviewed by: gwr@nexenta.com Reviewed by: trisk@opensolaris.org Approved by: gwr@nexenta.com --HG-- extra : rebase_source : 0c599d0bec0dc8865fbba67721a7a6cd6b1feefb
Diffstat (limited to 'usr/src/man/man1m')
-rw-r--r--usr/src/man/man1m/6to4relay.1m365
-rw-r--r--usr/src/man/man1m/Intro.1m166
-rw-r--r--usr/src/man/man1m/Makefile815
-rw-r--r--usr/src/man/man1m/Uutry.1m155
-rw-r--r--usr/src/man/man1m/accept.1m196
-rw-r--r--usr/src/man/man1m/acct.1m235
-rw-r--r--usr/src/man/man1m/acctadm.1m450
-rw-r--r--usr/src/man/man1m/acctcms.1m157
-rw-r--r--usr/src/man/man1m/acctcon.1m184
-rw-r--r--usr/src/man/man1m/acctmerg.1m128
-rw-r--r--usr/src/man/man1m/acctprc.1m136
-rw-r--r--usr/src/man/man1m/acctsh.1m353
-rw-r--r--usr/src/man/man1m/adbgen.1m382
-rw-r--r--usr/src/man/man1m/add_allocatable.1m283
-rw-r--r--usr/src/man/man1m/add_drv.1m678
-rw-r--r--usr/src/man/man1m/addbadsec.1m108
-rw-r--r--usr/src/man/man1m/arp.1m276
-rw-r--r--usr/src/man/man1m/atohexlabel.1m125
-rw-r--r--usr/src/man/man1m/audit.1m163
-rw-r--r--usr/src/man/man1m/audit_warn.1m312
-rw-r--r--usr/src/man/man1m/auditconfig.1m1068
-rw-r--r--usr/src/man/man1m/auditd.1m260
-rw-r--r--usr/src/man/man1m/auditrecord.1m361
-rw-r--r--usr/src/man/man1m/auditreduce.1m984
-rw-r--r--usr/src/man/man1m/auditstat.1m251
-rw-r--r--usr/src/man/man1m/automount.1m718
-rw-r--r--usr/src/man/man1m/automountd.1m138
-rw-r--r--usr/src/man/man1m/autopush.1m202
-rw-r--r--usr/src/man/man1m/bart.1m704
-rw-r--r--usr/src/man/man1m/beadm.1m710
-rw-r--r--usr/src/man/man1m/boot.1m1672
-rw-r--r--usr/src/man/man1m/bootadm.1m376
-rw-r--r--usr/src/man/man1m/bootconfchk.1m77
-rw-r--r--usr/src/man/man1m/busstat.1m334
-rw-r--r--usr/src/man/man1m/cachefsd.1m90
-rw-r--r--usr/src/man/man1m/cachefslog.1m172
-rw-r--r--usr/src/man/man1m/cachefspack.1m255
-rw-r--r--usr/src/man/man1m/cachefsstat.1m151
-rw-r--r--usr/src/man/man1m/cachefswssize.1m115
-rw-r--r--usr/src/man/man1m/captoinfo.1m112
-rw-r--r--usr/src/man/man1m/catman.1m414
-rw-r--r--usr/src/man/man1m/cfgadm.1m995
-rw-r--r--usr/src/man/man1m/cfgadm_ac.1m324
-rw-r--r--usr/src/man/man1m/cfgadm_cardbus.1m58
-rw-r--r--usr/src/man/man1m/cfgadm_fp.1m773
-rw-r--r--usr/src/man/man1m/cfgadm_ib.1m889
-rw-r--r--usr/src/man/man1m/cfgadm_pci.1m986
-rw-r--r--usr/src/man/man1m/cfgadm_sata.1m888
-rw-r--r--usr/src/man/man1m/cfgadm_sbd.1m1443
-rw-r--r--usr/src/man/man1m/cfgadm_scsi.1m800
-rw-r--r--usr/src/man/man1m/cfgadm_sdcard.1m417
-rw-r--r--usr/src/man/man1m/cfgadm_sysctrl.1m356
-rw-r--r--usr/src/man/man1m/cfgadm_usb.1m1015
-rw-r--r--usr/src/man/man1m/cfsadmin.1m441
-rw-r--r--usr/src/man/man1m/chat.1m863
-rw-r--r--usr/src/man/man1m/check-hostname.1m79
-rw-r--r--usr/src/man/man1m/check-permissions.1m108
-rw-r--r--usr/src/man/man1m/chroot.1m86
-rw-r--r--usr/src/man/man1m/clear_locks.1m106
-rw-r--r--usr/src/man/man1m/clinfo.1m91
-rw-r--r--usr/src/man/man1m/clri.1m107
-rw-r--r--usr/src/man/man1m/consadm.1m236
-rw-r--r--usr/src/man/man1m/conv_lp.1m124
-rw-r--r--usr/src/man/man1m/conv_lpd.1m169
-rw-r--r--usr/src/man/man1m/coreadm.1m752
-rw-r--r--usr/src/man/man1m/cpustat.1m362
-rw-r--r--usr/src/man/man1m/cron.1m205
-rw-r--r--usr/src/man/man1m/cryptoadm.1m862
-rw-r--r--usr/src/man/man1m/cvcd.1m171
-rw-r--r--usr/src/man/man1m/datadm.1m217
-rw-r--r--usr/src/man/man1m/dcs.1m205
-rw-r--r--usr/src/man/man1m/dd.1m619
-rw-r--r--usr/src/man/man1m/devattr.1m137
-rw-r--r--usr/src/man/man1m/devfree.1m138
-rw-r--r--usr/src/man/man1m/devfsadm.1m300
-rw-r--r--usr/src/man/man1m/device_remap.1m158
-rw-r--r--usr/src/man/man1m/devinfo.1m163
-rw-r--r--usr/src/man/man1m/devlinks.1m341
-rw-r--r--usr/src/man/man1m/devnm.1m75
-rw-r--r--usr/src/man/man1m/devprop.1m178
-rw-r--r--usr/src/man/man1m/devreserv.1m197
-rw-r--r--usr/src/man/man1m/df.1m570
-rw-r--r--usr/src/man/man1m/df_ufs.1m108
-rw-r--r--usr/src/man/man1m/dfmounts.1m153
-rw-r--r--usr/src/man/man1m/dfmounts_nfs.1m136
-rw-r--r--usr/src/man/man1m/dfshares.1m143
-rw-r--r--usr/src/man/man1m/dfshares_nfs.1m140
-rw-r--r--usr/src/man/man1m/dhcpagent.1m812
-rw-r--r--usr/src/man/man1m/dhcpconfig.1m884
-rw-r--r--usr/src/man/man1m/dhcpmgr.1m177
-rw-r--r--usr/src/man/man1m/dhtadm.1m715
-rw-r--r--usr/src/man/man1m/disks.1m326
-rw-r--r--usr/src/man/man1m/diskscan.1m115
-rw-r--r--usr/src/man/man1m/dispadmin.1m261
-rw-r--r--usr/src/man/man1m/dladm.1m5805
-rw-r--r--usr/src/man/man1m/dlmgmtd.1m63
-rw-r--r--usr/src/man/man1m/dmesg.1m30
-rw-r--r--usr/src/man/man1m/dminfo.1m182
-rw-r--r--usr/src/man/man1m/dns-sd.1m350
-rw-r--r--usr/src/man/man1m/domainname.1m120
-rw-r--r--usr/src/man/man1m/drd.1m73
-rw-r--r--usr/src/man/man1m/drvconfig.1m194
-rw-r--r--usr/src/man/man1m/dsbitmap.1m196
-rw-r--r--usr/src/man/man1m/dscfg.1m333
-rw-r--r--usr/src/man/man1m/dscfgadm.1m168
-rw-r--r--usr/src/man/man1m/dscfglockd.1m108
-rw-r--r--usr/src/man/man1m/dsstat.1m1308
-rw-r--r--usr/src/man/man1m/dsvclockd.1m89
-rw-r--r--usr/src/man/man1m/dtrace.1m815
-rw-r--r--usr/src/man/man1m/dumpadm.1m472
-rw-r--r--usr/src/man/man1m/editmap.1m237
-rw-r--r--usr/src/man/man1m/edquota.1m140
-rw-r--r--usr/src/man/man1m/eeprom.1m1407
-rw-r--r--usr/src/man/man1m/efdaemon.1m110
-rw-r--r--usr/src/man/man1m/embedded_su.1m335
-rw-r--r--usr/src/man/man1m/etrn.1m207
-rw-r--r--usr/src/man/man1m/fbconf_xorg.1m809
-rw-r--r--usr/src/man/man1m/fcinfo.1m1281
-rw-r--r--usr/src/man/man1m/fdetach.1m51
-rw-r--r--usr/src/man/man1m/fdisk.1m918
-rw-r--r--usr/src/man/man1m/ff.1m272
-rw-r--r--usr/src/man/man1m/ff_ufs.1m77
-rw-r--r--usr/src/man/man1m/fiocompress.1m134
-rw-r--r--usr/src/man/man1m/flowadm.1m1079
-rw-r--r--usr/src/man/man1m/fmadm.1m533
-rw-r--r--usr/src/man/man1m/fmd.1m205
-rw-r--r--usr/src/man/man1m/fmdump.1m713
-rw-r--r--usr/src/man/man1m/fmstat.1m370
-rw-r--r--usr/src/man/man1m/fmthard.1m202
-rw-r--r--usr/src/man/man1m/format.1m516
-rw-r--r--usr/src/man/man1m/fpsd.1m106
-rw-r--r--usr/src/man/man1m/fruadm.1m227
-rw-r--r--usr/src/man/man1m/fsck.1m429
-rw-r--r--usr/src/man/man1m/fsck_cachefs.1m70
-rw-r--r--usr/src/man/man1m/fsck_pcfs.1m228
-rw-r--r--usr/src/man/man1m/fsck_udfs.1m363
-rw-r--r--usr/src/man/man1m/fsck_ufs.1m347
-rw-r--r--usr/src/man/man1m/fsdb.1m113
-rw-r--r--usr/src/man/man1m/fsdb_udfs.1m1121
-rw-r--r--usr/src/man/man1m/fsdb_ufs.1m1355
-rw-r--r--usr/src/man/man1m/fsirand.1m49
-rw-r--r--usr/src/man/man1m/fssnap.1m189
-rw-r--r--usr/src/man/man1m/fssnap_ufs.1m569
-rw-r--r--usr/src/man/man1m/fsstat.1m967
-rw-r--r--usr/src/man/man1m/fstyp.1m183
-rw-r--r--usr/src/man/man1m/ftpaddhost.1m180
-rw-r--r--usr/src/man/man1m/ftpconfig.1m129
-rw-r--r--usr/src/man/man1m/ftprestart.1m127
-rw-r--r--usr/src/man/man1m/ftpshut.1m332
-rw-r--r--usr/src/man/man1m/fuser.1m313
-rw-r--r--usr/src/man/man1m/fwflash.1m432
-rw-r--r--usr/src/man/man1m/fwtmp.1m86
-rw-r--r--usr/src/man/man1m/getdev.1m195
-rw-r--r--usr/src/man/man1m/getdevpolicy.1m80
-rw-r--r--usr/src/man/man1m/getdgrp.1m225
-rw-r--r--usr/src/man/man1m/getent.1m261
-rw-r--r--usr/src/man/man1m/gettable.1m41
-rw-r--r--usr/src/man/man1m/getty.1m146
-rw-r--r--usr/src/man/man1m/getvol.1m191
-rw-r--r--usr/src/man/man1m/groupadd.1m174
-rw-r--r--usr/src/man/man1m/groupdel.1m109
-rw-r--r--usr/src/man/man1m/groupmod.1m194
-rw-r--r--usr/src/man/man1m/growfs.1m246
-rw-r--r--usr/src/man/man1m/gsscred.1m267
-rw-r--r--usr/src/man/man1m/gssd.1m117
-rw-r--r--usr/src/man/man1m/hal-device.1m82
-rw-r--r--usr/src/man/man1m/hal-fdi-validate.1m71
-rw-r--r--usr/src/man/man1m/hal-find.1m123
-rw-r--r--usr/src/man/man1m/hal-get-property.1m208
-rw-r--r--usr/src/man/man1m/hald.1m151
-rw-r--r--usr/src/man/man1m/halt.1m117
-rw-r--r--usr/src/man/man1m/hextoalabel.1m124
-rw-r--r--usr/src/man/man1m/hostconfig.1m163
-rw-r--r--usr/src/man/man1m/htable.1m81
-rw-r--r--usr/src/man/man1m/ickey.1m99
-rw-r--r--usr/src/man/man1m/id.1m402
-rw-r--r--usr/src/man/man1m/idmap.1m1387
-rw-r--r--usr/src/man/man1m/idmapd.1m122
-rw-r--r--usr/src/man/man1m/idsconfig.1m201
-rw-r--r--usr/src/man/man1m/if_mpadm.1m147
-rw-r--r--usr/src/man/man1m/ifconfig.1m2668
-rw-r--r--usr/src/man/man1m/ifparse.1m185
-rw-r--r--usr/src/man/man1m/iiadm.1m1080
-rw-r--r--usr/src/man/man1m/iicpbmp.1m81
-rw-r--r--usr/src/man/man1m/iicpshd.1m89
-rw-r--r--usr/src/man/man1m/ikeadm.1m876
-rw-r--r--usr/src/man/man1m/ikecert.1m1102
-rw-r--r--usr/src/man/man1m/in.chargend.1m91
-rw-r--r--usr/src/man/man1m/in.comsat.1m78
-rw-r--r--usr/src/man/man1m/in.daytimed.1m86
-rw-r--r--usr/src/man/man1m/in.dhcpd.1m510
-rw-r--r--usr/src/man/man1m/in.discardd.1m86
-rw-r--r--usr/src/man/man1m/in.echod.1m84
-rw-r--r--usr/src/man/man1m/in.fingerd.1m128
-rw-r--r--usr/src/man/man1m/in.ftpd.1m1419
-rw-r--r--usr/src/man/man1m/in.iked.1m484
-rw-r--r--usr/src/man/man1m/in.lpd.1m144
-rw-r--r--usr/src/man/man1m/in.mpathd.1m360
-rw-r--r--usr/src/man/man1m/in.ndpd.1m285
-rw-r--r--usr/src/man/man1m/in.rarpd.1m185
-rw-r--r--usr/src/man/man1m/in.rdisc.1m202
-rw-r--r--usr/src/man/man1m/in.rexecd.1m195
-rw-r--r--usr/src/man/man1m/in.ripngd.1m238
-rw-r--r--usr/src/man/man1m/in.rlogind.1m424
-rw-r--r--usr/src/man/man1m/in.routed.1m518
-rw-r--r--usr/src/man/man1m/in.rshd.1m488
-rw-r--r--usr/src/man/man1m/in.rwhod.1m137
-rw-r--r--usr/src/man/man1m/in.talkd.1m51
-rw-r--r--usr/src/man/man1m/in.telnetd.1m434
-rw-r--r--usr/src/man/man1m/in.tftpd.1m148
-rw-r--r--usr/src/man/man1m/in.timed.1m84
-rw-r--r--usr/src/man/man1m/in.uucpd.1m189
-rw-r--r--usr/src/man/man1m/inetadm.1m354
-rw-r--r--usr/src/man/man1m/inetconv.1m276
-rw-r--r--usr/src/man/man1m/inetd.1m901
-rw-r--r--usr/src/man/man1m/infocmp.1m374
-rw-r--r--usr/src/man/man1m/init.1m606
-rw-r--r--usr/src/man/man1m/inityp2l.1m141
-rw-r--r--usr/src/man/man1m/install.1m243
-rw-r--r--usr/src/man/man1m/installf.1m492
-rw-r--r--usr/src/man/man1m/installgrub.1m166
-rw-r--r--usr/src/man/man1m/intrd.1m69
-rw-r--r--usr/src/man/man1m/intrstat.1m217
-rw-r--r--usr/src/man/man1m/iostat.1m750
-rw-r--r--usr/src/man/man1m/ipaddrsel.1m332
-rw-r--r--usr/src/man/man1m/ipf.1m559
-rw-r--r--usr/src/man/man1m/ipfs.1m248
-rw-r--r--usr/src/man/man1m/ipfstat.1m455
-rw-r--r--usr/src/man/man1m/ipmon.1m417
-rw-r--r--usr/src/man/man1m/ipmpstat.1m942
-rw-r--r--usr/src/man/man1m/ipnat.1m230
-rw-r--r--usr/src/man/man1m/ippool.1m378
-rw-r--r--usr/src/man/man1m/ipqosconf.1m1156
-rw-r--r--usr/src/man/man1m/ipsecalgs.1m643
-rw-r--r--usr/src/man/man1m/ipsecconf.1m1926
-rw-r--r--usr/src/man/man1m/ipseckey.1m1725
-rw-r--r--usr/src/man/man1m/iscsiadm.1m1456
-rw-r--r--usr/src/man/man1m/isns.1m288
-rw-r--r--usr/src/man/man1m/isnsadm.1m780
-rw-r--r--usr/src/man/man1m/itadm.1m975
-rw-r--r--usr/src/man/man1m/itu.1m332
-rw-r--r--usr/src/man/man1m/k5srvutil.1m142
-rw-r--r--usr/src/man/man1m/kadb.1m130
-rw-r--r--usr/src/man/man1m/kadmin.1m1632
-rw-r--r--usr/src/man/man1m/kadmind.1m424
-rw-r--r--usr/src/man/man1m/kclient.1m626
-rw-r--r--usr/src/man/man1m/kdb5_ldap_util.1m1274
-rw-r--r--usr/src/man/man1m/kdb5_util.1m574
-rw-r--r--usr/src/man/man1m/kdcmgr.1m430
-rw-r--r--usr/src/man/man1m/kernel.1m417
-rw-r--r--usr/src/man/man1m/keyserv.1m209
-rw-r--r--usr/src/man/man1m/killall.1m36
-rw-r--r--usr/src/man/man1m/kprop.1m184
-rw-r--r--usr/src/man/man1m/kpropd.1m280
-rw-r--r--usr/src/man/man1m/kproplog.1m135
-rw-r--r--usr/src/man/man1m/krb5kdc.1m260
-rw-r--r--usr/src/man/man1m/ksslcfg.1m445
-rw-r--r--usr/src/man/man1m/kstat.1m403
-rw-r--r--usr/src/man/man1m/ktkt_warnd.1m81
-rw-r--r--usr/src/man/man1m/labelit.1m172
-rw-r--r--usr/src/man/man1m/labelit_hsfs.1m153
-rw-r--r--usr/src/man/man1m/labelit_udfs.1m165
-rw-r--r--usr/src/man/man1m/labelit_ufs.1m111
-rw-r--r--usr/src/man/man1m/latencytop.1m322
-rw-r--r--usr/src/man/man1m/ldap_cachemgr.1m168
-rw-r--r--usr/src/man/man1m/ldapaddent.1m603
-rw-r--r--usr/src/man/man1m/ldapclient.1m1230
-rw-r--r--usr/src/man/man1m/ldmad.1m75
-rw-r--r--usr/src/man/man1m/link.1m119
-rw-r--r--usr/src/man/man1m/listdgrp.1m102
-rw-r--r--usr/src/man/man1m/listen.1m107
-rw-r--r--usr/src/man/man1m/lms.1m69
-rw-r--r--usr/src/man/man1m/locator.1m130
-rw-r--r--usr/src/man/man1m/lockfs.1m365
-rw-r--r--usr/src/man/man1m/lockstat.1m909
-rw-r--r--usr/src/man/man1m/lofiadm.1m786
-rw-r--r--usr/src/man/man1m/logadm.1m974
-rw-r--r--usr/src/man/man1m/logins.1m235
-rw-r--r--usr/src/man/man1m/lpadmin.1m1478
-rw-r--r--usr/src/man/man1m/lpfilter.1m526
-rw-r--r--usr/src/man/man1m/lpforms.1m731
-rw-r--r--usr/src/man/man1m/lpget.1m216
-rw-r--r--usr/src/man/man1m/lpmove.1m209
-rw-r--r--usr/src/man/man1m/lpsched.1m150
-rw-r--r--usr/src/man/man1m/lpset.1m300
-rw-r--r--usr/src/man/man1m/lpshut.1m68
-rw-r--r--usr/src/man/man1m/lpsystem.1m40
-rw-r--r--usr/src/man/man1m/lpusers.1m217
-rw-r--r--usr/src/man/man1m/luxadm.1m1391
-rw-r--r--usr/src/man/man1m/mail.local.1m235
-rw-r--r--usr/src/man/man1m/makedbm.1m204
-rw-r--r--usr/src/man/man1m/makemap.1m285
-rw-r--r--usr/src/man/man1m/mdmonitord.1m114
-rw-r--r--usr/src/man/man1m/medstat.1m143
-rw-r--r--usr/src/man/man1m/metaclear.1m317
-rw-r--r--usr/src/man/man1m/metadb.1m668
-rw-r--r--usr/src/man/man1m/metadevadm.1m289
-rw-r--r--usr/src/man/man1m/metahs.1m376
-rw-r--r--usr/src/man/man1m/metaimport.1m249
-rw-r--r--usr/src/man/man1m/metainit.1m1047
-rw-r--r--usr/src/man/man1m/metaoffline.1m204
-rw-r--r--usr/src/man/man1m/metaparam.1m242
-rw-r--r--usr/src/man/man1m/metarecover.1m268
-rw-r--r--usr/src/man/man1m/metarename.1m319
-rw-r--r--usr/src/man/man1m/metareplace.1m274
-rw-r--r--usr/src/man/man1m/metaroot.1m296
-rw-r--r--usr/src/man/man1m/metaset.1m925
-rw-r--r--usr/src/man/man1m/metassist.1m551
-rw-r--r--usr/src/man/man1m/metastat.1m506
-rw-r--r--usr/src/man/man1m/metasync.1m201
-rw-r--r--usr/src/man/man1m/metattach.1m549
-rw-r--r--usr/src/man/man1m/mkbootmedia.1m125
-rw-r--r--usr/src/man/man1m/mkdevalloc.1m87
-rw-r--r--usr/src/man/man1m/mkdevmaps.1m66
-rw-r--r--usr/src/man/man1m/mkfifo.1m166
-rw-r--r--usr/src/man/man1m/mkfile.1m101
-rw-r--r--usr/src/man/man1m/mkfs.1m152
-rw-r--r--usr/src/man/man1m/mkfs_pcfs.1m412
-rw-r--r--usr/src/man/man1m/mkfs_udfs.1m197
-rw-r--r--usr/src/man/man1m/mkfs_ufs.1m449
-rw-r--r--usr/src/man/man1m/mknod.1m124
-rw-r--r--usr/src/man/man1m/mkntfs.1m339
-rw-r--r--usr/src/man/man1m/mkpwdict.1m106
-rw-r--r--usr/src/man/man1m/modinfo.1m166
-rw-r--r--usr/src/man/man1m/modload.1m100
-rw-r--r--usr/src/man/man1m/modunload.1m70
-rw-r--r--usr/src/man/man1m/monitor.1m2084
-rw-r--r--usr/src/man/man1m/mount.1m481
-rw-r--r--usr/src/man/man1m/mount_cachefs.1m277
-rw-r--r--usr/src/man/man1m/mount_hsfs.1m297
-rw-r--r--usr/src/man/man1m/mount_nfs.1m968
-rw-r--r--usr/src/man/man1m/mount_pcfs.1m204
-rw-r--r--usr/src/man/man1m/mount_smbfs.1m526
-rw-r--r--usr/src/man/man1m/mount_tmpfs.1m115
-rw-r--r--usr/src/man/man1m/mount_udfs.1m233
-rw-r--r--usr/src/man/man1m/mount_ufs.1m393
-rw-r--r--usr/src/man/man1m/mountall.1m229
-rw-r--r--usr/src/man/man1m/mountd.1m96
-rw-r--r--usr/src/man/man1m/mpathadm.1m778
-rw-r--r--usr/src/man/man1m/mpstat.1m406
-rw-r--r--usr/src/man/man1m/msgid.1m73
-rw-r--r--usr/src/man/man1m/mvdir.1m92
-rw-r--r--usr/src/man/man1m/ncaconfd.1m88
-rw-r--r--usr/src/man/man1m/ncheck.1m138
-rw-r--r--usr/src/man/man1m/ncheck_ufs.1m56
-rw-r--r--usr/src/man/man1m/ndd.1m113
-rw-r--r--usr/src/man/man1m/ndmpadm.1m492
-rw-r--r--usr/src/man/man1m/ndmpd.1m152
-rw-r--r--usr/src/man/man1m/ndmpstat.1m401
-rw-r--r--usr/src/man/man1m/netstat.1m1241
-rw-r--r--usr/src/man/man1m/netstrategy.1m118
-rw-r--r--usr/src/man/man1m/newaliases.1m231
-rw-r--r--usr/src/man/man1m/newfs.1m531
-rw-r--r--usr/src/man/man1m/newkey.1m119
-rw-r--r--usr/src/man/man1m/nfs4cbd.1m55
-rw-r--r--usr/src/man/man1m/nfsd.1m251
-rw-r--r--usr/src/man/man1m/nfslogd.1m258
-rw-r--r--usr/src/man/man1m/nfsmapid.1m128
-rw-r--r--usr/src/man/man1m/nfsstat.1m968
-rw-r--r--usr/src/man/man1m/nlsadmin.1m401
-rw-r--r--usr/src/man/man1m/nscadm.1m157
-rw-r--r--usr/src/man/man1m/nscd.1m184
-rw-r--r--usr/src/man/man1m/ntfscat.1m226
-rw-r--r--usr/src/man/man1m/ntfsclone.1m470
-rw-r--r--usr/src/man/man1m/ntfscluster.1m239
-rw-r--r--usr/src/man/man1m/ntfscmp.1m108
-rw-r--r--usr/src/man/man1m/ntfscp.1m209
-rw-r--r--usr/src/man/man1m/ntfsfix.1m84
-rw-r--r--usr/src/man/man1m/ntfsinfo.1m161
-rw-r--r--usr/src/man/man1m/ntfslabel.1m140
-rw-r--r--usr/src/man/man1m/ntfsls.1m218
-rw-r--r--usr/src/man/man1m/ntfsprogs.1m199
-rw-r--r--usr/src/man/man1m/ntfsresize.1m290
-rw-r--r--usr/src/man/man1m/ntfsundelete.1m500
-rw-r--r--usr/src/man/man1m/nwamd.1m248
-rw-r--r--usr/src/man/man1m/obpsym.1m145
-rw-r--r--usr/src/man/man1m/oplhpd.1m69
-rw-r--r--usr/src/man/man1m/parted.1m374
-rw-r--r--usr/src/man/man1m/passmgmt.1m364
-rw-r--r--usr/src/man/man1m/pbind.1m324
-rw-r--r--usr/src/man/man1m/picld.1m144
-rw-r--r--usr/src/man/man1m/ping.1m467
-rw-r--r--usr/src/man/man1m/pkg2du.1m158
-rw-r--r--usr/src/man/man1m/pkgadd.1m735
-rw-r--r--usr/src/man/man1m/pkgadm.1m529
-rw-r--r--usr/src/man/man1m/pkgask.1m143
-rw-r--r--usr/src/man/man1m/pkgchk.1m436
-rw-r--r--usr/src/man/man1m/pkgrm.1m326
-rw-r--r--usr/src/man/man1m/plockstat.1m273
-rw-r--r--usr/src/man/man1m/pmadm.1m644
-rw-r--r--usr/src/man/man1m/pmconfig.1m218
-rw-r--r--usr/src/man/man1m/pntadm.1m826
-rw-r--r--usr/src/man/man1m/polkit-is-privileged.1m118
-rw-r--r--usr/src/man/man1m/pooladm.1m279
-rw-r--r--usr/src/man/man1m/poolbind.1m281
-rw-r--r--usr/src/man/man1m/poolcfg.1m514
-rw-r--r--usr/src/man/man1m/poold.1m224
-rw-r--r--usr/src/man/man1m/poolstat.1m438
-rw-r--r--usr/src/man/man1m/ports.1m304
-rw-r--r--usr/src/man/man1m/powerd.1m80
-rw-r--r--usr/src/man/man1m/powertop.1m251
-rw-r--r--usr/src/man/man1m/ppdmgr.1m338
-rw-r--r--usr/src/man/man1m/pppd.1m3020
-rw-r--r--usr/src/man/man1m/pppoec.1m296
-rw-r--r--usr/src/man/man1m/pppoed.1m469
-rw-r--r--usr/src/man/man1m/pppstats.1m468
-rw-r--r--usr/src/man/man1m/praudit.1m180
-rw-r--r--usr/src/man/man1m/print-service.1m195
-rw-r--r--usr/src/man/man1m/printmgr.1m138
-rw-r--r--usr/src/man/man1m/projadd.1m349
-rw-r--r--usr/src/man/man1m/projdel.1m205
-rw-r--r--usr/src/man/man1m/projmod.1m655
-rw-r--r--usr/src/man/man1m/prstat.1m934
-rw-r--r--usr/src/man/man1m/prtconf.1m270
-rw-r--r--usr/src/man/man1m/prtdiag.1m131
-rw-r--r--usr/src/man/man1m/prtdscp.1m157
-rw-r--r--usr/src/man/man1m/prtfru.1m128
-rw-r--r--usr/src/man/man1m/prtpicl.1m77
-rw-r--r--usr/src/man/man1m/prtvtoc.1m228
-rw-r--r--usr/src/man/man1m/psradm.1m370
-rw-r--r--usr/src/man/man1m/psrinfo.1m220
-rw-r--r--usr/src/man/man1m/psrset.1m587
-rw-r--r--usr/src/man/man1m/putdev.1m483
-rw-r--r--usr/src/man/man1m/putdgrp.1m221
-rw-r--r--usr/src/man/man1m/pwck.1m93
-rw-r--r--usr/src/man/man1m/pwconv.1m208
-rw-r--r--usr/src/man/man1m/quot.1m182
-rw-r--r--usr/src/man/man1m/quota.1m86
-rw-r--r--usr/src/man/man1m/quotacheck.1m127
-rw-r--r--usr/src/man/man1m/quotaon.1m140
-rw-r--r--usr/src/man/man1m/raidctl.1m1120
-rw-r--r--usr/src/man/man1m/ramdiskadm.1m172
-rw-r--r--usr/src/man/man1m/rcapadm.1m288
-rw-r--r--usr/src/man/man1m/rcapd.1m194
-rw-r--r--usr/src/man/man1m/rctladm.1m196
-rw-r--r--usr/src/man/man1m/rdate.1m42
-rw-r--r--usr/src/man/man1m/reboot.1m386
-rw-r--r--usr/src/man/man1m/rem_drv.1m106
-rw-r--r--usr/src/man/man1m/remove_allocatable.1m159
-rw-r--r--usr/src/man/man1m/removef.1m207
-rw-r--r--usr/src/man/man1m/repquota.1m69
-rw-r--r--usr/src/man/man1m/rmmount.1m322
-rw-r--r--usr/src/man/man1m/rmt.1m176
-rw-r--r--usr/src/man/man1m/rmvolmgr.1m155
-rw-r--r--usr/src/man/man1m/roleadd.1m515
-rw-r--r--usr/src/man/man1m/roledel.1m186
-rw-r--r--usr/src/man/man1m/rolemod.1m452
-rw-r--r--usr/src/man/man1m/root_archive.1m193
-rw-r--r--usr/src/man/man1m/route.1m850
-rw-r--r--usr/src/man/man1m/routeadm.1m582
-rw-r--r--usr/src/man/man1m/rpc.bootparamd.1m98
-rw-r--r--usr/src/man/man1m/rpc.mdcommd.1m96
-rw-r--r--usr/src/man/man1m/rpc.metad.1m76
-rw-r--r--usr/src/man/man1m/rpc.metamedd.1m91
-rw-r--r--usr/src/man/man1m/rpc.metamhd.1m76
-rw-r--r--usr/src/man/man1m/rpc.rexd.1m159
-rw-r--r--usr/src/man/man1m/rpc.rstatd.1m49
-rw-r--r--usr/src/man/man1m/rpc.rusersd.1m46
-rw-r--r--usr/src/man/man1m/rpc.rwalld.1m48
-rw-r--r--usr/src/man/man1m/rpc.smserverd.1m57
-rw-r--r--usr/src/man/man1m/rpc.sprayd.1m54
-rw-r--r--usr/src/man/man1m/rpc.yppasswdd.1m167
-rw-r--r--usr/src/man/man1m/rpc.ypupdated.1m113
-rw-r--r--usr/src/man/man1m/rpcbind.1m251
-rw-r--r--usr/src/man/man1m/rpcinfo.1m377
-rw-r--r--usr/src/man/man1m/rquotad.1m74
-rw-r--r--usr/src/man/man1m/rsh.1m118
-rw-r--r--usr/src/man/man1m/rtc.1m97
-rw-r--r--usr/src/man/man1m/rtquery.1m215
-rw-r--r--usr/src/man/man1m/runacct.1m352
-rw-r--r--usr/src/man/man1m/rwall.1m78
-rw-r--r--usr/src/man/man1m/sac.1m261
-rw-r--r--usr/src/man/man1m/sacadm.1m597
-rw-r--r--usr/src/man/man1m/saf.1m1618
-rw-r--r--usr/src/man/man1m/sar.1m166
-rw-r--r--usr/src/man/man1m/sasinfo.1m752
-rw-r--r--usr/src/man/man1m/savecore.1m203
-rw-r--r--usr/src/man/man1m/sbdadm.1m294
-rw-r--r--usr/src/man/man1m/scadm.1m1115
-rw-r--r--usr/src/man/man1m/sckmd.1m83
-rw-r--r--usr/src/man/man1m/scmadm.1m213
-rw-r--r--usr/src/man/man1m/sconadm.1m496
-rw-r--r--usr/src/man/man1m/sdpadm.1m92
-rw-r--r--usr/src/man/man1m/sendmail.1m3790
-rw-r--r--usr/src/man/man1m/setuname.1m80
-rw-r--r--usr/src/man/man1m/sf880drd.1m60
-rw-r--r--usr/src/man/man1m/sftp-server.1m140
-rw-r--r--usr/src/man/man1m/share.1m215
-rw-r--r--usr/src/man/man1m/share_nfs.1m823
-rw-r--r--usr/src/man/man1m/shareall.1m64
-rw-r--r--usr/src/man/man1m/sharectl.1m301
-rw-r--r--usr/src/man/man1m/sharemgr.1m1377
-rw-r--r--usr/src/man/man1m/showmount.1m88
-rw-r--r--usr/src/man/man1m/shutdown.1m201
-rw-r--r--usr/src/man/man1m/slpd.1m210
-rw-r--r--usr/src/man/man1m/smbadm.1m595
-rw-r--r--usr/src/man/man1m/smbd.1m130
-rw-r--r--usr/src/man/man1m/smbiod.1m127
-rw-r--r--usr/src/man/man1m/smbios.1m252
-rw-r--r--usr/src/man/man1m/smbstat.1m136
-rw-r--r--usr/src/man/man1m/smrsh.1m97
-rw-r--r--usr/src/man/man1m/smtnrhdb.1m549
-rw-r--r--usr/src/man/man1m/smtnrhtp.1m561
-rw-r--r--usr/src/man/man1m/smtnzonecfg.1m507
-rw-r--r--usr/src/man/man1m/sndradm.1m1102
-rw-r--r--usr/src/man/man1m/sndrd.1m166
-rw-r--r--usr/src/man/man1m/sndrsyncd.1m145
-rw-r--r--usr/src/man/man1m/snoop.1m1251
-rw-r--r--usr/src/man/man1m/soconfig.1m183
-rw-r--r--usr/src/man/man1m/sppptun.1m250
-rw-r--r--usr/src/man/man1m/spray.1m89
-rw-r--r--usr/src/man/man1m/ssh-keysign.1m117
-rw-r--r--usr/src/man/man1m/sshd.1m1509
-rw-r--r--usr/src/man/man1m/statd.1m116
-rw-r--r--usr/src/man/man1m/stmfadm.1m1210
-rw-r--r--usr/src/man/man1m/stmsboot.1m403
-rw-r--r--usr/src/man/man1m/strace.1m192
-rw-r--r--usr/src/man/man1m/strclean.1m79
-rw-r--r--usr/src/man/man1m/strerr.1m152
-rw-r--r--usr/src/man/man1m/sttydefs.1m206
-rw-r--r--usr/src/man/man1m/su.1m327
-rw-r--r--usr/src/man/man1m/sulogin.1m95
-rw-r--r--usr/src/man/man1m/svadm.1m195
-rw-r--r--usr/src/man/man1m/svc.configd.1m30
-rw-r--r--usr/src/man/man1m/svc.ipfd.1m535
-rw-r--r--usr/src/man/man1m/svc.startd.1m602
-rw-r--r--usr/src/man/man1m/svcadm.1m539
-rw-r--r--usr/src/man/man1m/svccfg.1m912
-rw-r--r--usr/src/man/man1m/swap.1m342
-rw-r--r--usr/src/man/man1m/sync.1m27
-rw-r--r--usr/src/man/man1m/syncinit.1m203
-rw-r--r--usr/src/man/man1m/syncloop.1m237
-rw-r--r--usr/src/man/man1m/syncstat.1m201
-rw-r--r--usr/src/man/man1m/sysdef.1m172
-rw-r--r--usr/src/man/man1m/syseventadm.1m508
-rw-r--r--usr/src/man/man1m/syseventconfd.1m81
-rw-r--r--usr/src/man/man1m/syseventd.1m166
-rw-r--r--usr/src/man/man1m/syslogd.1m390
-rw-r--r--usr/src/man/man1m/tapes.1m277
-rw-r--r--usr/src/man/man1m/th_define.1m1042
-rw-r--r--usr/src/man/man1m/th_manage.1m171
-rw-r--r--usr/src/man/man1m/tic.1m122
-rw-r--r--usr/src/man/man1m/tnchkdb.1m192
-rw-r--r--usr/src/man/man1m/tnctl.1m284
-rw-r--r--usr/src/man/man1m/tnd.1m231
-rw-r--r--usr/src/man/man1m/tninfo.1m185
-rw-r--r--usr/src/man/man1m/tpmadm.1m242
-rw-r--r--usr/src/man/man1m/traceroute.1m723
-rw-r--r--usr/src/man/man1m/trapstat.1m687
-rw-r--r--usr/src/man/man1m/ttyadm.1m255
-rw-r--r--usr/src/man/man1m/ttymon.1m347
-rw-r--r--usr/src/man/man1m/tunefs.1m132
-rw-r--r--usr/src/man/man1m/txzonemgr.1m63
-rw-r--r--usr/src/man/man1m/tzselect.1m86
-rw-r--r--usr/src/man/man1m/uadmin.1m75
-rw-r--r--usr/src/man/man1m/ucodeadm.1m188
-rw-r--r--usr/src/man/man1m/ufsdump.1m712
-rw-r--r--usr/src/man/man1m/ufsrestore.1m843
-rw-r--r--usr/src/man/man1m/unshare.1m95
-rw-r--r--usr/src/man/man1m/unshare_nfs.1m93
-rw-r--r--usr/src/man/man1m/update_drv.1m349
-rw-r--r--usr/src/man/man1m/updatehome.1m192
-rw-r--r--usr/src/man/man1m/updatemedia.1m151
-rw-r--r--usr/src/man/man1m/useradd.1m579
-rw-r--r--usr/src/man/man1m/userdel.1m186
-rw-r--r--usr/src/man/man1m/usermod.1m601
-rw-r--r--usr/src/man/man1m/utmpd.1m177
-rw-r--r--usr/src/man/man1m/uucheck.1m141
-rw-r--r--usr/src/man/man1m/uucico.1m225
-rw-r--r--usr/src/man/man1m/uucleanup.1m185
-rw-r--r--usr/src/man/man1m/uusched.1m127
-rw-r--r--usr/src/man/man1m/uuxqt.1m121
-rw-r--r--usr/src/man/man1m/vmstat.1m633
-rw-r--r--usr/src/man/man1m/vntsd.1m474
-rw-r--r--usr/src/man/man1m/volcopy.1m183
-rw-r--r--usr/src/man/man1m/volcopy_ufs.1m139
-rw-r--r--usr/src/man/man1m/vscanadm.1m732
-rw-r--r--usr/src/man/man1m/vscand.1m129
-rw-r--r--usr/src/man/man1m/wall.1m104
-rw-r--r--usr/src/man/man1m/wanboot_keygen.1m204
-rw-r--r--usr/src/man/man1m/wanboot_keymgmt.1m165
-rw-r--r--usr/src/man/man1m/wanboot_p12split.1m142
-rw-r--r--usr/src/man/man1m/wanbootutil.1m149
-rw-r--r--usr/src/man/man1m/whodo.1m224
-rw-r--r--usr/src/man/man1m/wificonfig.1m1115
-rw-r--r--usr/src/man/man1m/wpad.1m171
-rw-r--r--usr/src/man/man1m/wracct.1m198
-rw-r--r--usr/src/man/man1m/wusbadm.1m703
-rw-r--r--usr/src/man/man1m/ypbind.1m175
-rw-r--r--usr/src/man/man1m/ypinit.1m130
-rw-r--r--usr/src/man/man1m/ypmake.1m124
-rw-r--r--usr/src/man/man1m/ypmap2src.1m163
-rw-r--r--usr/src/man/man1m/yppoll.1m48
-rw-r--r--usr/src/man/man1m/yppush.1m135
-rw-r--r--usr/src/man/man1m/ypserv.1m377
-rw-r--r--usr/src/man/man1m/ypset.1m96
-rw-r--r--usr/src/man/man1m/ypstart.1m46
-rw-r--r--usr/src/man/man1m/ypxfr.1m202
-rw-r--r--usr/src/man/man1m/zdb.1m87
-rw-r--r--usr/src/man/man1m/zdump.1m133
-rw-r--r--usr/src/man/man1m/zfs.1m3781
-rw-r--r--usr/src/man/man1m/zic.1m659
-rw-r--r--usr/src/man/man1m/zoneadm.1m717
-rw-r--r--usr/src/man/man1m/zoneadmd.1m68
-rw-r--r--usr/src/man/man1m/zonecfg.1m2101
-rw-r--r--usr/src/man/man1m/zpool.1m2146
-rw-r--r--usr/src/man/man1m/zstreamdump.1m67
607 files changed, 231462 insertions, 0 deletions
diff --git a/usr/src/man/man1m/6to4relay.1m b/usr/src/man/man1m/6to4relay.1m
new file mode 100644
index 0000000000..fe53b93c84
--- /dev/null
+++ b/usr/src/man/man1m/6to4relay.1m
@@ -0,0 +1,365 @@
+'\" te
+.\" Copyright (C) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH 6to4relay 1M "19 Nov 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+6to4relay \- administer configuration for 6to4 relay router communication
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/6to4relay\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/6to4relay\fR [\fB-e\fR] [\fB-a\fR \fIaddr\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/6to4relay\fR [\fB-d\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/6to4relay\fR [\fB-h\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fB6to4relay\fR command is used to configure 6to4 relay router
+communication. Relay router communication support is enabled by setting the
+value of a variable that stores an IPv4 address within the \fBtun\fR module.
+This variable is global to all tunnels and defines the policy for communication
+with relay routers. By default, the address is set to \fBINADDR_ANY\fR
+(\fB0.0.0.0\fR), and the kernel interprets the value to indicate that support
+for relay router communication is disabled. Otherwise, support is enabled, and
+the specified address is used as the IPv4 destination address when packets
+destined for native IPv6 (non-6to4) hosts are sent through the 6to4 tunnel
+interface. The \fB6to4relay\fR command uses a project private ioctl to set the
+variable.
+.sp
+.LP
+\fB6to4relay\fR used without any options outputs the current, in-kernel,
+configuration status. Use the \fB-a\fR option to send packets to a specific
+relay router's \fBunicast\fR address instead of the default \fBanycast\fR
+address. The address specified with the \fB-a\fR option does not specify the
+policy for receiving traffic from relay routers. The source relay router on a
+received packet is non-deterministic, since a different relay router may be
+chosen for each sending native IPv6 end-point.
+.sp
+.LP
+Configuration changes made by using the \fB6to4relay\fR are not persistent
+across reboot. The changes will persist in the kernel only until you take the
+tunnel down
+.SH OPTIONS
+.sp
+.LP
+The \fB6to4relay\fR command supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIaddr\fR\fR
+.ad
+.RS 11n
+.rt
+Use the specified address, \fIaddr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 11n
+.rt
+Enable support for relay router. Use \fB-a\fR \fIaddr\fR if it is specified.
+Otherwise, use the default \fBanycast\fR address, 192.88.99.1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 11n
+.rt
+Disable support for the relay router.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 11n
+.rt
+Help
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaddr\fR\fR
+.ad
+.RS 8n
+.rt
+A specific relay router's unicast address. \fIaddr\fR must be specified as a
+dotted decimal representation of an IPv4 address. Otherwise, an error will
+occur, and the command will fail.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRPrinting the In-Kernel Configuration Status
+.sp
+.LP
+Use \fB/usr/sbin/6to4relay\fR without any options to print the in-kernel
+configuration status.
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/6to4relay\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If 6to4 relay router communication is disabled, the administrator will see the
+following message:
+
+.sp
+.in +2
+.nf
+6to4relay: 6to4 Relay Router communication support is disabled.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If 6to4 router communication is enabled, the user will see this message:
+.sp
+.in +2
+.nf
+6to4relay: 6to4 Relay Router communication support is enabled.
+IPv4 destination address of Relay Router = 192.88.99.1
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/sbin/6to4relay\fR \fR
+.ad
+.RS 24n
+.rt
+The default installation root
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBifconfig\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+Huitema, C. \fIRFC 3068, An Anycast Prefix for 6to4 Relay Routers\fR. Network
+Working Group. June, 2001.
+.sp
+.LP
+Carpenter, B. and Moore, K. \fIRFC 3056, Connection of IPv6 Domains via IPv4
+Clouds\fR. Network Working Group. February, 2001.
+.SH DIAGNOSTICS
+.sp
+.LP
+The \fB6to4relay\fR reports the following messages:
+.sp
+.in +2
+.nf
+6to4relay: input (0.0.0.0) is not a valid IPv4 unicast address
+.fi
+.in -2
+.sp
+
+.RS +4
+\fBExample: \fR
+.sp
+.LP
+The following example provides an incorrect unicast address.
+.sp
+.in +2
+.nf
+example# \fB6to4relay -e -a 0.0.0.0\fR
+.fi
+.in -2
+.sp
+\fBDescription: \fR
+.sp
+.LP
+The address specified with the \fB-a\fR option must be a valid unicast address.
+.RE
+
+.sp
+.in +2
+.nf
+6to4relay: option requires an argument -a
+usage:
+ 6to4relay
+ 6to4relay -e [-a <addr>]
+ 6to4relay -d
+ 6to4relay -h
+.fi
+.in -2
+.sp
+
+.RS +4
+\fBExample: \fR
+.sp
+.LP
+The following example does not include an argument for the \fB-a\fR option.
+.sp
+.in +2
+.nf
+example# \fB6to4relay -e -a \fR
+.fi
+.in -2
+.sp
+\fBDescription: \fR
+.sp
+.LP
+The \fB-a\fR option requires an argument.
+.RE
+
+.sp
+.in +2
+.nf
+usage:
+ 6to4relay
+ 6to4relay -e [-a <addr>]
+ 6to4relay -d
+ 6to4relay -h
+.fi
+.in -2
+.sp
+
+.RS +4
+\fBExample: \fR
+.sp
+.LP
+The following example specifies options that are not permitted.
+.sp
+.in +2
+.nf
+example# \fB6to4relay -e -d\fR
+.fi
+.in -2
+.sp
+\fBDescription: \fR
+.sp
+.LP
+The options specified are not permitted. A usage message is output to the
+screen.
+.RE
+
+.sp
+.in +2
+.nf
+usage:
+ 6to4relay
+ 6to4relay -e [-a <addr>]
+ 6to4relay -d
+ 6to4relay -h
+.fi
+.in -2
+.sp
+
+.RS +4
+\fBExample: \fR
+.sp
+.LP
+The following example specifies the \fB-a\fR option without specifying the
+\fB-e\fR option.
+.sp
+.in +2
+.nf
+example# \fB6to4relay -a 1.2.3.4\fR
+.fi
+.in -2
+.sp
+\fBDescription: \fR
+.sp
+.LP
+The \fB-e\fR option is required in conjunction with the \fB-a\fR option. A
+usage message is output to the screen.
+.RE
+
+.sp
+.in +2
+.nf
+6to4relay: ioctl (I_STR) : Invalid argument
+.fi
+.in -2
+.sp
+
+.RS +4
+\fBExample: \fR
+.sp
+.LP
+The following example specifies an invalid address.
+.sp
+.in +2
+.nf
+example# \fB6to4relay -e -a 239.255.255.255\fR
+.fi
+.in -2
+.sp
+\fBDescription: \fR
+.sp
+.LP
+The address specified with the \fB-a\fR option must not be a class d
+\fIaddr\fR.
+.RE
+
diff --git a/usr/src/man/man1m/Intro.1m b/usr/src/man/man1m/Intro.1m
new file mode 100644
index 0000000000..984c0630d4
--- /dev/null
+++ b/usr/src/man/man1m/Intro.1m
@@ -0,0 +1,166 @@
+'\" te
+.\" Copyright 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH Intro 1M "17 Nov 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+Intro, intro \- introduction to maintenance commands and application programs
+.SH DESCRIPTION
+.sp
+.LP
+This section describes, in alphabetical order, commands that are used chiefly
+for system maintenance and administration purposes.
+.sp
+.LP
+Because of command restructuring for the Virtual File System architecture,
+there are several instances of multiple manual pages that begin with the same
+name. For example, the \fBmount\fR, pages \(mi \fBmount\fR(1M),
+\fBmount_cachefs\fR(1M), \fBmount_hsfs\fR(1M), \fBmount_nfs\fR(1M), \fB
+mount_tmpfs\fR(1M), and \fBmount_ufs\fR(1M). In each such case the first of the
+multiple pages describes the syntax and options of the generic command, that
+is, those options applicable to all FSTypes (file system types). The succeeding
+pages describe the functionality of the FSType-specific modules of the command.
+These pages list the command followed by an underscore ( _ ) and the FSType to
+which they pertain. Note that the administrator should not attempt to call
+these modules directly. The generic command provides a common interface to all
+of them. Thus the FSType-specific manual pages should not be viewed as
+describing distinct commands, but rather as detailing those aspects of a
+command that are specific to a particular FSType.
+.SH COMMAND SYNTAX
+.sp
+.LP
+Unless otherwise noted, commands described in this section accept options and
+other arguments according to the following syntax:
+.sp
+.in +2
+.nf
+\fIname\fR [\fIoption\fR(\fIs\fR)] [\fIcmdarg\fR(\fIs\fR)]
+.fi
+.in -2
+
+.sp
+.LP
+where:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIname\fR\fR
+.ad
+.RS 15n
+.rt
+The name of an executable file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIoption\fR\fR
+.ad
+.RS 15n
+.rt
+\fB\(mi\fR \fInoargletter\fR(\fIs\fR) or,
+.sp
+\fB\(mi\fR \fIargletter\fR<\|>\fIoptarg\fR
+.sp
+where <\|> is optional white space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInoargletter\fR\fR
+.ad
+.RS 15n
+.rt
+A single letter representing an option without an argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIargletter\fR\fR
+.ad
+.RS 15n
+.rt
+A single letter representing an option requiring an argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIoptarg\fR\fR
+.ad
+.RS 15n
+.rt
+Argument (character string) satisfying preceding \fIargletter\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcmdarg\fR\fR
+.ad
+.RS 15n
+.rt
+Pathname (or other command argument) \fInot\fR beginning with \fB\(mi\fR or,
+\fB\(mi\fR by itself indicating the standard input.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for a discussion of the attributes listed in this
+section.
+.SH ACKNOWLEDGMENTS
+.sp
+.LP
+Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to
+reproduce portions of its copyrighted documentation. Original documentation
+from The Open Group can be obtained online at
+http://www.opengroup.org/bookstore/\&.
+.sp
+.LP
+The Institute of Electrical and Electronics Engineers and The Open Group, have
+given us permission to reprint portions of their documentation.
+.sp
+.LP
+In the following statement, the phrase ``this text'' refers to portions of the
+system documentation.
+.sp
+.LP
+Portions of this text are reprinted and reproduced in electronic form in the
+SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for
+Information Technology -- Portable Operating System Interface (POSIX), The Open
+Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the event of
+any discrepancy between these versions and the original IEEE and The Open Group
+Standard, the original IEEE and The Open Group Standard is the referee
+document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html\&.
+.sp
+.LP
+This notice shall appear on any product containing this material.
+.SH SEE ALSO
+.sp
+.LP
+\fBgetopt\fR(1), \fBgetopt\fR(3C), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+Upon termination, each command returns 0 for normal termination and non-zero to
+indicate troubles such as erroneous parameters, bad or inaccessible data, or
+other inability to cope with the task at hand. It is called variously ``exit
+code,'' ``exit status,'' or ``return code,'' and is described only where
+special conventions are involved.
+.SH NOTES
+.sp
+.LP
+Unfortunately, not all commands adhere to the standard syntax.
diff --git a/usr/src/man/man1m/Makefile b/usr/src/man/man1m/Makefile
new file mode 100644
index 0000000000..9080c85755
--- /dev/null
+++ b/usr/src/man/man1m/Makefile
@@ -0,0 +1,815 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet
+# at http://www.illumos.org/license/CDDL.
+#
+
+# Copyright 2011, Richard Lowe
+
+include ../../Makefile.master
+
+MANSECT = 1m
+
+COMMON_MANFILES = 6to4relay.1m \
+ Intro.1m \
+ Uutry.1m \
+ accept.1m \
+ acct.1m \
+ acctadm.1m \
+ acctcms.1m \
+ acctcon.1m \
+ acctmerg.1m \
+ acctprc.1m \
+ acctsh.1m \
+ adbgen.1m \
+ add_allocatable.1m \
+ add_drv.1m \
+ addbadsec.1m \
+ arp.1m \
+ atohexlabel.1m \
+ audit.1m \
+ audit_warn.1m \
+ auditconfig.1m \
+ auditd.1m \
+ auditrecord.1m \
+ auditreduce.1m \
+ auditstat.1m \
+ automount.1m \
+ automountd.1m \
+ autopush.1m \
+ bart.1m \
+ beadm.1m \
+ boot.1m \
+ bootadm.1m \
+ bootconfchk.1m \
+ busstat.1m \
+ cachefsd.1m \
+ cachefslog.1m \
+ cachefspack.1m \
+ cachefsstat.1m \
+ cachefswssize.1m \
+ captoinfo.1m \
+ catman.1m \
+ cfgadm.1m \
+ cfgadm_ac.1m \
+ cfgadm_cardbus.1m \
+ cfgadm_fp.1m \
+ cfgadm_ib.1m \
+ cfgadm_pci.1m \
+ cfgadm_sata.1m \
+ cfgadm_sbd.1m \
+ cfgadm_scsi.1m \
+ cfgadm_sdcard.1m \
+ cfgadm_sysctrl.1m \
+ cfgadm_usb.1m \
+ cfsadmin.1m \
+ chat.1m \
+ check-hostname.1m \
+ check-permissions.1m \
+ chroot.1m \
+ clear_locks.1m \
+ clinfo.1m \
+ clri.1m \
+ consadm.1m \
+ conv_lp.1m \
+ conv_lpd.1m \
+ coreadm.1m \
+ cpustat.1m \
+ cron.1m \
+ cryptoadm.1m \
+ datadm.1m \
+ dd.1m \
+ devattr.1m \
+ devfree.1m \
+ devfsadm.1m \
+ device_remap.1m \
+ devinfo.1m \
+ devlinks.1m \
+ devnm.1m \
+ devprop.1m \
+ devreserv.1m \
+ df.1m \
+ df_ufs.1m \
+ dfmounts.1m \
+ dfmounts_nfs.1m \
+ dfshares.1m \
+ dfshares_nfs.1m \
+ dhcpagent.1m \
+ dhcpconfig.1m \
+ dhcpmgr.1m \
+ dhtadm.1m \
+ disks.1m \
+ diskscan.1m \
+ dispadmin.1m \
+ dladm.1m \
+ dlmgmtd.1m \
+ dmesg.1m \
+ dminfo.1m \
+ dns-sd.1m \
+ domainname.1m \
+ drvconfig.1m \
+ dsbitmap.1m \
+ dscfg.1m \
+ dscfgadm.1m \
+ dscfglockd.1m \
+ dsstat.1m \
+ dsvclockd.1m \
+ dtrace.1m \
+ dumpadm.1m \
+ editmap.1m \
+ edquota.1m \
+ eeprom.1m \
+ embedded_su.1m \
+ etrn.1m \
+ fcinfo.1m \
+ fdetach.1m \
+ fdisk.1m \
+ ff.1m \
+ ff_ufs.1m \
+ fiocompress.1m \
+ flowadm.1m \
+ fmadm.1m \
+ fmd.1m \
+ fmdump.1m \
+ fmstat.1m \
+ fmthard.1m \
+ format.1m \
+ fruadm.1m \
+ fsck.1m \
+ fsck_cachefs.1m \
+ fsck_pcfs.1m \
+ fsck_udfs.1m \
+ fsck_ufs.1m \
+ fsdb.1m \
+ fsdb_udfs.1m \
+ fsdb_ufs.1m \
+ fsirand.1m \
+ fssnap.1m \
+ fssnap_ufs.1m \
+ fsstat.1m \
+ fstyp.1m \
+ ftpaddhost.1m \
+ ftpconfig.1m \
+ ftprestart.1m \
+ ftpshut.1m \
+ fuser.1m \
+ fwflash.1m \
+ fwtmp.1m \
+ getdev.1m \
+ getdevpolicy.1m \
+ getdgrp.1m \
+ getent.1m \
+ gettable.1m \
+ getty.1m \
+ getvol.1m \
+ groupadd.1m \
+ groupdel.1m \
+ groupmod.1m \
+ growfs.1m \
+ gsscred.1m \
+ gssd.1m \
+ hal-device.1m \
+ hal-fdi-validate.1m \
+ hal-find.1m \
+ hal-get-property.1m \
+ hald.1m \
+ halt.1m \
+ hextoalabel.1m \
+ hostconfig.1m \
+ htable.1m \
+ ickey.1m \
+ id.1m \
+ idmap.1m \
+ idmapd.1m \
+ idsconfig.1m \
+ if_mpadm.1m \
+ ifconfig.1m \
+ ifparse.1m \
+ iiadm.1m \
+ iicpbmp.1m \
+ iicpshd.1m \
+ ikeadm.1m \
+ ikecert.1m \
+ in.chargend.1m \
+ in.comsat.1m \
+ in.daytimed.1m \
+ in.dhcpd.1m \
+ in.discardd.1m \
+ in.echod.1m \
+ in.fingerd.1m \
+ in.ftpd.1m \
+ in.iked.1m \
+ in.lpd.1m \
+ in.mpathd.1m \
+ in.ndpd.1m \
+ in.rarpd.1m \
+ in.rdisc.1m \
+ in.rexecd.1m \
+ in.ripngd.1m \
+ in.rlogind.1m \
+ in.routed.1m \
+ in.rshd.1m \
+ in.rwhod.1m \
+ in.talkd.1m \
+ in.telnetd.1m \
+ in.tftpd.1m \
+ in.timed.1m \
+ in.uucpd.1m \
+ inetadm.1m \
+ inetconv.1m \
+ inetd.1m \
+ infocmp.1m \
+ init.1m \
+ inityp2l.1m \
+ install.1m \
+ installf.1m \
+ installgrub.1m \
+ intrd.1m \
+ intrstat.1m \
+ iostat.1m \
+ ipaddrsel.1m \
+ ipf.1m \
+ ipfs.1m \
+ ipfstat.1m \
+ ipmon.1m \
+ ipmpstat.1m \
+ ipnat.1m \
+ ippool.1m \
+ ipqosconf.1m \
+ ipsecalgs.1m \
+ ipsecconf.1m \
+ ipseckey.1m \
+ iscsiadm.1m \
+ isns.1m \
+ isnsadm.1m \
+ itadm.1m \
+ itu.1m \
+ k5srvutil.1m \
+ kadb.1m \
+ kadmin.1m \
+ kadmind.1m \
+ kclient.1m \
+ kdb5_ldap_util.1m \
+ kdb5_util.1m \
+ kdcmgr.1m \
+ kernel.1m \
+ keyserv.1m \
+ killall.1m \
+ kprop.1m \
+ kpropd.1m \
+ kproplog.1m \
+ krb5kdc.1m \
+ ksslcfg.1m \
+ kstat.1m \
+ ktkt_warnd.1m \
+ labelit.1m \
+ labelit_hsfs.1m \
+ labelit_udfs.1m \
+ labelit_ufs.1m \
+ latencytop.1m \
+ ldap_cachemgr.1m \
+ ldapaddent.1m \
+ ldapclient.1m \
+ link.1m \
+ listdgrp.1m \
+ listen.1m \
+ locator.1m \
+ lockfs.1m \
+ lockstat.1m \
+ lofiadm.1m \
+ logadm.1m \
+ logins.1m \
+ lpadmin.1m \
+ lpfilter.1m \
+ lpforms.1m \
+ lpget.1m \
+ lpmove.1m \
+ lpsched.1m \
+ lpset.1m \
+ lpshut.1m \
+ lpsystem.1m \
+ lpusers.1m \
+ luxadm.1m \
+ mail.local.1m \
+ makedbm.1m \
+ makemap.1m \
+ mdmonitord.1m \
+ medstat.1m \
+ metaclear.1m \
+ metadb.1m \
+ metadevadm.1m \
+ metahs.1m \
+ metaimport.1m \
+ metainit.1m \
+ metaoffline.1m \
+ metaparam.1m \
+ metarecover.1m \
+ metarename.1m \
+ metareplace.1m \
+ metaroot.1m \
+ metaset.1m \
+ metassist.1m \
+ metastat.1m \
+ metasync.1m \
+ metattach.1m \
+ mkbootmedia.1m \
+ mkdevalloc.1m \
+ mkdevmaps.1m \
+ mkfifo.1m \
+ mkfile.1m \
+ mkfs.1m \
+ mkfs_pcfs.1m \
+ mkfs_udfs.1m \
+ mkfs_ufs.1m \
+ mknod.1m \
+ mkpwdict.1m \
+ modinfo.1m \
+ modload.1m \
+ modunload.1m \
+ mount.1m \
+ mount_cachefs.1m \
+ mount_hsfs.1m \
+ mount_nfs.1m \
+ mount_pcfs.1m \
+ mount_smbfs.1m \
+ mount_tmpfs.1m \
+ mount_udfs.1m \
+ mount_ufs.1m \
+ mountall.1m \
+ mountd.1m \
+ mpathadm.1m \
+ mpstat.1m \
+ msgid.1m \
+ mvdir.1m \
+ ncaconfd.1m \
+ ncheck.1m \
+ ncheck_ufs.1m \
+ ndd.1m \
+ ndmpadm.1m \
+ ndmpd.1m \
+ ndmpstat.1m \
+ netstat.1m \
+ netstrategy.1m \
+ newaliases.1m \
+ newfs.1m \
+ newkey.1m \
+ nfs4cbd.1m \
+ nfsd.1m \
+ nfslogd.1m \
+ nfsmapid.1m \
+ nfsstat.1m \
+ nlsadmin.1m \
+ nscadm.1m \
+ nscd.1m \
+ nwamd.1m \
+ passmgmt.1m \
+ pbind.1m \
+ picld.1m \
+ ping.1m \
+ pkg2du.1m \
+ pkgadd.1m \
+ pkgadm.1m \
+ pkgask.1m \
+ pkgchk.1m \
+ pkgrm.1m \
+ plockstat.1m \
+ pmadm.1m \
+ pmconfig.1m \
+ pntadm.1m \
+ polkit-is-privileged.1m \
+ pooladm.1m \
+ poolbind.1m \
+ poolcfg.1m \
+ poold.1m \
+ poolstat.1m \
+ ports.1m \
+ powerd.1m \
+ powertop.1m \
+ ppdmgr.1m \
+ pppd.1m \
+ pppoec.1m \
+ pppoed.1m \
+ pppstats.1m \
+ praudit.1m \
+ print-service.1m \
+ printmgr.1m \
+ projadd.1m \
+ projdel.1m \
+ projmod.1m \
+ prstat.1m \
+ prtconf.1m \
+ prtdiag.1m \
+ prtfru.1m \
+ prtpicl.1m \
+ prtvtoc.1m \
+ psradm.1m \
+ psrinfo.1m \
+ psrset.1m \
+ putdev.1m \
+ putdgrp.1m \
+ pwck.1m \
+ pwconv.1m \
+ quot.1m \
+ quota.1m \
+ quotacheck.1m \
+ quotaon.1m \
+ raidctl.1m \
+ ramdiskadm.1m \
+ rcapadm.1m \
+ rcapd.1m \
+ rctladm.1m \
+ rdate.1m \
+ reboot.1m \
+ rem_drv.1m \
+ remove_allocatable.1m \
+ removef.1m \
+ repquota.1m \
+ rmmount.1m \
+ rmt.1m \
+ rmvolmgr.1m \
+ roleadd.1m \
+ roledel.1m \
+ rolemod.1m \
+ root_archive.1m \
+ route.1m \
+ routeadm.1m \
+ rpc.bootparamd.1m \
+ rpc.mdcommd.1m \
+ rpc.metad.1m \
+ rpc.metamedd.1m \
+ rpc.metamhd.1m \
+ rpc.rexd.1m \
+ rpc.rstatd.1m \
+ rpc.rusersd.1m \
+ rpc.rwalld.1m \
+ rpc.smserverd.1m \
+ rpc.sprayd.1m \
+ rpc.yppasswdd.1m \
+ rpc.ypupdated.1m \
+ rpcbind.1m \
+ rpcinfo.1m \
+ rquotad.1m \
+ rsh.1m \
+ rtc.1m \
+ rtquery.1m \
+ runacct.1m \
+ rwall.1m \
+ sac.1m \
+ sacadm.1m \
+ saf.1m \
+ sar.1m \
+ sasinfo.1m \
+ savecore.1m \
+ sbdadm.1m \
+ scadm.1m \
+ scmadm.1m \
+ sdpadm.1m \
+ sendmail.1m \
+ setuname.1m \
+ sftp-server.1m \
+ share.1m \
+ share_nfs.1m \
+ shareall.1m \
+ sharectl.1m \
+ sharemgr.1m \
+ showmount.1m \
+ shutdown.1m \
+ slpd.1m \
+ smbadm.1m \
+ smbd.1m \
+ smbiod.1m \
+ smbios.1m \
+ smbstat.1m \
+ smrsh.1m \
+ smtnrhdb.1m \
+ smtnrhtp.1m \
+ smtnzonecfg.1m \
+ sndradm.1m \
+ sndrd.1m \
+ sndrsyncd.1m \
+ snoop.1m \
+ soconfig.1m \
+ sppptun.1m \
+ spray.1m \
+ ssh-keysign.1m \
+ sshd.1m \
+ statd.1m \
+ stmfadm.1m \
+ stmsboot.1m \
+ strace.1m \
+ strclean.1m \
+ strerr.1m \
+ sttydefs.1m \
+ su.1m \
+ sulogin.1m \
+ svadm.1m \
+ svc.configd.1m \
+ svc.ipfd.1m \
+ svc.startd.1m \
+ svcadm.1m \
+ svccfg.1m \
+ swap.1m \
+ sync.1m \
+ syncinit.1m \
+ syncloop.1m \
+ syncstat.1m \
+ sysdef.1m \
+ syseventadm.1m \
+ syseventconfd.1m \
+ syseventd.1m \
+ syslogd.1m \
+ tapes.1m \
+ th_define.1m \
+ th_manage.1m \
+ tic.1m \
+ tnchkdb.1m \
+ tnctl.1m \
+ tnd.1m \
+ tninfo.1m \
+ tpmadm.1m \
+ traceroute.1m \
+ trapstat.1m \
+ ttyadm.1m \
+ ttymon.1m \
+ tunefs.1m \
+ txzonemgr.1m \
+ tzselect.1m \
+ uadmin.1m \
+ ucodeadm.1m \
+ ufsdump.1m \
+ ufsrestore.1m \
+ unshare.1m \
+ unshare_nfs.1m \
+ update_drv.1m \
+ updatehome.1m \
+ updatemedia.1m \
+ useradd.1m \
+ userdel.1m \
+ usermod.1m \
+ utmpd.1m \
+ uucheck.1m \
+ uucico.1m \
+ uucleanup.1m \
+ uusched.1m \
+ uuxqt.1m \
+ vmstat.1m \
+ volcopy.1m \
+ volcopy_ufs.1m \
+ vscanadm.1m \
+ vscand.1m \
+ wall.1m \
+ wanboot_keygen.1m \
+ wanboot_keymgmt.1m \
+ wanboot_p12split.1m \
+ wanbootutil.1m \
+ whodo.1m \
+ wificonfig.1m \
+ wpad.1m \
+ wracct.1m \
+ wusbadm.1m \
+ ypbind.1m \
+ ypinit.1m \
+ ypmake.1m \
+ ypmap2src.1m \
+ yppoll.1m \
+ yppush.1m \
+ ypserv.1m \
+ ypset.1m \
+ ypstart.1m \
+ ypxfr.1m \
+ zdb.1m \
+ zdump.1m \
+ zfs.1m \
+ zic.1m \
+ zoneadm.1m \
+ zoneadmd.1m \
+ zonecfg.1m \
+ zpool.1m \
+ zstreamdump.1m \
+
+i386_MANFILES = lms.1m \
+ parted.1m \
+ mkntfs.1m \
+ ntfscat.1m \
+ ntfsclone.1m \
+ ntfscluster.1m \
+ ntfscmp.1m \
+ ntfscp.1m \
+ ntfsfix.1m \
+ ntfsinfo.1m \
+ ntfslabel.1m \
+ ntfsls.1m \
+ ntfsprogs.1m \
+ ntfsresize.1m \
+ ntfsundelete.1m
+
+sparc_MANFILES = cvcd.1m \
+ dcs.1m \
+ drd.1m \
+ efdaemon.1m \
+ fpsd.1m \
+ ldmad.1m \
+ monitor.1m \
+ obpsym.1m \
+ oplhpd.1m \
+ prtdscp.1m \
+ sckmd.1m \
+ sf880drd.1m \
+ vntsd.1m
+
+MANSOFILES = acctcon1.1m \
+ acctcon2.1m \
+ acctdisk.1m \
+ acctdusg.1m \
+ accton.1m \
+ acctprc1.1m \
+ acctprc2.1m \
+ acctwtmp.1m \
+ bootparamd.1m \
+ chargefee.1m \
+ ckpacct.1m \
+ closewtmp.1m \
+ comsat.1m \
+ dcopy.1m \
+ devfsadmd.1m \
+ dodisk.1m \
+ fcadm.1m \
+ fingerd.1m \
+ ftpd.1m \
+ grpck.1m \
+ hal-find-by-capability.1m \
+ hal-find-by-property.1m \
+ hal-set-property.1m \
+ intro.1m \
+ kadmin.local.1m \
+ lastlogin.1m \
+ metadetach.1m \
+ metaonline.1m \
+ monacct.1m \
+ nulladm.1m \
+ poweroff.1m \
+ prctmp.1m \
+ prdaily.1m \
+ prtacct.1m \
+ quotaoff.1m \
+ rarpd.1m \
+ rdisc.1m \
+ reject.1m \
+ restricted_shell.1m \
+ rexd.1m \
+ rexecd.1m \
+ rlogind.1m \
+ routed.1m \
+ rshd.1m \
+ rstatd.1m \
+ rusersd.1m \
+ rwalld.1m \
+ rwhod.1m \
+ sa1.1m \
+ sa2.1m \
+ sadc.1m \
+ shutacct.1m \
+ sprayd.1m \
+ startup.1m \
+ talkd.1m \
+ telinit.1m \
+ telnetd.1m \
+ tftpd.1m \
+ turnacct.1m \
+ umount.1m \
+ umount_smbfs.1m \
+ umountall.1m \
+ unlink.1m \
+ unshareall.1m \
+ utmp2wtmp.1m \
+ uucpd.1m \
+ uutry.1m \
+ wtmpfix.1m \
+ yppasswdd.1m \
+ ypstop.1m \
+ ypupdated.1m \
+ ypxfr_1perday.1m \
+ ypxfr_1perhour.1m \
+ ypxfr_2perday.1m \
+ ypxfrd.1m
+
+MANFILES = $(COMMON_MANFILES) $($(MACH)_MANFILES) $(MANSOFILES)
+
+intro.1m := SOSRC = man1m/Intro.1m
+
+uutry.1m := SOSRC = man1m/Uutry.1m
+
+reject.1m := SOSRC = man1m/accept.1m
+
+acctdisk.1m := SOSRC = man1m/acct.1m
+acctdusg.1m := SOSRC = man1m/acct.1m
+accton.1m := SOSRC = man1m/acct.1m
+acctwtmp.1m := SOSRC = man1m/acct.1m
+closewtmp.1m := SOSRC = man1m/acct.1m
+utmp2wtmp.1m := SOSRC = man1m/acct.1m
+
+acctcon1.1m := SOSRC = man1m/acctcon.1m
+acctcon2.1m := SOSRC = man1m/acctcon.1m
+
+acctprc1.1m := SOSRC = man1m/acctprc.1m
+acctprc2.1m := SOSRC = man1m/acctprc.1m
+
+chargefee.1m := SOSRC = man1m/acctsh.1m
+ckpacct.1m := SOSRC = man1m/acctsh.1m
+dodisk.1m := SOSRC = man1m/acctsh.1m
+lastlogin.1m := SOSRC = man1m/acctsh.1m
+monacct.1m := SOSRC = man1m/acctsh.1m
+nulladm.1m := SOSRC = man1m/acctsh.1m
+prctmp.1m := SOSRC = man1m/acctsh.1m
+prdaily.1m := SOSRC = man1m/acctsh.1m
+prtacct.1m := SOSRC = man1m/acctsh.1m
+shutacct.1m := SOSRC = man1m/acctsh.1m
+startup.1m := SOSRC = man1m/acctsh.1m
+turnacct.1m := SOSRC = man1m/acctsh.1m
+
+dcopy.1m := SOSRC = man1m/clri.1m
+
+devfsadmd.1m := SOSRC = man1m/devfsadm.1m
+
+fcadm.1m := SOSRC = man1m/fcinfo.1m
+
+wtmpfix.1m := SOSRC = man1m/fwtmp.1m
+
+hal-find-by-capability.1m := SOSRC = man1m/hal-find.1m
+hal-find-by-property.1m := SOSRC = man1m/hal-find.1m
+
+hal-set-property.1m := SOSRC = man1m/hal-get-property.1m
+
+poweroff.1m := SOSRC = man1m/halt.1m
+
+comsat.1m := SOSRC = man1m/in.comsat.1m
+fingerd.1m := SOSRC = man1m/in.fingerd.1m
+ftpd.1m := SOSRC = man1m/in.ftpd.1m
+rarpd.1m := SOSRC = man1m/in.rarpd.1m
+rdisc.1m := SOSRC = man1m/in.rdisc.1m
+rexecd.1m := SOSRC = man1m/in.rexecd.1m
+rlogind.1m := SOSRC = man1m/in.rlogind.1m
+routed.1m := SOSRC = man1m/in.routed.1m
+rshd.1m := SOSRC = man1m/in.rshd.1m
+rwhod.1m := SOSRC = man1m/in.rwhod.1m
+talkd.1m := SOSRC = man1m/in.talkd.1m
+telnetd.1m := SOSRC = man1m/in.telnetd.1m
+tftpd.1m := SOSRC = man1m/in.tftpd.1m
+uucpd.1m := SOSRC = man1m/in.uucpd.1m
+
+telinit.1m := SOSRC = man1m/init.1m
+
+kadmin.local.1m := SOSRC = man1m/kadmin.1m
+
+unlink.1m := SOSRC = man1m/link.1m
+
+metaonline.1m := SOSRC = man1m/metaoffline.1m
+
+metadetach.1m := SOSRC = man1m/metattach.1m
+
+umount.1m := SOSRC = man1m/mount.1m
+
+umount_smbfs.1m := SOSRC = man1m/mount_smbfs.1m
+
+umountall.1m := SOSRC = man1m/mountall.1m
+
+grpck.1m := SOSRC = man1m/pwck.1m
+
+quotaoff.1m := SOSRC = man1m/quotaon.1m
+
+bootparamd.1m := SOSRC = man1m/rpc.bootparamd.1m
+rexd.1m := SOSRC = man1m/rpc.rexd.1m
+rstatd.1m := SOSRC = man1m/rpc.rstatd.1m
+rusersd.1m := SOSRC = man1m/rpc.rusersd.1m
+rwalld.1m := SOSRC = man1m/rpc.rwalld.1m
+sprayd.1m := SOSRC = man1m/rpc.sprayd.1m
+yppasswdd.1m := SOSRC = man1m/rpc.yppasswdd.1m
+ypupdated.1m := SOSRC = man1m/rpc.ypupdated.1m
+
+restricted_shell.1m := SOSRC = man1m/rsh.1m
+
+sa1.1m := SOSRC = man1m/sar.1m
+sa2.1m := SOSRC = man1m/sar.1m
+sadc.1m := SOSRC = man1m/sar.1m
+
+unshareall.1m := SOSRC = man1m/shareall.1m
+
+ypxfrd.1m := SOSRC = man1m/ypserv.1m
+
+ypstop.1m := SOSRC = man1m/ypstart.1m
+
+ypxfr_1perday.1m := SOSRC = man1m/ypxfr.1m
+ypxfr_1perhour.1m := SOSRC = man1m/ypxfr.1m
+ypxfr_2perday.1m := SOSRC = man1m/ypxfr.1m
+
+
+.KEEP_STATE:
+
+include ../Makefile.man
+
+install: $(ROOTMANFILES)
diff --git a/usr/src/man/man1m/Uutry.1m b/usr/src/man/man1m/Uutry.1m
new file mode 100644
index 0000000000..418ff30e22
--- /dev/null
+++ b/usr/src/man/man1m/Uutry.1m
@@ -0,0 +1,155 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH Uutry 1M "18 May 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+Uutry, uutry \- attempt to contact remote system with debugging on
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/uucp/Uutry\fR [\fB-r\fR] [\fB-c\fR \fItype\fR] [\fB-x\fR \fIdebug-level\fR] \fIsystem-name\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBUutry\fR is a shell script that is used to invoke \fBuucico\fR(1M) to call a
+remote site. Debugging is initially turned on and is set to the default value
+of \fB5\fR. The debugging output is put in file \fB/tmp/\fR\fIsystem-name.\fR
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fR
+.ad
+.RS 19n
+.rt
+This option overrides the retry time that is set in file
+\fB/var/uucp/.Status/\fR\fIsystem-name.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fI type\fR \fR
+.ad
+.RS 19n
+.rt
+The first field in the \fBDevices\fR file is the "Type" field. The \fB-c\fR
+option forces \fBuucico\fR to use only entries in the "Type" field that match
+the user-specified \fBtype\fR. The specified \fBtype\fR is usually the name of
+a local area network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fI debug-level\fR \fR
+.ad
+.RS 19n
+.rt
+\fIdebug-level\fR is a number from \fB0\fR to \fB9\fR. Higher numbers give
+more detailed debugging information.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Devices\fR \fR
+.ad
+.RS 28n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Limits\fR \fR
+.ad
+.RS 28n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Permissions\fR \fR
+.ad
+.RS 28n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Systems\fR \fR
+.ad
+.RS 28n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/tmp/\fR\fIsystem-name\fR \fR
+.ad
+.RS 28n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/locks/*\fR \fR
+.ad
+.RS 28n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucp/*\fR \fR
+.ad
+.RS 28n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucppublic/*\fR \fR
+.ad
+.RS 28n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuucp\fR(1C), \fBuux\fR(1C), \fBuucico\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/accept.1m b/usr/src/man/man1m/accept.1m
new file mode 100644
index 0000000000..950a80e730
--- /dev/null
+++ b/usr/src/man/man1m/accept.1m
@@ -0,0 +1,196 @@
+'\" te
+.\" Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH accept 1M "5 Jun 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+accept, reject \- accept or reject print requests
+.SH SYNOPSIS
+.LP
+.nf
+\fBaccept\fR \fIdestination\fR...
+.fi
+
+.LP
+.nf
+\fBreject\fR [\fB-r\fR \fIreason\fR] \fIdestination\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBaccept\fR allows the queueing of print requests for the named destinations.
+.sp
+.LP
+\fBreject\fR prevents queueing of print requests for the named destinations.
+.sp
+.LP
+Use \fBlpstat\fR \fB-a\fR to check if destinations are accepting or rejecting
+print requests.
+.sp
+.LP
+Generally, \fBaccept\fR and \fBreject\fR are run on the print server to control
+local print queues. Under some configurations, \fBaccept\fR and \fBreject\fR
+are run on client systems when IPP is being used to communicate between client
+and server.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported for \fBreject\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIreason\fR\fR
+.ad
+.RS 13n
+.rt
+Assigns a reason for rejection of print requests for \fIdestination.\fR
+.sp
+\fIreason\fR is reported by \fBlpstat\fR \fB-a\fR. By default, \fIreason\fR is
+\fBunknown reason\fR for existing destinations, and \fBnew\fR \fBprinter\fR for
+destinations added to the system but not yet accepting requests. Enclose
+\fIreason\fR in quotes if it contains blanks.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdestination\fR\fR
+.ad
+.RS 15n
+.rt
+The name of the destination accepting or rejecting print requests. Destination
+specifies the name of a printer or class of printers (see \fBlpadmin\fR(1M)).
+Specify \fIdestination\fR using atomic name or URI-style (scheme://endpoint)
+names. See \fBprinters.conf\fR(4) for information regarding the naming
+conventions for destinations.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printers.conf\fR\fR
+.ad
+.RS 24n
+.rt
+System printer configuration database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.printers\fR\fR
+.ad
+.RS 24n
+.rt
+User-configurable printer database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBou=printers\fR\fR
+.ad
+.RS 24n
+.rt
+LDAP version of \fB/etc/printers.conf\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinters.conf.byname\fR\fR
+.ad
+.RS 24n
+.rt
+\fBNIS\fR version of \fB/etc/printers.conf\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinters.org_dir\fR\fR
+.ad
+.RS 24n
+.rt
+\fBNIS+\fR version of \fB/etc/printers.conf\fR
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+CSIEnabled. See \fBNOTES\fR.
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBenable\fR(1), \fBlp\fR(1), \fBlpstat\fR(1), \fBlpadmin\fR(1M),
+\fBlpsched\fR(1M), \fBprinters.conf\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBaccept\fR and \fBreject\fR affect only queueing on the print server's
+spooling system. Requests made from a client system remain queued in the client
+system's queueing mechanism until they are cancelled or accepted by the print
+server's spooling system.
+.sp
+.LP
+\fBaccept\fR is CSI-enabled except for the \fIdestination\fR name.
+.sp
+.LP
+When IPP is in use, the user is prompted for a passphrase if the remote print
+service is configured to require authentication.
diff --git a/usr/src/man/man1m/acct.1m b/usr/src/man/man1m/acct.1m
new file mode 100644
index 0000000000..e38ebc6137
--- /dev/null
+++ b/usr/src/man/man1m/acct.1m
@@ -0,0 +1,235 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH acct 1M "22 Feb 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+acct, acctdisk, acctdusg, accton, acctwtmp, closewtmp, utmp2wtmp \- overview of
+accounting and miscellaneous accounting commands
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/acct/acctdisk\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/acctdusg\fR [\fB-u\fR \fIfilename\fR] [\fB-p\fR \fIfilename\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/accton\fR [\fIfilename\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/acctwtmp\fR \fIreason\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/closewtmp\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/utmp2wtmp\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Accounting software is structured as a set of tools (consisting of both C
+programs and shell procedures) that can be used to build accounting systems.
+\fBacctsh\fR(1M) describes the set of shell procedures built on top of the C
+programs.
+.sp
+.LP
+Connect time accounting is handled by various programs that write records into
+\fB/var/adm/wtmpx\fR, as described in \fButmpx\fR(4). The programs described in
+\fBacctcon\fR(1M) convert this file into session and charging records, which
+are then summarized by \fBacctmerg\fR(1M).
+.sp
+.LP
+Process accounting is performed by the system kernel. Upon termination of a
+process, one record per process is written to a file (normally
+\fB/var/adm/pacct\fR). The programs in \fBacctprc\fR(1M) summarize this data
+for charging purposes; \fBacctcms\fR(1M) is used to summarize command usage.
+Current process data may be examined using \fBacctcom\fR(1).
+.sp
+.LP
+Process accounting records and connect time accounting records (or any
+accounting records in the \fBtacct\fR format described in \fBacct.h\fR(3HEAD))
+can be merged and summarized into total accounting records by \fBacctmerg\fR
+(see \fBtacct\fR format in \fBacct.h\fR(3HEAD)). \fBprtacct\fR (see
+\fBacctsh\fR(1M)) is used to format any or all accounting records.
+.sp
+.LP
+\fBacctdisk\fR reads lines that contain user \fBID\fR, login name, and number
+of disk blocks and converts them to total accounting records that can be merged
+with other accounting records. \fBacctdisk\fR returns an error if the input
+file is corrupt or improperly formatted.
+.sp
+.LP
+\fBacctdusg\fR reads its standard input (usually from \fBfind\fR \fB/\fR
+\fB-\fR\fBprint\fR) and computes disk resource consumption (including indirect
+blocks) by login.
+.sp
+.LP
+\fBaccton\fR without arguments turns process accounting off. If \fIfilename\fR
+is given, it must be the name of an existing file, to which the kernel appends
+process accounting records (see \fBacct\fR(2) and \fBacct.h\fR(3HEAD)).
+.sp
+.LP
+\fBacctwtmp\fR writes a \fButmpx\fR(4) record to \fIfilename\fR. The record
+contains the current time and a string of characters that describe the
+\fIreason\fR. A record type of \fBACCOUNTING\fR is assigned (see
+\fButmpx\fR(4)) \fIreason\fR must be a string of 11 or fewer characters,
+numbers, \fB$\fR, or spaces. For example, the following are suggestions for use
+in reboot and shutdown procedures, respectively:
+.sp
+.in +2
+.nf
+acctwtmp "acctg on" /var/adm/wtmpx
+acctwtmp "acctg off" /var/adm/wtmpx
+.fi
+.in -2
+
+.sp
+.LP
+For each user currently logged on, \fBclosewtmp\fR puts a false
+\fBDEAD_PROCESS\fR record in the \fB/var/adm/wtmpx\fR file. \fBrunacct\fR (see
+\fBrunacct\fR(1M)) uses this false \fBDEAD_PROCESS\fR record so that the
+connect accounting procedures can track the time used by users logged on before
+\fBrunacct\fR was invoked.
+.sp
+.LP
+For each user currently logged on, \fBrunacct\fR uses \fButmp2wtmp\fR to create
+an entry in the file \fB/var/adm/wtmpx\fR, created by \fBrunacct\fR. Entries in
+\fB/var/adm/wtmpx\fR enable subsequent invocations of \fBrunacct\fR to account
+for connect times of users currently logged in.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIfilename\fR\fR
+.ad
+.RS 15n
+.rt
+Places in \fIfilename\fR records consisting of those filenames for which
+\fBacctdusg\fR charges no one (a potential source for finding users trying to
+avoid disk charges).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIfilename\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies a password file, \fIfilename\fR. This option is not needed if the
+password file is \fB/etc/passwd\fR.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+If any of the \fBLC_*\fR variables (\fBLC_TYPE\fR, \fBLC_MESSAGES\fR,
+\fBLC_TIME\fR, \fBLC_COLLATE\fR, \fBLC_NUMERIC\fR, and \fBLC_MONETARY\fR) (see
+\fBenviron\fR(5)) are not set in the environment, the operational behavior of
+\fBacct\fR for each corresponding locale category is determined by the value of
+the \fBLANG\fR environment variable. If \fBLC_ALL\fR is set, its contents are
+used to override both the \fBLANG\fR and the other \fBLC_*\fR variables. If
+none of the above variables are set in the environment, the "C" (U.S. style)
+locale determines how \fBacct\fR behaves.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_CTYPE\fR\fR
+.ad
+.RS 12n
+.rt
+Determines how \fBacct\fR handles characters. When \fBLC_CTYPE\fR is set to a
+valid value, \fBacct\fR can display and handle text and filenames containing
+valid characters for that locale. \fBacct\fR can display and handle Extended
+Unix Code (EUC) characters where any character can be 1, 2, or 3 bytes wide.
+\fBacct\fR can also handle EUC characters of 1, 2, or more column widths. In
+the "C" locale, only characters from ISO 8859-1 are valid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_TIME\fR\fR
+.ad
+.RS 12n
+.rt
+Determines how \fBacct\fR handles date and time formats. In the "C" locale,
+date and time handling follows the U.S. rules.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 18n
+.rt
+Used for login name to user \fBID\fR conversions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/acct\fR\fR
+.ad
+.RS 18n
+.rt
+Holds all accounting commands listed in sub-class 1M of this manual.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/pacct\fR\fR
+.ad
+.RS 18n
+.rt
+Current process accounting file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.RS 18n
+.rt
+History of user access and administration information..
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctcom\fR(1), \fBacctcms\fR(1M), \fBacctcon\fR(1M), \fBacctmerg\fR(1M),
+\fBacctprc\fR(1M), \fBacctsh\fR(1M), \fBfwtmp\fR(1M), \fBrunacct\fR(1M),
+\fBacct\fR(2), \fBacct.h\fR(3HEAD), \fBpasswd\fR(4), \fButmpx\fR(4),
+\fBattributes\fR(5), \fBenviron\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/acctadm.1m b/usr/src/man/man1m/acctadm.1m
new file mode 100644
index 0000000000..1351f9a15a
--- /dev/null
+++ b/usr/src/man/man1m/acctadm.1m
@@ -0,0 +1,450 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH acctadm 1M "17 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+acctadm \- configure extended accounting facility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/acctadm\fR [\fB-DEsrux\fR] [\fB-d\fR \fIresource_list\fR]
+ [\fB-e\fR \fIresource_list\fR] [\fB-f\fR \fIfilename\fR]
+ [task | process | flow | net]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBacctadm\fR configures various attributes of the extended accounting
+facility. Without arguments, \fBacctadm\fR displays the current status of the
+extended accounting facility.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIresource_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable reporting of resource usage for resource. Specify \fIresource_list\fR
+as a comma-separated list of resources or resource groups.
+.sp
+This option requires an operand. See \fBOPERANDS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable accounting of the given operand type without closing the accounting
+file. This option can be used to temporarily stop writing accounting records to
+the accounting file without closing it. To close the file use the \fB-x\fR
+option. See \fB-x\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIresource_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable reporting of resource usage for resource. Specify \fIresource_list\fR as
+a comma-separated list of resources or resource groups.
+.sp
+This option requires an operand. See \fBOPERANDS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable accounting of the given operand type without sending the accounting
+output to a file. This option requires an operand. See \fBOPERANDS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Send the accounting output for the given operand type to \fIfilename\fR. If
+\fIfilename\fR exists, its contents must be of the given accounting type.
+.sp
+This option requires an operand. See \fBOPERANDS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display available resource groups.
+.sp
+When this option is used with an operand, it displays resource groups available
+for a given accounting type. When no operand is specified, this option displays
+resource groups for all available accounting types. See OPERANDS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start method for the \fBsmf\fR(5) instance. This option is used to restore the
+extended accounting configuration at boot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deactivate accounting of the given operand type. This option also closes the
+accounting file for the given accounting type if it is currently open.
+.sp
+This option requires an operand. See \fBOPERANDS\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fB-d\fR, \fB-D\fR, \fB-e\fR, \fB-E\fR, \fB-f\fR, and \fB-x\fR options
+require an operand.
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprocess\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run \fBacctadm\fR on the process accounting components of the extended
+accounting facility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtask\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run \fBacctadm\fR on the task accounting components of the extended accounting
+facility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run \fBacctadm\fR on the IPQoS accounting components of the extended accounting
+facility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run \fBacctadm\fR on links and flows administered by \fBdladm\fR(1M) and
+\fBflowadm\fR(1M), respectively. Basic network accounting relates only to
+links, while extended network accounting includes both link and flow
+accounting.
+.RE
+
+.sp
+.LP
+The optional final parameter to \fBacctadm\fR represents whether the command
+should act on the process, system task, IPQoS, or network accounting components
+of the extended accounting facility.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying the Current Status
+.sp
+.LP
+The following command displays the current status. In this example, system task
+accounting is active and tracking only \fBCPU\fR resources. Process and flow
+accounting are not active.
+
+.sp
+.in +2
+.nf
+$ \fBacctadm\fR
+ Task accounting: active
+ Task accounting file: /var/adm/exacct/task
+ Tracked task resources: extended
+ Untracked task resources: host
+ Process accounting: inactive
+ Process accounting file: none
+ Tracked process resources: none
+Untracked process resources: extended,host
+ Flow accounting: inactive
+ Flow accounting file: none
+ Tracked flow resources: none
+ Untracked flow resources: extended
+ Net accounting: inactive
+ Net accounting file: none
+ Tracked Net resources: none
+ Untracked Net resources: extended
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRActivating Basic Process Accounting
+.sp
+.LP
+The following command activates basic process accounting:
+
+.sp
+.in +2
+.nf
+$ \fBacctadm -e basic -f /var/adm/exacct/proc process\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying Available Resource Groups
+.sp
+.LP
+The following command displays available resource groups:
+
+.sp
+.in +2
+.nf
+$ \fBacctadm -r\fR
+ process:
+ extended pid,uid,gid,cpu,time,command,tty,projid, \e
+ taskid,ancpid,wait-status,zone,flag,memory,mstate
+ basic pid,uid,gid,cpu,time,command,tty,flag
+ task:
+ extended taskid,projid,cpu,time,host,mstate,anctaskid,zone
+ basic taskid,projid,cpu,time
+ flow:
+ extended saddr,daddr,sport,dport,proto,dsfield,nbytes,npkts, \e
+ action,ctime,lseen,projid,uid
+ basic saddr,daddr,sport,dport,proto,nbytes,npkts,action
+ net:
+ extended name,devname,edest,vlan_tpid,vlan_tci,sap,cpuid, \e
+ priority,bwlimit,curtime,ibytes,obytes,ipkts,opks,ierrpkts \e
+ oerrpkts,saddr,daddr,sport,dport,protocol,dsfield
+ basic name,devname,edest,vlan_tpid,vlan_tci,sap,cpuid, \e
+ priority,bwlimit,curtime,ibytes,obytes,ipkts,opks,ierrpkts \e
+ oerrpkts
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the output above, the lines beginning with \fBextended\fR are shown with a
+backslash character. In actual \fBacctadm\fR output, these lines are displayed
+as unbroken, long lines.
+
+.LP
+\fBExample 4 \fRDisplaying Resource Groups for Task Accounting
+.sp
+.LP
+The following command displays resource groups for task accounting:
+
+.sp
+.in +2
+.nf
+$ \fBacctadm -r task\fR
+ extended taskid,projid,cpu,time,host,mstate,anctaskid,zone
+ basic taskid,projid,cpu,time
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.sp
+The modifications to the current configuration were valid and made
+successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.sp
+A fatal error occured either in obtaining or modifying the accounting
+configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB95\fR\fR
+.ad
+.sp .6
+.RS 4n
+A fatal, non-configuration error occurred during the start of the \fBsmf\fR(5)
+service instance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB96\fR\fR
+.ad
+.sp .6
+.RS 4n
+A fatal configuration error occurred during the start of the \fBsmf\fR(5)
+service instance.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdladm\fR(1M), \fBflowadm\fR(1M), \fBacct\fR(2), \fBattributes\fR(5),
+\fBsmf\fR(5), \fBipqos\fR(7IPP)
+.SH NOTES
+.sp
+.LP
+Both extended accounting and regular accounting can be active.
+.sp
+.LP
+Available resources can vary from system to system, and from platform to
+platform.
+.sp
+.LP
+Extended accounting configuration is stored in the service management facility
+(\fBsmf\fR(5)) repository. The configuration is restored at boot by a transient
+service instance, one per accounting type:
+.sp
+.in +2
+.nf
+svc:/system/extended-accounting:flow Flow accounting
+svc:/system/extended-accounting:process Process accounting
+svc:/system/extended-accounting:task Task accounting
+svc:/system/extended-accounting:net Network accounting
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The instances are enabled or disabled by \fBacctadm\fR as needed. Configuration
+changes are made using \fBacctadm\fR; service properties should not be modified
+directly using \fBsvccfg\fR(1M).
+.sp
+.LP
+Users can manage extended accounting (start accounting, stop accounting, change
+accounting configuration parameters) if they have the appropriate RBAC Rights
+profile for the accounting type to be managed:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Extended Accounting Flow Management
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Extended Accounting Process Management
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Extended Accounting Task Management
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Extended Accounting Network Management
+.RE
+.sp
+.LP
+The preceding profiles are for, respectively, flow accounting, process
+accounting, task accounting, and network accounting.
diff --git a/usr/src/man/man1m/acctcms.1m b/usr/src/man/man1m/acctcms.1m
new file mode 100644
index 0000000000..50b35b1de3
--- /dev/null
+++ b/usr/src/man/man1m/acctcms.1m
@@ -0,0 +1,157 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH acctcms 1M "22 Feb 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+acctcms \- command summary from process accounting records
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/acct/acctcms\fR [\fB-a\fR [\fB-o\fR] [\fB-p\fR]] [\fB-c\fR] [\fB-j\fR] [\fB-n\fR] [\fB-s\fR]
+ [\fB-t\fR] \fIfilename\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBacctcms\fR reads one or more \fIfilename\fRs, normally in the form described
+in \fBacct.h\fR(3HEAD). It adds all records for processes that executed
+identically named commands, sorts them, and writes them to the standard output,
+normally using an internal summary format.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Print output in \fBASCII\fR rather than in the internal summary format. The
+output includes command name, number of times executed, total kcore-minutes,
+total \fBCPU\fR minutes, total real minutes, mean size (in K), mean \fBCPU\fR
+minutes per invocation, "hog factor," characters transferred, and blocks read
+and written, as in \fBacctcom\fR(1). Output is normally sorted by total
+kcore-minutes.
+.sp
+Use the following options only with the \fB-a\fR option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Output a (non-prime) offshift-time-only command summary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Output a prime-time-only command summary.
+.RE
+
+When \fB-o\fR and \fB-p\fR are used together, a combination prime-time and
+non-prime-time report is produced. All the output summaries are total usage
+except number of times executed, CPU minutes, and real minutes, which are split
+into prime and non-prime.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Sort by total \fBCPU\fR time, rather than total kcore-minutes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-j\fR\fR
+.ad
+.RS 6n
+.rt
+Combine all commands invoked only once under "***other".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Sort by number of command invocations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Any file names encountered hereafter are already in internal summary format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 6n
+.rt
+Process all records as total accounting records. The default internal summary
+format splits each field into prime and non-prime-time parts. This option
+combines the prime and non-prime time parts into a single field that is the
+total of both, and provides upward compatibility with old style \fBacctcms\fR
+internal summary format records.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBacctcms\fR command.
+.sp
+.LP
+A typical sequence for performing daily command accounting and for maintaining
+a running total is:
+
+.sp
+.in +2
+.nf
+example%\fB acctcms filename ... > today\fR
+example% \fBcp total previoustotal\fR
+example% \fBacctcms \fR\fB-s\fR\fB today previoustotal > total\fR
+example% \fBacctcms \fR\fB-a\fR\fB \fR\fB-s\fR\fB today\fR
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctcom\fR(1), \fBacct\fR(1M), \fBacctcon\fR(1M), \fBacctmerg\fR(1M),
+\fBacctprc\fR(1M), \fBacctsh\fR(1M), \fBfwtmp\fR(1M), \fBrunacct\fR(1M),
+\fBacct\fR(2), \fBacct.h\fR(3HEAD), \fButmpx\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Unpredictable output results if \fB-t\fR is used on new style internal summary
+format files, or if it is not used with old style internal summary format
+files.
diff --git a/usr/src/man/man1m/acctcon.1m b/usr/src/man/man1m/acctcon.1m
new file mode 100644
index 0000000000..9ef1c2be1e
--- /dev/null
+++ b/usr/src/man/man1m/acctcon.1m
@@ -0,0 +1,184 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH acctcon 1M "22 Feb 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+acctcon, acctcon1, acctcon2 \- connect-time accounting
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/acct/acctcon\fR [\fB-l\fR \fIlineuse\fR] [\fB-o\fR \fIreboot\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/acctcon1\fR [\fB-p\fR] [\fB-t\fR] [\fB-l\fR \fIlineuse\fR] [\fB-o\fR \fIreboot\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/acctcon2\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBacctcon\fR converts a sequence of login/logoff records to total accounting
+records (see the \fBtacct\fR format in \fBacct.h\fR(3HEAD)). The login/logoff
+records are read from standard input. The file \fB/var/adm/wtmpx\fR is usually
+the source of the login/logoff records; however, because it might contain
+corrupted records or system date changes, it should first be fixed using
+\fBwtmpfix\fR. The fixed version of file \fB/var/adm/wtmpx\fR can then be
+redirected to \fBacctcon\fR. The \fBtacct\fR records are written to standard
+output.
+.sp
+.LP
+\fBacctcon\fR is a combination of the programs \fBacctcon1\fR and
+\fBacctcon2\fR. \fBacctcon1\fR converts login/logoff records, taken from the
+fixed \fB/var/adm/wtmpx\fR file, to ASCII output. \fBacctcon2\fR reads the
+ASCII records produced by \fBacctcon1\fR and converts them to \fBtacct\fR
+records. \fBacctcon1\fR can be used with the \fB-l\fR and \fB-o\fR options,
+described below, as well as with the \fB-p\fR and \fB-t\fR options.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 14n
+.rt
+Print input only, showing line name, login name, and time (in both numeric and
+date/time formats).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 14n
+.rt
+\fBacctcon1\fR maintains a list of lines on which users are logged in. When it
+reaches the end of its input, it emits a session record for each line that
+still appears to be active. It normally assumes that its input is a current
+file, so that it uses the current time as the ending time for each session
+still in progress. The \fB-t\fR flag causes it to use, instead, the last time
+found in its input, thus assuring reasonable and repeatable numbers for
+non-current files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlineuse\fR\fR
+.ad
+.RS 14n
+.rt
+\fIlineuse\fR is created to contain a summary of line usage showing line name,
+number of minutes used, percentage of total elapsed time used, number of
+sessions charged, number of logins, and number of logoffs. This file helps
+track line usage, identify bad lines, and find software and hardware oddities.
+Hangup, termination of \fBlogin\fR(1) and termination of the login shell each
+generate logoff records, so that the number of logoffs is often three to four
+times the number of sessions. See \fB init\fR(1M) and \fButmpx\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIreboot\fR\fR
+.ad
+.RS 14n
+.rt
+\fBreboot\fR is filled with an overall record for the accounting period, giving
+starting time, ending time, number of reboots, and number of date changes.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBacctcon\fR command.
+.sp
+.LP
+The \fBacctcon\fR command is typically used as follows:
+
+.sp
+.in +2
+.nf
+example% acctcon \fB-l\fR lineuse \fB-o\fR reboots < tmpwtmp > ctacct
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBacctcon1\fR and \fBacctcon2\fR commands are typically used as follows:
+
+.sp
+.in +2
+.nf
+example% acctcon1 \fB-l\fR lineuse \fB-o\fR reboots < tmpwtmp | sort +1n +2 > ctmp
+example% acctcon2 < ctmp > ctacct
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.RS 18n
+.rt
+History of user access and administration information
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctcom\fR(1), \fBlogin\fR(1), \fBacct\fR(1M), \fBacctcms\fR(1M),
+\fBacctmerg\fR(1M), \fBacctprc\fR(1M), \fBacctsh\fR(1M), \fBfwtmp\fR(1M),
+\fBinit\fR(1M), \fBrunacct\fR(1M), \fBacct\fR(2), \fBacct.h\fR(3HEAD),
+\fButmpx\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The line usage report is confused by date changes. Use \fBwtmpfix\fR (see
+\fBfwtmp\fR(1M)), with the \fB/var/adm/wtmpx\fR file as an argument, to correct
+this situation.
+.sp
+.LP
+During a single invocation of any given command, the \fBacctcon\fR,
+\fBacctcon1\fR, and \fBacctcon2\fR commands can process a maximum of:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+6000 distinct session
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+1000 distinct terminal lines
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+2000 distinct login names
+.RE
+.sp
+.LP
+If at some point the actual number of any one of these items exceeds the
+maximum, the command will not succeed.
diff --git a/usr/src/man/man1m/acctmerg.1m b/usr/src/man/man1m/acctmerg.1m
new file mode 100644
index 0000000000..8b721d8e88
--- /dev/null
+++ b/usr/src/man/man1m/acctmerg.1m
@@ -0,0 +1,128 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH acctmerg 1M "22 Feb 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+acctmerg \- merge or add total accounting files
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/acct/acctmerg\fR [\fB-a\fR] [\fB-i\fR] [\fB-p\fR] [\fB-t\fR] [\fB-u\fR] [\fB-v\fR]
+ [\fIfilename\fR] ...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBacctmerg\fR reads its standard input and up to nine additional files, all in
+the \fBtacct\fR format (see \fBacct.h\fR(3HEAD)) or an \fBASCII\fR version
+thereof. It merges these inputs by adding records whose keys (normally user
+\fBID\fR and name) are identical, and expects the inputs to be sorted on those
+keys.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Produce output in \fBASCII\fR version of \fBtacct\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Produce input in \fBASCII\fR version of \fBtacct\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Print input with no processing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 6n
+.rt
+Produce a single record that totals all input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 6n
+.rt
+Summarize by user \fBID,\fR rather than by user \fBID\fR and name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Produce output in verbose \fBASCII\fR format, with more precise notation for
+floating-point numbers.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBacctmerg\fR command.
+.sp
+.LP
+The following sequence is useful for making "repairs" to any file kept in this
+format:
+
+.sp
+.in +2
+.nf
+example% acctmerg \|\|\fB-v\fR \|<\fIfilename1\fR\fB\|>\fR\fIfilename2\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Edit \fIfilename2\fR as you want:
+
+.sp
+.in +2
+.nf
+\fBexample% acctmerg \|\|\fR\fB-i\fR\fB \|\fR\fI<filename2\fR\fB\|>\fR\fIfilename1\fR
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctcom\fR(1), \fBacct\fR(1M), \fBacctcms\fR(1M), \fBacctcon\fR(1M),
+\fBacctprc\fR(1M), \fBacctsh\fR(1M), \fBfwtmp\fR(1M), \fBrunacct\fR(1M),
+\fBacct\fR(2), \fBacct.h\fR(3HEAD), \fButmpx\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/acctprc.1m b/usr/src/man/man1m/acctprc.1m
new file mode 100644
index 0000000000..0673ab0e77
--- /dev/null
+++ b/usr/src/man/man1m/acctprc.1m
@@ -0,0 +1,136 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH acctprc 1M "15 July 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+acctprc, acctprc1, acctprc2 \- process accounting
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/acct/acctprc\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/acctprc1\fR [\fIctmp\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/acctprc2\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBacctprc\fR reads the standard input and converts it to total accounting
+records (see the \fBtacct\fR record in \fBacct.h\fR(3HEAD)). \fBacctprc\fR
+divides CPU time into prime time and non-prime time and determines mean memory
+size (in memory segment units). \fBacctprc\fR then summarizes the \fBtacct\fR
+records, according to user IDs, and adds login names corresponding to the user
+IDs. The summarized records are then written to the standard output.
+\fBacctprc1\fR reads input in the form described by \fBacct.h\fR(3HEAD), adds
+login names corresponding to user \fBIDs,\fR then writes for each process an
+\fBASCII\fR line giving user \fBID,\fR login name, prime \fBCPU\fR time (tics),
+non-prime \fBCPU\fR time (tics), and mean memory size (in memory segment
+units). If \fIctmp\fR is given, it should contain a list of login sessions
+sorted by user \fBID\fR and login name. If this file is not supplied, it
+obtains login names from the password file, just as \fBacctprc\fR does. The
+information in \fIctmp\fR helps it distinguish between different login names
+that share the same user \fBID.\fR
+.sp
+.LP
+From the standard input, \fBacctprc2\fR reads records in the form written by
+\fBacctprc1\fR, summarizes them according to user \fBID\fR and name, then
+writes the sorted summaries to the standard output as total accounting records.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRExamples of \fBacctprc\fR.
+.sp
+.LP
+The \fBacctprc\fR command is typically used as shown below:
+
+.sp
+.in +2
+.nf
+example% acctprc \|< /var/adm/pacct \|> ptacct
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBacctprc1\fR and \fBacctprc2s\fR commands are typically used as shown
+below:
+
+.sp
+.in +2
+.nf
+example% acctprc1 \|ctmp \|</var/adm/pacct
+example% acctprc2 > ptacct
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 15n
+.rt
+system password file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctcom\fR(1), \fBacct\fR(1M), \fBacctcms\fR(1M), \fBacctcon\fR(1M),
+\fBacctmerg\fR(1M), \fBacctsh\fR(1M), \fBcron\fR(1M), \fBfwtmp\fR(1M),
+\fBrunacct\fR(1M), \fBacct\fR(2), \fBacct.h\fR(3HEAD), \fButmpx\fR(4),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Although it is possible for \fBacctprc1\fR to distinguish among login names
+that share user \fBIDs\fR for commands run from a command line, it is difficult
+for \fBacctprc1\fR to make this distinction for commands invoked in other ways.
+A command run from \fBcron\fR(1M) is an example of where \fBacctprc1\fR might
+have difficulty. A more precise conversion can be done using the \fBacctwtmp\fR
+program in \fBacct\fR(1M). \fBacctprc\fR does not distinguish between users
+with identical user IDs.
+.sp
+.LP
+A memory segment of the mean memory size is a unit of measure for the number of
+bytes in a logical memory segment on a particular processor.
+.sp
+.LP
+During a single invocation of any given command, the \fBacctprc\fR,
+\fBacctprc1\fR, and \fBacctprc2\fR commands can process a maximum of
+.RS +4
+.TP
+.ie t \(bu
+.el o
+6000 distinct sessions
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+1000 distinct terminal lines
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+2000 distinct login names
+.RE
+.sp
+.LP
+If at some point the actual number of any one of these items exceeds the
+maximum, the command will not succeed.
diff --git a/usr/src/man/man1m/acctsh.1m b/usr/src/man/man1m/acctsh.1m
new file mode 100644
index 0000000000..fdb8e261e6
--- /dev/null
+++ b/usr/src/man/man1m/acctsh.1m
@@ -0,0 +1,353 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2002 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH acctsh 1M "15 Mar 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+acctsh, chargefee, ckpacct, dodisk, lastlogin, monacct, nulladm, prctmp,
+prdaily, prtacct, shutacct, startup, turnacct \- shell procedures for
+accounting
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/acct/chargefee\fR \fIlogin-name\fR \fInumber\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/ckpacct\fR [\fIblocks\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/dodisk\fR [\fB-o\fR] [\fIfilename\fR]...
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/lastlogin\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/monacct\fR \fInumber\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/nulladm\fR \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/prctmp\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/prdaily\fR [\fB-c\fR] [\fB-l\fR] [\fImmdd\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/prtacct\fR \fIfilename\fR ['' \fIheading\fR '']
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/shutacct\fR ['' \fIreason\fR '']
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/startup\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/turnacct\fR on | off | switch
+.fi
+
+.SH DESCRIPTION
+.SS "chargefee Command"
+.sp
+.LP
+\fBchargefee\fR can be invoked to charge a \fInumber\fR of units to
+\fIlogin-name\fR. A record is written to \fB/var/adm/fee\fR, to be merged with
+other accounting records by \fBrunacct\fR(1M).
+.SS "ckpacct Command"
+.sp
+.LP
+\fBckpacct\fR should be initiated using \fBcron\fR(1M) to periodically check
+the size of \fB/var/adm/pacct\fR. If the size exceeds \fIblocks\fR, \fB500\fR
+by default, \fBturnacct\fR will be invoked with argument \fBswitch\fR. To avoid
+a conflict with \fBturnacct switch\fR execution in \fBrunacct\fR, do not run
+\fBckpacct\fR and \fBrunacct\fR simultaneously. If the number of free disk
+blocks in the \fB/var\fR file system falls below \fB500\fR, \fBckpacct\fR will
+automatically turn off the collection of process accounting records via the
+\fBoff\fR argument to \fBturnacct\fR. When at least \fB500\fR blocks are
+restored, the accounting will be activated again on the next invocation of
+\fBckpacct\fR. This feature is sensitive to the frequency at which
+\fBckpacct\fR is executed, usually by the \fBcron\fR(1M) command.
+.SS "dodisk Command"
+.sp
+.LP
+\fBdodisk\fR should be invoked by \fBcron\fR(1M) to perform the disk accounting
+functions.
+.SS "lastlogin Command"
+.sp
+.LP
+\fBlastlogin\fR is invoked by \fBrunacct\fR(1M) to update
+\fB/var/adm/acct/sum/loginlog\fR, which shows the last date on which each
+person logged in.
+.SS "monacct Command"
+.sp
+.LP
+\fBmonacct\fR should be invoked once each month or each accounting period.
+\fInumber\fR indicates which month or period it is. If \fInumber\fR is not
+given, it defaults to the current month (01\(mi12). This default is useful if
+\fBmonacct\fR is to executed using \fBcron\fR(1M) on the first day of each
+month. \fBmonacct\fR creates summary files in \fB/var/adm/acct/fiscal\fR and
+restarts the summary files in \fB/var/adm/acct/sum\fR.
+.SS "nulladm Command"
+.sp
+.LP
+\fBnulladm\fR creates \fIfilename\fR with mode 664 and ensures that owner and
+group are \fBadm\fR. It is called by various accounting shell procedures.
+.SS "prctmp Command"
+.sp
+.LP
+\fBprctmp\fR can be used to print the session record file (normally
+\fB/var/adm/acct/nite/ctmp\fR created by \fBacctcon1\fR (see
+\fBacctcon\fR(1M)).
+.SS "prdaily Command"
+.sp
+.LP
+\fBprdaily\fR is invoked by \fBrunacct\fR(1M) to format a report of the
+previous day's accounting data. The report resides in
+\fB/var/adm/acct/sum/rprt/mmdd\fR where \fImmdd\fR is the month and day of the
+report. The current daily accounting reports may be printed by typing
+\fBprdaily\fR. Previous days' accounting reports can be printed by using the
+\fImmdd\fR option and specifying the exact report date desired.
+.SS "prtacct Command"
+.sp
+.LP
+\fBprtacct\fR can be used to format and print any total accounting
+(\fBtacct\fR)file.
+.SS "shutacct Command"
+.sp
+.LP
+\fBshutacct\fR is invoked during a system shutdown to turn process accounting
+off and append a \fIreason\fR record to \fB/var/adm/wtmpx\fR.
+.SS "startup Command"
+.sp
+.LP
+\fBstartup\fR can be invoked when the system is brought to a multi-user state
+to turn process accounting on.
+.SS "turnacct Command"
+.sp
+.LP
+\fBturnacct\fR is an interface to \fBaccton\fR (see \fBacct\fR(1M)) to turn
+process accounting \fBon\fR or \fBoff\fR. The \fBswitch\fR argument moves the
+current \fB/var/adm/pacct\fR to the next free name in
+\fB/var/adm/pacct.\fIincr\fR\fR (where \fIincr\fR is a number starting with
+\fB0\fR and incrementing by one for each additional \fBpacct\fR file), then
+turns accounting back on again. This procedure is called by \fBckpacct\fR and
+thus can be taken care of by the \fBcron\fR(1M) command and used to keep \fB
+pacct\fR to a reasonable size. \fBshutacct\fR uses \fBturnacct\fR to stop
+process accounting. \fBstartup\fR uses \fBturnacct\fR to start process
+accounting.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+This option prints a report of exceptional resource usage by command, and may
+be used on current day's accounting data only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+This option prints a report of exceptional usage by login id for the specified
+date. Previous daily reports are cleaned up and therefore inaccessible after
+each invocation of \fBmonacct\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+This option uses \fBacctdusg\fR (see \fBacct\fR(1M)) to do a slower version of
+disk accounting by login directory. \fIfilename\fRs specifies the one or more
+filesystem names where disk accounting will be done. If \fIfilename\fRs are
+used, disk accounting will be done on these filesystems only. If the \fB-o\fR
+option is used, \fIfilename\fRs should be mount points of mounted filesystems.
+If the \fB-o\fR option is omitted, \fIfilename\fRs should be the special file
+names of mountable filesystems.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/logadm.conf\fR\fR
+.ad
+.RS 30n
+.rt
+Configuration file for the \fBlogadm\fR(1M) command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/acct\fR\fR
+.ad
+.RS 30n
+.rt
+Holds all accounting commands listed in section \fB1M\fR of this manual
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/acct/ptecms.awk\fR\fR
+.ad
+.RS 30n
+.rt
+Contains the limits for exceptional usage by command name
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/acct/ptelus.awk\fR\fR
+.ad
+.RS 30n
+.rt
+Contains the limits for exceptional usage by login \fBID\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/fiscal\fR\fR
+.ad
+.RS 30n
+.rt
+Fiscal reports directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/nite\fR\fR
+.ad
+.RS 30n
+.rt
+Working directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/sum\fR\fR
+.ad
+.RS 30n
+.rt
+Summary directory that contains information for \fBmonacct\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/sum/loginlog\fR\fR
+.ad
+.RS 30n
+.rt
+File updated by last login
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/fee\fR\fR
+.ad
+.RS 30n
+.rt
+Accumulator for fees
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/pacct\fR\fR
+.ad
+.RS 30n
+.rt
+Current file for per-process accounting
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/pacct\fR\fIincr\fR\fR
+.ad
+.RS 30n
+.rt
+Used if \fBpacct\fR gets large and during execution of daily accounting
+procedure
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.RS 30n
+.rt
+History of user access and administration information
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctcom\fR(1), \fBacct\fR(1M), \fBacctcms\fR(1M), \fBacctcon\fR(1M),
+\fBacctmerg\fR(1M), \fBacctprc\fR(1M), \fBcron\fR(1M), \fBfwtmp\fR(1M),
+\fBlogadm\fR(1M), \fBrunacct\fR(1M), \fBacct\fR(2), \fBacct.h\fR(3HEAD),
+\fButmpx\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+See \fBrunacct\fR(1M) for the main daily accounting shell script, which
+performs the accumulation of connect, process, fee, and disk accounting on a
+daily basis. It also creates summaries of command usage.
diff --git a/usr/src/man/man1m/adbgen.1m b/usr/src/man/man1m/adbgen.1m
new file mode 100644
index 0000000000..8e80a04aa6
--- /dev/null
+++ b/usr/src/man/man1m/adbgen.1m
@@ -0,0 +1,382 @@
+'\" te
+.\" Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH adbgen 1M "20 Feb 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+adbgen \- generate adb script
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/adb/adbgen\fR [\fB-m\fR \fImodel\fR] \fIfilename\fR.adb .\|.\|.
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBadbgen\fR makes it possible to write \fBadb\fR(1) scripts that do not
+contain hard-coded dependencies on structure member offsets. The input to
+\fBadbgen\fR is a file named \fIfilename\fR\fB\&.adb\fR that contains header
+information, then a null line, then the name of a structure, and finally an
+\fBadb\fR script. \fBadbgen\fR only deals with one structure per file; all
+member names are assumed to be in this structure. The output of \fBadbgen\fR is
+an \fBadb\fR script in \fIfilename\fR. \fBadbgen\fR operates by generating a C
+program which determines structure member offsets and sizes, which in turn
+generate the \fBadb\fR script.
+.sp
+.LP
+The header lines, up to the null line, are copied verbatim into the generated C
+program. Typically, these are \fB#include\fR statements, which include the
+headers containing the relevant structure declarations.
+.sp
+.LP
+The \fBadb\fR script part may contain any valid \fBadb\fR commands (see
+\fBadb\fR(1)), and may also contain \fBadbgen\fR requests, each enclosed in
+braces (\fB\|{\|}\fR\|). Request types are:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Print a structure member. The request form is
+\fB{\fR\fImember\fR\fB,\fR\fI\|format\fR\fB}.\fR \fImember\fR is a member name
+of the \fIstructure\fR given earlier, and \fBformat\fR is any valid \fBadb\fR
+format request or any of the \fBadbgen\fR format specifiers (such as
+\fB{POINTER}\fR) listed below. For example, to print the \fBp_pid\fR field of
+the \fIproc\fR structure as a decimal number, you would write \fB{p_pid,d}\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Print the appropriate \fBadb\fR format character for the given \fBadbgen\fR
+format specifier. This action takes the data model into consideration. The
+request form is \fB{\fR\fIformat specifier\fR\fB}.\fR The valid \fBadbgen\fR
+format specifiers are:
+.RS
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{POINTER}\fR\fR
+.ad
+.RS 14n
+.rt
+pointer value in hexadecimal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{LONGDEC}\fR\fR
+.ad
+.RS 14n
+.rt
+long value in decimal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{ULONGDEC}\fR\fR
+.ad
+.RS 14n
+.rt
+unsigned long value in decimal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{ULONGHEX}\fR\fR
+.ad
+.RS 14n
+.rt
+unsigned long value in hexadecimal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{LONGOCT}\fR\fR
+.ad
+.RS 14n
+.rt
+long value in octal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{ULONGOCT}\fR\fR
+.ad
+.RS 14n
+.rt
+unsigned long value in octal
+.RE
+
+.RE
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Reference a structure member. The request form is
+\fB{*\fR\fImember\fR\fB,\fR\fI\|base\fR\fB}.\fR \fImember\fR is the member name
+whose value is desired, and \fIbase\fR is an \fBadb\fR register name which
+contains the base address of the structure. For example, to get the \fBp_pid\fR
+field of the \fIproc\fR structure, you would get the \fIproc\fR structure
+address in an \fBadb\fR register, for example \fB<f\fR, and write
+\fB{*p_pid,<f}\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Tell \fBadbgen\fR that the offset is valid. The request form is
+\fB{OFFSETOK}\fR. This is useful after invoking another \fBadb\fR script which
+moves the \fBadb\fR \fIdot\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Get the size of the \fIstructure\fR. The request form is \fB{SIZEOF}\fR.
+\fBadbgen\fR replaces this request with the size of the structure. This is
+useful in incrementing a pointer to step through an array of structures.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Calculate an arbitrary C expression. The request form is
+\fB{EXPR,\fR\fI\|expression\fR\fB}.\fR \fBadbgen\fR replaces this request with
+the value of the expression. This is useful when more than one structure is
+involved in the script.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Get the offset to the end of the structure. The request form is \fB{END}\fR.
+This is useful at the end of the structure to get \fBadb\fR to align the
+\fIdot\fR for printing the next structure member.
+.RE
+.sp
+.LP
+\fBadbgen\fR keeps track of the movement of the \fBadb\fR \fIdot\fR and
+generates \fBadb\fR code to move forward or backward as necessary before
+printing any structure member in a script. \fBadbgen\fR's model of the behavior
+of \fBadb\fR's \fIdot\fR is simple: it is assumed that the first line of the
+script is of the form \fIstruct_address\fR/\fIadb text\fR and that subsequent
+lines are of the form +/\fIadb text\fR. The \fBadb\fR \fIdot\fR then moves in a
+sane fashion. \fBadbgen\fR does not check the script to ensure that these
+limitations are met. \fBadbgen\fR also checks the size of the structure member
+against the size of the \fBadb\fR format code and warns if they are not equal.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImodel\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the data type model to be used by \fBadbgen\fR for the macro. This
+affects the outcome of the \fB{\fR\fIformat specifier\fR\fB}\fR requests
+described under \fBDESCRIPTION\fR and the offsets and sizes of data types.
+\fImodel\fR can be \fBilp32\fR or \fBlp64\fR. If the \fB-m\fR option is not
+given, the data type model defaults to \fBilp32\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fB\&.adb\fR\fR
+.ad
+.RS 18n
+.rt
+Input file that contains header information, followed by a null line, the name
+of the structure, and finally an \fBadb\fR script.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRA sample \fBadbgen\fR file.
+.sp
+.LP
+For an include file \fBx.h\fR which contained
+
+.sp
+.in +2
+.nf
+struct x {
+ char *x_cp;
+ char x_c;
+ int x_i;
+};
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+then , an \fBadbgen\fR file (call it \fBscript.adb\fR) to print the file
+\fBx.h\fR would be:
+
+.sp
+.in +2
+.nf
+#include "x.h"
+x
+\&./"x_cp"16t"x_c"8t"x_i"n{x_cp,{POINTER}}{x_c,C}{x_i,D}
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+After running \fBadbgen\fR as follows,
+
+.sp
+.in +2
+.nf
+% /usr/lib/adb/adbgen \|script.adb
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+the output file \fBscript\fR contains:
+
+.sp
+.in +2
+.nf
+\&./"x_cp"16t"x_c"8t"x_i"nXC3+D
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For a macro generated for a 64-bit program using the \fBlp64\fR data model as
+follows,
+
+.sp
+.in +2
+.nf
+\fB% /usr/lib/adb/adbgen/ \fR\fB-m\fR\fB lp64 \|script.adb\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+the output file \fBscript\fR would contain:
+
+.sp
+.in +2
+.nf
+\&./"x_cp"16t"x_c"8t"x_i"nJC3+D
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To invoke the script, type:
+
+.sp
+.in +2
+.nf
+example% adb program
+x$<script
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/platform/\fR\fIplatform-name\fR\fB/lib/adb/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+platform-specific \fBadb\fR scripts for debugging the 32-bit kernel
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/platform/\fR\fIplatform-name\fR\fB/lib/adb/sparcv9/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+platform-specific \fBadb\fR scripts for debugging the 64-bit SPARC V9 kernel
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/adb/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBadb\fR scripts for debugging the 32-bit kernel
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/adb/sparcv9/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBadb\fR scripts for debugging the 64-bit SPARC V9 kernel
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBadb\fR(1), \fBuname\fR(1), \fBkadb\fR(1M), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+Warnings are given about structure member sizes not equal to \fBadb\fR format
+items and about badly formatted requests. The C compiler complains if a
+structure member that does not exist is referenced. It also complains about an
+ampersand before array names; these complaints may be ignored.
+.SH NOTES
+.sp
+.LP
+\fIplatform-name\fR can be found using the \fB-i\fR option of \fBuname\fR(1).
+.SH BUGS
+.sp
+.LP
+\fBadb\fR syntax is ugly; there should be a higher level interface for
+generating scripts.
+.sp
+.LP
+Structure members which are bit fields cannot be handled because C will not
+give the address of a bit field. The address is needed to determine the offset.
diff --git a/usr/src/man/man1m/add_allocatable.1m b/usr/src/man/man1m/add_allocatable.1m
new file mode 100644
index 0000000000..151f76633a
--- /dev/null
+++ b/usr/src/man/man1m/add_allocatable.1m
@@ -0,0 +1,283 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH add_allocatable 1M "20 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+add_allocatable \- add entries to allocation databases
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/add_allocatable\fR [\fB-f\fR] [\fB-s\fR] [\fB-d\fR] \fB-n\fR \fIname\fR \fB-t\fR \fItype\fR \fB-l\fR \fIdevice-list\fR
+ [\fB-a\fR \fIauthorization\fR] [\fB-c\fR \fIclean\fR] [\fB-o\fR \fIkey\fR=\fIvalue\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBadd_allocatable\fR creates new entries for user allocatable devices that are
+to be managed by the device allocation mechanism. \fBadd_allocatable\fR can
+also be used to update existing entries of such devices.
+.sp
+.LP
+\fBadd_allocatable\fR can also create and update entries for non-allocatable
+devices, such as printers, whose label range is managed by the device
+allocation mechanism.
+.sp
+.LP
+\fBadd_allocatable\fR can be used in shell scripts, such as installation
+scripts for driver packages, to automate the administrative work of setting up
+a new device.
+.sp
+.LP
+Use \fBlist_devices\fR(1) to see the names and types of allocatable devices,
+their attributes, and device paths.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 20n
+.rt
+Force an update of an already-existing entry with the specified information.
+\fBadd_allocatable\fR exits with an error if this option is not specified when
+an entry with the specified device name already exists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 20n
+.rt
+Turn on silent mode. \fBadd_allocatable\fR does not print any error or warning
+messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 20n
+.rt
+If this option is present, \fBadd_allocatable\fR updates the system-supplied
+default attributes of the device type specified with \fB-t\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIname\fR\fR
+.ad
+.RS 20n
+.rt
+Adds or updates an entry for device that is specified by \fIname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItype\fR\fR
+.ad
+.RS 20n
+.rt
+Adds or updates device entries that are of a type that are specified by
+\fItype\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIdevice-list\fR\fR
+.ad
+.RS 20n
+.rt
+Adds or updates device paths to the device that is specified with \fB-n\fR.
+Multiple paths in \fIdevice-list\fR must be separated by white spaces and the
+list must be quoted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIauthorization\fR\fR
+.ad
+.RS 20n
+.rt
+Adds or updates the authorization that is associated with either the device
+that is specified with \fB-n\fR or with devices of the type that is specified
+with \fB-t\fR. When more than one authorization is specified, the list must be
+separated by commas and must be quoted. When the device is not allocatable,
+\fIauthorization\fR is specified with an asterisk (*) and must be quoted. When
+the device is allocatable by any user, \fIauthorization\fR is specified with
+the at sign (@) and must be quoted. Default authorization is '@'.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclean\fR\fR
+.ad
+.RS 20n
+.rt
+Specifies the \fBdevice_clean\fR(5) program \fIclean\fR to be used with the
+device that is specified with \fB-n\fR or with devices of the type that is
+specified with \fB-t\fR. The default clean program is \fB/bin/true\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIkey\fR=\fIvalue\fR\fR
+.ad
+.RS 20n
+.rt
+Accepts a string of colon-separated \fB\fIkey\fR=\fIvalue\fR\fR pairs for a
+device that is specified with \fB-n\fR or with devices of the type that is
+specified with \fB-t\fR. The following keys are currently interpreted by the
+system:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBminlabel\fR\fR
+.ad
+.RS 12n
+.rt
+The minimum label at which the device can be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxlabel\fR\fR
+.ad
+.RS 12n
+.rt
+The maximum label at which the device can be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclass\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies a logical grouping of devices. For example, all Sun
+Ray\u\s-2TM\s+2\d devices of all device types is a logical grouping. The
+\fBclass\fR keyword has no default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxdpy\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the display name of the X session. This keyword is used to identify
+devices that are associated with the X session. The \fBxdpy\fR keyword has no
+default value.
+.RE
+
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+When successful, \fBadd_allocate\fR returns an exit status of \fB0\fR (true).
+\fBadd_allocate\fR returns a nonzero exit status in the event of an error. The
+exit codes are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Invocation syntax error
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Unknown system error
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+An entry already exists for the specified device. This error occurs only when
+the \fB-f\fR option is not specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+Permission denied. User does not have DAC or MAC access record updates.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.82i) |cw(2.68i)
+lw(2.82i) |lw(2.68i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The invocation is Uncommitted. The options are Uncommitted. The output is
+Not-an-Interface.
+.SH SEE ALSO
+.sp
+.LP
+\fBallocate\fR(1), \fBdeallocate\fR(1), \fBlist_devices\fR(1),
+\fBremove_allocatable\fR(1M), \fBattributes\fR(5), \fBdevice_clean\fR(5)
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
diff --git a/usr/src/man/man1m/add_drv.1m b/usr/src/man/man1m/add_drv.1m
new file mode 100644
index 0000000000..e3341f9d54
--- /dev/null
+++ b/usr/src/man/man1m/add_drv.1m
@@ -0,0 +1,678 @@
+'\" te
+.\" Copyright (c) 2005 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH add_drv 1M "1 Dec 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+add_drv \- add a new device driver to the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBadd_drv\fR [\fB-b\fR \fIbasedir\fR] [\fB-c\fR \fIclass_name\fR]
+ [\fB-i\fR '\fIidentify_name\fR...'] [\fB-m\fR '\fIpermission\fR','...']
+ [\fB-p\fR '\fIpolicy\fR'] [\fB-P\fR \fIprivilege\fR] [\fB-n\fR] [\fB-f\fR] [\fB-v\fR] \fIdevice_driver\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBadd_drv\fR command is used to inform the system about newly installed
+device drivers.
+.sp
+.LP
+Each device on the system has a name associated with it. This name is
+represented by the \fBname\fR property for the device. Similarly, the device
+may also have a list of driver names associated with it. This list is
+represented by the \fBcompatible\fR property for the device.
+.sp
+.LP
+The system determines which devices will be managed by the driver being added
+by examining the contents of the \fBname\fR property and the \fBcompatible\fR
+property (if it exists) on each device. If the value in the \fBname\fR property
+does not match the driver being added, each entry in the \fBcompatible\fR
+property is tried, in order, until either a match occurs or there are no more
+entries in the \fBcompatible\fR property.
+.sp
+.LP
+In some cases, adding a new driver may require a reconfiguration boot. See the
+\fBNOTES\fR section.
+.sp
+.LP
+Aliases might require quoting (with double-quotes) if they contain numbers. See
+\fBEXAMPLES\fR.
+.SS "The \fB/etc/minor_perm\fR File"
+.sp
+.LP
+\fBadd_drv\fR and \fBupdate_drv\fR(1M) read the \fB/etc/minor_perm\fR file to
+obtain permission information. The permission specified is applied to matching
+minor nodes created when a device bound to the driver is attached. A minor
+node's permission may be manually changed by \fBchmod\fR(1). For such nodes,
+the specified permissions apply, overriding the default permissions specified
+via \fBadd_drv\fR or \fBupdate_drv\fR(1M).
+.sp
+.LP
+The format of the \fB/etc/minor_perm\fR file is as follows:
+.sp
+.in +2
+.nf
+\fIname\fR\fB:\fR\fIminor_name permissions owner group\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fIminor_name\fR may be the actual name of the minor node, or contain shell
+metacharacters to represent several minor nodes (see \fBsh\fR(1)).
+.sp
+.LP
+For example:
+.sp
+.in +2
+.nf
+sd:* 0640 root sys
+zs:[a-z],cu 0600 uucp uucp
+mm:kmem 0640 root bin
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The first line sets all devices exported by the \fBsd\fR node to \fB0640\fR
+permissions, owned by \fBroot\fR, with group \fBsys\fR. In the second line,
+devices such as \fBa,cu\fR \fBand\fR \fBz,cu\fR exported by the \fBzs\fR driver
+are set to \fB0600\fR permission, owned by \fBuucp\fR, with group \fBuucp\fR.
+In the third line the \fBkmem\fR device exported by the \fBmm\fR driver is set
+to \fB0640\fR permission, owned by \fBroot\fR, with group \fBbin\fR.
+.SS "Running \fBadd_drv\fR from a \fBpostinstall\fR Script"
+.sp
+.LP
+When running \fBadd_drv\fR from within the context of a package's postinstall
+script, you must consider whether the package is being added to a system image
+or to a running system. When a package is being installed on a system image,
+the \fBBASEDIR\fR variable refers to the image's base directory. In this
+situation, \fBadd_drv\fR should be invoked with \fB-b\fR \fB$BASEDIR\fR. This
+causes \fBadd_drv\fR only to update the image's system files; a reboot of the
+system or client would be required to make the driver operational.
+.sp
+.LP
+When a package is being installed on the running system itself, the system
+files need to be updated, as in the case above. However, the running kernel can
+be informed of the existence of the new driver without requiring a reboot. To
+accomplish this, the postinstall script must invoke \fBadd_drv\fR without the
+\fB-b\fR option. Accordingly, \fBpostinstall\fR scripts invoking \fBadd_drv\fR
+should be written thusly:
+.sp
+.in +2
+.nf
+if [ "${BASEDIR:=/}" = "/" ]
+then
+ ADD_DRV="add_drv"
+else
+ ADD_DRV="add_drv -b ${BASEDIR}"
+fi
+$ADD_DRV [<options>] \fI<driver>\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...or, alternatively:
+.sp
+.in +2
+.nf
+if [ "${BASEDIR:=/}" != "/" ]
+then
+ BASEDIR_OPT="-b $BASEDIR"
+fi
+ add_drv $BASEDIR_OPT [<options>] \fI<driver>\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fB-b\fR option is described below.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbasedir\fR\fR
+.ad
+.RS 26n
+.rt
+Installs the driver on the system with a root directory of \fIbasedir\fR rather
+than installing on the system executing \fBadd_drv\fR. This option is typically
+used in package post-installation scripts when the package is not being
+installed on the system executing the \fBpkgadd\fR command. The system using
+\fIbasedir\fR as its root directory must reboot to complete the driver
+installation.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-b\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass_name\fR\fR
+.ad
+.RS 26n
+.rt
+The driver being added to the system exports the class \fIclass_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 26n
+.rt
+Normally if a reconfiguration boot is required to complete the configuration of
+the driver into the system, \fBadd_drv\fR will not add the driver. The force
+flag forces \fBadd_drv\fR to add the driver even if a reconfiguration boot is
+required. See the \fB-v\fR flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fB\&'\fR\fIidentify_name\fR\fB\&'\fR\fR
+.ad
+.RS 26n
+.rt
+A white-space separated list of aliases for the driver \fIdevice_driver\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fB\&'\fR\fIpermission\fR\fB\&'\fR\fR
+.ad
+.RS 26n
+.rt
+Specify the file system permissions for device nodes created by the system on
+behalf of \fIdevice_driver\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 26n
+.rt
+Do not try to load and attach \fIdevice_driver\fR, just modify the system
+configuration files for the \fIdevice_driver\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR '\fIpolicy\fR\fB\&'\fR\fR
+.ad
+.RS 26n
+.rt
+Specify an additional device security policy.
+.sp
+The device security policy constists of several whitespace separated tokens:
+.sp
+.in +2
+.nf
+{\fIminorspec\fR {token=value}+}+
+.fi
+.in -2
+.sp
+
+\fIminorspec\fR is a simple wildcard pattern for a minor device. A single
+\fB*\fR matches all minor devices. Only one \fB*\fR is allowed in the pattern.
+.sp
+Patterns are matched in the following order:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+entries without a wildcard
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+entries with wildcards, longest wildcard first
+.RE
+The following tokens are defined: \fBread_priv_set\fR and \fBwrite_priv_set\fR.
+\fBread_priv_set\fR defines the privileges that need to be asserted in the
+effective set of the calling process when opening a device for reading.
+\fBwrite_priv_set\fR defines the privileges that need to be asserted in the
+effective set of the calling process when opening a device for writing. See
+\fBprivileges\fR(5).
+.sp
+A missing minor spec is interpreted as a \fB*\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR '\fIprivilege\fR\fB\&'\fR\fI\fR\fR
+.ad
+.RS 26n
+.rt
+Specify additional, comma separated, privileges used by the driver. You can
+also use specific privileges in the device's policy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 26n
+.rt
+The verbose flag causes \fBadd_drv\fR to provide additional information
+regarding the success or failure of a driver's configuration into the system.
+See the \fBEXAMPLES\fR section.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding SUNW Example Driver to the System
+.sp
+.LP
+The following example adds the \fBSUNW,example\fR driver to a 32-bit system,
+with an alias name of \fBSUNW,alias\fR. It assumes the driver has already been
+copied to \fB/usr/kernel/drv\fR.
+
+.sp
+.in +2
+.nf
+example# add_drv \fB-m\fR '* 0666 bin bin','a 0644 root sys' \e
+ \fB-p\fR 'a write_priv_set=sys_config * write_priv_set=none' \e
+ \fB-i\fR 'SUNW,alias' SUNW,example
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Every minor node created by the system for the \fBSUNW,example\fR driver will
+have the permission \fB0666\fR, and be owned by user \fBbin\fR in the group
+\fBbin\fR, except for the minor device \fBa\fR, which will be owned by
+\fBroot\fR, group \fBsys\fR, and have a permission of \fB0644\fR. The specified
+device policy requires no additional privileges to open all minor nodes, except
+minor device \fBa\fR, which requires the \fBsys_config\fR privilege when
+opening the device for writing.
+
+.LP
+\fBExample 2 \fRAdding Driver to the Client \fB/export/root/sun1\fR
+.sp
+.LP
+The following example adds the driver to the client \fB/export/root/sun1\fR.
+The driver is installed and loaded when the client machine, \fBsun1\fR, is
+rebooted. This second example produces the same result as the first, except the
+changes are on the diskless client, \fBsun1\fR, and the client must be
+rebooted for the driver to be installed.
+
+.sp
+.in +2
+.nf
+example# add_drv \fB-m\fR '* 0666 bin bin','a 0644 root sys' \e
+ \fB-i\fR 'SUNW,alias' -b /export/root/sun1 \e
+ SUNW,example
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See the note in the description of the \fB-b\fR option, above, specifying the
+caveat regarding the use of this option with the Solaris zones feature.
+
+.LP
+\fBExample 3 \fRAdding Driver for a Device Already Managed by an Existing
+Driver
+.sp
+.LP
+The following example illustrates the case where a new driver is added for a
+device that is already managed by an existing driver. Consider a device that is
+currently managed by the driver \fBdumb_framebuffer\fR. The \fBname\fR and
+\fBcompatible\fR properties for this device are as follows:
+
+.sp
+.in +2
+.nf
+name="display"
+compatible="whizzy_framebuffer", "dumb_framebuffer"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If \fBadd_drv\fR is used to add the \fBwhizzy_framebuffer\fR driver, the
+following will result.
+
+.sp
+.in +2
+.nf
+example# add_drv whizzy_framebuffer
+Error: Could not install driver (whizzy_framebuffer)
+Device managed by another driver.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the \fB-v\fR flag is specified, the following will result.
+
+.sp
+.in +2
+.nf
+example# add_drv -v whizzy_framebuffer
+Error: Could not install driver (whizzy_framebuffer)
+Device managed by another driver.
+Driver installation failed because the following
+entries in /devices would be affected:
+
+ /devices/iommu@f,e0000000/sbus@f,e0001000/display[:*]
+ (Device currently managed by driver "dumb_framebuffer")
+
+The following entries in /dev would be affected:
+
+ /dev/fbs/dumb_framebuffer0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the \fB-v\fR and \fB-f\fR flags are specified, the driver will be added
+resulting in the following.
+
+.sp
+.in +2
+.nf
+example# add_drv -vf whizzy_framebuffer
+A reconfiguration boot must be performed to complete the
+installation of this driver.
+
+The following entries in /devices will be affected:
+
+ /devices/iommu@f,e0000000/sbus@f,e0001000/display[:*]
+ (Device currently managed by driver "dumb_framebuffer"
+
+The following entries in /dev will be affected:
+
+ /dev/fbs/dumb_framebuffer0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The above example is currently only relevant to devices exporting a generic
+device name.
+
+.LP
+\fBExample 4 \fRUse of Double Quotes in Specifying Driver Alias
+.sp
+.LP
+The following example shows the use of double quotes in specifying a driver
+alias that contains numbers.
+
+.sp
+.in +2
+.nf
+example# add_drv -i '"pci10c5,25"' smc
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+\fBadd_drv\fR returns \fB0\fR on success and \fB1\fR on failure.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/kernel/drv\fR\fR
+.ad
+.sp .6
+.RS 4n
+32-bit boot device drivers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/kernel/drv/sparcv9\fR\fR
+.ad
+.sp .6
+.RS 4n
+64-bit SPARC boot device drivers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/kernel/drv/amd64\fR\fR
+.ad
+.sp .6
+.RS 4n
+64-bit x86 boot device drivers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/kernel/drv\fR\fR
+.ad
+.sp .6
+.RS 4n
+other 32-bit drivers that could potentially be shared between platforms
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/kernel/drv/sparcv9\fR\fR
+.ad
+.sp .6
+.RS 4n
+other 64-bit SPARC drivers that could potentially be shared between platforms
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/kernel/drv/amd64\fR\fR
+.ad
+.sp .6
+.RS 4n
+other 64-bit x86 drivers that could potentially be shared between platforms
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/`uname\fR \fB-i`/kernel/drv\fR\fR
+.ad
+.sp .6
+.RS 4n
+32-bit platform-dependent drivers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/`uname\fR \fB-i`/kernel/drv/sparcv9\fR\fR
+.ad
+.sp .6
+.RS 4n
+64-bit SPARC platform-dependent drivers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/`uname\fR \fB-i`/kernel/drv/amd64\fR\fR
+.ad
+.sp .6
+.RS 4n
+64-bit x86 platform-dependent drivers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/driver_aliases\fR\fR
+.ad
+.sp .6
+.RS 4n
+driver aliases file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/driver_classes\fR\fR
+.ad
+.sp .6
+.RS 4n
+driver classes file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/minor_perm\fR\fR
+.ad
+.sp .6
+.RS 4n
+minor node permissions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/name_to_major\fR\fR
+.ad
+.sp .6
+.RS 4n
+major number binding
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/device_policy\fR\fR
+.ad
+.sp .6
+.RS 4n
+device policy
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/extra_privs\fR\fR
+.ad
+.sp .6
+.RS 4n
+device privileges
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBboot\fR(1M), \fBchmod\fR(1), \fBdevfsadm\fR(1M), \fBkernel\fR(1M),
+\fBmodinfo\fR(1M), \fBrem_drv\fR(1M), \fBupdate_drv\fR(1M),
+\fBdriver.conf\fR(4), \fBsystem\fR(4), \fBattributes\fR(5),
+\fBprivileges\fR(5), \fBdevfs\fR(7FS), \fBddi_create_minor_node\fR(9F)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+It is possible to add a driver for a device already being managed by a
+different driver, where the driver being added appears in the device's
+\fBcompatible\fR list before the current driver. In such cases, a
+reconfiguration boot is required (see \fBboot\fR(1M) and \fBkernel\fR(1M)).
+After the reconfiguration boot, device links in \fB/dev\fR and references to
+these files may no longer be valid (see the \fB-v\fR flag). If a
+reconfiguration boot would be required to complete the driver installation,
+\fBadd_drv\fR will fail unless the \fB-f\fR option is specified. See
+\fBExample\fR \fB3\fR in the \fBEXAMPLES\fR section.
+.sp
+.LP
+With the introduction of the device policy several drivers have had their minor
+permissions changed and a device policy instated. The typical network driver
+should use the following device policy:
+.sp
+.in +2
+.nf
+add_drv -p 'read_priv_set=net_rawaccess\e
+ write_priv_set=net_rawaccess' -m '* 666 root sys'\e
+ mynet
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This document does not constitute an API. \fB/etc/minor_perm\fR,
+\fB/etc/name_to_major\fR, \fB/etc/driver_classes\fR, and \fB/devices\fR may not
+exist or may have different contents or interpretations in a future release.
+The existence of this notice does not imply that any other documentation that
+lacks this notice constitutes an API.
+.sp
+.LP
+\fB/etc/minor_perm\fR can only be updated by \fBadd_drv\fR(1M),
+\fBrem_drv\fR(1M) or \fBupdate_drv\fR(1M).
+.sp
+.LP
+In the current version of \fBadd_drv\fR, the use of double quotes to specify an
+alias is optional when used from the command line. However, when using
+\fBadd_drv\fR from packaging scripts, you should continue to use double quotes
+to specify an alias.
+.SH BUGS
+.sp
+.LP
+Previous versions of \fBadd_drv\fR accepted a pathname for \fIdevice_driver\fR.
+This feature is no longer supported and results in failure.
diff --git a/usr/src/man/man1m/addbadsec.1m b/usr/src/man/man1m/addbadsec.1m
new file mode 100644
index 0000000000..04140afe41
--- /dev/null
+++ b/usr/src/man/man1m/addbadsec.1m
@@ -0,0 +1,108 @@
+'\" te
+.\" Copyright (c) 1998, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH addbadsec 1M "24 Feb 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+addbadsec \- map out defective disk blocks
+.SH SYNOPSIS
+.LP
+.nf
+\fBaddbadsec\fR [\fB-p\fR] [\fB-a\fR \fIblkno\fR [\fIblkno\fR]...] [\fB-f\fR \fIfilename\fR] \fIraw_device\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBaddbadsec\fR is used by the system administrator to map out bad disk blocks.
+Normally, these blocks are identified during surface analysis, but occasionally
+the disk subsystem reports unrecoverable data errors indicating a bad block. A
+block number reported in this way can be fed directly into \fBaddbadsec\fR, and
+the block will be remapped. \fBaddbadsec\fR will first attempt hardware
+remapping. This is supported on \fBSCSI\fR drives and takes place at the disk
+hardware level. If the target is an \fBIDE\fR drive, then software remapping is
+used. In order for software remapping to succeed, the partition must contain an
+alternate slice and there must be room in this slice to perform the mapping.
+.sp
+.LP
+It should be understood that bad blocks lead to data loss. Remapping a
+defective block does not repair a damaged file. If a bad block occurs to a
+disk-resident file system structure such as a superblock, the entire slice
+might have to be recovered from a backup.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Adds the specified blocks to the hardware or software map. If more than one
+block number is specified, the entire list should be quoted and block numbers
+should be separated by white space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Adds the specified blocks to the hardware or software map. The bad blocks are
+listed, one per line, in the specified file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Causes \fBaddbadsec\fR to print the current software map. The output shows the
+defective block and the assigned alternate. This option cannot be used to print
+the hardware map.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw_device\fR\fR
+.ad
+.RS 14n
+.rt
+The address of the disk drive (see \fBFILES\fR).
+.RE
+
+.SH FILES
+.sp
+.LP
+The raw device should be \fB/dev/rdsk/c?[t?]d?p0\fR. See \fBdisks\fR(1M) for an
+explanation of \fBSCSI\fR and \fBIDE\fR device naming conventions.
+.SH SEE ALSO
+.sp
+.LP
+\fBdisks\fR(1M), \fBdiskscan\fR(1M), \fBfdisk\fR(1M), \fBfmthard\fR(1M),
+\fBformat\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBformat\fR(1M) utility is available to format, label, analyze, and repair
+\fBSCSI\fR disks. This utility is included with the \fBaddbadsec\fR,
+\fBdiskscan\fR(1M), \fBfdisk\fR(1M), and \fBfmthard\fR(1M) commands available
+for x86. To format an \fBIDE\fR disk, use the \fB DOS\fR "format" utility;
+however, to label, analyze, or repair \fBIDE\fR disks on x86 systems, use the
+Solaris \fBformat\fR(1M) utility.
diff --git a/usr/src/man/man1m/arp.1m b/usr/src/man/man1m/arp.1m
new file mode 100644
index 0000000000..b769944186
--- /dev/null
+++ b/usr/src/man/man1m/arp.1m
@@ -0,0 +1,276 @@
+'\" te
+.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH arp 1M "5 Jan 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+arp \- address resolution display and control
+.SH SYNOPSIS
+.LP
+.nf
+\fBarp\fR \fIhostname\fR
+.fi
+
+.LP
+.nf
+\fBarp\fR \fB-a\fR [\fB-n\fR]
+.fi
+
+.LP
+.nf
+\fBarp\fR \fB-d\fR \fIhostname\fR
+.fi
+
+.LP
+.nf
+\fBarp\fR \fB-f\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fBarp\fR \fB-s\fR \fIhostname\fR \fIether_address\fR [temp] [pub] [trail]
+ [permanent]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBarp\fR program displays and modifies the Internet-to-MAC address
+translation tables used by the address resolution protocol (see \fBarp\fR(7P)).
+.sp
+.LP
+With no flags, the program displays the current \fBARP\fR entry for
+\fIhostname\fR. The host may be specified by name or by number, using Internet
+dot notation.
+.sp
+.LP
+Options that modify the ARP translation tables (\fB-d\fR, \fB-f\fR, and
+\fB-s\fR) can be used only when the invoked command is granted the
+\fBsys_net_config\fR privilege. See \fBprivileges\fR(5).
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Display all of the current \fBARP\fR entries. The definition for the flags in
+the table are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 5n
+.rt
+Unverified; this is a local IP address that is currently undergoing Duplicate
+Address Detection. ARP will not respond to requests for this address until
+Duplicate Address Detection completes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo\fR\fR
+.ad
+.RS 5n
+.rt
+Old; this entry is aging away. If IP requests it again, a new ARP query will be
+generated. This state is used for detecting peer address changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBy\fR\fR
+.ad
+.RS 5n
+.rt
+Delayed; periodic address defense and conflict detection was unable to send a
+packet due to internal network use limits for non-traffic-related messages (100
+packets per hour per interface). This occurs only on interfaces with very large
+numbers of aliases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBA\fR\fR
+.ad
+.RS 5n
+.rt
+Authority; this machine is authoritative for this IP address. ARP will not
+accept updates from other machines for this entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBL\fR\fR
+.ad
+.RS 5n
+.rt
+Local; this is a local IP address configured on one of the machine's logical
+interfaces. ARP will defend this address if another node attempts to claim it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBM\fR\fR
+.ad
+.RS 5n
+.rt
+Mapping; only used for the multicast entry for \fB224.0.0.0\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBP\fR\fR
+.ad
+.RS 5n
+.rt
+Publish; includes IP address for the machine and the addresses that have
+explicitly been added by the \fB-s\fR option. ARP will respond to ARP requests
+for this address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR\fR
+.ad
+.RS 5n
+.rt
+Static; entry cannot be changed by learned information. This indicates that the
+\fBpermanent\fR flag was used when creating the entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBU\fR\fR
+.ad
+.RS 5n
+.rt
+Unresolved; waiting for ARP response.
+.RE
+
+You can use the \fB-n\fR option with the \fB-a\fR option to disable the
+automatic numeric IP address-to-name translation. Use \fBarp\fR \fB-an\fR or
+\fBarp\fR \fB-na\fR to display numeric IP addresses. The \fBarp\fR \fB-a\fR
+option is equivalent to:
+.sp
+.in +2
+.nf
+# \fBnetstat -p -f inet\fR
+.fi
+.in -2
+.sp
+
+\&...and \fB-an\fR and \fB-na\fR are equivalent to:
+.sp
+.in +2
+.nf
+# \fBnetstat -pn -f inet\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Delete an entry for the host called \fIhostname\fR.
+.sp
+Note that ARP entries for IPMP (IP Network Multipathing) data and test
+addresses are managed by the kernel and thus cannot be deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Read the file named \fIfilename\fR and set multiple entries in the \fBARP\fR
+tables. Entries in the file should be of the form:
+.sp
+.in +2
+.nf
+\fIhostname\fR \fIMACaddress\fR [temp] [pub] [trail] [permanent]
+.fi
+.in -2
+.sp
+
+See the \fB-s\fR option for argument definitions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Create an \fBARP\fR entry for the host called \fIhostname\fR with the MAC
+address \fIMACaddress\fR. For example, an Ethernet address is given as six
+hexadecimal bytes separated by colons. The entry will not be subject to
+deletion by aging unless the word \fBtemp\fR is specified in the command. If
+the word \fBpub\fR is specified, the entry will be published, which means that
+this system will respond to ARP requests for \fIhostname\fR even though the
+\fIhostname\fR is not its own. The word \fBpermanent\fR indicates that the
+system will not accept MAC address changes for \fIhostname\fR from the network.
+.sp
+Solaris does not implement trailer encapsulation, and the word \fBtrail\fR is
+accepted on entries for compatibility only.
+.sp
+\fBarp\fR \fB-s\fR can be used for a limited form of proxy ARP when a host on
+one of the directly attached networks is not physically present on a subnet.
+Another machine can then be configured to respond to ARP requests using
+\fBarp\fR \fB-s\fR. This is useful in certain SLIP configurations.
+.sp
+Non-temporary proxy ARP entries for an IPMP (IP Network Multipathing) group are
+automatically managed by the kernel. Specifically, if the hardware address in
+an entry matches the hardware address of an IP interface in an IPMP group, and
+the IP address is not local to the system, this will be regarded as an IPMP
+proxy ARP entry. This entry will have its hardware address automatically
+adjusted in order to keep the IP address reachable so long as the IPMP group
+has not entirely failed.
+.sp
+ARP entries must be consistent across an IPMP group. Therefore, ARP entries
+cannot be associated with individual underlying IP interfaces in an IPMP group,
+and must instead be associated with the corresponding IPMP IP interface.
+.sp
+Note that ARP entries for IPMP data and test addresses are managed by the
+kernel and thus cannot be changed.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBifconfig\fR(1M), \fBnetstat\fR(1M), \fBattributes\fR(5),
+\fBprivileges\fR(5), \fBarp\fR(7P)
diff --git a/usr/src/man/man1m/atohexlabel.1m b/usr/src/man/man1m/atohexlabel.1m
new file mode 100644
index 0000000000..ff1f6a3990
--- /dev/null
+++ b/usr/src/man/man1m/atohexlabel.1m
@@ -0,0 +1,125 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH atohexlabel 1M "20 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+atohexlabel \- convert a human readable label to its internal text equivalent
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/atohexlabel\fR [\fIhuman-readable-sensitivity-label\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/atohexlabel\fR \fB-c\fR [\fIhuman-readable-clearance\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBatohexlabel\fR converts a human readable label into an internal text
+representation that is safe for storing in a public object. If no option is
+supplied, the label is assumed to be a sensitivity label.
+.sp
+.LP
+Internal conversions can later be parsed to their same value. This internal
+form is often hexadecimal. The converted label is written to the standard
+output file. If no human readable label is specified, the label is read from
+the standard input file. The expected use of this command is emergency repair
+of labels that are stored in internal databases.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Identifies the human readable label as a clearance.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+On success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 13n
+.rt
+On failure, and writes diagnostics to the standard error file.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/label_encodings\fR\fR
+.ad
+.sp .6
+.RS 4n
+The label encodings file contains the classification names, words, constraints,
+and values for the defined labels of this system.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command output is Committed for systems with the same \fBlabel_encodings\fR
+file. The command invocation is Committed for systems that implement the DIA
+MAC policy.
+.SH SEE ALSO
+.sp
+.LP
+\fBhextoalabel\fR(1M), \fBlabel_to_str\fR(3TSOL), \fBstr_to_label\fR(3TSOL),
+\fBlabel_encodings\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fIHow to Get the Hexadecimal Equivalent for a Label\fR in \fISolaris Trusted
+Extensions Administrator\&'s Procedures\fR
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
+.sp
+.LP
+This file is part of the Defense Intelligence Agency (DIA) Mandatory Access
+Control (MAC) policy. This file might not be applicable to other MAC policies
+that might be developed for future releases of Solaris Trusted Extensions
+software.
diff --git a/usr/src/man/man1m/audit.1m b/usr/src/man/man1m/audit.1m
new file mode 100644
index 0000000000..51f9069f12
--- /dev/null
+++ b/usr/src/man/man1m/audit.1m
@@ -0,0 +1,163 @@
+'\" te
+.\" Copyright (c) 1993, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH audit 1M "16 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+audit \- control the behavior of the audit daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBaudit\fR \fB-n\fR | \fB-s\fR | \fB-t\fR | \fB-v\fR [\fIpath\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBaudit\fR command is the system administrator's interface to maintaining
+the audit trail. The audit daemon can be notified to read the contents of the
+\fBaudit_control\fR(4) file and re-initialize the current audit directory to
+the first directory listed in the \fBaudit_control\fR file or to open a new
+audit file in the current audit directory specified in the \fBaudit_control\fR
+file, as last read by the audit daemon. Reading \fBaudit_control\fR also causes
+the \fBminfree\fR and \fBplugin\fR configuration lines to be re-read and reset
+within \fBauditd\fR. The audit daemon can also be signaled to close the audit
+trail and disable auditing.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 11n
+.rt
+Notify the audit daemon to close the current audit file and open a new audit
+file in the current audit directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 11n
+.rt
+Notify the audit daemon to read the audit control file. The audit daemon stores
+the information internally. If the audit daemon is not running but audit has
+been enabled by means of \fBbsmconv\fR(1M), the audit daemon is started.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 11n
+.rt
+Direct the audit daemon to close the current audit trail file, disable
+auditing, and die. Use \fB-s\fR to restart auditing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fIpath\fR\fR
+.ad
+.RS 11n
+.rt
+Verify the syntax for the audit control file stored in \fIpath\fR. The
+\fBaudit\fR command displays an approval message or outputs specific error
+messages for each error found.
+.RE
+
+.SH DIAGNOSTICS
+.sp
+.LP
+The \fBaudit\fR command will exit with \fB0\fR upon success and a positive
+integer upon failure.
+.SH FILES
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/security/audit_user\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/security/audit_control\fR
+.RE
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBbsmconv\fR(1M), \fBpraudit\fR(1M), \fBaudit\fR(2), \fBaudit_control\fR(4),
+\fBaudit_user\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+See the section on Solaris Auditing in \fISystem Administration Guide: Security
+Services\fR.
+.SH NOTES
+.sp
+.LP
+The functionality described in this man page is available only if the Solaris
+Auditing feature has been enabled. See \fBbsmconv\fR(1M) for more information.
+.sp
+.LP
+The \fBaudit\fR command does not modify a process's preselection mask. It
+functions are limited to the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+affects which audit directories are used for audit data storage;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+specifies the minimum free space setting;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+resets the parameters supplied by means of the plugin directive.
+.RE
+.sp
+.LP
+For the \fB-s\fR option, \fBaudit\fR validates the \fBaudit_control\fR syntax
+and displays an error message if a syntax error is found. If a syntax error
+message is displayed, the audit daemon does not re-read \fBaudit_control\fR.
+Because \fBaudit_control\fR is processed at boot time, the \fB-v\fR option is
+provided to allow syntax checking of an edited copy of \fBaudit_control\fR.
+Using \fB-v\fR, \fBaudit\fR exits with 0 if the syntax is correct; otherwise,
+it returns a positive integer.
+.sp
+.LP
+The \fB-v\fR option can be used in any zone, but the \fB-t\fR, \fB-s\fR, and
+\fB-n\fR options are valid only in local zones and, then, only if the
+\fBperzone\fR audit policy is set. See \fBauditd\fR(1M) and
+\fBauditconfig\fR(1M) for per-zone audit configuration.
diff --git a/usr/src/man/man1m/audit_warn.1m b/usr/src/man/man1m/audit_warn.1m
new file mode 100644
index 0000000000..19ceabe96f
--- /dev/null
+++ b/usr/src/man/man1m/audit_warn.1m
@@ -0,0 +1,312 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH audit_warn 1M "16 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+audit_warn \- audit daemon warning script
+.SH SYNOPSIS
+.LP
+.nf
+\fB/etc/security/audit_warn\fR [\fIoption\fR [\fIarguments\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBaudit_warn\fR utility processes warning or error messages from the audit
+daemon. When a problem is encountered, the audit daemon, \fBauditd\fR(1M) calls
+\fBaudit_warn\fR with the appropriate arguments. The \fIoption\fR argument
+specifies the error type.
+.sp
+.LP
+The system administrator can specify a list of mail recipients to be notified
+when an audit_warn situation arises by defining a mail alias called
+\fBaudit_warn\fR in \fBaliases\fR(4). The users that make up the
+\fBaudit_warn\fR alias are typically the \fBaudit\fR and \fBroot\fR users.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBallhard\fR \fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the hard limit for all filesystems has been exceeded \fIcount\fR
+times. The default action for this option is to send mail to the
+\fBaudit_warn\fR alias only if the \fIcount\fR is \fB1\fR, and to write a
+message to the machine console every time. It is recommended that mail
+\fInot\fR be sent every time as this could result in a the saturation of the
+file system that contains the mail spool directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBallsoft\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the soft limit for all filesystems has been exceeded. The
+default action for this option is to send mail to the \fBaudit_warn\fR alias
+and to write a message to the machine console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauditoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that someone other than the audit daemon changed the system audit
+state to something other than \fB\fR\fBAUC_AUDITING\fR\fB\&. \fR The audit
+daemon will have exited in this case. The default action for this option is to
+send mail to the \fBaudit_warn\fR alias and to write a message to the machine
+console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBebusy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the audit daemon is already running. The default action for this
+option is to send mail to the \fBaudit_warn\fR alias and to write a message to
+the machine console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgetacdir\fR \fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that there is a problem getting the directory list or plugin list
+from \fBaudit_control\fR(4). The audit daemon will hang in a sleep loop until
+the file is fixed. The default action for this option is to send mail to the
+\fBaudit_warn\fR alias only if \fIcount\fR is \fB1\fR, and to write a message
+to the machine console every time. It is recommended that mail \fInot\fR be
+sent every time as this could result in a the saturation of the file system
+that contains the mail spool directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhard\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the hard limit for the file has been exceeded. The default
+action for this option is to send mail to the \fBaudit_warn\fR alias and to
+write a message to the machine console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnostart\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that auditing could not be started. The default action for this
+option is to send mail to the \fBaudit_warn\fR alias and to write a message to
+the machine console. Some administrators may prefer to modify \fBaudit_warn\fR
+to reboot the system when this error occurs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBplugin\fR \fIname\fR \fIerror\fR \fIcount\fR \fItext\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that an error occurred during execution of the \fBauditd\fR plugin
+\fIname\fR. The default action for this option is to send mail to the
+\fBaudit_warn\fR alias only if \fIcount\fR is 1, and to write a message to the
+machine console every time. (Separate counts are kept for each error type.) It
+is recommended that mail not be sent every time as this could result in the
+saturation of the file system that contains the mail spool directory. The
+\fItext\fR field provides the detailed error message passed from the plugin.
+The \fIerror\fR field is one of the following strings:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBload_error\fR\fR
+.ad
+.RS 16n
+.rt
+Unable to load the plugin \fIname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsys_error\fR\fR
+.ad
+.RS 16n
+.rt
+The plugin \fIname\fR is not executing due to a system error such as a lack of
+resources.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig_error\fR\fR
+.ad
+.RS 16n
+.rt
+No plugins loaded (including the binary file plugin, \fBaudit_binfile\fR(5))
+due to configuration errors in \fBaudit_control\fR(4). The name string is
+\fB--\fR to indicate that no plugin name applies.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBretry\fR\fR
+.ad
+.RS 16n
+.rt
+The plugin \fIname\fR reports it has encountered a temporary failure. For
+example, the \fBaudit_binfree.so\fR plugin uses \fBretry\fR to indicate that
+all directories are full.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBno_memory\fR\fR
+.ad
+.RS 16n
+.rt
+The plugin \fIname\fR reports a failure due to lack of memory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinvalid\fR\fR
+.ad
+.RS 16n
+.rt
+The plugin \fIname\fR reports it received an invalid input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailure\fR\fR
+.ad
+.RS 16n
+.rt
+The plugin \fIname\fR has reported an error as described in \fItext\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpostsigterm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that an error occurred during the orderly shutdown of the audit
+daemon. The default action for this option is to send mail to the
+\fBaudit_warn\fR alias and to write a message to the machine console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsoft\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the soft limit for \fIfilename\fR has been exceeded. The default
+action for this option is to send mail to the \fBaudit_warn\fR alias and to
+write a message to the machine console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtmpfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the temporary audit file already exists indicating a fatal
+error. The default action for this option is to send mail to the
+\fBaudit_warn\fR alias and to write a message to the machine console.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.sp
+.LP
+The interface stability is evolving. The file content is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBaudit\fR(1M), \fBauditd\fR(1M), \fBbsmconv\fR(1M), \fBaliases\fR(4),
+\fBaudit.log\fR(4), \fBaudit_control\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+See the section on Solaris Auditing in \fISystem Administration Guide: Security
+Services\fR.
+.SH NOTES
+.sp
+.LP
+This functionality is available only if the Solaris Auditing feature has been
+enabled. See \fBbsmconv\fR(1M) for more information.
+.sp
+.LP
+If the audit policy \fBperzone\fR is set, the \fB/etc/security/audit_warn\fR
+script for the local zone is used for notifications from the local zone's
+instance of \fBauditd\fR. If the \fBperzone\fR policy is not set, all
+\fBauditd\fR errors are generated by the global zone's copy of
+\fB/etc/security/audit_warn\fR.
diff --git a/usr/src/man/man1m/auditconfig.1m b/usr/src/man/man1m/auditconfig.1m
new file mode 100644
index 0000000000..4e01d82e73
--- /dev/null
+++ b/usr/src/man/man1m/auditconfig.1m
@@ -0,0 +1,1068 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH auditconfig 1M "14 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+auditconfig \- configure auditing
+.SH SYNOPSIS
+.LP
+.nf
+\fBauditconfig\fR \fIoption\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBauditconfig\fR provides a command line interface to get and set kernel audit
+parameters.
+.sp
+.LP
+This functionality is available only if the Solaris Auditing feature has been
+enabled. See \fBbsmconv\fR(1M) for more information.
+.sp
+.LP
+The setting of the \fBperzone\fR policy determines the scope of the audit
+setting controlled by \fBauditconfig\fR. If \fBperzone\fR is set, then the
+values reflect the local zone except as noted. Otherwise, the settings are for
+the entire system. Any restriction based on the \fBperzone\fR setting is noted
+for each option to which it applies.
+.sp
+.LP
+A non-global zone administrator can set all audit policy options except
+\fBperzone\fR and \fBahlt\fR. \fBperzone\fR and \fBahlt\fR apply only to the
+global zone; setting these policies requires the privileges of a global zone
+administrator. \fBperzone\fR and \fBahlt\fR are described under the
+\fB-setpolicy\fR option, below.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-aconf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the non-attributable audit mask from the \fBaudit_control\fR(4) file. For
+example:
+.sp
+.in +2
+.nf
+# auditconfig -aconf
+Configured non-attributable events.
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-audit\fR \fIevent\fR \fIsorf\fR \fIretval\fR \fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+This command constructs an audit record for audit event \fIevent\fR using the
+process's audit characteristics containing a text token \fIstring\fR. The
+return token is constructed from the \fIsorf\fR (success/failure flag) and the
+\fIretval\fR (return value). The event is type \fBchar*\fR, the \fIsorf\fR is
+0/1 for success/failure, \fIretval\fR is an errno value, \fIstring\fR is type
+\fB*char\fR. This command is useful for constructing an audit record with a
+shell script. An example of this option:
+.sp
+.in +2
+.nf
+# auditconfig -audit AUE_ftpd 0 0 "test string"
+#
+
+audit record from audit trail:
+ header,76,2,ftp access,,Fri Dec 08 08:44:02 2000, + 669 msec
+ subject,abc,root,other,root,other,104449,102336,235 197121 elbow
+ text,test string
+ return,success,0
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-chkaconf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Checks the configuration of the non-attributable events set in the kernel
+against the entries in \fBaudit_control\fR(4). If the runtime class mask of a
+kernel audit event does not match the configured class mask, a mismatch is
+reported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-chkconf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check the configuration of kernel audit event to class mappings. If the runtime
+class mask of a kernel audit event does not match the configured class mask, a
+mismatch is reported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configure kernel audit event to class mappings. Runtime class mappings are
+changed to match those in the audit event to class database file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getasid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the audit session ID of the current process. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getasid
+audit session id = 102336
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getaudit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Returns the audit characteristics of the current process.
+.sp
+.in +2
+.nf
+# auditconfig -getaudit
+audit id = abc(666)
+process preselection mask = lo(0x1000,0x1000)
+terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
+audit session id = 102336
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getauid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the audit ID of the current process. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getauid
+audit id = abc(666)
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getcar\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints current active root location (anchored from root [or local zone root] at
+system boot). For example:
+.sp
+.in +2
+.nf
+# auditconfig -getcar
+current active root = /
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getclass\fR \fIevent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the preselection mask associated with the specified kernel audit event.
+\fIevent\fR is the kernel event number or event name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getcond\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the kernel audit condition. The condition displayed is the literal
+string \fBauditing\fR meaning auditing is enabled and turned on (the kernel
+audit module is constructing and queuing audit records); \fBnoaudit\fR, meaning
+auditing is enabled but turned off (the kernel audit module is not constructing
+and queuing audit records); \fBdisabled\fR, meaning that the audit module has
+not been enabled; or \fBnospace\fR, meaning there is no space for saving audit
+records. See \fBauditon\fR(2) and \fBauditd\fR(1M) for further information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getestate\fR \fIevent\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the specified event (string or event number), print out classes \fIevent\fR
+has been assigned. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getestate 20
+audit class mask for event AUE_REBOOT(20) = 0x800
+# auditconfig -getestate AUE_RENAME
+audit class mask for event AUE_RENAME(42) = 0x30
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getkaudit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get audit characteristics of the current zone. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getkaudit
+audit id = unknown(-2)
+process preselection mask = lo,na(0x1400,0x1400)
+terminal id (maj,min,host) = 0,0,(0.0.0.0)
+audit session id = 0
+.fi
+.in -2
+.sp
+
+If the audit policy \fBperzone\fR is not set, the terminal id is that of the
+global zone. Otherwise, it is the terminal id of the local zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getkmask\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get non-attributable pre-selection mask for the current zone. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getkmask
+audit flags for non-attributable events = lo,na(0x1400,0x1400)
+.fi
+.in -2
+.sp
+
+If the audit policy \fBperzone\fR is not set, the kernel mask is that of the
+global zone. Otherwise, it is that of the local zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getpinfo\fR \fIpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the audit ID, preselection mask, terminal ID, and audit session ID for
+the specified process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the kernel audit policy. The \fBahlt\fR and \fBperzone\fR policies
+reflect the settings from the global zone. If \fBperzone\fR is set, all other
+policies reflect the local zone's settings. If \fBperzone\fR is not set, the
+policies are machine-wide.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getcwd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints current working directory (anchored from zone root at system boot). For
+example:
+.sp
+.in +2
+.nf
+# cd /usr/tmp
+# auditconfig -getcwd
+current working directory = /var/tmp
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getqbufsz\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get audit queue write buffer size. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getqbufsz
+ audit queue buffer size (bytes) = 1024
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getqctrl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get audit queue write buffer size, audit queue \fBhiwater\fR mark, audit queue
+\fBlowater\fR mark, audit queue \fBprod\fR interval (ticks).
+.sp
+.in +2
+.nf
+# auditconfig -getqctrl
+audit queue hiwater mark (records) = 100
+audit queue lowater mark (records) = 10
+audit queue buffer size (bytes) = 1024
+audit queue delay (ticks) = 20
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getqdelay\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get interval at which audit queue is prodded to start output. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getqdelay
+audit queue delay (ticks) = 20
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getqhiwater\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get high water point in undelivered audit records when audit generation will
+block. For example:
+.sp
+.in +2
+.nf
+# ./auditconfig -getqhiwater
+audit queue hiwater mark (records) = 100
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getqlowater\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get low water point in undelivered audit records where blocked processes will
+resume. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getqlowater
+audit queue lowater mark (records) = 10
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-getstat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print current audit statistics information. For example:
+.sp
+.in +2
+.nf
+# auditconfig -getstat
+gen nona kern aud ctl enq wrtn wblk rblk drop tot mem
+910 1 725 184 0 910 910 0 231 0 88 48
+.fi
+.in -2
+.sp
+
+See \fBauditstat\fR(1M) for a description of the headings in \fB-getstat\fR
+output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-gettid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print audit terminal ID for current process. For example:
+.sp
+.in +2
+.nf
+# auditconfig -gettid
+terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-lsevent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the currently configured (runtime) kernel and user level audit event
+information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-lspolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the kernel audit policies with a description of each policy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setasid\fR \fIsession-ID\fR [\fIcmd\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Execute shell or \fIcmd\fR with specified \fIsession-ID\fR. For example:
+.sp
+.in +2
+.nf
+# ./auditconfig -setasid 2000 /bin/ksh
+#
+# ./auditconfig -getpinfo 104485
+audit id = abc(666)
+process preselection mask = lo(0x1000,0x1000)
+terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
+audit session id = 2000
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setaudit\fR \fIaudit-ID\fR \fIpreselect_flags\fR \fIterm-ID\fR
+\fIsession-ID\fR [\fIcmd\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Execute shell or \fIcmd\fR with the specified audit characteristics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setauid\fR \fIaudit-ID\fR [\fIcmd\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Execute shell or \fIcmd\fR with the specified \fIaudit-ID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setclass\fR \fIevent audit_flag\fR[\fI,audit_flag .\|.\|.\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Map the kernel event \fIevent\fR to the classes specified by \fIaudit_flags\fR.
+\fIevent\fR is an event number or name. An \fIaudit_flag\fR is a two character
+string representing an audit class. See \fBaudit_control\fR(4) for further
+information. If \fBperzone\fR is not set, this option is valid only in the
+global zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setkaudit\fR \fIIP-address_type\fR \fIIP_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set IP address of machine to specified values. \fIIP-address_type\fR is
+\fBipv6\fR or \fBipv4\fR.
+.sp
+If \fBperzone\fR is not set, this option is valid only in the global zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setkmask\fR \fIaudit_flags\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set non-attributes selection flags of machine.
+.sp
+If \fBperzone\fR is not set, this option is valid only in the global zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setpmask\fR \fIpid flags\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the preselection mask of the specified process. \fBflags\fR is the ASCII
+representation of the flags similar to that in \fBaudit_control\fR(4).
+.sp
+If \fBperzone\fR is not set, this option is valid only in the global zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setpolicy\fR
+[\fI+\fR|\fI-\fR]\fIpolicy_flag\fR[\fI,policy_flag ...\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Set the kernel audit policy. A policy \fIpolicy_flag\fR is literal strings that
+denotes an audit policy. A prefix of \fB+\fR adds the policies specified to the
+current audit policies. A prefix of \fB-\fR removes the policies specified from
+the current audit policies. No policies can be set from a local zone unless the
+\fBperzone\fR policy is first set from the global zone. The following are the
+valid policy flag strings (\fBauditconfig\fR \fB-lspolicy\fR also lists the
+current valid audit policy flag strings):
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.RS 16n
+.rt
+Include all policies that apply to the current zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBahlt\fR\fR
+.ad
+.RS 16n
+.rt
+Panic is called and the system dumps core if an asynchronous audit event occurs
+that cannot be delivered because the audit queue has reached the high-water
+mark or because there are insufficient resources to construct an audit record.
+By default, records are dropped and a count is kept of the number of dropped
+records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBarge\fR\fR
+.ad
+.RS 16n
+.rt
+Include the \fBexecv\fR(2) system call environment arguments to the audit
+record. This information is not included by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBargv\fR\fR
+.ad
+.RS 16n
+.rt
+Include the \fBexecv\fR(2) system call parameter arguments to the audit record.
+This information is not included by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcnt\fR\fR
+.ad
+.RS 16n
+.rt
+Do not suspend processes when audit resources are exhausted. Instead, drop
+audit records and keep a count of the number of records dropped. By default,
+process are suspended until audit resources become available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroup\fR\fR
+.ad
+.RS 16n
+.rt
+Include the supplementary group token in audit records. By default, the group
+token is not included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone\fR\fR
+.ad
+.RS 16n
+.rt
+Include no policies. If used in other than the global zone, the \fBahlt\fR and
+\fBperzone\fR policies are not changed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpath\fR\fR
+.ad
+.RS 16n
+.rt
+Add secondary path tokens to audit record. These are typically the pathnames of
+dynamically linked shared libraries or command interpreters for shell scripts.
+By default, they are not included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBperzone\fR\fR
+.ad
+.RS 16n
+.rt
+Maintain separate configuration, queues, and logs for each zone and execute a
+separate version of \fBauditd\fR(1M) for each zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpublic\fR\fR
+.ad
+.RS 16n
+.rt
+Audit public files. By default, read-type operations are not audited for
+certain files which meet \fBpublic\fR characteristics: owned by root, readable
+by all, and not writable by all.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtrail\fR\fR
+.ad
+.RS 16n
+.rt
+Include the trailer token in every audit record. By default, the trailer token
+is not included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBseq\fR\fR
+.ad
+.RS 16n
+.rt
+Include the sequence token as part of every audit record. By default, the
+sequence token is not included. The sequence token attaches a sequence number
+to every audit record.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwindata_down\fR\fR
+.ad
+.RS 16n
+.rt
+Include in an audit record any downgraded data moved between windows. This
+policy is available only if the system is configured with Trusted Extensions.
+By default, this information is not included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwindata_up\fR\fR
+.ad
+.RS 16n
+.rt
+Include in an audit record any upgraded data moved between windows. This policy
+is available only if the system is configured with Trusted Extensions. By
+default, this information is not included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzonename\fR\fR
+.ad
+.RS 16n
+.rt
+Include the \fBzonename\fR token as part of every audit record. By default, the
+\fBzonename\fR token is not included. The \fBzonename\fR token gives the name
+of the zone from which the audit record was generated.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setqbufsz\fR \fIbuffer_size\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the audit queue write buffer size (bytes).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setqctrl\fR \fIhiwater\fR \fIlowater\fR \fIbufsz\fR \fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the audit queue write buffer size (bytes), hiwater audit record count,
+lowater audit record count, and wakeup interval (ticks). Valid within a local
+zone only if \fBperzone\fR is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setqdelay\fR \fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the audit queue wakeup interval (ticks). This determines the interval at
+which the kernel pokes the audit queue, to write audit records to the audit
+trail. Valid within a local zone only if \fBperzone\fR is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setqhiwater\fR \fIhiwater\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the number of undelivered audit records in the audit queue at which audit
+record generation blocks. Valid within a local zone only if \fBperzone\fR is
+set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setqlowater\fR \fIlowater\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the number of undelivered audit records in the audit queue at which blocked
+auditing processes unblock. Valid within a local zone only if \fBperzone\fR is
+set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setsmask\fR \fIasid flags\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the preselection mask of all processes with the specified audit session ID.
+Valid within a local zone only if \fBperzone\fR is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setstat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reset audit statistics counters. Valid within a local zone only if
+\fBperzone\fR is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-setumask\fR \fIauid flags\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the preselection mask of all processes with the specified audit ID. Valid
+within a local zone only if \fBperzone\fR is set.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBauditconfig\fR
+.sp
+.LP
+The following is an example of an \fBauditconfig\fR program:
+
+.sp
+.in +2
+.nf
+#
+# map kernel audit event number 10 to the "fr" audit class
+#
+% auditconfig -setclass 10 fr
+
+#
+# turn on inclusion of exec arguments in exec audit records
+#
+% auditconfig -setpolicy +argv
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/audit_event\fR\fR
+.ad
+.RS 29n
+.rt
+Stores event definitions used in the audit system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/audit_class\fR\fR
+.ad
+.RS 29n
+.rt
+Stores class definitions used in the audit system.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBaudit\fR(1M), \fBauditd\fR(1M), \fBauditstat\fR(1M), \fBbsmconv\fR(1M),
+\fBpraudit\fR(1M), \fBauditon\fR(2), \fBexecv\fR(2), \fBaudit_class\fR(4),
+\fBaudit_control\fR(4), \fBaudit_event\fR(4), \fBattributes\fR(5),
+\fBaudit_binfile\fR(5)
+.sp
+.LP
+See the section on Solaris Auditing in \fISystem Administration Guide: Security
+Services\fR.
+.SH NOTES
+.sp
+.LP
+If plugin output is selected using \fBaudit_control\fR(4), the behavior of the
+system with respect to the \fB-setpolicy\fR \fB+cnt\fR and the
+\fB-setqhiwater\fR options is modified slightly. If \fB-setpolicy\fR \fB+cnt\fR
+is set, data will continue to be sent to the selected plugin, even though
+output to the binary audit log is stopped, pending the freeing of disk space.
+If \fB-setpolicy\fR \fB-cnt\fR is used, the blocking behavior is as described
+under OPTIONS, above. The value set for the queue high water mark is used
+within \fBauditd\fR as the default value for its queue limits unless overridden
+by means of the \fBqsize\fR attribute as described in \fBaudit_control\fR(4).
+.sp
+.LP
+The \fBauditconfig\fR options that modify or display process-based information
+are not affected by the \fBperzone\fR policy. Those that modify system audit
+data such as the terminal id and audit queue parameters are valid only in the
+global zone, unless the \fBperzone\fR policy is set. The display of a system
+audit reflects the local zone if \fBperzone\fR is set. Otherwise, it reflects
+the settings of the global zone.
+.sp
+.LP
+The \fB-setcond\fR option has been removed. Use \fBaudit\fR(1M) to enable or
+disable auditing.
+.sp
+.LP
+The \fB-getfsize\fR and \fB-setfsize\fR options have been removed. Use
+\fBaudit_binfile\fR(5) \fBp_fsize\fR to set the audit file size.
diff --git a/usr/src/man/man1m/auditd.1m b/usr/src/man/man1m/auditd.1m
new file mode 100644
index 0000000000..ed87579480
--- /dev/null
+++ b/usr/src/man/man1m/auditd.1m
@@ -0,0 +1,260 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH auditd 1M "29 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+auditd \- audit daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/auditd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The audit daemon, \fBauditd\fR, controls the generation and location of audit
+trail files and the generation of syslog messages based on the definitions in
+\fBaudit_control\fR(4). If auditing is enabled, \fBauditd\fR reads the
+\fBaudit_control\fR file to do the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+reads the path to a library module for realtime conversion of audit data into
+syslog messages;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+reads other parameters specific to the selected plugin or plugins;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+obtains a list of directories into which audit files can be written;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+obtains the percentage limit for how much space to reserve on each filesystem
+before changing to the next directory.
+.RE
+.sp
+.LP
+\fBaudit\fR(1M) is used to control \fBauditd\fR. It can cause \fBauditd\fR to:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+close the current audit file and open a new one;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+close the current audit file, re-read \fB/etc/security/audit_control\fR and
+open a new audit file;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+close the audit trail and terminate auditing.
+.RE
+.SS "Auditing Conditions"
+.sp
+.LP
+The audit daemon invokes the program \fBaudit_warn\fR(1M) under the following
+conditions with the indicated options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn soft\fR \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+The file system upon which \fIpathname\fR resides has exceeded the minimum free
+space limit defined in \fBaudit_control\fR(4). A new audit trail has been
+opened on another file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn allsoft\fR\fR
+.ad
+.sp .6
+.RS 4n
+All available file systems have been filled beyond the minimum free space
+limit. A new audit trail has been opened anyway.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn hard\fR \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+The file system upon which \fIpathname\fR resides has filled or for some reason
+become unavailable. A new audit trail has been opened on another file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn allhard\fR \fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+All available file systems have been filled or for some reason become
+unavailable. The audit daemon will repeat this call to \fBaudit_warn\fR at
+intervals of at least twenty seconds until space becomes available. \fIcount\fR
+is the number of times that \fBaudit_warn\fR has been called since the problem
+arose.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn ebusy\fR\fR
+.ad
+.sp .6
+.RS 4n
+There is already an audit daemon running.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn tmpfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+The file \fB/etc/security/audit/audit_tmp\fR exists, indicating a fatal error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn nostart\fR\fR
+.ad
+.sp .6
+.RS 4n
+The internal system audit condition is \fBAUC_FCHDONE\fR. Auditing cannot be
+started without rebooting the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn auditoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+The internal system audit condition has been changed to not be
+\fBAUC_AUDITING\fR by someone other than the audit daemon. This causes the
+audit daemon to exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn postsigterm\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred during the orderly shutdown of the auditing system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaudit_warn getacdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+There is a problem getting the directory list from
+\fB/etc/security/audit/audit_control\fR.
+.sp
+The audit daemon will hang in a sleep loop until this file is fixed.
+.RE
+
+.SH FILES
+.sp
+.LP
+\fB/etc/security/audit/audit_control\fR
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBaudit\fR(1M), \fBaudit_warn\fR(1M), \fBbsmconv\fR(1M), \fBpraudit\fR(1M),
+\fBauditon\fR(2), \fBaudit.log\fR(4), \fBaudit_control\fR(4),
+\fBattributes\fR(5)
+.sp
+.LP
+See the section on Solaris Auditing in \fISystem Administration Guide: Security
+Services\fR.
+.SH NOTES
+.sp
+.LP
+The functionality described in this man page is available only if the Solaris
+Auditing feature has been enabled. See \fBbsmconv\fR(1M) for more information.
+.sp
+.LP
+\fBauditd\fR is loaded in the global zone at boot time if auditing is enabled.
+See \fBbsmconv\fR(1M).
+.sp
+.LP
+If the audit policy \fBperzone\fR is set, \fBauditd\fR runs in each zone,
+starting automatically when the local zone boots. If a zone is running when the
+\fBperzone\fR policy is set, auditing must be started manually in local zones.
+It is not necessary to reboot the system or the local zone to start auditing in
+a local zone. \fBauditd\fR can be started with "\fB/usr/sbin/audit\fR \fB-s\fR"
+and will start automatically with future boots of the zone.
+.sp
+.LP
+When \fBauditd\fR runs in a local zone, the configuration is taken from the
+local zone's \fB/etc/security\fR directory's files: \fBaudit_control\fR,
+\fBaudit_class\fR, \fBaudit_user\fR, \fBaudit_startup\fR, and
+\fBaudit_event\fR.
+.sp
+.LP
+Configuration changes do not affect audit sessions that are currently running,
+as the changes do not modify a process's preselection mask. To change the
+preselection mask on a running process, use the \fB-setpmask\fR option of the
+\fBauditconfig\fR command (see \fBauditconfig\fR(1M)). If the user logs out and
+logs back in, the new configuration changes will be reflected in the next audit
+session.
diff --git a/usr/src/man/man1m/auditrecord.1m b/usr/src/man/man1m/auditrecord.1m
new file mode 100644
index 0000000000..c8a0a3a371
--- /dev/null
+++ b/usr/src/man/man1m/auditrecord.1m
@@ -0,0 +1,361 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH auditrecord 1M "13 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+auditrecord \- display Solaris audit record formats
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/auditrecord\fR [\fB-d\fR] [ [\fB-a\fR] | [\fB-e\fR \fIstring\fR] | [\fB-c\fR \fIclass\fR] |
+ [\fB-i\fR \fIid\fR] | [\fB-p\fR \fIprogramname\fR] | [\fB-s\fR \fIsystemcall\fR] | [\fB-h\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBauditrecord\fR utility displays the event ID, audit class and selection
+mask, and record format for audit record event types defined in
+\fBaudit_event\fR(4). You can use \fBauditrecord\fR to generate a list of all
+audit record formats, or to select audit record formats based on event class,
+event name, generating program name, system call name, or event ID.
+.sp
+.LP
+There are two output formats. The default format is intended for display in a
+terminal window; the optional HTML format is intended for viewing with a web
+browser.
+.sp
+.LP
+Tokens contained in square brackets ( \fB[ ]\fR ) are optional and might not be
+present in every record.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all audit records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all audit records selected by \fIclass\fR. \fIclass\fR is one of the
+two-character class codes from the file \fB/etc/security/audit_class\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Debug mode. Display number of audit records that are defined in
+\fBaudit_event\fR, the number of classes defined in \fBaudit_class\fR, any
+mismatches between the two files, and report which defined events do not have
+format information available to \fBauditrecord\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all audit records for which the event ID label contains the string
+\fIstring\fR. The match is case insensitive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate the output in HTML format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIid\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the audit records having the numeric event ID \fIid\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprogramname\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all audit records generated by the program \fIprogramname\fR, for example,
+audit records generated by a user-space program.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsystemcall\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all audit records generated by the system call \fIsystemcall\fR, for
+example, audit records generated by a system call.
+.RE
+
+.sp
+.LP
+The \fB-p\fR and \fB-s\fR options are different names for the same thing and
+are mutually exclusive. The \fB-a\fR option is ignored if any of \fB-c\fR,
+\fB-e\fR, \fB-i\fR, \fB-p\fR, or \fB-s\fR are given. Combinations of \fB-c\fR,
+\fB-e\fR, \fB-i\fR, and either \fB-p\fR or \fB-s\fR are ANDed together.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying an Audit Record with a Specified Event ID
+.sp
+.LP
+The following example shows how to display the contents of a specified audit
+record.
+
+.sp
+.in +2
+.nf
+% auditrecord -i 6152
+ terminal login
+ program /usr/sbin/login see login(1)
+ /usr/dt/bin/dtlogin See dtlogin
+ event ID 6152 AUE_login
+ class lo (0x00001000)
+ header
+ subject
+ [text] error message
+ return
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying an Audit Record with an Event ID Label that Contains
+a Specified String
+.sp
+.LP
+The following example shows how to display the contents of a audit record with
+an event ID label that contains the string \fBlogin\fR.
+
+.sp
+.in +2
+.nf
+# auditrecord -e login
+terminal login
+ program /usr/sbin/login see login(1)
+ /usr/dt/bin/dtlogin See dtlogin
+ event ID 6152 AUE_login
+ class lo (0x00001000)
+ header
+ subject
+ [text] error message
+ return
+
+rlogin
+ program /usr/sbin/login see login(1) - rlogin
+ event ID 6155 AUE_rlogin
+ class lo (0x00001000)
+ header
+ subject
+ [text] error message
+ return
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful operation
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.sp .6
+.RS 4n
+Error
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/audit_class\fR\fR
+.ad
+.sp .6
+.RS 4n
+Provides the list of valid classes and the associated audit mask.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/audit_event\fR\fR
+.ad
+.sp .6
+.RS 4n
+Provides the numeric event ID, the literal event name, and the name of the
+associated system call or program.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+CSIEnabled
+_
+Interface StabilityObsolete Uncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBauditconfig\fR(1M), \fBpraudit\fR(1M), \fBaudit.log\fR(4),
+\fBaudit_class\fR(4), \fBaudit_event\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+See the section on Solaris Auditing in \fISystem Administration Guide: Security
+Services\fR.
+.SH DIAGNOSTICS
+.sp
+.LP
+If unable to read either of its input files or to write its output file,
+\fBauditrecord\fR shows the name of the file on which it failed and exits with
+a non-zero return.
+.sp
+.LP
+If no options are provided, if an invalid option is provided, or if both
+\fB-s\fR and \fB-p\fR are provided, an error message is displayed and
+\fBauditrecord\fR displays a usage message then exits with a non-zero return.
+.SH NOTES
+.sp
+.LP
+This command is Obsolete and may be removed and replaced with equivalent
+functionality in a future release of Solaris. This command was formerly known
+as \fBbsmrecord\fR.
+.sp
+.LP
+If \fB/etc/security/audit_event\fR has been modified to add user-defined audit
+events, \fBauditrecord\fR displays the record format as \fBundefined\fR.
+.sp
+.LP
+The audit records displayed by \fBbsmrecord\fR are the core of the record that
+can be produced. Various audit policies and optional tokens, such as those
+shown below, might also be present.
+.sp
+.LP
+The following is a list of \fBpraudit\fR(1M) token names with their
+descriptions.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Present if the \fBgroup\fR audit policy is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsensitivity label\fR\fR
+.ad
+.sp .6
+.RS 4n
+Present when Trusted Extensions is enabled and represents the label of the
+subject or object with which it is associated. The \fBmandatory_label\fR token
+is noted in the basic audit record where a label is explicitly part of the
+record.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsequence\fR\fR
+.ad
+.sp .6
+.RS 4n
+Present when the \fBseq\fR audit policy is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtrailer\fR\fR
+.ad
+.sp .6
+.RS 4n
+Present when the \fBtrail\fR audit policy is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzone\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the zone generating the record when the \fBzonename\fR audit policy
+is set. The \fBzonename\fR token is noted in the basic audit record where a
+zone name is explicitly part of the record.
+.RE
+
diff --git a/usr/src/man/man1m/auditreduce.1m b/usr/src/man/man1m/auditreduce.1m
new file mode 100644
index 0000000000..8112a33f1a
--- /dev/null
+++ b/usr/src/man/man1m/auditreduce.1m
@@ -0,0 +1,984 @@
+'\" te
+.\" Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH auditreduce 1M "10 Apr 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+auditreduce \- merge and select audit records from audit trail files
+.SH SYNOPSIS
+.LP
+.nf
+\fBauditreduce\fR [\fIoptions\fR] [\fIaudit-trail-file\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBauditreduce\fR allows you to select or merge records from audit trail files.
+Audit files can be from one or more machines.
+.sp
+.LP
+The merge function merges together audit records from one or more input audit
+trail files into a single output file. The records in an audit trail file are
+assumed to be sorted in chronological order (oldest first) and this order is
+maintained by \fBauditreduce\fR in the output file.
+.sp
+.LP
+Unless instructed otherwise, \fBauditreduce\fR will merge the entire audit
+trail, which consists of all the audit trail files in the directory structure
+\fIaudit_root_dir\fR/*/files (see \fBaudit_control\fR(4) for details of the
+structure of the audit root). Unless specified with the -\fBR\fR or -\fBS\fR
+option, \fIaudit_root_dir\fR defaults to \fB/etc/security/audit\fR. By using
+the file selection options it is possible to select some subset of these files,
+or files from another directory, or files named explicitly on the command line.
+.sp
+.LP
+The select function allows audit records to be selected on the basis of
+numerous criteria relating to the record's content (see \fBaudit.log\fR(4) for
+details of record content). A record must meet all of the
+\fIrecord-selection-option\fR criteria to be selected.
+.SS "Audit Trail Filename Format"
+.sp
+.LP
+Any audit trail file not named on the command line must conform to the audit
+trail filename format. Files produced by the audit system already have this
+format. Output file names produced by \fBauditreduce\fR are in this format. It
+is:
+.sp
+.in +2
+.nf
+\fIstart-time\fR\fB\&.\fR\fI\|end-time\fR\fB\&.\fR\fI\|suffix\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fIstart-time\fR is the 14-character timestamp of when the file was
+opened, \fIend-time\fR is the 14-character timestamp of when the file was
+closed, and \fIsuffix\fR is the name of the machine which generated the audit
+trail file, or some other meaningful suffix (for example, \fBall\fR, if the
+file contains a combined group of records from many machines). The
+\fIend-time\fR can be the literal string \fBnot_terminated\fR, to indicate that
+the file is still being written to by the audit system. Timestamps are of the
+form \fIyyyymmddhhmmss\fR (year, month, day, hour, minute, second). The
+timestamps are in Greenwich Mean Time (GMT).
+.SH OPTIONS
+.SS "File Selection Options"
+.sp
+.LP
+The file selection options indicate which files are to be processed and certain
+types of special treatment.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+All of the records from the input files will be selected regardless of their
+timestamp. This option effectively disables the \fB-a\fR, \fB-b\fR, and
+\fB-d\fR options. This is useful in preventing the loss of records if the
+\fB-D\fR option is used to delete the input files after they are processed.
+Note, however, that if a record is \fInot\fR selected due to another option,
+then \fB-A\fR will not override that.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only process complete files. Files whose filename \fIend-time\fR timestamp is
+\fBnot_terminated\fR are not processed (such a file is currently being written
+to by the audit system). This is useful in preventing the loss of records if
+\fB-D\fR is used to delete the input files after they are processed. It does
+not apply to files specified on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIsuffix\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete input files after they are read if the entire run is successful. If
+\fBauditreduce\fR detects an error while reading a file, then that file is not
+deleted. If \fB-D\fR is specified, \fB-A\fR, \fB-C\fR and \fB-O\fR are also
+implied. \fIsuffix\fR is given to the \fB-O\fR option. This helps prevent the
+loss of audit records by ensuring that all of the records are written, only
+complete files are processed, and the records are written to a file before
+being deleted. Note that if both \fB-D\fR and \fB-O\fR are specified in the
+command line, the order of specification is significant. The \fIsuffix\fR
+associated with the latter specification is in effect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fImachine\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows selection of records from files with \fImachine\fR as the filename
+suffix. If \fB-M\fR is not specified, all files are processed regardless of
+suffix. \fB-M\fR can also be used to allow selection of records from files that
+contain combined records from many machines and have a common suffix (such as
+\fBall\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select objects in \fBnew mode\fR.This flag is off by default, thus retaining
+backward compatibility. In the existing, \fBold mode\fR, specifying the
+\fB-e\fR, \fB-f\fR, \fB-g\fR, \fB-r\fR, or \fB-u\fR flags would select not only
+actions taken with those \fBID\fRs, but also certain objects owned by those
+\fBID\fRs. When running in \fBnew mode\fR, only actions are selected. In order
+to select objects, the \fB-o\fR option must be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR \fIsuffix\fR\fR
+.ad
+.sp .6
+.RS 4n
+Direct output stream to a file in the current \fBaudit_root_dir\fR with the
+indicated suffix. \fIsuffix\fR can alternatively contain a full pathname, in
+which case the last component is taken as the suffix, ahead of which the
+timestamps will be placed, ahead of which the remainder of the pathname will be
+placed. If the \fB-O\fR option is not specified, the output is sent to the
+standard output. When \fBauditreduce\fR places timestamps in the filename, it
+uses the times of the first and last records in the merge as the
+\fIstart-time\fR and \fIend-time\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quiet. Suppress notification about errors with input files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the pathname of an alternate audit root directory \fIaudit_root_dir\fR
+to be \fIpathname\fR. Therefore, rather than using
+\fB/etc/security/audit\fR/*/files by default, \fIpathname\fR/*/files will be
+examined instead.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIserver\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option causes \fBauditreduce\fR to read audit trail files from a specific
+location (server directory). \fIserver\fR is normally interpreted as the name
+of a subdirectory of the audit root, therefore \fBauditreduce\fR will look in
+\fIaudit_root_dir\fR/\fIserver\fR/files for the audit trail files. But if
+\fIserver\fR contains any `\fB/\fR' characters, it is the name of a specific
+directory not necessarily contained in the audit root. In this case,
+\fIserver\fR/files will be consulted. This option allows archived files to be
+manipulated easily, without requiring that they be physically located in a
+directory structure like that of \fB/etc/security/audit\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. Display the name of each file as it is opened, and how many records
+total were written to the output stream.
+.RE
+
+.SS "Record Selection Options"
+.sp
+.LP
+The record selection options listed below are used to indicate which records
+are written to the output file produced by \fBauditreduce\fR.
+.sp
+.LP
+Multiple arguments of the same type are not permitted.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIdate-time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records that occurred at or after \fIdate-time\fR. The \fIdate-time\fR
+argument is described under \fBOption Arguments\fR, below. \fIdate-time\fR is
+in local time. The \fB-a\fR and \fB-b\fR options can be used together to form a
+range.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIdate-time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records that occurred before \fIdate-time\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIaudit-classes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records by audit class. Records with events that are mapped to the audit
+classes specified by \fIaudit-classes\fR are selected. Audit class names are
+defined in \fBaudit_class\fR(4). The \fIaudit-classes\fR can be a comma
+separated list of \fBaudit\fR \fIflags\fR like those described in
+\fBaudit_control\fR(4). Using the \fBaudit\fR \fIflags,\fR one can select
+records based upon success and failure criteria.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdate-time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records that occurred on a specific day (a 24-hour period beginning at
+00:00:00 of the day specified and ending at 23:59:59). The day specified is in
+local time. The time portion of the argument, if supplied, is ignored. Any
+records with timestamps during that day are selected. If any hours, minutes, or
+seconds are given in \fItime,\fR they are ignored. \fB-d\fR can not be used
+with \fB-a\fR or \fB\fR\fB-b\fR\fB\&.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIeffective-user\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records with the specified \fIeffective-user.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIeffective-group\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records with the specified \fIeffective-group.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIreal-group\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records with the specified \fIreal-group.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-j\fR \fIsubject-ID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records with the specified \fIsubject-ID\fR where \fIsubject-ID\fR is a
+process ID.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records with the specified label (or label range), as explained under
+"Option Arguments," below. This option is available only if the system is
+configured with Trusted Extensions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIevent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records with the indicated \fIevent\fR. The \fIevent\fR is the literal
+string or the \fIevent\fR number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIobject_type=objectID_value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records by object type. A match occurs when the record contains the
+information describing the specified \fIobject_type\fR and the object ID equals
+the value specified by \fIobjectID_value.\fR The allowable object types and
+values are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fBfile=\fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing file system objects with the specified pathname,
+where pathname is a comma separated list of regular expressions. If a regular
+expression is preceded by a tilde (\fB~\fR), files matching the expression are
+excluded from the output. For example, the option
+\fBfile=~/usr/openwin,/usr,/etc\fR would select all files in \fB/usr\fR or
+\fB/etc\fR except those in \fB/usr/openwin\fR. The order of the regular
+expressions is important because auditreduce processes them from left to right,
+and stops when a file is known to be either selected or excluded. Thus the
+option \fBfile=\fR \fB/usr\fR, \fB/etc\fR, \fB~/usr/openwin\fR would select all
+files in \fB/usr\fR and all files in \fB/etc\fR. Files in \fB/usr/openwin\fR
+are not excluded because the regular expression \fB/usr\fR is matched first.
+Care should be given in surrounding the \fIpathname\fR with quotes so as to
+prevent the shell from expanding any tildes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfilegroup\fI=group\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing file system objects with \fIgroup\fR as the owning
+group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfileowner=\fIuser\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing file system objects with \fIuser\fR as the owning
+user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmsgqid=\fIID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing message queue objects with the specified \fIID\fR
+where \fIID\fR is a message queue \fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmsgqgroup=\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing message queue objects with \fIgroup\fR as the owning
+or creating group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmsgqowner=\fIuser\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing message queue objects with \fIuser\fR as the owning
+or creating user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpid=\fIID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing process objects with the specified \fIID\fR where
+\fIID\fR is a process \fBID\fR. Process are objects when they are receivers of
+signals.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprocgroup=\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing process objects with \fIgroup\fR as the real or
+effective group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprocowner=\fIuser\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing process objects with \fIuser\fR as the real or
+effective user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsemid=\fIID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing semaphore objects with the specified \fIID\fR where
+\fIID\fR is a semaphore \fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsemgroup=\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing semaphore objects with \fIgroup\fR as the owning or
+creating group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsemowner=\fIuser\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing semaphore objects with \fIuser\fR as the owning or
+creating user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBshmid=\fIID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing shared memory objects with the specified \fIID\fR
+where \fIID\fR is a shared memory \fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBshmgroup=\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing shared memory objects with \fIgroup\fR as the owning
+or creating group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBshmowner=\fIuser\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing shared memory objects with \fIuser\fR as the owning
+or creating user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsock=\fIport_number|machine\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing socket objects with the specified \fIport_number\fR
+or the specified \fImachine\fR where \fImachine\fR is a machine name as defined
+in \fBhosts\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfmri=\fIservice instance\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records containing fault management resource identifier (FMRI) objects
+with the specified \fIservice instance\fR. See \fBsmf\fR(5).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIreal-user\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records with the specified \fIreal-user\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsession-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select audit records with the specified \fIsession-id\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIaudit-user\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records with the specified \fIaudit-user\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIzone-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select records from the specified zone name. The zone name selection is
+case-sensitive.
+.RE
+
+.sp
+.LP
+When one or more \fIfilename\fR arguments appear on the command line, only the
+named files are processed. Files specified in this way need not conform to the
+audit trail filename format. However, \fB-M\fR, \fB-S\fR, and \fB-R\fR must not
+be used when processing named files. If the \fIfilename\fR is ``\(mi'' then the
+input is taken from the standard input.
+.SS "Option Arguments"
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaudit-trail-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+An audit trail file as defined in \fBaudit.log\fR(4). An audit trail file not
+named on the command line must conform to the audit trail file name format.
+Audit trail files produced as output of \fBauditreduce\fR are in this format as
+well. The format is:
+.sp
+\fIstart-time . \|end-time . \|suffix\fR
+.sp
+\fIstart-time\fR is the 14 character time stamp denoting when the file was
+opened. \fIend-time\fR is the 14 character time stamp denoting when the file
+was closed. \fIend-time\fR can also be the literal string \fBnot_terminated\fR,
+indicating the file is still be written to by the audit daemon or the file was
+not closed properly (a system crash or abrupt halt occurred). \fIsuffix\fR is
+the name of the machine that generated the audit trail file (or some other
+meaningful suffix; for example, \fBall\fR would be a good suffix if the audit
+trail file contains a combined group of records from many machines).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdate-time\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIdate-time\fR argument to \fB-a\fR, \fB-b\fR, and \fB-d\fR can be of two
+forms: An absolute \fIdate-time\fR takes the form:
+.sp
+\fI\fR yyyymmdd [ \fIhh\fR [ \fImm\fR [ \fIss\fR ]]]
+.sp
+where \fIyyyy\fR specifies a year (with 1970 as the earliest value), \fImm\fR
+is the month (01-12), \fBdd\fR is the day (01-31), \fIhh\fR is the hour
+(00-23), \fImm\fR is the minute (00-59), and \fIss\fR is the second (00-59).
+The default is 00 for \fIhh\fR, \fImm\fR and \fIss\fR.
+.sp
+An offset can be specified as: \fB+\fR\fIn\fR \fBd\fR|\fBh\fR|\fBm\fR| \fBs\fR
+where \fIn\fR is a number of units, and the tags \fBd\fR, \fBh\fR, \fBm\fR, and
+\fBs\fR stand for days, hours, minutes and seconds, respectively. An offset is
+relative to the starting time. Thus, this form can only be used with the
+\fB-b\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIevent\fR\fR
+.ad
+.sp .6
+.RS 4n
+The literal string or ordinal event number as found in \fBaudit_event\fR(4). If
+\fIevent\fR is not found in the \fBaudit_event\fR file it is considered
+invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+The literal string or ordinal group ID number as found in \fBgroup\fR(4). If
+\fIgroup\fR is not found in the \fBgroup\fR file it is considered invalid.
+\fIgroup\fR can be negative.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+The literal string representation of a MAC label or a range of two valid MAC
+labels. To specify a range, use \fBx;y\fR where \fBx\fR and \fBy\fR are valid
+MAC labels. Only those records that are fully bounded by \fBx\fR and \fBy\fR
+will be selected. If \fBx\fR or \fBy\fR is omitted, the default uses
+\fBADMIN_LOW\fR or \fBADMIN_HIGH\fR respectively. Notice that quotes must be
+used when specifying a range.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+A regular expression describing a pathname.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIuser\fR\fR
+.ad
+.sp .6
+.RS 4n
+The literal username or ordinal user ID number as found in \fBpasswd\fR(4). If
+the username is not found in the \fBpasswd\fR file it is considered invalid.
+\fIuser\fR can be negative.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRThe auditreduce command
+.sp
+.LP
+\fBpraudit\fR(1M) is available to display audit records in a human-readable
+form.
+
+.sp
+.LP
+This will display the entire audit trail in a human-readable form:
+
+.sp
+.in +2
+.nf
+% auditreduce | praudit
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If all the audit trail files are being combined into one large file, then
+deleting the original files could be desirable to prevent the records from
+appearing twice:
+
+.sp
+.in +2
+.nf
+% auditreduce -V -D /etc/security/audit/combined/all
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This displays what user \fBmilner\fR did on April 13, 1988. The output is
+displayed in a human-readable form to the standard output:
+
+.sp
+.in +2
+.nf
+% auditreduce -d 19880413 -u milner | praudit
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The above example might produce a large volume of data if \fBmilner\fR has been
+busy. Perhaps looking at only login and logout times would be simpler. The
+\fB-c\fR option will select records from a specified class:
+
+.sp
+.in +2
+.nf
+% auditreduce -d 19880413 -u milner -c lo | praudit
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To see \fBmilner\fR's login/logout activity for April 13, 14, and 15, the
+following is used. The results are saved to a file in the current working
+directory. Notice that the name of the output file will have \fBmilnerlo\fR as
+the \fIsuffix\fR, with the appropriate timestamp prefixes. Notice also that the
+long form of the name is used for the \fB-c\fR option:
+
+.sp
+.in +2
+.nf
+% auditreduce -a 19880413 -b +3d -u milner -c login_logout -O milnerlo
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To follow \fBmilner\fR's movement about the file system on April 13, 14, and 15
+the \fBchdir\fR record types could be viewed. Notice that in order to get the
+same time range as the above example we needed to specify the \fB-b\fR time as
+the day \fBafter\fR our range. This is because \fB19880416\fR defaults to
+midnight of that day, and records before that fall on \fB0415\fR, the end-day
+of the range.
+
+.sp
+.in +2
+.nf
+% auditreduce -a 19880413 -b 19880416 -u milner -m AUE_CHDIR | praudit
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the audit records are being collected in summary form (the
+login/logout records only). The records are being written to a summary file in
+a different directory than the normal audit root to prevent the selected
+records from existing twice in the audit root.
+
+.sp
+.in +2
+.nf
+% auditreduce -d 19880330 -c lo -O /etc/security/audit_summary/logins
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If activity for user \fBID\fR 9944 has been observed, but that user is not
+known to the system administrator, then the command in the following example
+searches the entire audit trail for any records generated by that user.
+\fBauditreduce\fR queries the system about the current validity of \fBID\fR
+9944 and displays a warning message if it is not currently active:
+
+.sp
+.in +2
+.nf
+% auditreduce -O /etc/security/audit_suspect/user9944 -u 9944
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To get an audit log of only the global zone:
+
+.sp
+.in +2
+.nf
+% auditreduce -z global
+.fi
+.in -2
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/audit/\fR\fIserver\fR\fB/files/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+location of audit trails, when stored
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command invocation is Stable. The binary file format is Stable. The binary
+file contents is Unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBbsmconv\fR(1M), \fBpraudit\fR(1M), \fBaudit.log\fR(4), \fBaudit_class\fR(4),
+\fBaudit_control\fR(4), \fBgroup\fR(4), \fBhosts\fR(4), \fBpasswd\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+See the section on Solaris Auditing in \fISystem Administration Guide: Security
+Services\fR.
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBauditreduce\fR displays error messages if there are command line errors and
+then exits. If there are fatal errors during the run, \fBauditreduce\fR
+displays an explanatory message and exits. In this case, the output file might
+be in an inconsistent state (no trailer or partially written record) and
+\fBauditreduce\fR displays a warning message before exiting. Successful
+invocation returns \fB0\fR and unsuccessful invocation returns \fB1\fR.
+.sp
+.LP
+Since \fBauditreduce\fR might be processing a large number of input files, it
+is possible that the machine-wide limit on open files will be exceeded. If this
+happens, \fBauditreduce\fR displays a message to that effect, give information
+on how many file there are, and exit.
+.sp
+.LP
+If \fBauditreduce\fR displays a record's timestamp in a diagnostic message,
+that time is in local time. However, when filenames are displayed, their
+timestamps are in \fBGMT\fR.
+.SH BUGS
+.sp
+.LP
+Conjunction, disjunction, negation, and grouping of record selection options
+should be allowed.
+.SH NOTES
+.sp
+.LP
+The functionality described in this man page is available only if the Solaris
+Auditing has been enabled. See \fBbsmconv\fR(1M) for more information.
+.sp
+.LP
+The \fB-z\fR option should be used only if the audit policy \fBzonename\fR is
+set. If there is no zonename token, then no records will be selected.
diff --git a/usr/src/man/man1m/auditstat.1m b/usr/src/man/man1m/auditstat.1m
new file mode 100644
index 0000000000..661d1229be
--- /dev/null
+++ b/usr/src/man/man1m/auditstat.1m
@@ -0,0 +1,251 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH auditstat 1M "16 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+auditstat \- display kernel audit statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBauditstat\fR [\fB-c\fR \fIcount\fR] [\fB-h\fR \fInumlines\fR] [\fB-i\fR \fIinterval\fR] [\fB-n\fR]
+ [\fB-T\fR u | d ] [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBauditstat\fR displays kernel audit statistics. The fields displayed are as
+follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaud\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of audit records processed by the \fBaudit\fR(2) system call.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBctl\fR\fR
+.ad
+.RS 8n
+.rt
+This field is obsolete.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdrop\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of audit records that have been dropped. Records are dropped
+according to the kernel audit policy. See \fBauditon\fR(2), \fBAUDIT_CNT\fR
+policy for details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenq\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of audit records put on the kernel audit queue.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgen\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of audit records that have been constructed (not the number
+written).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkern\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of audit records produced by user processes (as a result of
+system calls).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmem\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of Kbytes of memory currently in use by the kernel audit
+module.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnona\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of non-attributable audit records that have been constructed.
+These are audit records that are not attributable to any particular user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrblk\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of times that the audit queue has blocked waiting to process
+audit data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtot\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of Kbytes of audit data written to the audit trail.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwblk\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of times that user processes blocked on the audit queue at the
+high water mark.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwrtn\fR\fR
+.ad
+.RS 8n
+.rt
+The total number of audit records written. The difference between \fBenq\fR and
+\fBwrtn\fR is the number of outstanding audit records on the audit queue that
+have not been written.
+.RE
+
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcount\fR\fR
+.ad
+.RS 15n
+.rt
+Display the statistics a total of \fIcount\fR times. If \fIcount\fR is equal to
+zero, statistics are displayed indefinitely. A time interval must be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fInumlines\fR\fR
+.ad
+.RS 15n
+.rt
+Display a header for every \fInumlines\fR of statistics printed. The default is
+to display the header every 20 lines. If \fInumlines\fR is equal to zero, the
+header is never displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterval\fR\fR
+.ad
+.RS 15n
+.rt
+Display the statistics every \fIinterval\fR where \fIinterval\fR is the number
+of seconds to sleep between each collection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 15n
+.rt
+Display the number of kernel audit events currently configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.RS 15n
+.rt
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 15n
+.rt
+Display the version number of the kernel audit module software.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+\fBauditstat\fR returns \fB0\fR upon success and \fB1\fR upon failure.
+.SH SEE ALSO
+.sp
+.LP
+\fBauditconfig\fR(1M), \fBpraudit\fR(1M), \fBbsmconv\fR(1M), \fBaudit\fR(2),
+\fBauditon\fR(2), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The functionality described in this man page is available only if Solaris
+Auditing has been enabled. See \fBbsmconv\fR(1M) for more information.
diff --git a/usr/src/man/man1m/automount.1m b/usr/src/man/man1m/automount.1m
new file mode 100644
index 0000000000..067eb157ea
--- /dev/null
+++ b/usr/src/man/man1m/automount.1m
@@ -0,0 +1,718 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH automount 1M "28 Mar 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+automount \- install automatic mount points
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/automount\fR [\fB-t\fR \fIduration\fR] [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBautomount\fR utility installs \fBautofs\fR mount points and associates
+an automount map with each mount point. It starts the \fBautomountd\fR(1M)
+daemon if it finds any non-trivial entries in either local or distributed
+automount maps and if the daemon is not already running. The \fBautofs\fR file
+system monitors attempts to access directories within it and notifies the
+\fBautomountd\fR(1M) daemon. The daemon uses the map to locate a file system,
+which it then mounts at the point of reference within the \fBautofs\fR file
+system. A map can be assigned to an \fBautofs\fR mount using an entry in the
+\fB/etc/auto_master\fR map or a direct map.
+.sp
+.LP
+If the file system is not accessed within an appropriate interval (\fB10\fR
+minutes by default), the \fBautomountd\fR daemon unmounts the file system.
+.sp
+.LP
+The file \fB/etc/auto_master\fR determines the locations of all \fBautofs\fR
+mount points. By default, this file contains three entries:
+.sp
+.in +2
+.nf
+# Master map for automounter
+#
++auto_master
+/net -hosts -nosuid
+/home auto_home
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fB+auto_master\fR entry is a reference to an external \fBNIS\fR or
+\fBNIS+\fR master map. If one exists, then its entries are read as if they
+occurred in place of the \fB+auto_master\fR entry. The remaining entries in the
+master file specify a directory on which an \fBautofs\fR mount will be made
+followed by the automounter map to be associated with it. Optional mount
+options may be supplied as an optional third field in the each entry. These
+options are used for any entries in the map that do not specify mount options
+explicitly. The \fBautomount\fR command is usually run without arguments. It
+compares the entries \fB/etc/auto_master\fR with the current list of
+\fBautofs\fR mounts in \fB/etc/mnttab\fR and adds, removes or updates
+\fBautofs\fR mounts to bring the \fB/etc/mnttab\fR up to date with the
+\fB/etc/auto_master\fR. At boot time it installs all \fBautofs\fR mounts from
+the master map. Subsequently, it may be run to install \fBautofs\fR mounts for
+new entries in the master map or the direct map, or to perform unmounts for
+entries that have been removed from these maps.
+.SS "Automount with Solaris Trusted Extensions"
+.sp
+.LP
+If a system is configured with Solaris Trusted Extensions, additional
+processing is performed to facilitate multilevel home directory access. A list
+of zones whose labels are dominated by the current zone is generated and
+default \fBauto_home\fR automount maps are generated if they do not currently
+exist. These automount maps are named \fBauto_home_\fR\fI<zonename>\fR, where
+\fI<zonename>\fR is the name of each zone's lower-level zone. An \fBautofs\fR
+mount of each such \fBauto_home\fR map is then performed, regardless of whether
+it is explicitly or implicitly listed in the master map. Instead of
+\fBautofs\fR mounting the standard \fBauto_home\fR map, the zone uses an
+\fBauto_home\fR file appended with its own zone name. Each zone's
+\fBauto_home\fR map is uniquely named so that it can be maintained and shared
+by all zones using a common name server.
+.sp
+.LP
+By default, the home directories of lower-level zones are mounted read-only
+under \fB/zone/\fI<zonename>\fR/export/home\fR when each zone is booted. The
+default \fBauto_home_\fR\fI<zonename>\fR automount map specifies that path as
+the source directory for an \fBlofs\fR remount onto
+\fB/zone/\fI<zonename>\fR/home/\fI<username>\fR\fR. For example, the file
+\fBauto_home_public\fR, as generated from a higher level zone would contain:
+.sp
+.LP
++auto_home_public
+.sp
+.LP
+* -fstype=lofs :/zone/public/export/home/&
+.sp
+.LP
+When a home directory is referenced and the name does not match any other keys
+in the \fBauto_home_public\fR map, it will match this loopback mount
+specification. If this loopback match occurs and the name corresponds to a
+valid user whose home directory does not exist in the public zone, the
+directory is automatically created on behalf of the user.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIduration\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies a \fIduration\fR, in seconds, that a file system is to remain mounted
+when not in use. The default is \fB10\fR minutes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 15n
+.rt
+Verbose mode. Notifies of \fBautofs\fR mounts, unmounts, or other non-essential
+information.
+.RE
+
+.SH USAGE
+.SS "Map Entry Format"
+.sp
+.LP
+A simple map entry (mapping) takes the form:
+.sp
+.in +2
+.nf
+key [ -\fImount-options\fR ] \fIlocation\fR .\|.\|.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fBkey\fR is the full pathname of the directory to mount when used in a
+direct map, or the simple name of a subdirectory in an indirect map.
+\fImount-options\fR is a comma-separated list of \fBmount\fR options, and
+\fIlocation\fR specifies a file system from which the directory may be mounted.
+In the case of a simple \fBNFS\fR mount, the options that can be used are as
+specified in \fBmount_nfs\fR(1M), and \fIlocation\fR takes the form:
+.sp
+.in +2
+.nf
+\fIhost\fR\fB:\|\fR\fIpathname\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fIhost\fR is the name of the host from which to mount the file system, and
+\fIpathname\fR is the absolute pathname of the directory to mount.
+.sp
+.LP
+Options to other file systems are documented on the other \fBmount_*\fR
+reference manual pages, for example, \fBmount_cachefs\fR(1M).
+.SS "Replicated File Systems"
+.sp
+.LP
+Multiple \fIlocation\fR fields can be specified for replicated \fBNFS\fR file
+systems, in which case \fBautomount\fR and the kernel will each try to use that
+information to increase availability. If the read-only flag is set in the map
+entry, \fBautomountd\fR mounts a list of locations that the kernel may use,
+sorted by several criteria. Only locations available at mount time will be
+mounted, and thus be available to the kernel. When a server does not respond,
+the kernel will switch to an alternate server. The sort ordering of
+\fBautomount\fR is used to determine how the next server is chosen. If the
+read-only flag is not set, \fBautomount\fR will mount the best single location,
+chosen by the same sort ordering, and new servers will only be chosen when an
+unmount has been possible, and a remount is done. Servers on the same local
+subnet are given the strongest preference, and servers on the local net are
+given the second strongest preference. Among servers equally far away, response
+times will determine the order if no weighting factors (see below) are used.
+.sp
+.LP
+If the list includes server locations using both the \fBNFS\fR Version 2
+Protocol and the \fBNFS\fR Version 3 Protocol, \fBautomount\fR will choose only
+a subset of the server locations on the list, so that all entries will be the
+same protocol. It will choose servers with the \fBNFS\fR Version 3 Protocol so
+long as an \fBNFS\fR Version 2 Protocol server on a local subnet will not be
+ignored. See the \fI\fR for additional details.
+.sp
+.LP
+If each \fIlocation\fR in the list shares the same \fIpathname\fR then a single
+\fIlocation\fR may be used with a comma-separated list of hostnames:
+.sp
+.in +2
+.nf
+\fBhostname\fR\fB,\fR\fBhostname\fR\|.\|.\|.\|\fB:\fR\|\fIpathname\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Requests for a server may be weighted, with the weighting factor appended to
+the server name as an integer in parentheses. Servers without a weighting are
+assumed to have a value of zero (most likely to be selected). Progressively
+higher values decrease the chance of being selected. In the example,
+.sp
+.in +2
+.nf
+\fBman\fR -ro \fBalpha,bravo,charlie(1),delta(4)\|:\|/usr/man\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+hosts \fBalpha\fR and \fBbravo\fR have the highest priority; host \fBdelta\fR
+has the lowest.
+.sp
+.LP
+Server proximity takes priority in the selection process. In the example above,
+if the server \fBdelta\fR is on the same network segment as the client, but the
+others are on different network segments, then \fBdelta\fR will be selected;
+the weighting value is ignored. The weighting has effect only when selecting
+between servers with the same network proximity. The automounter always selects
+the localhost over other servers on the same network segment, regardless of
+weighting.
+.sp
+.LP
+In cases where each server has a different export point, the weighting can
+still be applied. For example:
+.sp
+.in +2
+.nf
+man -ro alpha:/usr/man bravo,charlie(1):/usr/share/man
+ delta(3):/export/man
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A mapping can be continued across input lines by escaping the \fBNEWLINE\fR
+with a backslash (\e) Comments begin with a number sign (\fB#\fR) and end at
+the subsequent NEWLINE.
+.SS "Map Key Substitution"
+.sp
+.LP
+The ampersand (\fB&\fR) character is expanded to the value of the \fBkey\fR
+field for the entry in which it occurs. In this case:
+.sp
+.in +2
+.nf
+\fBjane\fR \fBsparcserver\|:\|/home/&\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+the \fB&\fR expands to \fBjane\fR.
+.SS "Wildcard Key"
+.sp
+.LP
+The asterisk (\fB*\fR) character, when supplied as the \fBkey\fR field, is
+recognized as the catch-all entry. Such an entry will match any key not
+previously matched. For instance, if the following entry appeared in the
+indirect map for \fB/config\fR:
+.sp
+.in +2
+.nf
+* &\|:\|/export/config/&
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+this would allow automatic mounts in \fB/config\fR of any remote file system
+whose location could be specified as:
+.sp
+.in +2
+.nf
+hostname\|:\|/export/config/hostname
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that the wildcard key does not work in conjunction with the \fB-browse\fR
+option.
+.SS "Variable Substitution"
+.sp
+.LP
+Client specific variables can be used within an \fBautomount\fR map. For
+instance, if \fB$HOST\fR appeared within a map, \fBautomount\fR would expand it
+to its current value for the client's host name. Supported variables are:
+.sp
+
+.sp
+.TS
+tab();
+lw(1.07i) lw(2.6i) lw(1.83i)
+lw(1.07i) lw(2.6i) lw(1.83i)
+.
+\fBARCH\fRThe output of \fBarch\fRT{
+The architecture name. For example, \fBsun4\fR on a sun4u machine.
+T}
+\fBCPU\fRThe output of \fBuname\fR \fB-p\fRThe processor type.
+For example, "sparc"
+\fBHOST\fRThe output of \fBuname\fR \fB-n\fRThe host name.
+For example, \fBmyhost\fR.
+\fBKARCH\fRThe output of \fBarch -k\fR or \fBuname -m\fRT{
+The kernel architecture name or machine hardware name. For example, \fBsun4u\fR.
+T}
+
+\fBOSNAME\fRThe output of \fBuname\fR \fB-s\fRThe OS name.
+For example, "SunOS"
+\fBOSREL\fRThe output of \fBuname\fR \fB-r\fRThe OS release name.
+For example "5.3"
+\fBOSVERS\fRThe output of \fBuname\fR \fB-v\fRThe OS version.
+For example, "beta1.0"
+\fBNATISA\fRThe output of \fBisainfo\fR \fB-n\fRT{
+The native instruction set architecture for the system.
+T}
+For example, "sparcv9"
+\fBPLATFORM\fRThe output of \fBuname -i\fRT{
+The platform name. For example, \fBSUNW,Sun-Fire-V240\fR.
+T}
+
+.TE
+
+.sp
+.LP
+If a reference needs to be protected from affixed characters, you can surround
+the variable name with curly braces (\fB\|{\|}\|\fR).
+.SS "Multiple Mounts"
+.sp
+.LP
+A multiple mount entry takes the form:
+.sp
+.in +2
+.nf
+key [\fI-mount-options\fR] [\|[\fImountpoint\fR] [\fI-mount-options\fR] \fIlocation\fR.\|.\|.\|]\|.\|.\|.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The initial \fB/\fR[\fImountpoint\fR\|] is optional for the first mount and
+mandatory for all subsequent mounts. The optional \fImountpoint\fR is taken as
+a pathname relative to the directory named by \fBkey\fR. If \fImountpoint\fR is
+omitted in the first occurrence, a \fImountpoint\fR of \fB/\fR (root) is
+implied.
+.sp
+.LP
+Given an entry in the indirect map for \fB/src\fR
+.sp
+.in +2
+.nf
+beta -ro\e
+ / svr1,svr2:/export/src/beta \e
+ /1.0 svr1,svr2:/export/src/beta/1.0 \e
+ /1.0/man svr1,svr2:/export/src/beta/1.0/man
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+All offsets must exist on the server under \fBbeta\fR. \fBautomount\fR will
+automatically mount \fB/src/beta\fR, \fB/src/beta/1.0\fR, and
+\fB/src/beta/1.0/man\fR, as needed, from either \fBsvr1\fR or \fBsvr2\fR,
+whichever host is nearest and responds first.
+.SS "Other File System Types"
+.sp
+.LP
+The automounter assumes \fBNFS\fR mounts as a default file system type. Other
+file system types can be described using the \fBfstype\fR mount option. Other
+mount options specific to this file system type can be combined with the
+\fBfstype\fR option. The location field must contain information specific to
+the file system type. If the location field begins with a slash, a colon
+character must be prepended, for instance, to mount a CD file system:
+.sp
+.in +2
+.nf
+\fBcdrom -fstype=hsfs,ro :\|/dev/sr0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+or to perform an \fBautofs\fR mount:
+.sp
+.in +2
+.nf
+\fBsrc\fR \fB-fstype\fR\fB=autofs auto_src\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Use this procedure only if you are not using Volume Manager.
+.sp
+.LP
+Mounts using CacheFS are most useful when applied to an entire map as map
+defaults. The following entry in the master map describes cached home directory
+mounts. It assumes the default location of the cache directory, \fB/cache\fR.
+.sp
+.in +2
+.nf
+\fB/home auto_home\fR \fB-fstype\fR \fB=cachefs,backfstype=nfs\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See the \fBNOTES\fR section for information on option inheritance.
+.SS "Indirect Maps"
+.sp
+.LP
+An indirect map allows you to specify mappings for the subdirectories you wish
+to mount under the \fBdirectory\fR indicated on the command line. In an
+indirect map, each \fBkey\fR consists of a simple name that refers to one or
+more file systems that are to be mounted as needed.
+.SS "Direct Maps"
+.sp
+.LP
+Entries in a direct map are associated directly with \fBautofs\fR mount points.
+Each \fIkey\fR is the full pathname of an \fBautofs\fR mount point. The direct
+map as a whole is not associated with any single directory.
+.sp
+.LP
+Direct maps are distinguished from indirect maps by the \fB/-\fR key. For
+example:
+.sp
+.in +2
+.nf
+# Master map for automounter
+#
++auto_master
+/net -hosts -nosuid,nobrowse
+/home auto_home -nobrowse
+/- auto_direct
+.fi
+.in -2
+.sp
+
+.SS "Included Maps"
+.sp
+.LP
+The contents of another map can be included within a map with an entry of the
+form
+.sp
+.in +2
+.nf
++\fImapname\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If \fImapname\fR begins with a slash, it is assumed to be the pathname of a
+local file. Otherwise, the location of the map is determined by the policy of
+the name service switch according to the entry for the automounter in
+\fB/etc/nsswitch.conf\fR, such as
+.sp
+.in +2
+.nf
+automount: files nis
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the name service is \fBfiles\fR, then the name is assumed to be that of a
+local file in \fB/etc\fR. If the key being searched for is not found in the
+included map, the search continues with the next entry.
+.SS "Special Maps"
+.sp
+.LP
+There are two special maps available: \fB-hosts\fR and \fB-null\fR. The
+\fB-hosts\fR map is used with the \fB/net\fR directory and assumes that the map
+key is the hostname of an \fBNFS\fR server. The \fBautomountd\fR daemon
+dynamically constructs a map entry from the server's list of exported file
+systems. References to a directory under \fB/net/hermes\fR will refer to the
+corresponding directory relative to \fBhermes\fR root.
+.sp
+.LP
+The \fB-null\fR map cancels a previous map for the directory indicated. This is
+most useful in the \fB/etc/auto_master\fR for cancelling entries that would
+otherwise be inherited from the \fB+auto_master\fR include entry. To be
+effective, the \fB-null\fR entries must be inserted before the included map
+entry.
+.SS "Executable Maps"
+.sp
+.LP
+Local maps that have the execute bit set in their file permissions will be
+executed by the automounter and provided with a key to be looked up as an
+argument. The executable map is expected to return the content of an
+automounter map entry on its stdout or no output if the entry cannot be
+determined. A direct map cannot be made executable.
+.SS "Configuration and the auto_master Map"
+.sp
+.LP
+When initiated without arguments, \fBautomount\fR consults the master map for a
+list of \fBautofs\fR mount points and their maps. It mounts any \fBautofs\fR
+mounts that are not already mounted, and unmounts \fBautofs\fR mounts that have
+been removed from the master map or direct map.
+.sp
+.LP
+The master map is assumed to be called \fBauto_master\fR and its location is
+determined by the name service switch policy. Normally the master map is
+located initially as a local file \fB/etc/auto_master\fR.
+.SS "Browsing"
+.sp
+.LP
+The \fBautomount\fR daemon supports browsability of indirect maps. This allows
+all of the potential mount points to be visible, whether or not they are
+mounted. The \fB-nobrowse\fR option can be added to any indirect \fBautofs\fR
+map to disable browsing. For example:
+.sp
+.in +2
+.nf
+/net -hosts -nosuid,nobrowse
+/home auto_home
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this case, any \fIhostnames\fR would only be visible in \fB/net\fR after
+they are mounted, but all potential mount points would be visible under
+\fB/home\fR. The \fB-browse\fR option enables browsability of \fBautofs\fR file
+systems. This is the default for all indirect maps.
+.sp
+.LP
+The \fB-browse\fR option does not work in conjunction with the wildcard key.
+.SS "Restricting Mount Maps"
+.sp
+.LP
+Options specified for a map are used as the default options for all the entries
+in that map. They are ignored when map entries specify their own mount options.
+.sp
+.LP
+In some cases, however, it is desirable to force \fBnosuid\fR, \fBnodevices\fR,
+\fBnosetuid\fR, or \fBnoexec\fR for a complete mount map and its submounts.
+This can be done by specifying the additional mount option, \fB-restrict\fR.
+.sp
+.in +2
+.nf
+ /home auto_home -restrict,nosuid,hard
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fB-restrict\fR option forces the inheritance of all the restrictive
+options \fBnosuid\fR, \fBnodevices\fR, \fBnosetuid\fR, and \fBnoexec\fR as well
+as the restrict option itself. In this particular example, the \fBnosuid\fR and
+\fBrestrict\fR option are inherited but the \fBhard\fR option is not. The
+\fBrestrict\fR option also prevents the execution of "executable maps" and is
+enforced for auto mounts established by programs with fewer than all privileges
+available in their zone.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/auto_master\fR\fR
+.ad
+.RS 23n
+.rt
+Master automount map.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/auto_home\fR\fR
+.ad
+.RS 23n
+.rt
+Map to support automounted home directories.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/autofs\fR\fR
+.ad
+.RS 23n
+.rt
+Supplies default values for parameters for \fBautomount\fR and
+\fBautomountd\fR. See \fBautofs\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.conf\fR\fR
+.ad
+.RS 23n
+.rt
+Name service switch configuration file. See \fBnsswitch.conf\fR(4).
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBisainfo\fR(1), \fBls\fR(1), \fBsvcs\fR(1), \fBuname\fR(1),
+\fBautomountd\fR(1M), \fBmount\fR(1M), \fBmount_cachefs\fR( 1M),
+\fBmount_nfs\fR(1M), \fBsvcadm\fR(1M), \fBautofs\fR(4), \fBattributes\fR(5),
+\fBnfssec\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+\fBautofs\fR mount points must not be hierarchically related. \fBautomount\fR
+does not allow an \fBautofs\fR mount point to be created within another
+\fBautofs\fR mount.
+.sp
+.LP
+Since each direct map entry results in a new \fBautofs\fR mount such maps
+should be kept short.
+.sp
+.LP
+Entries in both direct and indirect maps can be modified at any time. The new
+information is used when \fBautomountd\fR next uses the map entry to do a
+mount.
+.sp
+.LP
+New entries added to a master map or direct map will not be useful until the
+automount command is run to install them as new \fBautofs\fR mount points. New
+entries added to an indirect map may be used immediately.
+.sp
+.LP
+As of the Solaris 2.6 release, a listing (see \fBls\fR(1)) of the \fBautofs\fR
+directory associated with an indirect map shows all potential mountable
+entries. The attributes associated with the potential mountable entries are
+temporary. The real file system attributes will only be shown once the file
+system has been mounted.
+.sp
+.LP
+Default mount options can be assigned to an entire map when specified as an
+optional third field in the master map. These options apply only to map entries
+that have no mount options. Note that map entities with options override the
+default options, as at this time, the options do not concatenate. The
+concatenation feature is planned for a future release.
+.sp
+.LP
+When operating on a map that invokes an NFS mount, the default number of
+retries for the automounter is 0, that is, a single mount attempt, with no
+retries. Note that this is significantly different from the default (10000) for
+the \fBmount_nfs\fR(1M) utility.
+.sp
+.LP
+The Network Information Service (NIS) was formerly known as Sun Yellow Pages
+(YP). The functionality of the two remains the same.
+.sp
+.LP
+The \fBautomount\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/filesystem/autofs:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/automountd.1m b/usr/src/man/man1m/automountd.1m
new file mode 100644
index 0000000000..b6a168bda8
--- /dev/null
+++ b/usr/src/man/man1m/automountd.1m
@@ -0,0 +1,138 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH automountd 1M "3 Mar 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+automountd \- autofs mount/unmount daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBautomountd\fR [\fB-Tvn\fR] [\fB-D\fR \fIname=value\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBautomountd\fR is an \fBRPC\fR server that answers file system mount and
+unmount requests from the \fBautofs\fR file system. It uses local files or name
+service maps to locate file systems to be mounted. These maps are described
+with the \fBautomount\fR(1M) command.
+.sp
+.LP
+If \fBautomount\fR finds any non-trivial entries in either the local or
+distributed automount maps and if the daemon is not running already, the
+\fBautomountd\fR daemon is automatically invoked by \fBautomount\fR(1M).
+\fBautomountd\fR enables the \fBsvc:/network/nfs/nlockmgr\fR service
+(\fBlockd\fR(1M)), and the \fBsvc:/network/nfs/status\fR service
+(\fBstatd\fR(1M)), if NFS mounts need to be done.
+.sp
+.LP
+At startup, the \fBautomountd\fR daemon is invoked as is invoked as the
+\fBsystem/filesystem/autofs:default\fR service. See NOTES.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIname=value\fR\fR
+.ad
+.RS 17n
+.rt
+Assign \fIvalue\fR to the indicated \fBautomount\fR map substitution variable.
+These assignments cannot be used to substitute variables in the master map
+\fBauto_master\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 17n
+.rt
+Turn off browsing for all \fBautofs\fR mount points. This option overrides the
+\fB-browse\fR \fBautofs\fR map option on the local host.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.RS 17n
+.rt
+Trace. Expand each \fBRPC\fR call and display it on the standard output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 17n
+.rt
+Verbose. Log status messages to the console.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBautomountd\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/auto_master\fR\fR
+.ad
+.RS 23n
+.rt
+Master map for automounter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/autofs\fR\fR
+.ad
+.RS 23n
+.rt
+Supplies default values for parameters for \fBautomount\fR and
+\fBautomountd\fR. See \fBautofs\fR(4).
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBautomount\fR(1M), \fBsvcadm\fR(1M), \fBautofs\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBautomountd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/filesystem/autofs
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using \fBsvcs\fR(1). If it is disabled, it is enabled by
+\fBautomount\fR(1M) unless the \fBapplication/auto_enable\fR property is set to
+\fBfalse\fR.
diff --git a/usr/src/man/man1m/autopush.1m b/usr/src/man/man1m/autopush.1m
new file mode 100644
index 0000000000..e6ca0c9114
--- /dev/null
+++ b/usr/src/man/man1m/autopush.1m
@@ -0,0 +1,202 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH autopush 1M "15 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+autopush \- configures lists of automatically pushed STREAMS modules
+.SH SYNOPSIS
+.LP
+.nf
+\fBautopush\fR \fB-f\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fBautopush\fR \fB-g\fR \fB-M\fR \fImajor\fR \fB-m\fR \fIminor\fR
+.fi
+
+.LP
+.nf
+\fBautopush\fR \fB-r\fR \fB-M\fR \fImajor\fR \fB-m\fR \fIminor\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBautopush\fR command configures the list of modules to be automatically
+pushed onto the stream when a device is opened. It can also be used to remove a
+previous setting or get information on a setting.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets up the \fBautopush\fR configuration for each driver according to the
+information stored in \fIfilename\fR. An \fBautopush\fR file consists of lines
+of four or more fields, separated by spaces as shown below:
+.sp
+.in +2
+.nf
+\fImajor minor last-minor module1 module2 \|.\|.\|. module8\fR
+.fi
+.in -2
+.sp
+
+The first field is a string that specifies the \fImajor\fR device name, as
+listed in the \fB/kernel/drv\fR directory. The next two fields are integers
+that specify the \fIminor\fR device number and \fIlast-minor\fR device number.
+The fields following represent the names of modules. If \fIminor\fR is
+\fB\(mi1\fR, then all minor devices of a major driver specified by \fImajor\fR
+are configured, and the value for \fIlast-minor\fR is ignored. If
+\fIlast-minor\fR is \fB0\fR, then only a single minor device is configured. To
+configure a range of minor devices for a particular major, \fIminor\fR must be
+less than \fIlast-minor\fR.
+.sp
+The remaining fields list the names of modules to be automatically pushed onto
+the stream when opened, along with the position of an optional anchor. The
+maximum number of modules that can be pushed is eight. The modules are pushed
+in the order they are specified. The optional special character sequence
+\fB[anchor]\fR indicates that a STREAMS anchor should be placed on the stream
+at the module previously specified in the list; it is an error to specify more
+than one anchor or to have an anchor first in the list.
+.sp
+A nonzero exit status indicates that one or more of the lines in the specified
+file failed to complete successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Gets the current configuration setting of a particular \fImajor\fR and
+\fIminor\fR device number specified with the \fB-M\fR and \fB-m\fR options
+respectively and displays the autopush modules associated with it. It will also
+return the starting minor device number if the request corresponds to a setting
+of a range (as described with the \fB-f\fR option).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIminor\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the minor device number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fImajor\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the major device number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes the previous configuration setting of the particular \fImajor\fR and
+\fIminor\fR device number specified with the \fB-M\fR and \fB-m\fR options
+respectively. If the values of \fImajor\fR and \fIminor\fR correspond to a
+previously established setting of a range of minor devices, where \fIminor\fR
+matches the first minor device number in the range, the configuration would be
+removed for the entire range.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBautopush\fR command.
+.sp
+.LP
+The following example gets the current configuration settings for the
+\fImajor\fR and \fIminor\fR device numbers as indicated and displays the
+\fBautopush\fR modules associated with them for the character-special device
+\fB/dev/term/a:\fR
+
+.sp
+.in +2
+.nf
+example# autopush \fB-g\fR \fB-M\fR 29 \fB-m\fR 0
+Major Minor Lastminor Modules
+ 29 0 1 ldterm ttcompat
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.LP
+\fB/etc/iu.ap\fR
+.SH SEE ALSO
+.sp
+.LP
+\fBdladm\fR(1M), \fBttymon\fR(1M), \fBattributes\fR(5), \fBldterm\fR(7M),
+\fBsad\fR(7D), \fB streamio\fR(7I), \fBttcompat\fR(7M)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The use of the \fBautopush\fR command is obsolete for networking data-links.
+The preferred method of configuring a list of automatically pushed STREAMS
+modules on a given networking data-link interface is the \fBdladm\fR(1M)
+\fBautopush\fR link property.
+.sp
+.LP
+Because network devices are self-cloning, the \fBautopush\fR command is
+inadequate for networking devices. The granularity of the \fBautopush\fR
+command's configuration is driver-wide, and not per-interface as one might
+expect. Another reason not to use \fBautopush\fR is that administrators are
+more familiar with the names of their network interfaces than with device major
+and minor numbers. The \fBdladm\fR(1M) command allows the configuration using
+data-link interface names.
diff --git a/usr/src/man/man1m/bart.1m b/usr/src/man/man1m/bart.1m
new file mode 100644
index 0000000000..1149e794b8
--- /dev/null
+++ b/usr/src/man/man1m/bart.1m
@@ -0,0 +1,704 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH bart 1M "26 Oct 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+bart \- basic audit reporting tool
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/bart\fR create [ \fB-n\fR] [\fB-R\fR \fIroot_directory\fR]
+ [\fB-r\fR \fIrules_file\fR | -]
+.fi
+
+.LP
+.nf
+\fB/usr/bin/bart\fR create [\fB-n\fR] [\fB-R\fR \fIroot_directory\fR] \fB-I\fR
+ [\fIfile_name\fR]...
+.fi
+
+.LP
+.nf
+\fB/usr/bin/bart\fR compare [\fB-i\fR \fIattribute\fR ] [\fB-p\fR]
+ [\fB-r\fR \fIrules_file\fR | -] \fIcontrol-manifest\fR \fItest-manifest\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBbart\fR(1M) is a tool that performs a file-level check of the software
+contents of a system.
+.sp
+.LP
+You can also specify the files to track and the types of discrepancies to flag
+by means of a rules file, \fBbart_rules\fR. See \fBbart_rules\fR(4).
+.sp
+.LP
+The \fBbart\fR utility performs two basic functions:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbart create\fR\fR
+.ad
+.RS 16n
+.rt
+The manifest generator tool takes a file-level \fBsnapshot\fR of a system. The
+output is a catalog of file attributes referred to as a \fBmanifest\fR. See
+\fBbart_manifest\fR(4).
+.sp
+You can specify that the list of files be cataloged in three ways. Use \fBbart
+create\fR with no options, specify the files by name on the command line, or
+create a rules file with directives that specify which the files to monitor.
+See \fBbart_rules\fR(4).
+.sp
+By default, the manifest generator catalogs all attributes of all files in the
+root (\fB/\fR) file system. File systems mounted on the root file system are
+cataloged only if they are of the same type as the root file system.
+.sp
+For example, \fB/\fR, \fB/usr\fR, and \fB/opt\fR are separate UFS file systems.
+\fB/usr\fR and \fB/opt\fR are mounted on \fB/\fR. Therefore, all three file
+systems are cataloged. However, \fB/tmp\fR, also mounted on \fB/\fR, is not
+cataloged because it is a TMPFS file system. Mounted CD-ROMs are not cataloged
+since they are HSFS file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbart compare\fR\fR
+.ad
+.RS 16n
+.rt
+The report tool compares two manifests. The output is a list of per-file
+attribute discrepancies. These discrepancies are the differences between two
+manifests: a control manifest and a test manifest.
+.sp
+A discrepancy is a change to any attribute for a given file cataloged by both
+manifests. A new file or a deleted file in a manifest is reported as a
+discrepancy.
+.sp
+The reporting mechanism provides two types of output: verbose and programmatic.
+Verbose output is localized and presented on multiple lines, while programmatic
+output is more easily parsable by other programs. See \fBOUTPUT\fR.
+.sp
+By default, the report tool generates verbose output where all discrepancies
+are reported except for modified directory timestamps (\fBdirmtime\fR
+attribute).
+.sp
+To ensure consistent and accurate comparison results, \fIcontrol-manifest\fR
+and \fItest-manifest\fR must be built with the same rules file.
+.RE
+
+.sp
+.LP
+Use the rules file to ignore specified files or subtrees when you generate a
+manifest or compare two manifests. Users can compare manifests from different
+perspectives by re-running the \fBbart compare\fR command with different rules
+files.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIattribute\fR ...\fR
+.ad
+.RS 21n
+.rt
+Specify the file attributes to be ignored globally. Specify attributes as a
+comma separated list.
+.sp
+This option produces the same behavior as supplying the file attributes to a
+global \fBIGNORE\fR keyword in the rules file. See \fBbart_rules\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR [\fIfile_name\fR...]\fR
+.ad
+.RS 21n
+.rt
+Specify the input list of files. The file list can be specified at the command
+line or read from standard input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 21n
+.rt
+Prevent computation of content signatures for all regular files in the file
+list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 21n
+.rt
+Display manifest comparison output in ``programmatic mode,'' which is suitable
+for programmatic parsing. The output is not localized.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrules_file\fR\fR
+.ad
+.RS 21n
+.rt
+Use \fIrules_file\fR to specify which files and directories to catalog, and to
+define which file attribute discrepancies to flag. If \fIrules_file\fR is
+\fB-\fR, then the rules are read from standard input. See \fBbart_rules\fR(4)
+for the definition of the syntax.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot_directory\fR\fR
+.ad
+.RS 21n
+.rt
+Specify the root directory for the manifest. All paths specified by the rules,
+and all paths reported in the manifest, are relative to \fIroot_directory\fR.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+bart allows quoting of operands. This is particularly important for white-space
+appearing in subtree and subtree modifier specifications.
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcontrol-manifest\fR\fR
+.ad
+.RS 20n
+.rt
+Specify the manifest created by \fBbart create\fR on the control system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItest-manifest\fR\fR
+.ad
+.RS 20n
+.rt
+Specify the manifest created by \fBbart create\fR on the test system.
+.RE
+
+.SH OUTPUT
+.sp
+.LP
+The \fBbart create\fR and \fBbart compare\fR commands write output to standard
+output, and write error messages to standard error.
+.sp
+.LP
+The \fBbart create\fR command generates a system manifest. See
+\fBbart_manifest\fR(4).
+.sp
+.LP
+When the \fBbart compare\fR command compares two system manifests, it generates
+a list of file differences. By default, the comparison output is localized.
+However, if the \fB-p\fR option is specified, the output is generated in a form
+that is suitable for programmatic manipulation.
+.SS "Default Format"
+.sp
+.in +2
+.nf
+\fIfilename\fR
+\fIattribute\fR control:\fIxxxx\fR test:\fIyyyy\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.RS 13n
+.rt
+Name of the file that differs between \fIcontrol-manifest\fR and
+\fItest-manifest\fR. For file names that contain embedded whitespace or newline
+characters, see \fBbart_manifest\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fR
+.ad
+.RS 13n
+.rt
+The name of the file attribute that differs between the manifests that are
+compared. \fIxxxx\fR is the attribute value from \fIcontrol-manifest\fR, and
+\fIyyyy\fR is the attribute value from \fItest-manifest\fR. When discrepancies
+for multiple attributes occur for the same file, each difference is noted on a
+separate line.
+.sp
+The following attributes are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBacl\fR
+.ad
+.RS 12n
+.rt
+ACL attributes for the file. For a file with ACL attributes, this field
+contains the output from \fBacltotext()\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBall\fR
+.ad
+.RS 12n
+.rt
+All attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcontents\fR
+.ad
+.RS 12n
+.rt
+Checksum value of the file. This attribute is only specified for regular files.
+If you turn off context checking or if checksums cannot be computed, the value
+of this field is \fB-\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdest\fR
+.ad
+.RS 12n
+.rt
+Destination of a symbolic link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdevnode\fR
+.ad
+.RS 12n
+.rt
+Value of the device node. This attribute is for character device files and
+block device files only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdirmtime\fR
+.ad
+.RS 12n
+.rt
+Modification time in seconds since 00:00:00 UTC, January 1, 1970 for
+directories.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgid\fR
+.ad
+.RS 12n
+.rt
+Numerical group ID of the owner of this entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlnmtime\fR
+.ad
+.RS 12n
+.rt
+Creation time for links.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmode\fR
+.ad
+.RS 12n
+.rt
+Octal number that represents the permissions of the file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmtime\fR
+.ad
+.RS 12n
+.rt
+Modification time in seconds since 00:00:00 UTC, January 1, 1970 for files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsize\fR
+.ad
+.RS 12n
+.rt
+File size in bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtype\fR
+.ad
+.RS 12n
+.rt
+Type of file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuid\fR
+.ad
+.RS 12n
+.rt
+Numerical user ID of the owner of this entry.
+.RE
+
+.RE
+
+.sp
+.LP
+The following default output shows the attribute differences for the
+\fB/etc/passwd\fR file. The output indicates that the \fBsize\fR, \fBmtime\fR,
+and \fBcontents\fR attributes have changed.
+.sp
+.in +2
+.nf
+/etc/passwd:
+ size control:74 test:81
+ mtime control:3c165879 test:3c165979
+ contents control:daca28ae0de97afd7a6b91fde8d57afa
+test:84b2b32c4165887355317207b48a6ec7
+.fi
+.in -2
+.sp
+
+.SS "Programmatic Format"
+.sp
+.in +2
+.nf
+\fIfilename\fR \fIattribute\fR \fIcontrol-val\fR \fItest-val\fR [\fIattribute\fR \fIcontrol-val\fR \fItest-val\fR]*
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Same as \fIfilename\fR in the default format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR \fIcontrol-val\fR \fItest-val\fR\fR
+.ad
+.sp .6
+.RS 4n
+A description of the file attributes that differ between the control and test
+manifests for each file. Each entry includes the attribute value from each
+manifest. See \fBbart_manifest\fR(4) for the definition of the attributes.
+.RE
+
+.sp
+.LP
+Each line of the programmatic output describes all attribute differences for a
+single file.
+.sp
+.LP
+The following programmatic output shows the attribute differences for the
+\fB/etc/passwd\fR file. The output indicates that the \fBsize\fR, \fBmtime\fR,
+and \fBcontents\fR attributes have changed.
+.sp
+.in +2
+.nf
+/etc/passwd size 74 81 mtime 3c165879 3c165979
+contents daca28ae0de97afd7a6b91fde8d57afa 84b2b32c4165887355317207b48a6ec7
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.SS "Manifest Generator"
+.sp
+.LP
+The manifest generator returns the following exit values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Success
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt
+Non-fatal error when processing files; for example, permission problems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>1\fR\fR
+.ad
+.RS 6n
+.rt
+Fatal error; for example, invalid command-line options
+.RE
+
+.SS "Report Tool"
+.sp
+.LP
+The report tool returns the following exit values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+No discrepancies reported
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt
+Discrepancies found
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>1\fR\fR
+.ad
+.RS 6n
+.rt
+Fatal error executing comparison
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Default Manifest Without Computing Checksums
+.sp
+.LP
+The following command line creates a default manifest, which consists of all
+files in the \fB/\fR file system. The \fB-n\fR option prevents computation of
+checksums, which causes the manifest to be generated more quickly.
+
+.sp
+.in +2
+.nf
+bart create -n
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a Manifest for a Specified Subtree
+.sp
+.LP
+The following command line creates a manifest that contains all files in the
+\fB/home/nickiso\fR subtree.
+
+.sp
+.in +2
+.nf
+bart create -R /home/nickiso
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating a Manifest by Using Standard Input
+.sp
+.LP
+The following command line uses output from the \fBfind\fR(1) command to
+generate the list of files to be cataloged. The \fBfind\fR output is used as
+input to the \fBbart create\fR command that specifies the \fB-I\fR option.
+
+.sp
+.in +2
+.nf
+find /home/nickiso -print | bart create -I
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRCreating a Manifest by Using a Rules File
+.sp
+.LP
+The following command line uses a rules file, \fBrules\fR, to specify the files
+to be cataloged.
+
+.sp
+.in +2
+.nf
+bart create -r rules
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRComparing Two Manifests and Generating Programmatic Output
+.sp
+.LP
+The following command line compares two manifests and produces output suitable
+for parsing by a program.
+
+.sp
+.in +2
+.nf
+bart compare -p manifest1 manifest2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRComparing Two Manifests and Specifying Attributes to Ignore
+.sp
+.LP
+The following command line compares two manifests. The \fBdirmtime\fR,
+\fBlnmtime\fR, and \fBmtime\fR attributes are not compared.
+
+.sp
+.in +2
+.nf
+bart compare -i dirmtime,lnmtime,mtime manifest1 manifest2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRComparing Two Manifests by Using a Rules File
+.sp
+.LP
+The following command line uses a rules file, \fBrules\fR, to compare two
+manifests.
+
+.sp
+.in +2
+.nf
+bart compare -r rules manifest1 manifest2
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcksum\fR(1), \fBdigest\fR(1), \fBfind\fR(1), \fBbart_manifest\fR(4),
+\fBbart_rules\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The file attributes of certain system libraries can be temporarily altered by
+the system as it boots. To avoid triggering false warnings, you should compare
+manifests only if they were both created with the system in the same state;
+that is, if both were created in single-user or both in multi-user.
diff --git a/usr/src/man/man1m/beadm.1m b/usr/src/man/man1m/beadm.1m
new file mode 100644
index 0000000000..8ccb754cf9
--- /dev/null
+++ b/usr/src/man/man1m/beadm.1m
@@ -0,0 +1,710 @@
+'\" te
+.TH beadm 1M "26 Feb 2011" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+beadm \- utility for managing zfs boot environments
+.SH SYNOPSIS
+.LP
+.nf
+\fBbeadm\fR create [\fB-a\fR] [\fB-d\fR \fIdescription\fR]
+ [\fB-e\fR \fInon-activeBeName\fR | \fIbeName@snapshot\fR]
+ [\fB-o\fR \fIproperty=value\fR] ... [\fB-p\fR \fIzpool\FI] \fIbeName\fR
+.fi
+
+.LP
+.nf
+\fBbeadm\fR \fBcreate\fR \fIbeName@snapshot\fR
+.fi
+
+.LP
+.nf
+\fBbeadm\fR \fBdestroy\fR [\fB-fF\fR] \fIbeName\fR | \fIbeName@snapshot\fR
+.fi
+
+.LP
+.nf
+\fBbeadm\fR \fBlist\fR [\fB-a\fR | \fB-ds\fR] [\fB-H\fR] [\fIbeName\fR]
+.fi
+
+.LP
+.nf
+\fBbeadm\fR \fBmount\fR \fIbeName\fR \fImountpoint\fR
+.fi
+
+.LP
+.nf
+\fBbeadm\fR \fBunmount\fR [\fB-f\fR] \fIbeName\fR
+.fi
+
+.LP
+.nf
+\fBbeadm\fR \fBrename\fR \fIbeName\fR \fInewBeName\fR
+.fi
+
+.LP
+.nf
+\fBbeadm\fR \fBactivate\fR \fIbeName\fR
+.fi
+
+.SH DESCRIPTION
+The \fBbeadm\fR command is the user interface for managing zfs Boot
+Environments (BEs). This utility is intended to be used by System
+Administrators who want to manage multiple Solaris Instances on a single
+system.
+.sp
+The \fBbeadm\fR command supports the following operations:
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Create a new BE, based on the active BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Create a new BE, based on an inactive BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Create a snapshot of an existing BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Create a new BE, based on an existing snapshot.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Create a new BE, and copy it to a different zpool.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Activate an existing, inactive BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Mount a BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Unmount a BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Destroy a BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Destroy a snapshot of a BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Rename an existing, inactive BE.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el -
+Display information about your snapshots and datasets.
+.RE
+.RE
+
+.SH SUBCOMMANDS
+The \fBbeadm\fR command has the subcommands and options listed
+below. Also see
+EXAMPLES below.
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR
+.ad
+.sp .6
+.RS 4n
+Displays command usage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR \fBcreate\fR [\fB-a\fR] [\fB-d\fR \fIdescription\fR]
+[\fB-e\fR \fInon-activeBeName\fR | \fIbeName@snapshot\fR]
+ [\fB-o\fR
+\fIproperty=value\fR] ... [\fB-p\fR \fIzpool\fR] \fIbeName\fR
+
+.ad
+.sp .6
+.RS 4n
+Creates a new boot environment named \fIbeName\fR. If the \fB-e\fR option is
+not
+provided, the new boot environment will be created as a clone of the
+currently
+running boot environment. If the \fB-d\fR option is provided then the
+description is
+also used as the title for the BE's entry in the GRUB menu for
+x86 systems or
+in the boot menu for SPARC systems. If the \fB-d\fR option is
+not provided, \fIbeName\fR
+will be used as the title.
+.sp
+.ne 2
+.mk
+.na
+\fB-a\fR
+.ad
+.sp .6
+.RS 4n
+Activate the newly created BE upon creation. The default is to not activate
+the newly created BE.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-d\fR \fIdescription\fR
+.ad
+.sp .6
+.RS 4n
+Create a new BE with a description associated with it.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-e\fR \fInon-activeBeName\fR
+.ad
+.sp .6
+.RS 4n
+Create a new BE from an existing inactive BE.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-e\fR \fIbeName@snapshot\fR
+.ad
+.sp .6
+.RS 4n
+Create a new BE from an existing snapshot of the BE named beName.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-o\fR \fIproperty=value\fR
+.ad
+.sp .6
+.RS 4n
+Create the datasets for new BE with specific ZFS properties. Multiple
+\fB-o\fR
+options can be specified. See \fBzfs\fR(1M) for more information on
+the
+\fB-o\fR option.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-p\fR \fIzpool\fR
+.ad
+.sp .6
+.RS 4n
+Create the new BE in the specified zpool. If this is not provided, the
+default
+behavior is to create the new BE in the same pool as as the origin BE.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR \fBcreate\fR \fIbeName@snapshot\fR
+.ad
+.sp .6
+.RS 4n
+Creates a snapshot of the existing BE named beName.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR \fBdestroy\fR [\fB-fF\fR] \fIbeName\fR | \fIbeName@snapshot\fR
+.ad
+.sp .6
+.RS 4n
+Destroys the boot environment named \fIbeName\fR or destroys an existing
+snapshot of
+the boot environment named \fIbeName@snapshot\fR. Destroying a
+boot environment
+will also destroy all snapshots of that boot environment. Use
+this command
+with caution.
+.sp
+.ne 2
+.mk
+.na
+\fB-f\fR
+.ad
+.sp .6
+.RS 4n
+Forcefully unmount the boot environment if it is currently mounted.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-F\fR
+.ad
+.sp .6
+.RS 4n
+Force the action without prompting to verify the destruction of the boot
+environment.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR \fBlist\fR [\fB-a\fR | \fB-ds\fR] [\fB-H\fR] [\fIbeName\fR]
+.ad
+.sp .6
+.RS 4n
+Lists information about the existing boot environment named \fIbeName\fR, or
+lists
+information for all boot environments if \fIbeName\fR is not provided.
+The 'Active'
+field indicates whether the boot environment is active now,
+represented
+by 'N'; active on reboot, represented by 'R'; or both, represented
+by 'NR'.
+.sp
+Each line in the machine parasable output has the boot environment name as the
+first field. The 'Space' field is displayed in bytes and the 'Created' field
+is displayed in UTC format. The \fB-H\fR option used with no other options
+gives
+the boot environment's uuid in the second field. This field will be
+blank if
+the boot environment does not have a uuid. See the EXAMPLES section.
+.sp
+.ne 2
+.mk
+.na
+\fB-a\fR
+.ad
+.sp .6
+.RS 4n
+Lists all available information about the boot environment. This includes
+subordinate file systems and snapshots.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-d\fR
+.ad
+.sp .6
+.RS 4n
+Lists information about all subordinate file systems belonging to the boot
+environment.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-s\fR
+.ad
+.sp .6
+.RS 4n
+Lists information about the snapshots of the boot environment.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB-H\fR
+.ad
+.sp .6
+.RS 4n
+Do not list header information. Each field in the list information is
+separated by a semicolon.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR \fBmount\fR \fIbeName\fR \fImountpoint\fR
+.ad
+.sp .6
+.RS 4n
+Mounts a boot environment named beName at mountpoint. mountpoint must be an
+already existing empty directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR \fBunmount\fR [\fB-f\fR] \fIbeName\fR
+.ad
+.sp .6
+.RS 4n
+Unmounts the boot environment named beName.
+.sp
+.ne 2
+.mk
+.na
+\fB-f\fR
+.ad
+.sp .6
+.RS 4n
+Forcefully unmount the boot environment even if its currently busy.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR \fBrename\fR \fIbeName\fR \fInewBeName\fR
+.ad
+.sp .6
+.RS 4n
+Renames the boot environment named \fIbeName\fR to \fInewBeName\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeadm\fR \fBactivate\fR \fIbeName\fR
+.ad
+.sp .6
+.RS 4n
+Makes beName the active BE on next reboot.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1\fR: Create a new BE named BE1, by cloning the current live BE.
+.sp
+.in +2
+.nf
+\fB# beadm create BE1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2\fR: Create a new BE named BE2, by cloning the existing inactive
+BE
+named BE1.
+.sp
+.in +2
+.nf
+\fB# beadm create -e BE1 BE2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3\fR: Create a snapshot named now of the existing BE named BE1.
+.sp
+.in +2
+.nf
+\fB# beadm create BE1@now\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4\fR: Create a new BE named BE3, by cloning an existing snapshot of
+BE1.
+.sp
+.in +2
+.nf
+\fB# beadm create -e BE1@now BE3\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5\fR: Create a new BE named BE4 based on the currently running BE.
+Create the new BE in rpool2.
+.sp
+.in +2
+.nf
+\fB# beadm create -p rpool2 BE4\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6\fR: Create a new BE named BE5 based on the currently running BE.
+Create the new BE in rpool2, and create its datasets with compression turned
+on.
+.sp
+.in +2
+.nf
+\fB# beadm create -p rpool2 -o compression=on BE5\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7\fR: Create a new BE named BE6 based on the currently running BE
+and provide a description for it.
+.sp
+.in +2
+.nf
+\fB# beadm create -d "BE6 used as test environment" BE6\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8\fR: Activate an existing, inactive BE named BE3.
+.sp
+.in +2
+.nf
+\fB# beadm activate BE3\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9\fR: Mount the BE named BE3 at /mnt.
+.sp
+.in +2
+.nf
+\fB# beadm mount BE3 /mnt\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10\fR: Unmount the mounted BE named BE3.
+.sp
+.in +2
+.nf
+\fB# beadm unmount BE3\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11\fR: Destroy the BE named BE3 without verification.
+.sp
+.in +2
+.nf
+\fB# beadm destroy -f BE3\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12\fR: Destroy the snapshot named now of BE1.
+.sp
+.in +2
+.nf
+\fB# beadm destroy BE1@now\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13\fR: Rename the existing, inactive BE named BE1 to BE3.
+.sp
+.in +2
+.nf
+\fB# beadm rename BE1 BE3\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14\fR: List all existing boot environments.
+
+.sp
+.in +2
+.nf
+\fB# beadm list\fR
+BE Active Mountpoint Space Policy Created
+-- ------ ---------- ----- ------ -------
+BE2 - - 72.0K static 2008-05-21 12:26
+BE3 - - 332.0K static 2008-08-26 10:28
+BE4 - - 15.78M static 2008-09-05 18:20
+BE5 NR / 7.25G static 2008-09-09 16:53
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14\fR: List all existing boot environmets and list all dataset and
+snapshot information about those bootenvironments.
+
+.sp
+.in +2
+.nf
+\fB# beadm list -d -s\fR
+
+BE/Dataset/Snapshot Active Mountpoint Space Policy Created
+------------------- ------ ---------- ----- ------ -------
+BE2
+ p/ROOT/BE2 - - 36.0K static 2008-05-21 12:26
+ p/ROOT/BE2/opt - - 18.0K static 2008-05-21 16:26
+ p/ROOT/BE2/opt@now - - 0 static 2008-09-08 22:43
+ p/ROOT/BE2@now - - 0 static 2008-09-08 22:43
+BE3
+ p/ROOT/BE3 - - 192.0K static 2008-08-26 10:28
+ p/ROOT/BE3/opt - - 86.0K static 2008-08-26 10:28
+ p/ROOT/BE3/opt/local - - 36.0K static 2008-08-28 10:58
+BE4
+ p/ROOT/BE4 - - 15.78M static 2008-09-05 18:20
+BE5
+ p/ROOT/BE5 NR / 6.10G static 2008-09-09 16:53
+ p/ROOT/BE5/opt - /opt 24.55M static 2008-09-09 16:53
+ p/ROOT/BE5/opt@bar - - 18.38M static 2008-09-10 00:59
+ p/ROOT/BE5/opt@foo - - 18.38M static 2008-06-10 16:37
+ p/ROOT/BE5@bar - - 139.44M static 2008-09-10 00:59
+ p/ROOT/BE5@foo - - 912.85M static 2008-06-10 16:37
+.fi
+.in -2
+.sp
+
+\fBExample 15\fR: List all dataset and snapshot information about BE5
+
+.sp
+.in +2
+.nf
+\fB# beadm list -a BE5\fR
+
+BE/Dataset/Snapshot Active Mountpoint Space Policy Created
+------------------- ------ ---------- ----- ------ -------
+BE5
+ p/ROOT/BE5 NR / 6.10G static 2008-09-09 16:53
+ p/ROOT/BE5/opt - /opt 24.55M static 2008-09-09 16:53
+ p/ROOT/BE5/opt@bar - - 18.38M static 2008-09-10 00:59
+ p/ROOT/BE5/opt@foo - - 18.38M static 2008-06-10 16:37
+ p/ROOT/BE5@bar - - 139.44M static 2008-09-10 00:59
+ p/ROOT/BE5@foo - - 912.85M static 2008-06-10 16:37
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 16\fR: List machine parsable information about all boot
+environments.
+
+.sp
+.in +2
+.nf
+\fB# beadm list -H\fR
+
+BE2;;;;55296;static;1211397974
+BE3;;;;339968;static;1219771706
+BE4;;;;16541696;static;1220664051
+BE5;215b8387-4968-627c-d2d0-f4a011414bab;NR;/;7786206208;static;1221004384
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>0\fR
+.ad
+.sp .6
+.RS 4n
+Failure
+.RE
+
+
+.SH FILES
+.sp
+.LP
+.sp
+.ne 2
+.mk
+.na
+\fB/var/log/beadm/<beName>/create.log.<yyyymmdd_hhmmss>\fR
+.ad
+.sp .6
+.RS 4n
+Log used for capturing beadm create output
+.sp
+.in+2
+.nf
+\fIyyyymmdd_hhmmss\fR - 20071130_140558
+\fIyy\fR - year; 2007
+\fImm\fR - month; 11
+\fIdd\fR - day; 30
+\fIhh\fR - hour; 14
+\fImm\fR - minute; 05
+\fIss\fR - second; 58
+.fi
+.in -2
+.sp
+.RE
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+
+.SH SEE ALSO
+.sp
+.LP
+.BR zfs (1M)
diff --git a/usr/src/man/man1m/boot.1m b/usr/src/man/man1m/boot.1m
new file mode 100644
index 0000000000..d3ae4d5cfb
--- /dev/null
+++ b/usr/src/man/man1m/boot.1m
@@ -0,0 +1,1672 @@
+'\" te
+.\" Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH boot 1M "2 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+boot \- start the system kernel or a standalone program
+.SH SYNOPSIS
+.SS "SPARC"
+.LP
+.nf
+\fBboot\fR [\fIOBP\fR \fInames\fR] [\fIfile\fR] [\fB-aLV\fR] [\fB-F\fR \fIobject\fR] [\fB-D\fR \fIdefault-file\fR]
+ [\fB-Z\fR \fIdataset\fR] [\fIboot-flags\fR] [\fB\(mi\(mi\fR] [\fIclient-program-args\fR]
+.fi
+
+.SS "x86"
+.LP
+.nf
+\fBkernel$\fR \fB/platform/i86pc/kernel/$ISADIR/unix\fR [\fIboot-args\fR]
+ [\fB-B\fR \fIprop\fR=\fIval\fR [,\fIval\fR...]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Bootstrapping is the process of loading and executing a standalone program. For
+the purpose of this discussion, bootstrapping means the process of loading and
+executing the bootable operating system. Typically, the standalone program is
+the operating system kernel (see \fBkernel\fR(1M)), but any standalone program
+can be booted instead. On a SPARC-based system, the diagnostic monitor for a
+machine is a good example of a standalone program other than the operating
+system that can be booted.
+.sp
+.LP
+If the standalone is identified as a dynamically-linked executable, \fBboot\fR
+will load the interpreter (linker/loader) as indicated by the executable format
+and then transfer control to the interpreter. If the standalone is
+statically-linked, it will jump directly to the standalone.
+.sp
+.LP
+Once the kernel is loaded, it starts the UNIX system, mounts the necessary file
+systems (see \fBvfstab\fR(4)), and runs \fB/sbin/init\fR to bring the system to
+the "initdefault" state specified in \fB/etc/inittab\fR. See \fBinittab\fR(4).
+.SS "SPARC Bootstrap Procedure"
+.sp
+.LP
+On SPARC based systems, the bootstrap procedure on most machines consists of
+the following basic phases.
+.sp
+.LP
+After the machine is turned on, the system firmware (in PROM) executes power-on
+self-test (POST). The form and scope of these tests depends on the version of
+the firmware in your system.
+.sp
+.LP
+After the tests have been completed successfully, the firmware attempts to
+autoboot if the appropriate flag has been set in the non-volatile storage area
+used by the firmware. The name of the file to load, and the device to load it
+from can also be manipulated.
+.sp
+.LP
+These flags and names can be set using the \fBeeprom\fR(1M) command from the
+shell, or by using \fBPROM\fR commands from the \fBok\fR prompt after the
+system has been halted.
+.sp
+.LP
+The second level program is either a fileystem-specific boot block (when
+booting from a disk), or \fBinetboot\fR or \fBwanboot\fR (when booting across
+the network).
+.sp
+.LP
+Network Booting
+.sp
+.LP
+Network booting occurs in two steps: the client first obtains an IP address and
+any other parameters necessary to permit it to load the second-stage booter.
+The second-stage booter in turn loads the boot archive from the boot device.
+.sp
+.LP
+An IP address can be obtained in one of three ways: RARP, DHCP, or manual
+configuration, depending on the functions available in and configuration of the
+PROM. Machines of the \fBsun4u\fR and \fBsun4v\fR kernel architectures have
+DHCP-capable PROMs.
+.sp
+.LP
+The boot command syntax for specifying the two methods of network booting are:
+.sp
+.in +2
+.nf
+boot net:rarp
+boot net:dhcp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The command:
+.sp
+.in +2
+.nf
+boot net
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+without a \fBrarp\fR or \fBdhcp\fR specifier, invokes the default method for
+network booting over the network interface for which \fBnet\fR is an alias.
+.sp
+.LP
+The sequence of events for network booting using RARP/\fBbootparams\fR is
+described in the following paragraphs. The sequence for DHCP follows the
+RARP/\fBbootparams\fR description.
+.sp
+.LP
+When booting over the network using RARP/\fBbootparams\fR, the PROM begins by
+broadcasting a reverse ARP request until it receives a reply. When a reply is
+received, the PROM then broadcasts a TFTP request to fetch the first block of
+\fBinetboot\fR. Subsequent requests will be sent to the server that initially
+answered the first block request. After loading, \fBinetboot\fR will also use
+reverse ARP to fetch its IP address, then broadcast \fBbootparams\fR RPC calls
+(see \fBbootparams\fR(4)) to locate configuration information and its root file
+system. \fBinetboot\fR then loads the boot archive by means of NFS and
+transfers control to that archive.
+.sp
+.LP
+When booting over the network using DHCP, the PROM broadcasts the hardware
+address and kernel architecture and requests an IP address, boot parameters,
+and network configuration information. After a DHCP server responds and is
+selected (from among potentially multiple servers), that server sends to the
+client an IP address and all other information needed to boot the client. After
+receipt of this information, the client PROM examines the name of the file to
+be loaded, and will behave in one of two ways, depending on whether the file's
+name appears to be an HTTP URL. If it does not, the PROM downloads
+\fBinetboot\fR, loads that file into memory, and executes it. \fBinetboot\fR
+loads the boot archive, which takes over the machine and releases
+\fBinetboot\fR. Startup scripts then initiate the DHCP agent (see
+\fBdhcpagent\fR(1M)), which implements further DHCP activities.
+.sp
+.LP
+If the file to be loaded is an HTTP URL, the PROM will use HTTP to load the
+referenced file. If the client has been configured with an HMAC SHA-1 key, it
+will check the integrity of the loaded file before proceeding to execute it.
+The file is expected to be the \fBwanboot\fR binary. The WAN boot process can
+be configured to use either DHCP or NVRAM properties to discover the install
+server and router and the proxies needed to connect to it. When \fBwanboot\fR
+begins executing, it determines whether sufficient information is available to
+it to allow it to proceed. If any necessary information is missing, it will
+either exit with an appropriate error or bring up a command interpreter and
+prompt for further configuration information. Once \fBwanboot\fR has obtained
+the necessary information, it loads the boot loader into memory by means of
+HTTP. If an encryption key has been installed on the client, \fBwanboot\fR will
+verify the boot loader's signature and its accompanying hash. Presence of an
+encryption key but no hashing key is an error.
+.sp
+.LP
+The \fBwanboot\fR boot loader can communicate with the client using either HTTP
+or secure HTTP. If the former, and if the client has been configured with an
+HMAC SHA-1 key, the boot loader will perform an integrity check of the root
+file system. Once the root file system has been loaded into memory (and
+possibly had an integrity check performed), the boot archive is transferred
+from the server. If provided with a \fBboot_logger\fR URL by means of the
+\fBwanboot.conf\fR(4) file, \fBwanboot\fR will periodically log its progress.
+.sp
+.LP
+Not all PROMs are capable of consuming URLs. You can determine whether a client
+is so capable using the \fBlist-security-keys\fR OBP command (see
+\fBmonitor\fR(1M)).
+.sp
+.LP
+WAN booting is not currently available on the x86 platform.
+.sp
+.LP
+The \fBwanboot\fR Command Line
+.sp
+.LP
+When the client program is \fBwanboot\fR, it accepts \fBclient-program-args\fR
+of the form:
+.sp
+.in +2
+.nf
+boot ... -o \fIopt1\fR[,\fIopt2\fR[,...]]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where each option may be an action:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdhcp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Require \fBwanboot\fR to obtain configuration parameters by means of DHCP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprompt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cause \fBwanboot\fR to enter its command interpreter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fI<cmd>\fR\fR
+.ad
+.sp .6
+.RS 4n
+One of the interpreter commands listed below.
+.RE
+
+.sp
+.LP
+\&...or an assignment, using the interpreter's parameter names listed below.
+.sp
+.LP
+The \fBwanboot\fR Command Interpreter
+.sp
+.LP
+The \fBwanboot\fR command interpreter is invoked by supplying a
+\fBclient-program-args\fR of "\fB-o prompt\fR" when booting. Input consists of
+single commands or assignments, or a comma-separated list of commands or
+assignments. The configuration parameters are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhost-ip\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the client (in dotted-decimal notation)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrouter-ip\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the default router (in dotted-decimal notation)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsubnet-mask\fR\fR
+.ad
+.sp .6
+.RS 4n
+subnet mask (in dotted-decimal notation)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclient-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+DHCP client identifier (a quoted ASCII string or hex ASCII)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhostname\fR\fR
+.ad
+.sp .6
+.RS 4n
+hostname to request in DHCP transactions (ASCII)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhttp-proxy\fR\fR
+.ad
+.sp .6
+.RS 4n
+HTTP proxy server specification (IPADDR[:PORT])
+.RE
+
+.sp
+.LP
+The key names are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3des\fR\fR
+.ad
+.sp .6
+.RS 4n
+the triple DES encryption key (48 hex ASCII characters)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaes\fR\fR
+.ad
+.sp .6
+.RS 4n
+the AES encryption key (32 hex ASCII characters)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsha1\fR\fR
+.ad
+.sp .6
+.RS 4n
+the HMAC SHA-1 signature key (40 hex ASCII characters)
+.RE
+
+.sp
+.LP
+Finally, the URL or the WAN boot CGI is referred to by means of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbootserver\fR\fR
+.ad
+.sp .6
+.RS 4n
+URL of WAN boot's CGI (the equivalent of OBP's \fBfile\fR parameter)
+.RE
+
+.sp
+.LP
+The interpreter accepts the following commands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhelp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print a brief description of the available commands
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIvar\fR=\fIval\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Assign \fIval\fR to \fIvar\fR, where \fIvar\fR is one of the configuration
+parameter names, the key names, or \fBbootserver\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIvar\fR=\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unset parameter \fIvar\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all parameters and their values (key values retrieved by means of OBP are
+never shown).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprompt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prompt for values for unset parameters. The name of each parameter and its
+current value (if any) is printed, and the user can accept this value (press
+Return) or enter a new value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgo\fR\fR
+.ad
+.sp .6
+.RS 4n
+Once the user is satisfied that all values have been entered, leave the
+interpreter and continue booting.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quit the boot interpreter and return to OBP's \fBok\fR prompt.
+.RE
+
+.sp
+.LP
+Any of these assignments or commands can be passed on the command line as part
+of the \fB-o\fR options, subject to the OBP limit of 128 bytes for boot
+arguments. For example, \fB-o\fR \fBlist,go\fR would simply list current
+(default) values of the parameters and then continue booting.
+.SS "iSCSI Boot"
+.sp
+.LP
+iSCSI boot is currently supported only on x86. The host being booted must be
+equipped with NIC(s) capable of iBFT (iSCSI Boot Firmware Table) or have the
+mainboard's BIOS be iBFT-capable. iBFT, defined in the Advanced Configuration
+and Power Interface (ACPI) 3.0b specification, specifies a block of information
+that contains various parameters that are useful to the iSCSI Boot process.
+.sp
+.LP
+Firmware implementing iBFT presents an iSCSI disk in the BIOS during startup as
+a bootable device by establishing the connection to the iSCSI target. The rest
+of the process of iSCSI booting is the same as booting from a local disk.
+.sp
+.LP
+To configure the iBFT properly, users need to refer to the documentation from
+their hardware vendors.
+.SS "Booting from Disk"
+.sp
+.LP
+When booting from disk, the OpenBoot PROM firmware reads the boot blocks from
+blocks 1 to 15 of the partition specified as the boot device. This standalone
+booter usually contains a file system-specific reader capable of reading the
+boot archive.
+.sp
+.LP
+If the pathname to the standalone is relative (does not begin with a slash),
+the second level boot will look for the standalone in a platform-dependent
+search path. This path is guaranteed to contain
+\fB/platform/\fR\fIplatform-name\fR. Many SPARC platforms next search the
+platform-specific path entry \fB/platform/\fR\fIhardware-class-name\fR. See
+\fBfilesystem\fR(5). If the pathname is absolute, \fBboot\fR will use the
+specified path. The \fBboot\fR program then loads the standalone at the
+appropriate address, and then transfers control.
+.sp
+.LP
+Once the boot archive has been transferred from the boot device, Solaris can
+initialize and take over control of the machine. This process is further
+described in the "Boot Archive Phase," below, and is identical on all
+platforms.
+.sp
+.LP
+If the filename is not given on the command line or otherwise specified, for
+example, by the \fBboot-file\fR NVRAM variable, \fBboot\fR chooses an
+appropriate default file to load based on what software is installed on the
+system and the capabilities of the hardware and firmware.
+.sp
+.LP
+The path to the kernel must not contain any whitespace.
+.SS "Booting from ZFS"
+.sp
+.LP
+Booting from ZFS differs from booting from UFS in that, with ZFS, a device
+specifier identifies a storage pool, not a single root file system. A storage
+pool can contain multiple bootable datasets (that is, root file systems).
+Therefore, when booting from ZFS, it is not sufficient to specify a boot
+device. One must also identify a root file system within the pool that was
+identified by the boot device. By default, the dataset selected for booting is
+the one identified by the pool's \fBbootfs\fR property. This default selection
+can be overridden by specifying an alternate bootable dataset with the \fB-Z\fR
+option.
+.SS "Boot Archive Phase"
+.sp
+.LP
+The boot archive contains a file system image that is mounted using an
+in-memory disk. The image is self-describing, specifically containing a file
+system reader in the boot block. This file system reader mounts and opens the
+RAM disk image, then reads and executes the kernel contained within it. By
+default, this kernel is in:
+.sp
+.in +2
+.nf
+/platform/`uname -i`/kernel/unix
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If booting from ZFS, the pathnames of both the archive and the kernel file are
+resolved in the root file system (that is, dataset) selected for booting as
+described in the previous section.
+.sp
+.LP
+The initialization of the kernel continues by loading necessary drivers and
+modules from the in-memory filesystem until I/O can be turned on and the root
+filesystem mounted. Once the root filesystem is mounted, the in-memory
+filesystem is no longer needed and is discarded.
+.SS "OpenBoot PROM \fBboot\fR Command Behavior"
+.sp
+.LP
+The OpenBoot \fBboot\fR command takes arguments of the following form:
+.sp
+.in +2
+.nf
+ok boot [\fIdevice-specifier\fR] [\fIarguments\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The default \fBboot\fR command has no arguments:
+.sp
+.in +2
+.nf
+ok boot
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If no \fIdevice-specifier\fR is given on the \fBboot\fR command line, OpenBoot
+typically uses the \fIboot-device\fR or \fIdiag-device\fR \fBNVRAM\fR variable.
+If no optional \fIarguments\fR are given on the command line, OpenBoot
+typically uses the \fIboot-file\fR or \fIdiag-file\fR \fBNVRAM\fR variable as
+default \fBboot\fR arguments. (If the system is in diagnostics mode,
+\fIdiag-device\fR and \fIdiag-file\fR are used instead of \fIboot-device\fR and
+\fIboot-file\fR).
+.sp
+.LP
+\fIarguments\fR may include more than one string. All \fIargument\fR strings
+are passed to the secondary booter; they are not interpreted by OpenBoot.
+.sp
+.LP
+If any \fIarguments\fR are specified on the \fBboot\fR command line, then
+neither the \fIboot-file\fR nor the \fIdiag-file\fR \fBNVRAM\fR variable is
+used. The contents of the \fBNVRAM\fR variables are not merged with command
+line arguments. For example, the command:
+.sp
+.in +2
+.nf
+ok \fBboot\fR \fB-s\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+ignores the settings in both \fIboot-file\fR and \fIdiag-file\fR; it interprets
+the string \fB"-s"\fR as \fIarguments\fR. \fBboot\fR will not use the contents
+of \fIboot-file\fR or \fIdiag-file\fR.
+.sp
+.LP
+With older PROMs, the command:
+.sp
+.in +2
+.nf
+ok \fBboot net\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+took no arguments, using instead the settings in \fIboot-file\fR or
+\fIdiag-file\fR (if set) as the default file name and arguments to pass to
+boot. In most cases, it is best to allow the \fBboot\fR command to choose an
+appropriate default based upon the system type, system hardware and firmware,
+and upon what is installed on the root file system. Changing \fIboot-file\fR or
+\fIdiag-file\fR can generate unexpected results in certain circumstances.
+.sp
+.LP
+This behavior is found on most OpenBoot 2.x and 3.x based systems. Note that
+differences may occur on some platforms.
+.sp
+.LP
+The command:
+.sp
+.LP
+ok \fBboot cdrom\fR
+.sp
+.LP
+\&...also normally takes no arguments. Accordingly, if \fIboot-file\fR is set
+to the 64-bit kernel filename and you attempt to boot the installation CD or
+DVD with \fBboot cdrom\fR, boot will fail if the installation media contains
+only a 32-bit kernel.
+.sp
+.LP
+Because the contents of \fIboot-file\fR or \fIdiag-file\fR can be ignored
+depending on the form of the \fBboot\fR command used, reliance upon
+\fIboot-file\fR should be discouraged for most production systems.
+.sp
+.LP
+When executing a WAN boot from a local (CD or DVD) copy of wanboot, one must
+use:
+.sp
+.LP
+ok \fBboot cdrom -F wanboot - install\fR
+.sp
+.LP
+Modern PROMs have enhanced the network boot support package to support the
+following syntax for arguments to be processed by the package:
+.sp
+.LP
+[\fIprotocol\fR,] [\fIkey\fR=\fIvalue\fR,]*
+.sp
+.LP
+All arguments are optional and can appear in any order. Commas are required
+unless the argument is at the end of the list. If specified, an argument takes
+precedence over any default values, or, if booting using DHCP, over
+configuration information provided by a DHCP server for those parameters.
+.sp
+.LP
+\fIprotocol\fR, above, specifies the address discovery protocol to be used.
+.sp
+.LP
+Configuration parameters, listed below, are specified as \fIkey\fR=\fIvalue\fR
+attribute pairs.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtftp-server\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the TFTP server
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+file to download using TFTP or URL for WAN boot
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhost-ip\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the client (in dotted-decimal notation)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrouter-ip\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the default router
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsubnet-mask\fR\fR
+.ad
+.sp .6
+.RS 4n
+subnet mask (in dotted-decimal notation)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclient-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+DHCP client identifier
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhostname\fR\fR
+.ad
+.sp .6
+.RS 4n
+hostname to use in DHCP transactions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhttp-proxy\fR\fR
+.ad
+.sp .6
+.RS 4n
+HTTP proxy server specification (IPADDR[:PORT])
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtftp-retries\fR\fR
+.ad
+.sp .6
+.RS 4n
+maximum number of TFTP retries
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdhcp-retries\fR\fR
+.ad
+.sp .6
+.RS 4n
+maximum number of DHCP retries
+.RE
+
+.sp
+.LP
+The list of arguments to be processed by the network boot support package is
+specified in one of two ways:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+As arguments passed to the package's \fBopen\fR method, or
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+arguments listed in the NVRAM variable \fBnetwork-boot-arguments\fR.
+.RE
+.sp
+.LP
+Arguments specified in \fBnetwork-boot-arguments\fR will be processed only if
+there are no arguments passed to the package's \fBopen\fR method.
+.sp
+.LP
+Argument Values
+.sp
+.LP
+\fIprotocol\fR specifies the address discovery protocol to be used. If present,
+the possible values are \fBrarp\fR or \fBdhcp\fR.
+.sp
+.LP
+If other configuration parameters are specified in the new syntax and style
+specified by this document, absence of the \fIprotocol\fR parameter implies
+manual configuration.
+.sp
+.LP
+If no other configuration parameters are specified, or if those arguments are
+specified in the positional parameter syntax currently supported, the absence
+of the \fIprotocol\fR parameter causes the network boot support package to use
+the platform-specific default address discovery protocol.
+.sp
+.LP
+Manual configuration requires that the client be provided its IP address, the
+name of the boot file, and the address of the server providing the boot file
+image. Depending on the network configuration, it might be required that
+\fBsubnet-mask\fR and \fBrouter-ip\fR also be specified.
+.sp
+.LP
+If the \fIprotocol\fR argument is not specified, the network boot support
+package uses the platform-specific default address discovery protocol.
+.sp
+.LP
+\fBtftp-server\fR is the IP address (in standard IPv4 dotted-decimal notation)
+of the TFTP server that provides the file to download if using TFTP.
+.sp
+.LP
+When using DHCP, the value, if specified, overrides the value of the TFTP
+server specified in the DHCP response.
+.sp
+.LP
+The TFTP RRQ is unicast to the server if one is specified as an argument or in
+the DHCP response. Otherwise, the TFTP RRQ is broadcast.
+.sp
+.LP
+\fIfile\fR specifies the file to be loaded by TFTP from the TFTP server, or the
+URL if using HTTP. The use of HTTP is triggered if the file name is a URL, that
+is, the file name starts with \fBhttp:\fR (case-insensitive).
+.sp
+.LP
+When using RARP and TFTP, the default file name is the ASCII hexadecimal
+representation of the IP address of the client, as documented in a preceding
+section of this document.
+.sp
+.LP
+When using DHCP, this argument, if specified, overrides the name of the boot
+file specified in the DHCP response.
+.sp
+.LP
+When using DHCP and TFTP, the default file name is constructed from the root
+node's \fBname\fR property, with commas (,) replaced by periods (.).
+.sp
+.LP
+When specified on the command line, the filename must not contain slashes
+(\fB/\fR).
+.sp
+.LP
+The format of URLs is described in RFC 2396. The HTTP server must be specified
+as an IP address (in standard IPv4 dotted-decimal notation). The optional port
+number is specified in decimal. If a port is not specified, port 80 (decimal)
+is implied.
+.sp
+.LP
+The URL presented must be "safe-encoded", that is, the package does not apply
+escape encodings to the URL presented. URLs containing commas must be presented
+as a quoted string. Quoting URLs is optional otherwise.
+.sp
+.LP
+\fBhost-ip\fR specifies the IP address (in standard IPv4 dotted-decimal
+notation) of the client, the system being booted. If using RARP as the address
+discovery protocol, specifying this argument makes use of RARP unnecessary.
+.sp
+.LP
+If DHCP is used, specifying the \fBhost-ip\fR argument causes the client to
+follow the steps required of a client with an "Externally Configured Network
+Address", as specified in RFC 2131.
+.sp
+.LP
+\fBrouter-ip\fR is the IP address (in standard IPv4 dotted-decimal notation) of
+a router on a directly connected network. The router will be used as the first
+hop for communications spanning networks. If this argument is supplied, the
+router specified here takes precedence over the preferred router specified in
+the DHCP response.
+.sp
+.LP
+\fBsubnet-mask\fR (specified in standard IPv4 dotted-decimal notation) is the
+subnet mask on the client's network. If the subnet mask is not provided (either
+by means of this argument or in the DHCP response), the default mask
+appropriate to the network class (Class A, B, or C) of the address assigned to
+the booting client will be assumed.
+.sp
+.LP
+\fBclient-id\fR specifies the unique identifier for the client. The DHCP client
+identifier is derived from this value. Client identifiers can be specified as:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The ASCII hexadecimal representation of the identifier, or
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a quoted string
+.RE
+.sp
+.LP
+Thus, \fBclient-id="openboot"\fR and \fBclient-id=6f70656e626f6f74\fR both
+represent a DHCP client identifier of 6F70656E626F6F74.
+.sp
+.LP
+Identifiers specified on the command line must must not include slash (\fB/\fR)
+or spaces.
+.sp
+.LP
+The maximum length of the DHCP client identifier is 32 bytes, or 64 characters
+representing 32 bytes if using the ASCII hexadecimal form. If the latter form
+is used, the number of characters in the identifier must be an even number.
+Valid characters are 0-9, a-f, and A-F.
+.sp
+.LP
+For correct identification of clients, the client identifier must be unique
+among the client identifiers used on the subnet to which the client is
+attached. System administrators are responsible for choosing identifiers that
+meet this requirement.
+.sp
+.LP
+Specifying a client identifier on a command line takes precedence over any
+other DHCP mechanism of specifying identifiers.
+.sp
+.LP
+\fBhostname\fR (specified as a string) specifies the hostname to be used in
+DHCP transactions. The name might or might not be qualified with the local
+domain name. The maximum length of the hostname is 255 characters.
+.LP
+Note -
+.sp
+.RS 2
+The \fBhostname\fR parameter can be used in service environments that require
+that the client provide the desired hostname to the DHCP server. Clients
+provide the desired hostname to the DHCP server, which can then register the
+hostname and IP address assigned to the client with DNS.
+.RE
+.sp
+.LP
+\fBhttp-proxy\fR is specified in the following standard notation for a host:
+.sp
+.in +2
+.nf
+\fIhost\fR [":"" \fIport\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...where \fIhost\fR is specified as an IP ddress (in standard IPv4
+dotted-decimal notation) and the optional \fIport\fR is specified in decimal.
+If a port is not specified, port 8080 (decimal) is implied.
+.sp
+.LP
+\fBtftp-retries\fR is the maximum number of retries (specified in decimal)
+attempted before the TFTP process is determined to have failed. Defaults to
+using infinite retries.
+.sp
+.LP
+\fBdhcp-retries\fR is the maximum number of retries (specified in decimal)
+attempted before the DHCP process is determined to have failed. Defaults to of
+using infinite retries.
+.SS "x86 Bootstrap Procedure"
+.sp
+.LP
+On x86 based systems, the bootstrapping process consists of two conceptually
+distinct phases, kernel loading and kernel initialization. Kernel loading is
+implemented in GRUB (GRand Unified Bootloader) using the BIOS ROM on the system
+board, and BIOS extensions in ROMs on peripheral boards. The BIOS loads GRUB,
+starting with the first physical sector from a hard disk, DVD, or CD. If
+supported by the ROM on the network adapter, the BIOS can also download the
+\fBpxegrub\fR binary from a network boot server. Once GRUB is located, it
+executes a command in a menu to load the \fBunix\fR kernel and a
+pre-constructed boot archive containing kernel modules and data.
+.sp
+.LP
+If the device identified by GRUB as the boot device contains a ZFS storage
+pool, the \fBmenu.lst\fR file used to create the GRUB menu will be found in the
+dataset at the root of the pool's dataset hierarchy. This is the dataset with
+the same name as the pool itself. There is always exactly one such dataset in a
+pool, and so this dataset is well-suited for pool-wide data such as the
+\fBmenu.lst\fR file. After the system is booted, this dataset is mounted at
+/\fIpoolname\fR in the root file system.
+.sp
+.LP
+There can be multiple bootable datasets (that is, root file systems) within a
+pool. By default, the file system in which file name entries in a
+\fBmenu.lst\fR file are resolved is the one identified by the pool's
+\fBbootfs\fR property (see \fBzpool\fR(1M)). However, a \fBmenu.lst\fR entry
+can contain a \fBbootfs\fR command, which specifies an alternate dataset in the
+pool. In this way, the \fBmenu.lst\fR file can contain entries for multiple
+root file systems within the pool.
+.sp
+.LP
+Kernel initialization starts when GRUB finishes loading the boot archive and
+hands control over to the \fBunix\fR binary. At this point, GRUB becomes
+inactive and no more I/O occurs with the boot device. The Unix operating system
+initializes, links in the necessary modules from the boot archive and mounts
+the root file system on the real root device. At this point, the kernel regains
+storage I/O, mounts additional file systems (see \fBvfstab\fR(4)), and starts
+various operating system services (see \fBsmf\fR(5)).
+.SS "Failsafe Mode"
+.sp
+.LP
+A requirement of booting from a root filesystem image built into a boot archive
+then remounting root onto the actual root device is that the contents of the
+boot archive and the root filesystem must be consistent. Otherwise, the proper
+operation and integrity of the machine cannot be guaranteed.
+.sp
+.LP
+The term "consistent" means that all files and modules in the root filesystem
+are also present in the boot archive and have identical contents. Since the
+boot strategy requires first reading and mounting the boot archive as the
+first-stage root image, all unloadable kernel modules and initialization
+derived from the contents of the boot archive are required to match the real
+root filesystem. Without such consistency, it is possible that the system could
+be running with a kernel module or parameter setting applied to the root device
+before reboot, but not yet updated in the root archive. This inconsistency
+could result in system instability or data loss.
+.sp
+.LP
+Once the root filesystem is mounted, and before relinquishing the in-memory
+filesystem, Solaris performs a consistency verification against the two file
+systems. If an inconsistency is detected, Solaris suspends the normal boot
+sequence and falls back to failsafe mode. Correcting this state requires the
+administrator take one of two steps. The recommended procedure is to reboot to
+the failsafe archive and rebuild the boot archive. This ensures that a known
+kernel is booted and functioning for the archive rebuild process.
+Alternatively, the administrator can elect to clear the inconsistent boot
+archive service state and continue system bring-up if the inconsistency is such
+that correct system operation will not be impaired. See \fBsvcadm\fR(1M).
+.sp
+.LP
+If the boot archive service is cleared and system bring-up is continued (the
+second alternative above), the system may be running with unloadable kernel
+drivers or other modules that are out-of-date with respect to the root
+filesystem. As such, correct system operation may be compromised.
+.sp
+.LP
+To ensure that the boot archive is consistent, the normal system shutdown
+process, as initiated by \fBreboot\fR(1M) and \fBshutdown\fR(1M), checks for
+and applies updates to the boot archive at the conclusion of the
+\fBumountall\fR(1M) milestone.
+.sp
+.LP
+An update to any kernel file, driver, module or driver configuration file that
+needs to be included in the boot archive after the \fBumountall\fR service is
+complete will result in a failed boot archive consistency check during the next
+boot. To avoid this, it is recommended to always shut down a machine cleanly.
+.sp
+.LP
+If an update is required to the kernel after completion of the \fBumountall\fR
+service, the administrator may elect to rebuild the archive by invoking:
+.sp
+.in +2
+.nf
+# \fBbootadm update-archive\fR
+.fi
+.in -2
+.sp
+
+.SS "Failsafe Boot Archive"
+.sp
+.LP
+The failsafe archive can be used to boot the machine at any time for
+maintenance or troubleshooting. The failsafe boot archive is installed on the
+machine, sourced from the miniroot archive. Booting the failsafe archive causes
+the machine to boot using the in-memory filesystem as the root device.
+.SS "SPARC"
+.sp
+.LP
+The SPARC failsafe archive is:
+.sp
+.in +2
+.nf
+/platform/`uname -i`/failsafe
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...and can be booted as follows:
+.sp
+.in +2
+.nf
+ok \fBboot [\fIdevice-specifier\fR] -F failsafe\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If a user wishes to boot a failsafe archive from a particular ZFS bootable
+dataset, this can be done as follows:
+.sp
+.in +2
+.nf
+ok \fBboot [\fIdevice-specifier\fR] -Z \fIdataset\fR -F failsafe\fR
+.fi
+.in -2
+.sp
+
+.SS "x86"
+.sp
+.LP
+The x86 failsafe archive is:
+.sp
+.in +2
+.nf
+/boot/x86.miniroot-safe
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...and can be booted by selecting the \fBSolaris failsafe\fR item from the
+GRUB menu.
+.SH OPTIONS
+.SS "SPARC"
+.sp
+.LP
+The following SPARC options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+The boot program interprets this flag to mean \fBask me\fR, and so it prompts
+for the name of the standalone. The \fB\&'\fR\fB-a\fR\fB\&'\fR flag is then
+passed to the standalone program.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIdefault-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Explicitly specify the \fIdefault-file\fR. On some systems, \fBboot\fR chooses
+a dynamic default file, used when none is otherwise specified. This option
+allows the \fIdefault-file\fR to be explicitly set and can be useful when
+booting \fBkmdb\fR(1) since, by default, \fBkmdb\fR loads the default-file as
+exported by the \fBboot\fR program.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIobject\fR\fR
+.ad
+.sp .6
+.RS 4n
+Boot using the named object. The object must be either an ELF executable or
+bootable object containing a boot block. The primary use is to boot the
+failsafe or \fBwanboot\fR boot archive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the bootable datasets within a ZFS pool. You can select one of the
+bootable datasets in the list, after which detailed instructions for booting
+that dataset are displayed. Boot the selected dataset by following the
+instructions. This option is supported only when the boot device contains a ZFS
+storage pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display verbose debugging information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIboot-flags\fR\fR
+.ad
+.sp .6
+.RS 4n
+The boot program passes all \fIboot-flags\fR to \fBfile\fR. They are not
+interpreted by \fBboot\fR. See the \fBkernel\fR(1M) and \fBkmdb\fR(1) manual
+pages for information about the options available with the default standalone
+program.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIclient-program-args\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBboot\fR program passes all \fIclient-program-args\fR to \fIfile\fR. They
+are not interpreted by \fBboot\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of a standalone program to \fBboot\fR. If a filename is not explicitly
+specified, either on the \fBboot\fR command line or in the \fIboot-file\fR
+NVRAM variable, \fBboot\fR chooses an appropriate default filename.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIOBP\fR \fInames\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the open boot prom designations. For example, on Desktop SPARC based
+systems, the designation \fB/sbus/esp@0,800000/sd@3,0:a\fR indicates a
+\fBSCSI\fR disk (sd) at target 3, lun0 on the \fBSCSI\fR bus, with the esp host
+adapter plugged into slot 0.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Z\fR \fIdataset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Boot from the root file system in the specified ZFS dataset.
+.RE
+
+.SS "x86"
+.sp
+.LP
+The following x86 options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR \fIprop\fR=\fIval\fR...\fR
+.ad
+.sp .6
+.RS 4n
+One or more property-value pairs to be passed to the kernel. Multiple
+property-value pairs must be separated by a comma. Use of this option is the
+equivalent of the command: \fBeeprom\fR \fIprop\fR=\fIval\fR. See
+\fBeeprom\fR(1M) for available properties and valid values.
+.sp
+If the root file system corresponding to this menu entry is a ZFS dataset, the
+menu entry needs the following option added:
+.sp
+.in +2
+.nf
+-B $ZFS-BOOTFS
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIboot-args\fR\fR
+.ad
+.sp .6
+.RS 4n
+The boot program passes all \fIboot-args\fR to \fBfile\fR. They are not
+interpreted by \fBboot\fR. See \fBkernel\fR(1M) and \fBkmdb\fR(1) for
+information about the options available with the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/i86pc/kernel/$ISADIR/unix\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of the kernel to boot. When using the \fBkernel$\fR token, \fB$ISADIR\fR
+expands to \fBamd64\fR on 64-bit machines, and a null string on other machines.
+As a result of this dereferencing, this path expands to the proper kernel for
+the machine.
+.RE
+
+.SH X86 BOOT SEQUENCE DETAILS
+.sp
+.LP
+After a PC-compatible machine is turned on, the system firmware in the \fBBIOS
+ROM\fR executes a power-on self test (POST), runs \fBBIOS\fR extensions in
+peripheral board \fBROMs,\fR and invokes software interrupt INT 19h, Bootstrap.
+The INT 19h handler typically performs the standard PC-compatible boot, which
+consists of trying to read the first physical sector from the first diskette
+drive, or, if that fails, from the first hard disk. The processor then jumps to
+the first byte of the sector image in memory.
+.SH X86 PRIMARY BOOT
+.sp
+.LP
+The first sector on a floppy disk contains the master boot block (GRUB
+\fBstage1\fR). The stage 1 is responsible for loading GRUB \fBstage2\fR. Now
+GRUB is fully functional. It reads and executes the menu file
+\fB/boot/grub/menu.lst\fR. A similar sequence occurs for DVD or CD boot, but
+the master boot block location and contents are dictated by the El Torito
+specification. The El Torito boot also leads to \fBstrap.com\fR, which in turn
+loads \fBboot.bin\fR.
+.sp
+.LP
+The first sector on a hard disk contains the master boot block, which contains
+the master boot program and the \fBFDISK\fR table, named for the \fBPC\fR
+program that maintains it. The master boot finds the active partition in the
+\fBFDISK\fR table, loads its first sector (GRUB \fBstage1\fR), and jumps to its
+first byte in memory. This completes the standard PC-compatible hard disk boot
+sequence. If GRUB \fBstage1\fR is installed on the master boot block (see the
+\fB-m\fR option of \fBinstallgrub\fR(1M)), then \fBstage2\fR is loaded directly
+from the Solaris \fBFDISK\fR partition regardless of the active partition.
+.sp
+.LP
+An x86 \fBFDISK\fR partition for the Solaris software begins with a
+one-cylinder boot slice, which contains GRUB \fBstage1\fR in the first sector,
+the standard Solaris disk label and volume table of contents (VTOC) in the
+second and third sectors, and GRUB \fBstage2\fR in the fiftieth and subsequent
+sectors. The area from sector 4 to 49 might contain boot blocks for older
+versions of Solaris. This makes it possible for multiple Solaris releases on
+the same FDISK to coexist. When the \fBFDISK\fR partition for the Solaris
+software is the active partition, the master boot program (\fBmboot\fR) reads
+the partition boot program in the first sector into memory and jumps to it. It
+in turn reads GRUB \fBstage2\fR program into memory and jumps to it. Once the
+GRUB menu is displayed, the user can choose to boot an operating system on a
+different partition, a different disk, or possibly from the network.
+.sp
+.LP
+For network booting, the supported method is Intel's Preboot eXecution
+Environment (PXE) standard. When booting from the network using PXE, the system
+or network adapter BIOS uses DHCP to locate a network bootstrap program
+(\fBpxegrub\fR) on a boot server and reads it using Trivial File Transfer
+Protocol (TFTP). The BIOS executes the \fBpxegrub\fR by jumping to its first
+byte in memory. The \fBpxegrub\fR program downloads a menu file and presents
+the entries to user.
+.SH X86 KERNEL STARTUP
+.sp
+.LP
+The kernel startup process is independent of the kernel loading process. During
+kernel startup, console I/O goes to the device specified by the \fBconsole\fR
+property.
+.sp
+.LP
+When booting from UFS, the root device is specified by the \fBbootpath\fR
+property, and the root file system type is specified by the \fBfstype\fR
+property. These properties should be setup by the Solaris Install/Upgrade
+process in \fB/boot/solaris/bootenv.rc\fR and can be overridden with the
+\fB-B\fR option, described above (see the \fBeeprom\fR(1M) man page).
+.sp
+.LP
+When booting from ZFS, the root device is specified by a boot parameter
+specified by the \fB-B\fR \fB$ZFS-BOOTFS\fR parameter on either the
+\fBkernel\fR or \fBmodule\fR line in the GRUB menu entry. This value (as with
+all parameters specified by the \fB-B\fR option) is passed by GRUB to the
+kernel.
+.sp
+.LP
+If the console properties are not present, console I/O defaults to \fBscreen\fR
+and \fBkeyboard\fR. The root device defaults to \fBramdisk\fR and the file
+system defaults to \fBufs\fR.
+.SH EXAMPLES
+.SS "SPARC"
+.LP
+\fBExample 1 \fRTo Boot the Default Kernel In Single-User Interactive Mode
+.sp
+.LP
+To boot the default kernel in single-user interactive mode, respond to the
+\fBok\fR prompt with one of the following:
+
+.sp
+.in +2
+.nf
+\fBboot\fR \fB\fR\fB-as\fR
+
+\fBboot\fR \fBdisk3\fR \fB-as\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRNetwork Booting with WAN Boot-Capable PROMs
+.sp
+.LP
+To illustrate some of the subtle repercussions of various boot command line
+invocations, assume that the \fBnetwork-boot-arguments\fR are set and that
+\fBnet\fR is devaliased as shown in the commands below.
+
+.sp
+.LP
+In the following command, device arguments in the device alias are processed by
+the device driver. The network boot support package processes arguments in
+\fBnetwork-boot-arguments\fR.
+
+.sp
+.in +2
+.nf
+\fBboot net\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The command below results in no device arguments. The network boot support
+package processes arguments in \fBnetwork-boot-arguments\fR.
+
+.sp
+.in +2
+.nf
+\fBboot net:\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The command below results in no device arguments. \fBrarp\fR is the only
+network boot support package argument. \fBnetwork-boot-arguments\fR is ignored.
+
+.sp
+.in +2
+.nf
+\fBboot net:rarp\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the command below, the specified device arguments are honored. The network
+boot support package processes arguments in \fBnetwork-boot-arguments\fR.
+
+.sp
+.in +2
+.nf
+\fBboot net:speed=100,duplex=full\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing \fBwanboot\fR with Older PROMs
+.sp
+.LP
+The command below results in the \fBwanboot\fR binary being loaded from DVD or
+CD, at which time \fBwanboot\fR will perform DHCP and then drop into its
+command interpreter to allow the user to enter keys and any other necessary
+configuration.
+
+.sp
+.in +2
+.nf
+\fBboot cdrom -F wanboot -o dhcp,prompt\fR
+.fi
+.in -2
+.sp
+
+.SS "x86 (32-bit)"
+.LP
+\fBExample 4 \fRTo Boot the Default Kernel In 32-bit Single-User Interactive
+Mode
+.sp
+.LP
+To boot the default kernel in single-user interactive mode, edit the GRUB
+kernel command line to read:
+
+.sp
+.in +2
+.nf
+kernel /platform/i86pc/kernel/unix -as
+.fi
+.in -2
+.sp
+
+.SS "x86 (64-bit Only)"
+.LP
+\fBExample 5 \fRTo Boot the Default Kernel In 64-bit Single-User Interactive
+Mode
+.sp
+.LP
+To boot the default kernel in single-user interactive mode, edit the GRUB
+kernel command line to read:
+
+.sp
+.in +2
+.nf
+kernel /platform/i86pc/kernel/amd64/unix -as
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRSwitching Between 32-bit and 64-bit Kernels on 64-bit x86
+Platform
+.sp
+.LP
+To be able to boot both 32-bit and 64-bit kernels, add entries for both kernels
+to \fB/boot/grub/menu.lst\fR, and use the \fBset-menu\fR subcommand of
+\fBbootadm\fR(1M) to switch. See \fBbootadm\fR(1M) for an example of the
+\fBbootadm set-menu\fR.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/\fR\fIplatform-name\fR\fB/ufsboot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Second-level program to boot from a disk, DVD, or CD
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inittab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Table in which the \fBinitdefault\fR state is specified
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/sbin/init\fR\fR
+.ad
+.sp .6
+.RS 4n
+Program that brings the system to the \fBinitdefault\fR state
+.RE
+
+.SS "64-bit SPARC Only"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/\fR\fIplatform-name\fR\fB/kernel/sparcv9/unix\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default program to boot system.
+.RE
+
+.SS "x86 Only"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/boot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory containing boot-related files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/boot/grub/menu.lst\fR\fR
+.ad
+.sp .6
+.RS 4n
+Menu of bootable operating systems displayed by GRUB.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/i86pc/kernel/unix\fR\fR
+.ad
+.sp .6
+.RS 4n
+32-bit kernel.
+.RE
+
+.SS "64-bit x86 Only"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/i86pc/kernel/amd64/unix\fR\fR
+.ad
+.sp .6
+.RS 4n
+64-bit kernel.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkmdb\fR(1), \fBuname\fR(1), \fBbootadm\fR(1M), \fBeeprom\fR(1M),
+\fBinit\fR(1M), \fBinstallboot\fR(1M), \fBkernel\fR(1M), \fBmonitor\fR(1M),
+\fBshutdown\fR(1M), \fBsvcadm\fR(1M), \fBumountall\fR(1M), \fBzpool\fR(1M),
+\fBuadmin\fR(2), \fBbootparams\fR(4), \fBinittab\fR(4), \fBvfstab\fR(4),
+\fBwanboot.conf\fR(4), \fBfilesystem\fR(5)
+.sp
+.LP
+RFC 903, \fIA Reverse Address Resolution Protocol\fR,
+\fBhttp://www.ietf.org/rfc/rfc903.txt\fR
+.sp
+.LP
+RFC 2131, \fIDynamic Host Configuration Protocol\fR,
+\fBhttp://www.ietf.org/rfc/rfc2131.txt\fR
+.sp
+.LP
+RFC 2132, \fIDHCP Options and BOOTP Vendor Extensions\fR,
+\fBhttp://www.ietf.org/rfc/rfc2132.txt\fR
+.sp
+.LP
+RFC 2396, \fIUniform Resource Identifiers (URI): Generic Syntax\fR,
+\fBhttp://www.ietf.org/rfc/rfc2396.txt\fR
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+\fISun Hardware Platform Guide\fR
+.sp
+.LP
+\fIOpenBoot Command Reference Manual\fR
+.SH WARNINGS
+.sp
+.LP
+The \fBboot\fR utility is unable to determine which files can be used as
+bootable programs. If the booting of a file that is not bootable is requested,
+the \fBboot\fR utility loads it and branches to it. What happens after that is
+unpredictable.
+.SH NOTES
+.sp
+.LP
+\fIplatform-name\fR can be found using the \fB-i\fR option of \fBuname\fR(1).
+\fIhardware-class-name\fR can be found using the \fB-m\fR option of
+\fBuname\fR(1).
+.sp
+.LP
+The current release of the Solaris operating system does not support machines
+running an UltraSPARC-I CPU.
diff --git a/usr/src/man/man1m/bootadm.1m b/usr/src/man/man1m/bootadm.1m
new file mode 100644
index 0000000000..146298c997
--- /dev/null
+++ b/usr/src/man/man1m/bootadm.1m
@@ -0,0 +1,376 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH bootadm 1M "25 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+bootadm \- manage bootability of GRUB-enabled operating system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/bootadm\fR update-archive [\fB-vn\fR] [\fB-R\fR \fIaltroot\fR [\fB-p\fR \fIplatform\fR]]
+.fi
+
+.LP
+.nf
+\fB/sbin/bootadm\fR list-archive [\fB-vn\fR] [\fB-R\fR \fIaltroot\fR [\fB-p\fR \fIplatform\fR]]
+.fi
+
+.LP
+.nf
+ x86 only
+.fi
+
+.LP
+.nf
+\fB/sbin/bootadm\fR set-menu [\fB-R\fR \fIaltroot\fR [\fB-p\fR \fIplatform\fR]] \fIkey\fR=\fIvalue\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/bootadm\fR list-menu [\fB-R\fR \fIaltroot\fR [\fB-p\fR \fIplatform\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBbootadm\fR command manages the boot archive and, with x86 boot
+environments, the GRUB (GRand Unified Bootloader) menu. The
+\fBupdate-archive\fR option provides a way for user to update the boot archive
+as a preventative measure or as part of a recovery procedure. The
+\fBset-menu\fR subcommand allows you to switch the \fBauto-boot\fR timeout and
+default boot entry in the GRUB menu.
+.sp
+.LP
+The \fBlist-menu\fR subcommand displays the location of the GRUB menu and the
+current GRUB menu entries. While the typical location of the GRUB menu is
+\fB/boot/grub/menu.lst\fR, depending on the install method used the active GRUB
+menu might be located somewhere else. Use the \fBlist-menu\fR subcommand to
+locate the active GRUB menu. See the EXAMPLES section for typical output from
+the \fBlist-menu\fR option.
+.sp
+.LP
+Note that OpenBoot PROM (OBP)-based machines, such as SPARC systems, do not use
+GRUB and have no boot menu manageable by \fBbootadm\fR.
+.sp
+.LP
+The \fBbootadm\fR command determines dynamically the options supported by the
+image to be managed, so that \fBbootadm\fR invoked on one platform can be used
+to manage diskless clients of a different platform type.
+.SH SUBCOMMANDS
+.sp
+.LP
+The \fBbootadm\fR command has the following subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBupdate-archive\fR\fR
+.ad
+.sp .6
+.RS 4n
+Updates current boot archive if required. Applies to both SPARC and x86
+platforms.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-archive\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the files and directories to be included in the boot archive. Applies to
+both SPARC and x86 platforms.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset-menu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maintain the GRUB menu. The current GRUB menu is \fBboot/grub/menu.lst\fR,
+relative to root. Do not depend on this location, because it is subject to
+change. Applies to x86 platforms only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-menu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the location of the active GRUB menu, as well as the current GRUB menu
+entries. This includes the autoboot-timeout, the default entry number, and the
+title of each entry. Applies to x86 platforms only.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBbootadm\fR command has the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+In an \fBupdate-archive\fR operation, stale files are displayed on stderr.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+In an \fBupdate-archive\fR operation, archive content is checked but not
+updated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIplatform\fR\fR
+.ad
+.sp .6
+.RS 4n
+The platform, or machine hardware class, of the client. The platform type can
+only be specified together with \fB-R\fR, and is generally useful only for
+managing a diskless client where the client is of a different platform class
+than the server. Platform must be one of \fBi86pc\fR, \fBsun4u\fR, or
+\fBsun4v\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\ \fIaltroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Operation is applied to an alternate root path.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIkey\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Possible values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefault=\fR\fIentrynum\fR\fR
+.ad
+.sp .6
+.RS 4n
+The item number (for example, 0, 1, or 2) in the GRUB menu designating the
+operating system to boot when the timer expires.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtimeout=\fR\fIseconds\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of seconds before the operating system designated by the default
+item number is booted. If the value is -1, auto boot is disabled.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUpdating the Current Boot Archive
+.sp
+.LP
+The following command updates the current boot archive:
+
+.sp
+.in +2
+.nf
+# bootadm update-archive
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRUpdating the Boot Archive on an Alternate Root
+.sp
+.LP
+The following command updates the boot archive on an alternate root:
+
+.sp
+.in +2
+.nf
+# bootadm update-archive -R /a
+.fi
+.in -2
+
+.LP
+\fBExample 3 \fRListing Installed OS Instances
+.sp
+.LP
+The following command lists the installed operating system instances in a GRUB
+menu:
+
+.sp
+.in +2
+.nf
+# bootadm list-menu
+
+default=0
+timeout=10
+(0) Solaris10
+(1) Solaris10 Failsafe
+(2) Linux
+.fi
+.in -2
+
+.LP
+\fBExample 4 \fRSwitching Default Boot Entry
+.sp
+.LP
+The following command refers to the menu displayed in the previous example. The
+user selects Linux (item 2).
+
+.sp
+.in +2
+.nf
+# bootadm set-menu default=2
+.fi
+.in -2
+
+.LP
+\fBExample 5 \fRListing GRUB Menu Entries and Location of GRUB Menu
+.sp
+.LP
+The following command lists the GRUB menu entries and the location of the GRUB
+menu:
+
+.sp
+.in +2
+.nf
+# bootadm list-menu
+The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst
+default 0
+timeout 10
+0 Solaris10
+1 Solaris10 failsafe
+2 Linux
+.fi
+.in -2
+
+.LP
+\fBExample 6 \fRDisplaying Location of GRUB Menu
+.sp
+.LP
+The following command displays the location of the GRUB menu:
+
+.sp
+.in +2
+.nf
+# bootadm list-menu
+The location for the active GRUB menu is: /dev/dsk/c0t1d0s0 (not mounted)
+The filesystem type of the menu device is <ufs>
+default 2
+timeout 10
+0 c0t1d0s3
+1 c0t1d0s3 failsafe
+2 Solaris10
+3 Solaris10 failsafe
+.fi
+.in -2
+
+.sp
+.LP
+In this example, the active GRUB menu is located on a device which is \fBnot\fR
+mounted. To access the GRUB menu, mount the device and access the GRUB menu at
+\fB\fI<mountpoint>\fR/boot/grub/menu.lst\fR.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+The command completed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+The command exited due to an error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBboot\fR(1M), \fBinstallgrub\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+Consult the GRUB home page, under:
+.sp
+.in +2
+.nf
+http://www.gnu.org/
+.fi
+.in -2
+
diff --git a/usr/src/man/man1m/bootconfchk.1m b/usr/src/man/man1m/bootconfchk.1m
new file mode 100644
index 0000000000..408423467f
--- /dev/null
+++ b/usr/src/man/man1m/bootconfchk.1m
@@ -0,0 +1,77 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH bootconfchk 1M "18 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+bootconfchk \- verify the integrity of a network boot configuration file
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/bootconfchk\fR [\fIbootconf-file\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBbootconfchk\fR command checks that the file specified is a valid network
+boot configuration file as described in \fBwanboot.conf\fR(4).
+.sp
+.LP
+Any discrepancies are reported on standard error.
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Usage error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBwanboot.conf\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/busstat.1m b/usr/src/man/man1m/busstat.1m
new file mode 100644
index 0000000000..2516a7afa3
--- /dev/null
+++ b/usr/src/man/man1m/busstat.1m
@@ -0,0 +1,334 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH busstat 1M "1 Nov 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+busstat \- report bus-related performance statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBbusstat\fR \fB-e\fR \fIdevice-inst\fR | \fB-h\fR | \fB-l\fR
+.fi
+
+.LP
+.nf
+\fBbusstat\fR [\fB-a\fR] [\fB-n\fR]
+ [\fB-w \fR \fIdevice-inst\fR [,pic0=\fIevent\fR,pic\fIn\fR=\fIevent\fR ]]...
+ [\fB-r\fR \fIdevice-inst\fR]... [\fIinterval \fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBbusstat\fR provides access to the bus-related performance counters in the
+system. These performance counters allow for the measurement of statistics like
+hardware clock cycles, bus statistics including \fBDMA\fR and cache coherency
+transactions on a multiprocessor system. Each bus device that supports these
+counters can be programmed to count a number of events from a specified list.
+Each device supports one or more Performance Instrumentation Counters
+(\fBPIC\fR) that are capable of counting events independently of each other.
+.sp
+.LP
+Separate events can be selected for each \fBPIC\fR on each instance of these
+devices. \fBbusstat\fR summarizes the counts over the last interval seconds,
+repeating forever. If a count is given, the statistics are repeated count
+times.
+.sp
+.LP
+ Only root users can program these counters. Non-root users have the option of
+reading the counters that have been programmed by a root user.
+.sp
+.LP
+The default value for the \fIinterval\fR argument is 1 second, and the default
+\fIcount\fR is unlimited.
+.sp
+.LP
+The devices that export these counters are highly platform-dependent and the
+data may be difficult to interpret without an in-depth understanding of the
+operation of the components that are being measured and of the system they
+reside in.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display absolute counter values. The default is \fBdelta\fR values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIdevice-inst\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the list of events that the specified device supports for each pic.
+.sp
+Specify \fIdevice-inst\fR as device (\fBname\fR) followed by an optional
+instance number. If an instance number is specified, the events for that
+instance are displayed. If no instance number is specified, the events for the
+first instance of the specified device are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the devices in the system which support performance counters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not display a title in the output. The default is to display titles.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIdevice-inst\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read and display all \fBpic\fR values for the specified device
+.sp
+Specify \fIdevice-inst\fR as \fIdevice\fR (\fBname\fR) followed by \fIinstance
+number\fR, if specifying an instance number of a device whose counters are to
+be read and displayed. If all instances of this device are to be read, use
+\fIdevice\fR (\fBname\fR) without an instance number. All \fBpic\fR values will
+be sampled when using the \fB-r\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fIdevice-inst\fR [,pic0=\fIevent\fR] [,pic\fIn\fR=\fIevent\fR] \fR
+.ad
+.sp .6
+.RS 4n
+Program (write) the specified devices to count the specified events. Write
+access to the counters is restricted to root users only. Non-root users can use
+\fB-r\fR option.
+.sp
+Specify \fIdevice-inst\fR as \fIdevice\fR (\fBname\fR) followed by an optional
+\fIinstance number\fR. If specifying an instance number of a device to program
+these events on. If all instances of this device are to be programmed the same,
+then use \fIdevice\fR without an instance number. Specify an event to be
+counted for a specified \fBpic\fR by providing a comma separated list of
+\fBpic\fIn\fR=\fR\fIevent\fR values.
+.sp
+The \fB-e\fR option displays all valid event names for each device. Any devices
+that are programmed will be sampled every interval seconds and repeated count
+times. It is recommended that the interval specified is small enough to ensure
+that counter wraparound will be detected. The rate at which counters
+wraparound varies from device to device. If a user is programming events using
+the \fB-w\fR option and \fBbusstat\fR detects that another user has changed the
+events that are being counted, the tool will terminate as the programmed
+devices are now being controlled by another user. Only one user can be
+programming a device instance at any one time. Extra devices can be sampled
+using the \fB-r\fR option. Using multiple instances of the \fB-w\fR option on
+the same command line, with the same \fIdevice-inst\fR specifying a different
+list of events for the \fBpic\fRs will give the effect of multiplexing for that
+device. \fBbusstat\fR will switch between the list of events for that device
+every interval seconds. Event can be a string representing the event name, or
+even a number representing the bit pattern to be programmed into the
+Performance Control Register (\fBPCR\fR). This assumes explicit knowledge of
+the meaning of the control register bits for a device. The number can be
+specified in hexadecimal, decimal, or octal, using the usual conventions of
+\fBstrtol\fR(3C).
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.RS 5n
+.rt
+Another user is writing to the same devices.
+.RE
+
+.SH EXAMPLES
+.SS "SPARC Only"
+.LP
+\fBExample 1 \fRProgramming and monitoring the Address Controller counters
+.sp
+.LP
+In this example, \fBac0\fR refers to the Address Controller instance 0. The
+counters are programmed to count Memory Bank stalls on an Ultra Enterprise
+system at 10 second intervals with the values displayed in absolute form
+instead of deltas.
+
+.sp
+.in +2
+.nf
+# busstat -a -w ac0,pic0=mem_bank0_stall,pic1=mem_bank1_stall 10
+time dev event0 pic0 event1 pic1
+10 ac0 mem_bank0_stall 1234 mem_bank1_stall 5678
+20 ac0 mem_bank0_stall 5678 mem_bank1_stall 12345
+30 ac0 mem_bank0_stall 12345 mem_bank1_stall 56789
+\&...
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For a complete list of the supported events for a device, use the \fB-e\fR
+option.
+
+.LP
+\fBExample 2 \fRProgramming and monitoring the counters on all instances of the
+Address Controller
+.sp
+.LP
+In this example, \fBac\fR refers to all \fBac\fR instances. This example
+programs all instances of the Address Controller counters to \fBcount_clock\fR
+cycles and \fBmem_bank0_rds\fR at 2 second intervals, 100 times, displaying the
+values as deltas.
+
+.sp
+.in +2
+.nf
+# busstat -w ac,pic0=clock_cycles,pic1=mem_bank0_rds 2 100
+time dev event0 pic0 event1 pic1
+2 ac0 clock_cycles 167242902 mem_bank0_rds 3144
+2 ac1 clock_cycles 167254476 mem_bank0_rds 1392
+4 ac0 clock_cycles 168025190 mem_bank0_rds 40302
+4 ac1 clock_cycles 168024056 mem_bank0_rds 40580
+\&...
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRMonitoring the events being counted
+.sp
+.LP
+This example monitors the events that are being counted on the sbus1 device,
+100 times at 1 second intervals. It suggests that a root user has changed the
+events that \fBsbus1\fR was counting to be \fBdvma_tlb_misses\fR and interrupts
+instead of \fBpio_cycles\fR.
+
+.sp
+.in +2
+.nf
+% busstat -r sbus0 1 100
+
+time dev event0 pic0 event1 pic1
+1 sbus1 pio_cycles 2321 pio_cycles 2321
+2 sbus1 pio_cycles 48 pio_cycles 48
+3 sbus1 pio_cycles 49 pio_cycles 49
+4 sbus1 pio_cycles 2281 pio_cycles 2281
+5 sbus1 dvma_tlb_misses 0 interrupts 0
+6 sbus1 dvma_tlb_misses 6 interrupts 2
+7 sbus1 dvma_tlb_misses 8 interrupts 11
+\&...
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fREvent Multiplexing
+.sp
+.LP
+This example programs \fBac0\fR to alternate between counting (clock cycles,
+\fBmem_bank0_rds\fR) and (\fBaddr_pkts\fR, \fBdata_pkts\fR) at 2 second
+intervals while also monitoring what \fBac1\fR is counting :
+
+.sp
+.LP
+It shows the expected output of the above \fBbusstat\fR command. Another root
+user on the machine has changed the events that this user had programmed and
+\fBbusstat\fR has detected this and terminates the command with a message.
+
+.sp
+.in +2
+.nf
+# busstat -w ac0,pic0=clock_cycles,pic1=mem_bank0_rds \e
+ -w ac0,pic0=addr_pkts,pic1=data_pkts \e
+ -r ac1 2
+
+time dev event0 pic0 event1 pic1
+2 ac0 addr_pkts 12866 data_pkts 17015
+2 ac1 rio_pkts 385 rio_pkts 385
+4 ac0 clock_cycles 168018914 mem_bank0_rds 2865
+4 ac1 rio_pkts 506 rio_pkts 506
+6 ac0 addr_pkts 144236 data_pkts 149223
+6 ac1 rio_pkts 522 rio_pkts 522
+8 ac0 clock_cycles 168021245 mem_bank0_rds 2564
+8 ac1 rio_pkts 387 rio_pkts 387
+10 ac0 addr_pkts 144292 data_pkts 159645
+10 ac1 rio_pkts 506 rio_pkts 506
+12 ac0 clock_cycles 168020364 mem_bank0_rds 2665
+12 ac1 rio_pkts 522 rio_pkts 522
+busstat: events changed (possibly by another busstat).
+#
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBiostat\fR(1M), \fBmpstat\fR(1M), \fBvmstat\fR(1M), \fBstrtol\fR(3C),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/cachefsd.1m b/usr/src/man/man1m/cachefsd.1m
new file mode 100644
index 0000000000..9f20d929d2
--- /dev/null
+++ b/usr/src/man/man1m/cachefsd.1m
@@ -0,0 +1,90 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cachefsd 1M "2 October 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cachefsd \- CacheFS daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/fs/cachefs/cachefsd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcachefsd\fR server implements features of the cache filesystem
+(CacheFS). It is invoked at boot time and run if the \fB/\fR (root) and
+\fB/usr\fR filesystems are being cached. If \fB/usr\fR is being cached,
+\fBcachefsd\fR is invoked by \fBinetd\fR(1M) from \fBinetd.conf\fR(4). At run
+time, \fBcachefsd\fR is invoked by the \fBinetd\fR mechanism in response to an
+RPC request from a user command such as \fBmount_cachefs\fR(1M).
+.sp
+.LP
+The \fBcachefsd\fR server supports the "disconnected mode" of CacheFS. In this
+mode, a user can continue to read and, depending on the option selected, write
+to files in a cached filesystem when the NFS server for the cached files is not
+available.
+.sp
+.LP
+The \fBcachefsd\fR daemon performs the following functions in support of the
+CacheFS:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Implements the connection policy. The daemon determines whether the NFS server
+backing the cache is connected or disconnected from the cache, or is in
+transition from the connected or disconnected states.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Implements "log rolling," wherein the daemon monitors a disconnected NFS server
+for reconnection. After such a server returns to a connected state,
+\fBcachefsd\fR rolls any local changes to cached files (kept in a log) back to
+the server.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Manages "packing," wherein \fBcachefsd\fR makes a best effort to ensure that
+files in a user-specified list are available in the cache in disconnected mode.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Supports user interfaces by supplying statistics, reporting conflicts between
+the cache and the back filesystem, and supporting a list of files for packing.
+.RE
+.sp
+.LP
+The running of \fBcachefsd\fR is required for the disconnected mode of CacheFS.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Used for invoking \fBcachefsd\fR for the \fB/\fR filesystem.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcachefspack\fR(1M), \fBcfsadmin\fR(1M), \fBmount_cachefs\fR(1M),
+\fBinetd.conf\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/cachefslog.1m b/usr/src/man/man1m/cachefslog.1m
new file mode 100644
index 0000000000..0032ba6f66
--- /dev/null
+++ b/usr/src/man/man1m/cachefslog.1m
@@ -0,0 +1,172 @@
+'\" te
+.\" Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cachefslog 1M "7 Feb 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cachefslog \- Cache File System logging
+.SH SYNOPSIS
+.LP
+.nf
+\fBcachefslog\fR [\fB-f\fR \fIlogfile\fR | \fB-h\fR] \fIcachefs_mount_point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcachefslog\fR command displays where CacheFS statistics are being
+logged. Optionally, it sets where CacheFS statistics are being logged, or it
+halts logging for a cache specified by \fIcachefs_mount_point\fR. The
+\fIcachefs_mount_point\fR argument is a mount point of a cache file system.
+All file systems cached under the same cache as \fIcachefs_mount_point\fR will
+be logged.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported. You must be super-user to use the \fB-f\fR
+and \fB-h\fR options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIlogfile\fR\fR
+.ad
+.RS 14n
+.rt
+Specify the log file to be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 14n
+.rt
+Halt logging.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcachefs_mount_point\fR\fR
+.ad
+.RS 23n
+.rt
+A mount point of a cache file system.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBcachefslog\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRChecking the Logging of a directory.
+.sp
+.LP
+The example below checks if the directory \fB/home/sam\fR is being logged:
+
+.sp
+.in +2
+.nf
+example% cachefslog /home/sam
+not logged: /home/sam\fI\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRChanging the \fIlogfile\fR.
+.sp
+.LP
+The example below changes the \fIlogfile\fR of \fB/home/sam\fR to
+\fB/var/tmp/samlog\fR:
+
+.sp
+.in +2
+.nf
+example# cachefslog -f /var/tmp/samlog /home/sam
+/var/tmp/samlog: /home/sam \fI\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRVerifying the change of a \fIlogfile\fR.
+.sp
+.LP
+The example below verifies the change of the previous example:
+
+.sp
+.in +2
+.nf
+example% cachefslog /home/sam
+/var/tmp/samlog: /home/sam \fI\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRHalting the logging of a directory.
+.sp
+.LP
+The example below halts logging for the \fB/home/sam\fR directory:
+
+.sp
+.in +2
+.nf
+example# cachefslog -h /home/sam
+not logged: /home/sam\fI\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+success
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+an error has occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcachefsstat\fR(1M), \fBcachefswssize\fR(1M), \fBcfsadmin\fR(1M),
+\fBattributes\fR(5), \fBlargefile\fR(5)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBInvalid path\fR\fR
+.ad
+.RS 16n
+.rt
+It is illegal to specify a path within a cache file system.
+.RE
+
diff --git a/usr/src/man/man1m/cachefspack.1m b/usr/src/man/man1m/cachefspack.1m
new file mode 100644
index 0000000000..46b632e95b
--- /dev/null
+++ b/usr/src/man/man1m/cachefspack.1m
@@ -0,0 +1,255 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cachefspack 1M "18 Mar 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cachefspack \- pack files and file systems in the cache
+.SH SYNOPSIS
+.LP
+.nf
+\fBcachefspack\fR [\fB-h\fR] [\fB-i\fR | \fB-p\fR | \fB-u\fR] [\fB-f\fR \fIpacking-list\fR]
+ [\fB-U\fR \fIcache-directory\fR] [\fIfile\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcachefspack\fR utility is used to set up and maintain files in the
+cache. This utility affords greater control over the cache, ensuring that the
+specified files are in the cache whenever possible.
+.sp
+.LP
+\fBcachefspack\fR does not pack files when the backfileystem type for the
+\fBcachefs\fR mount is NFSv4. This is because only pass-through support is
+available for \fBcachefs\fR with NFSv4.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-f\fR\fB \fR\fIpacking-list\fR\fR
+.ad
+.RS 22n
+.rt
+Specify a file containing a list of files and directories to be packed. Options
+within subdirectories and files can also be specified. The format and rules
+governing \fIpacking-list\fR are described on the \fBpackingrules\fR(4) manual
+page. Directories are packed recursively. Symlinks that match a regular
+expression on a \fBLIST\fR command are followed. Symlinks encountered while
+recursively processing directories are not followed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 22n
+.rt
+Help. Print a brief summary of all the options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 22n
+.rt
+View information about the packed files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 22n
+.rt
+Pack the file or files specified by \fBfile\fR. This is the default behavior.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 22n
+.rt
+Unpack the file or files specified by \fBfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-U\fR\fB \fR\fIcache-directory\fR\fR
+.ad
+.RS 22n
+.rt
+Unpack all files in the specified cache directory.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR\fR
+.ad
+.RS 8n
+.rt
+A path name of a file to be packed or unpacked.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBcachefspack\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRPacking a File in the Cache
+.sp
+.LP
+The following example packs the file \fBprojects\fR in the cache:
+
+.sp
+.in +2
+.nf
+% cachefspack \fB-p\fR projects
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRPackint Files in the Cache
+.sp
+.LP
+The following example packs the files \fBprojects\fR, \fBupdates\fR, and
+\fBmaster_plan\fR in the cache:
+
+.sp
+.in +2
+.nf
+% cachefspack \fB-p\fR projects updates master_plan
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUnpacking a File From the Cache
+.sp
+.LP
+The following example unpacks the file \fBprojects\fR from the cache:
+
+.sp
+.in +2
+.nf
+% cachefspack \fB-u\fR projects
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUnpacking Files From the Cache
+.sp
+.LP
+The following example unpacks the files \fBprojects\fR, \fBupdates\fR, and
+\fBmaster_plan\fR from the cache:
+
+.sp
+.in +2
+.nf
+% cachefspack \fB-u\fR projects updates master_plan
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRUnpacking All Files From in a Cache Directory
+.sp
+.LP
+The following example unpacks all files in the cache directory \fBcache1\fR:
+
+.sp
+.in +2
+.nf
+% cachefspack \fB-U\fR /cache/cache1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRUsing a Packing List
+.sp
+.LP
+The following example illustrates the use of a packing list to specify files to
+be packed in the cache.
+
+.sp
+.LP
+The contents of \fBlists.pkg\fR are as follows:
+
+.sp
+.in +2
+.nf
+IGNORE SCCS BASE /src/junk LIST *.c LIST *.h
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command packs all files in the \fB/src/junk\fR directory which
+have \fB\&.c\fR and \fB\&.h\fR extensions, and do contain the string SCCS in
+the file's path name:
+
+.sp
+.in +2
+.nf
+% cachefspack \fB-f\fR lists.pkg
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfsadmin\fR(1M), \fBmount_cachefs\fR(1M), \fBpackingrules\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5)
diff --git a/usr/src/man/man1m/cachefsstat.1m b/usr/src/man/man1m/cachefsstat.1m
new file mode 100644
index 0000000000..07cdadfb92
--- /dev/null
+++ b/usr/src/man/man1m/cachefsstat.1m
@@ -0,0 +1,151 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cachefsstat 1M "9 Oct 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cachefsstat \- Cache File System statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/cachefsstat\fR [\fB-z\fR] [\fIpath\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcachefsstat\fR command displays statistical information about the cache
+file system mounted on \fIpath\fR. The statistical information includes cache
+hits and misses, consistency checking, and modification operations. If
+\fIpath\fR is not specified, all mounted cache file systems are used.
+.sp
+.LP
+\fBcachefsstat\fR can also be used to reinitialize this information (see
+\fB-z\fR option).
+.sp
+.LP
+The statistical information has the following format:
+.sp
+.in +2
+.nf
+<\fIcache hit rate\fR>
+<\fIconsistency checks\fR>
+<\fImodifies\fR>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhit rate\fR\fR
+.ad
+.RS 22n
+.rt
+The percentage of cache hits over the total number of attempts, followed by the
+actual numbers of hits and misses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIconsistency checks\fR\fR
+.ad
+.RS 22n
+.rt
+The number of consistency checks performed, followed by the number that passed,
+and the number that failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImodifies\fR\fR
+.ad
+.RS 22n
+.rt
+The number of modify operations, including writes, creates, etc.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fR
+.ad
+.RS 6n
+.rt
+Zero (reinitialize) statistics. Execute \fBcachefsstat\fR \fB-z\fR before
+executing \fBcachefsstat\fR again to gather statistics on the cache
+performance. This option can only be use by the superuser. The statistics
+printed reflect those just before the statistics are reinitialized.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBcachefsstat\fR
+when encountering files greater than or equal to 2 Gbyte (2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBcachefsstat\fR
+.sp
+.LP
+The following example shows the \fBcachefsstat\fR command run on file system
+\fB/test\fR:
+
+.sp
+.in +2
+.nf
+example# cachefsstat /test
+ /test
+ cache hit rate: 100% (0 hits, 0 misses)
+ consistency checks: 0 (0 pass, 0 fail)
+ modifies: 0
+garbage collection: 0
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcachefslog\fR(1M), \fBcachefswssize\fR(1M), \fBcfsadmin\fR(1M),
+\fBattributes\fR(5), \fBlargefile\fR(5)
diff --git a/usr/src/man/man1m/cachefswssize.1m b/usr/src/man/man1m/cachefswssize.1m
new file mode 100644
index 0000000000..9899f0df69
--- /dev/null
+++ b/usr/src/man/man1m/cachefswssize.1m
@@ -0,0 +1,115 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cachefswssize 1M "16 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cachefswssize \- determine working set size for cachefs
+.SH SYNOPSIS
+.LP
+.nf
+\fBcachefswssize\fR \fIlogfile\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcachefswssize\fR command displays the workspace size determined from
+\fIlogfile\fR. This includes the amount of cache space needed for each
+filesystem that was mounted under the cache, as well as a total.
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of
+\fBcachefswssize\fR when encountering files greater than or equal to 2 Gbyte (
+2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRA sample output of \fBcachefswssize\fR.
+.sp
+.LP
+\fBexample% cachefswssize /var/tmp/samlog\fR
+
+.sp
+
+.sp
+.TS
+tab();
+lw(1.83i) lw(1.83i) lw(1.83i)
+lw(1.83i) lw(1.83i) lw(1.83i)
+.
+\fB/home/sam\fR
+\fBend size:\fR\fB10688k\fR
+\fBhigh water size:\fR\fB10704k\fR
+
+\fB/foo\fR
+\fBend size:\fR\fB128k\fR
+\fBhigh water size:\fR\fB128k\fR
+
+\fB/usr/dist\fR
+\fBend size:\fR\fB1472k\fR
+\fBhigh water size:\fR\fB1472k\fR
+
+\fBtotal for cache\fR
+\fBinitial size:\fR\fB110960k\fR
+\fBend size:\fR\fB12288k\fR
+\fBhigh water size:\fR\fB12304k\fR
+.TE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+success
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+an error has occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcachefslog\fR(1M), \fBcachefsstat\fR(1M), \fBcfsadmin\fR(1M),
+\fBattributes\fR(5), \fBlargefile\fR(5)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproblems were encountered writing log file\fR\fR
+.ad
+.sp .6
+.RS 4n
+There were problems encountered when the kernel was writing the logfile. The
+most common problem is running out of disk space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinvalid log\fR \fBfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+The logfile is not a valid logfile or was created with a newer version of
+Solaris than the one where \fBcachefswssize\fR is running.
+.RE
+
diff --git a/usr/src/man/man1m/captoinfo.1m b/usr/src/man/man1m/captoinfo.1m
new file mode 100644
index 0000000000..7dc247401e
--- /dev/null
+++ b/usr/src/man/man1m/captoinfo.1m
@@ -0,0 +1,112 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH captoinfo 1M "18 May 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+captoinfo \- convert a termcap description into a terminfo description
+.SH SYNOPSIS
+.LP
+.nf
+\fBcaptoinfo\fR [\fB-1\fR] [\fB-v\fR]... [\fB-V\fR] [\fB-w\fR \fIwidth\fR] \fIfilename\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBcaptoinfo\fR looks in \fIfilename\fR for \fBtermcap\fR descriptions. For
+each one found, an equivalent \fBterminfo\fR description is written to
+standard output, along with any comments found. A description which is
+expressed as relative to another description (as specified in the \fBtermcap\fR
+\fBtc = field\fR) is reduced to the minimum superset before being displayed.
+.sp
+.LP
+If no \fIfilename\fR is given, then the environment variable
+\fB\fR\fBTERM\fR\fBCAP \fR is used for the filename or entry. If
+\fB\fR\fBTERM\fR\fBCAP \fR is a full pathname to a file, only the terminal
+whose name is specified in the environment variable \fBTERM\fR is extracted
+from that file. If the environment variable \fB\fR\fBTERM\fR\fBCAP \fR is not
+set, then the file \fB/usr/share/lib/termcap\fR is read.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\(mi1\fR\fR
+.ad
+.RS 12n
+.rt
+Display the fields one to a line. Otherwise, the fields are printed several to
+a line, with a maximum width of 60 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 12n
+.rt
+Display tracing information on the standard error as the program runs.
+Specifying additional \fB-v\fR options displays more detailed information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 12n
+.rt
+Display the version of the program in use on the standard error and then exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fI width\fR\fR
+.ad
+.RS 12n
+.rt
+Change the output to \fIwidth\fR characters.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/terminfo/?/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+compiled terminal description database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/termcap\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinfocmp\fR(1M), \fBcurses\fR(3CURSES), \fBterminfo\fR(4),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBcaptoinfo\fR should be used to convert \fBtermcap\fR entries to
+\fBterminfo\fR entries because the \fBtermcap\fR database may not be supplied
+in future releases.
diff --git a/usr/src/man/man1m/catman.1m b/usr/src/man/man1m/catman.1m
new file mode 100644
index 0000000000..7967ec618b
--- /dev/null
+++ b/usr/src/man/man1m/catman.1m
@@ -0,0 +1,414 @@
+'\" te
+.\" Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH catman 1M "27 Feb 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+catman \- create the formatted files for the reference manual
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/catman\fR [\fB-c\fR] [\fB-n\fR] [\fB-p\fR] [\fB-t\fR] [\fB-w\fR] [\fB-M\fR \fIdirectory\fR]
+ [\fB-T\fR \fImacro-package\fR] [\fIsections\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcatman\fR utility creates the preformatted versions of the on-line
+manual from the \fBnroff\fR(1) or \fBsgml\fR(5) input files. This feature
+allows easy distribution of the preformatted manual pages among a group of
+associated machines (for example, with \fBrdist\fR(1)), since it makes the
+directories of preformatted manual pages self-contained and independent of the
+unformatted entries.
+.sp
+.LP
+\fBcatman\fR also creates the \fBwindex\fR database file in the directories
+specified by the \fBMANPATH\fR or the \fB-M\fR option. The \fBwindex\fR
+database file is a three column list consisting of a keyword, the reference
+page that the keyword points to, and a line of text that describes the purpose
+of the utility or interface documented on the reference page. Each keyword is
+taken from the comma separated list of words on the \fBNAME\fR line before the
+`\(mi' (dash). The reference page that the keyword points to is the first word
+on the \fBNAME\fR line. The text after the \(mi on the \fBNAME\fR line is the
+descriptive text in the third column. The \fBNAME\fR line must be immediately
+preceded by the page heading line created by the \fB\&.TH\fR macro (see
+\fBNOTES\fR for required format).
+.sp
+.LP
+Each manual page is examined and those whose preformatted versions are missing
+or out of date are recreated. If any changes are made, \fBcatman\fR recreates
+the \fBwindex\fR database.
+.sp
+.LP
+If a manual page is a \fIshadow\fR page, that is, it sources another manual
+page for its contents, a symbolic link is made in the \fBcat\fR\fIx\fR or
+\fBfmt\fR\fIx\fR directory to the appropriate preformatted manual page.
+.sp
+.LP
+Shadow files in an unformatted nroff source file are identified by the first
+line being of the form \fB\&.so man\fR\fIx\fR\fB/yyy.\fR\fIx\fR\fB\&.\fR
+.sp
+.LP
+Shadow files in the \fBSGML\fR sources are identified by the string
+\fBSHADOW_PAGE\fR. The file entity declared in the shadow file identifies the
+file to be sourced.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 20n
+.rt
+Create unformatted nroff source files in the appropriate \fBman\fR
+subdirectories from the \fBSGML\fR sources. This option will overwrite any
+existing file in the \fBman\fR directory of the same name as the \fBSGML\fR
+file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 20n
+.rt
+Do not create (or recreate) the \fBwindex\fR database. If the \fB-n\fR option
+is specified, the \fBwindex\fR database is not created and the \fBapropos\fR,
+\fBwhatis\fR, \fBman\fR \fB-f\fR, and \fBman\fR \fB-k\fR commands will fail.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 20n
+.rt
+Print what would be done instead of doing it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 20n
+.rt
+Create \fBtroff\fRed entries in the appropriate \fBfmt\fR subdirectories
+instead of \fBnroff\fRing into the \fBcat\fR subdirectories.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.RS 20n
+.rt
+Only create the \fBwindex\fR database that is used by \fBwhatis\fR(1) and the
+\fBman\fR(1) \fB-f\fR and \fB-k\fR options. No manual reformatting is done.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fI directory\fR\fR
+.ad
+.RS 20n
+.rt
+Update manual pages located in the specified \fIdirectory\fR,
+(\fB/usr/share/man\fR by default). If the \fB-M\fR option is specified, the
+directory argument must not contain a `,' (comma), since a comma is used to
+delineate section numbers. See \fBman\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fI macro-package\fR\fR
+.ad
+.RS 20n
+.rt
+Use \fImacro-package\fR in place of the standard manual page macros, (
+\fBman\fR(5) by default).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsections\fR\fR
+.ad
+.RS 12n
+.rt
+If there is one parameter not starting with a `\fB\(mi\fR\&', it is taken to be
+a space separated list of manual sections to be processed by \fBcatman\fR. If
+this operand is specified, only the manual sections in the list will be
+processed. For example,
+.sp
+.in +2
+.nf
+\fBcatman 1 2 3\fR
+.fi
+.in -2
+.sp
+
+only updates manual sections \fB1\fR, \fB2\fR, and \fB3\fR. If specific
+sections are not listed, all sections in the \fBman\fR directory specified by
+the environment variable \fBMANPATH\fR are processed.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTROFF\fR\fR
+.ad
+.RS 11n
+.rt
+The name of the formatter to use when the \fB-t\fR flag is given. If not set,
+\fBtroff\fR(1) is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMANPATH\fR\fR
+.ad
+.RS 11n
+.rt
+A colon-separated list of directories that are processed by \fBcatman\fR and
+\fBman\fR(1). Each directory can be followed by a comma-separated list of
+sections. If set, its value overrides \fB/usr/share/man\fR as the default
+directory search path, and the \fBman.cf\fR file as the default section search
+path. The \fB-M\fR and \fB-s\fR flags, in turn, override these values.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/man\fR\fR
+.ad
+.RS 28n
+.rt
+default manual directory location
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/man/man*/*.*\fR\fR
+.ad
+.RS 28n
+.rt
+raw nroff input files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/man/sman*/*.*\fR\fR
+.ad
+.RS 28n
+.rt
+raw \fBSGML\fR input files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/man/cat*/*.*\fR\fR
+.ad
+.RS 28n
+.rt
+preformatted \fBnroff\fRed manual pages
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/man/fmt*/*.*\fR\fR
+.ad
+.RS 28n
+.rt
+preformatted \fBtroff\fRed manual pages
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/man/windex\fR\fR
+.ad
+.RS 28n
+.rt
+table of contents and keyword database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/makewhatis\fR\fR
+.ad
+.RS 28n
+.rt
+command script to make \fBwindex\fR database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/tmac/an\fR\fR
+.ad
+.RS 28n
+.rt
+default macro package
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+CSIEnabled
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBapropos\fR(1), \fBman\fR(1), \fBnroff\fR(1), \fBrdist\fR(1), \fBrm\fR(1),
+\fBtroff\fR(1), \fBwhatis\fR(1), \fBattributes\fR(5), \fBman\fR(5),
+\fBsgml\fR(5)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBman?/xxx.? (.so'ed from man?/yyy.?): No such file or directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+The file outside the parentheses is missing, and is referred to by the file
+inside them.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget of .so in man?/xxx.? must be relative to /usr/man\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBcatman\fR only allows references to filenames that are relative to the
+directory \fB/usr/man\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBopendir:man?:\fR \fBNo\fR \fBsuch\fR \fBfile\fR \fBor\fR
+\fBdirectory\fR\fR
+.ad
+.sp .6
+.RS 4n
+A harmless warning message indicating that one of the directories \fBcatman\fR
+normally looks for is missing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB*.*:\fR \fBNo\fR \fBsuch\fR \fBfile\fR \fBor\fR \fBdirectory\fR\fR
+.ad
+.sp .6
+.RS 4n
+A harmless warning message indicating \fBcatman\fR came across an empty
+directory.
+.RE
+
+.SH WARNINGS
+.sp
+.LP
+If a user, who has previously run \fBcatman\fR to install the \fBcat*\fR
+directories, upgrades the operating system, the entire \fBcat*\fR directory
+structure should be removed prior to running \fBcatman\fR. See \fBrm\fR(1).
+.sp
+.LP
+Do not re-run \fBcatman\fR to re-build the \fBwhatis\fR database unless the
+complete set of \fBman*\fR directories is present. \fBcatman\fR builds this
+\fBwindex\fR file based on the \fBman*\fR directories.
+.SH NOTES
+.sp
+.LP
+To generate a valid windex index file, \fBcatman\fR has certain requirements.
+Within the individual man page file, \fBcatman\fR requires two macro lines to
+have a specific format. These are the \fB\&.TH \fRpage heading line and the
+\fB\&.SH NAME \fRline.
+.sp
+.LP
+The \fB\&.TH \fRmacro requires at least the first three arguments, that is, the
+filename, section number, and the date. The \fB\&.TH \fRline starts off with
+the \fB\&.TH \fRmacro, followed by a space, the man page filename, a single
+space, the section number, another single space, and the date. The date should
+appear in double quotes and is specified as "day month year," with the month
+always abbreviated to the first three letters (Jan, Feb, Mar, and so forth).
+.sp
+.LP
+The \fB\&.SH NAME \fRmacro, also known as the \fBNAME \fRline, must immediately
+follow the \fB\&.TH \fRline, with nothing in between those lines. No font
+changes are permitted in the \fBNAME \fRline. The \fBNAME \fRline is
+immediately followed by a line containing the man page filename; then shadow
+page names, if applicable, separated by commas; a dash; and a brief summary
+statement. These elements should all be on one line; no carriage returns are
+permitted.
+.sp
+.LP
+An example of proper coding of these lines is:
+.sp
+.in +2
+.nf
+\&.TH nismatch 1M "10 Apr 1998"
+\&.SH NAME
+nismatch, nisgrep \e- utilities for searching NIS+ tables
+.fi
+.in -2
+
diff --git a/usr/src/man/man1m/cfgadm.1m b/usr/src/man/man1m/cfgadm.1m
new file mode 100644
index 0000000000..fa7d1664ef
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm.1m
@@ -0,0 +1,995 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm 1M "25 Oct 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm \- configuration administration
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-c\fR \fIfunction\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-x\fR \fIhardware_function\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-a\fR] [\fB-s\fR \fIlisting_options\fR]
+ [\fB-o\fR \fIhardware_options\fR] [\fB-l\fR [\fIap_id\fR | \fIap_type\fR]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR] \fB-t\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR] \fB-h\fR
+ [\fIap_id\fR | \fIap_type\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcfgadm\fR command provides configuration administration operations on
+dynamically reconfigurable hardware resources. These operations include
+displaying status, (\fB-l\fR), initiating testing, (\fB-t\fR), invoking
+configuration state changes, (\fB-c\fR), invoking hardware specific functions,
+(\fB-x\fR), and obtaining configuration administration help messages
+(\fB-h\fR). Configuration administration is performed at \fBattachment
+points\fR, which are places where system software supports dynamic
+reconfiguration of hardware resources during continued operation of Solaris.
+.sp
+.LP
+Configuration administration makes a distinction between hardware resources
+that are physically present in the machine and hardware resources that are
+configured and visible to Solaris. The nature of configuration administration
+functions are hardware specific, and are performed by calling hardware specific
+libraries.
+.sp
+.LP
+Configuration administration operates on an \fBattachment point\fR. Hardware
+resources located at attachment points can or can not be physically replaceable
+during system operation, but are dynamically reconfigurable by way of the
+configuration administration interfaces.
+.sp
+.LP
+An attachment point defines two unique elements, which are distinct from the
+hardware resources that exist beyond the attachment point. The two elements of
+an attachment point are a \fBreceptacle\fR and an \fBoccupant\fR. Physical
+insertion or removal of hardware resources occurs at attachment points and
+results in a receptacle gaining or losing an occupant. Configuration
+administration supports the physical insertion and removal operations as well
+as other configuration administration functions at an attachment point.
+.sp
+.LP
+Attachment points have associated state and condition information. The
+configuration administration interfaces provide control for transitioning
+attachment point states. A receptacle can exist in one of three states:
+\fBempty\fR, \fBdisconnected\fR or \fBconnected\fR, while an occupant can exist
+in one of two states: \fBconfigured\fR or \fBunconfigured\fR.
+.sp
+.LP
+A receptacle can provide the \fBempty\fR state, which is the normal state of a
+receptacle when the attachment point has no occupants. A receptacle can also
+provide the \fBdisconnected\fR state if it has the capability of isolating its
+occupants from normal system access. Typically this state is used for various
+hardware specific testing prior to bringing the occupant's resources into full
+use by the system, or as a step in preparing an occupant for physical removal
+or reconfiguration. A receptacle in the disconnected state isolates its
+occupant from the system as much as its hardware allows, but can provide access
+for testing and setup. A receptacle must provide the \fBconnected\fR state,
+which allows normal access to hardware resources contained on any occupants.
+The connected state is the normal state of a receptacle that contains an
+occupant and that is not currently undergoing configuration administration
+operations.
+.sp
+.LP
+The hardware resources contained on an occupant in the \fBunconfigured\fR state
+are not represented by normal Solaris data structures and are thus not
+available for use by Solaris. Operations allowed on an unconfigured occupant
+are limited to configuration administration operations. The hardware resources
+of an occupant in the \fBconfigured\fR state are represented by normal Solaris
+data structures and thus some or all of those hardware resources can be in use
+by Solaris. All occupants provide both the \fBconfigured\fR and
+\fBunconfigured\fR states,
+.sp
+.LP
+An attachment point can be in one of five conditions: \fBunknown\fR, \fBok\fR,
+\fBfailing\fR, \fBfailed\fR, or \fBunusable\fR. An attachment point can enter
+the system in any condition depending upon results of power-on tests and
+non-volatile record keeping.
+.sp
+.LP
+An attachment point with an occupant in the \fBconfigured\fR state is in one of
+four conditions: \fBunknown\fR, \fBok\fR, \fBfailing\fR, or \fBfailed\fR. If
+the condition is not \fBfailing\fR or \fBfailed\fR an attachment point can
+change to \fBfailing\fR during the course of operation if a hardware dependent
+recoverable error threshold is exceeded. If the condition is not \fBfailed\fR
+an attachment point can change to \fBfailed\fR during operation as a result of
+an unrecoverable error.
+.sp
+.LP
+An attachment point with an occupant in the \fBunconfigured\fR state can be in
+any of the defined conditions. The condition of an attachment point with an
+\fBunconfigured\fR occupant can decay from \fBok\fR to \fBunknown\fR after a
+machine dependent time threshold. Initiating a test function changes the
+attachment point's condition to \fBok\fR, \fBfailing\fR or \fBfailed\fR
+depending on the outcome of the test. An attachment point that does not provide
+a test function can leave the attachment point in the \fBunknown\fR condition.
+If a test is interrupted, the attachment point's condition can be set to the
+previous condition, \fBunknown\fR or \fBfailed\fR. An attachment point in the
+\fBunknown\fR, \fBok\fR, \fBfailing\fR, or \fBfailed\fR conditions can be
+re-tested.
+.sp
+.LP
+An attachment point can exist in the \fBunusable\fR condition for a variety of
+reasons, such as inadequate power or cooling for the receptacle, an occupant
+that is unidentifiable, unsupported, incorrectly configured, etc. An attachment
+point in the \fBunusable\fR condition can never be used by the system. It
+typically remains in this condition until the physical cause is remedied.
+.sp
+.LP
+An attachment point also maintains busy information that indicates when a state
+change is in progress or the condition is being reevaluated.
+.sp
+.LP
+Attachment points are referred to using hardware specific identifiers
+(\fIap_id\fRs) that are related to the type and location of the attachment
+points in the system device hierarchy. An \fIap_id\fR can not be ambiguous, it
+must identify a single attachment point. Two types of \fIap_id\fR
+specifications are supported: physical and logical. A physical \fIap_id\fR
+contains a fully specified pathname, while a logical \fIap_id\fR contains a
+shorthand notation that identifies an attachment point in a more user-friendly
+way.
+.sp
+.LP
+For example, an attachment point representing a system's backplane slot number
+\fB7\fR could have a physical \fIap_id\fR of
+\fB/devices/central/fhc/sysctrl:slot7\fR while the logical \fIap_id\fR could be
+\fBsystem:slot7\fR. Another example, the third receptacle on the second \fBPCI
+I/O\fR bus on a system could have a logical \fIap_id\fR of \fBpci2:plug3\fR.
+.sp
+.LP
+Attachment points may also be created dynamically. A dynamic attachment point
+is named relative to a base attachment point which is present in the system.
+\fBap_id\fRs for dynamic attachment points consist of a base component followed
+by two colons (\fB::\fR) and a dynamic component. The base component is the
+base attachment point \fBap_id\fR. The dynamic component is hardware specific
+and generated by the corresponding hardware specific library.
+.sp
+.LP
+For example, consider a base attachment point, which represents a \fBSCSI
+HBA\fR, with the physical \fBap_id\fR
+\fB/devices/sbus@1f,0/SUNW,fas@e,8800000:scsi\fR and logical \fBap_id c0\fR . A
+disk attached to this \fBSCSI HBA\fR could be represented by a dynamic
+attachment point with logical \fBap_id\fR \fBc0::dsk/c0t0d0\fR where \fBc0\fR
+is the base component and \fBdsk/c0t0d0\fR is the hardware specific dynamic
+component. Similarly the physical \fBap_id\fR for this dynamic attachment point
+would be: \fB/devices/sbus@1f,0/SUNW,fas@e,8800000:scsi::dsk/c0t0d0\fR
+.sp
+.LP
+An \fIap_type\fR is a partial form of a logical \fBap_id\fR that can be
+ambiguous and not specify a particular attachment point. An \fIap_type\fR is a
+substring of the portion of the logical \fBap_id\fR up to but not including the
+colon (\fB:\fR) separator. For example, an \fIap_type\fR of \fBpci\fR would
+show all attachment points whose logical \fIap_id\fRs begin with \fBpci\fR.
+.sp
+.LP
+The use of \fIap_types\fR is discouraged. The new select sub-option to the
+\fB-s\fR option provides a more general and flexible mechanism for selecting
+attachment points. See \fBOPTIONS\fR.
+.sp
+.LP
+The \fBcfgadm\fR command interacts primarily with hardware dependent functions
+contained in hardware specific libraries and thus its behavior is hardware
+dependent.
+.sp
+.LP
+For each configuration administration operation a service interruption can be
+required. Should the completion of the function requested require a noticeable
+service interruption to interactive users, a prompt is output on the standard
+error output for confirmation on the standard input before the function is
+started. Confirmation can be overridden using the \fB-y\fR or \fB-n\fR options
+to always answer yes or no respectively. Hardware specific options, such as
+test level, are supplied as sub-options using the \fB-o\fR option.
+.sp
+.LP
+Operations that change the state of the system configuration are audited by the
+system log daemon \fBsyslogd\fR(1M).
+.sp
+.LP
+The arguments for this command conform to the \fBgetopt\fR(3C) and
+\fBgetsubopt\fR(3C) syntax convention.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the \fB-l\fR option must also list dynamic attachment points.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fIfunction\fR\fR
+.ad
+.sp .6
+.RS 4n
+Performs the state change \fIfunction\fR on the attachment point specified by
+\fIap_id.\fR
+.sp
+Specify \fIfunction\fR as \fBinsert\fR, \fBremove\fR, \fBdisconnect\fR,
+\fBconnect\fR, \fBconfigure\fR or \fBunconfigure\fR. These functions cause
+state transitions at the attachment point by calling hardware specific library
+routines and are defined in the following list.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinsert\fR\fR
+.ad
+.RS 15n
+.rt
+Performs operations that allows the user to manually insert an occupant or to
+activate a hardware supplied mechanism that performs the physical insertion.
+\fBinsert\fR can have hardware specific side effects that temporarily suspend
+activity in portions of the system. In such cases the hardware specific library
+generates appropriate warning messages and informs the user of any special
+considerations or procedures unique to that hardware. Various hardware specific
+errors can cause this function to fail and set the receptacle condition to
+\fBunusable\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove\fR\fR
+.ad
+.RS 15n
+.rt
+Performs operations that allow the user to manually remove an occupant or to
+activate a hardware supplied mechanism to perform the physical removal.
+\fBremove\fR can have hardware specific side effects that temporarily suspend
+activity in portions of the system. In such cases the hardware specific library
+generates appropriate warning messages and informs the user of any special
+considerations or procedures unique to that hardware. Various hardware specific
+errors can cause this function to fail and set the receptacle condition to
+unusable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisconnect\fR\fR
+.ad
+.RS 15n
+.rt
+Performs hardware specific operations to put a receptacle in the disconnected
+state, which can prevent an occupant from operating in a normal fashion through
+the receptacle.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnect\fR\fR
+.ad
+.RS 15n
+.rt
+Performs hardware specific operations to put the receptacle in the
+\fBconnected\fR state, which allows an occupant to operate in a normal fashion
+through the receptacle.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfigure\fR\fR
+.ad
+.RS 15n
+.rt
+Performs hardware specific operations that allow an occupant's hardware
+resources to be usable by Solaris. Occupants that are configured are part of
+the system configuration and are available for manipulation by Solaris device
+manipulation maintenance commands (eg: \fBpsradm\fR(1M), \fBmount\fR(1M),
+\fBifconfig\fR(1M)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunconfigure\fR\fR
+.ad
+.RS 15n
+.rt
+Performs hardware specific operations that logically remove an occupant's
+hardware resources from the system. The occupant must currently be configured
+and its hardware resources must not be in use by Solaris.
+.RE
+
+State transition functions can fail due to the condition of the attachment
+point or other hardware dependent considerations. All state change
+\fIfunction\fRs in the direction of adding resources, \fB(insert,\fR
+\fBconnect\fR and \fBconfigure)\fR are passed onto the hardware specific
+library when the attachment point is in the \fBok\fR or \fBunknown\fR
+condition. All other conditions require the use of the force option to allow
+these \fIfunction\fRs to be passed on to the hardware specific library.
+Attachment point condition does not prevent a hardware specific library being
+called for related to the removal (\fBremove,\fR \fBdisconnect\fR and
+\fBunconfigure\fR), of hardware resources from the system. Hardware specific
+libraries can reject state change \fIfunction\fRs if the attachment point is in
+the \fBunknown\fR condition.
+.sp
+The condition of an attachment point is not necessarily changed by the state
+change functions, however errors during state change operations can change the
+attachment point condition. An attempt to override a condition and force a
+state change that would otherwise fail can be made by specifying the force
+option (\fB-f\fR). Hardware specific safety and integrity checks can prevent
+the force option from having any effect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces the specified action to occur. Typically, this is a hardware dependent
+override of a safety feature. Forcing a state change operation can allow use of
+the hardware resources of occupant that is not in the \fBok\fR or \fBunknown\fR
+conditions, at the discretion of any hardware dependent safety checks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-h\fR [\fIap_id\fR | \fIap_type\fR \|.\|.\|. ]\fR
+.ad
+.sp .6
+.RS 4n
+Prints out the help message text. If \fIap_id\fR or \fIap_type\fR is specified,
+the help routine of the hardware specific library for the attachment point
+indicated by the argument is called.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR [\fIap_id\fR | \fIap_type\fR \|.\|.\|. ]\fR
+.ad
+.sp .6
+.RS 4n
+Lists the state and condition of attachment points specified. Attachment points
+can be filtered by using the \fB-s\fR option and \fBselect\fR sub-option.
+Invoking \fBcfgadm\fR without one of the action options is equivalent to
+\fB-l\fR without an argument. The format of the list display is controlled by
+the \fB-v\fR and \fB-s\fR options. When the \fB-a\fR option is specified
+attachment points are dynamically expanded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress any interactive confirmation and assume that the answer is \fIno\fR.
+If neither \fB-n\fR or \fB-y\fR is specified, interactive confirmation is
+obtained through the standard error output and the standard input. If either of
+these standard channels does not correspond to a terminal (as determined by
+\fBisatty\fR(3C)) then the \fB-n\fR option is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fIhardware_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Supplies hardware specific options to the main command option. The format and
+content of the hardware option string is completely hardware specific. The
+option string \fIhardware_options\fR conforms to the \fBgetsubopt\fR(3C) syntax
+convention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fIlisting_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Supplies listing options to the list (\fB-l\fR) command. \fIlisting_options\fR
+conforms to the \fBgetsubopt\fR(3C) syntax convention. The sub-options are used
+to specify the attachment point selection criteria (
+\fBselect\fR=\fIselect_string\fR), the type of matching desired
+(\fBmatch\fR=\fImatch_type\fR), order of listing (\fBsort\fR=\fIfield_spec\fR),
+the data that is displayed (\fBcols=\fR\fIfield_spec\fR and
+\fBcols2=\fR\fIfield_spec\fR), the column delimiter (\fBdelim=\fR\fIstring\fR)
+and whether to suppress column headings (\fBnoheadings\fR).
+.sp
+When the \fBselect\fR sub-option is specified, only attachment points which
+match the specified criteria will be listed. The \fBselect\fR sub-option has
+the following syntax:
+.sp
+.in +2
+.nf
+cfgadm \fB-s\fR select=attr1(value1):attr2(value2)...
+.fi
+.in -2
+.sp
+
+where an \fIattr\fR is one of \fBap_id\fR, \fBclass\fR or \fBtype\fR.
+\fBap_id\fR refers to the logical \fIap_id\fR field, \fBclass\fR refers to
+attachment point class and \fBtype\fR refers to the type field. \fIvalue1\fR,
+\fIvalue2\fR, etc. are the corresponding values to be matched. The type of
+match can be specified by the \fBmatch\fR sub-option as follows:
+.sp
+.in +2
+.nf
+cfgadm \fB-s\fR match=\fImatch_type\fR,select=attr1(value1)...
+.fi
+.in -2
+.sp
+
+where \fImatch_type\fR can be either \fBexact\fR or \fBpartial\fR. The default
+value is \fBexact\fR.
+.sp
+Arguments to the \fBselect\fR sub-option can be quoted to protect them from the
+shell.
+.sp
+A \fIfield_spec\fR is one or more \fIdata-field\fRs concatenated using colon
+(\fB:\fR), as in \fIdata-field\fR:\fIdata-field\fR:\fIdata-field\fR. A
+\fIdata-field\fR is one of \fBap_id\fR, \fBphysid\fR, \fBr_state\fR,
+\fBo_state\fR, \fBcondition\fR, \fBtype\fR, \fBbusy\fR, \fBstatus_time\fR,
+\fBstatus_time_p\fR, \fBclass\fR, and \fBinfo\fR. The \fBap_id\fR field output
+is the logical name for the attachment point, while the \fBphysid\fR field
+contains the physical name. The \fBr_state\fR field can be \fBempty\fR,
+\fBdisconnected\fR or \fBconnected\fR. The \fBo_state\fR field can be
+\fBconfigured\fR or \fBunconfigured\fR. The \fBbusy\fR field can be either
+\fBy\fR if the attachment point is busy, or \fBn\fR if it is not. The
+\fBtype\fR and \fBinfo\fR fields are hardware specific. The \fBstatus_time\fR
+field provides the time at which either the \fBr_state\fR, \fBo_state\fR, or
+condition of the attachment point last changed. The \fBstatus_time_p\fR field
+is a parsable version of the \fBstatus_time\fR field. If an attachment point
+has an associated class, the \fBclass\fR field lists the class name. If an
+attachment point does not have an associated class, the \fBclass\fR field lists
+\fBnone\fR.
+.sp
+The order of the fields in \fIfield_spec\fR is significant: For the \fBsort\fR
+sub-option, the first field given is the primary sort key. For the \fBcols\fR
+and \fBcols2\fR sub-options, the fields are printed in the order requested. The
+order of sorting on a \fIdata-field\fR can be reversed by placing a minus
+(\fB\(mi\fR) before the \fIdata-field\fR name within the \fIfield_sec\fR for
+the \fBsort\fR sub-option. The default value for \fBsort\fR is \fBap_id\fR. The
+defaults values for \fBcols\fR and \fBcols2\fR depend on whether the \fB-v\fR
+option is given: Without it \fBcols\fR is \fBap_id:r_state:o_state:condition\fR
+and \fBcols2\fR is not set. With \fB-v\fR \fBcols\fR is
+\fBap_id:r_state:o_state:condition:info\fR and \fBcols2\fR is
+\fBstatus_time:type:busy:physid:\fR. The default value for \fBdelim\fR is a
+single space. The value of \fBdelim\fR can be a string of arbitrary length. The
+delimiter cannot include comma (\fB,\fR) character, see \fBgetsubopt\fR(3C).
+These listing options can be used to create parsable output. See \fBNOTES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Performs a test of one or more attachment points. The test function is used to
+re-evaluate the condition of the attachment point. Without a test level
+specifier in \fIhardware_options\fR, the fastest test that identifies hard
+faults is used.
+.sp
+More comprehensive tests are hardware specific and are selected using the
+\fIhardware_options\fR.
+.sp
+The results of the test is used to update the condition of the specified
+occupant to either \fBok\fR if no faults are found, \fBfailing\fR if
+recoverable faults are found or \fBfailed\fR if any unrecoverable faults are
+found.
+.sp
+If a test is interrupted, the attachment point's condition can be restored to
+its previous value or set to \fBunknown\fR if no errors were found or
+\fBfailing\fR if only recoverable errors were found or to \fBfailed\fR if any
+unrecoverable errors were found. The attachment point should only be set to
+\fBok\fR upon normal completion of testing with no errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executes in verbose mode. For the \fB-c\fR, \fB-t\fR and \fB-x\fR options
+outputs a message giving the results of each attempted operation. Outputs
+detailed help information for the \fB-h\fR option. Outputs verbose information
+for each attachment point for the \fB-l\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fIhardware_function\fR\fR
+.ad
+.sp .6
+.RS 4n
+Performs hardware specific functions. Private hardware specific functions can
+change the state of a receptacle or occupant. Attachment point conditions can
+change as the result of errors encountered during private hardware specific
+functions. The format and content of the \fIhardware_function\fR string is
+completely hardware specific. The option string \fIhardware_function\fR
+conforms to the \fBgetsubopt\fR(3C) syntax convention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppresses any interactive confirmation and assume that the answer is
+\fByes\fR.
+.RE
+
+.SH USAGE
+.sp
+.LP
+The required privileges to use this command are hardware dependent. Typically,
+a default system configuration restricts all but the list option to the
+superuser.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRListing Attachment Points in the Device Tree
+.sp
+.LP
+The following example lists all attachment points except dynamic attachment
+points.
+
+.sp
+.in +2
+.nf
+example# cfgadm
+
+ Ap_Id Type Receptacle Occupant Cond
+system:slot0 cpu/mem connected configured ok
+system:slot1 sbus-upa connected configured ok
+system:slot2 cpu/mem connected configured ok
+system:slot3 unknown connected unconfigured unknown
+system:slot4 dual-sbus connected configured failing
+system:slot5 cpu/mem connected configured ok
+system:slot6 unknown disconnected unconfigured unusable
+system:slot7 unknown empty unconfigured ok
+c0 scsi-bus connected configured unknown
+c1 scsi-bus connected configured unknown
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRListing All Configurable Hardware Information
+.sp
+.LP
+The following example lists all current configurable hardware information,
+including those represented by dynamic attachment points:
+
+.sp
+.in +2
+.nf
+example# cfgadm -al
+
+ Ap_Id Type Receptacle Occupant Cond
+system:slot0 cpu/mem connected configured ok
+system:slot1 sbus-upa connected configured ok
+system:slot2 cpu/mem connected configured ok
+system:slot3 unknown connected unconfigured unknown
+system:slot4 dual-sbus connected configured failing
+system:slot5 cpu/mem connected configured ok
+system:slot6 unknown disconnected unconfigured unusable
+system:slot7 unknown empty unconfigured ok
+c0 scsi-bus connected configured unknown
+c0::dsk/c0t14d0 disk connected configured unknown
+c0::dsk/c0t11d0 disk connected configured unknown
+c0::dsk/c0t8d0 disk connected configured unknown
+c0::rmt/0 tape connected configured unknown
+c1 scsi-bus connected configured unknown
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing Selectively, Based on Attachment Point Attributes
+.sp
+.LP
+The following example lists all attachment points whose class begins with
+\fBscsi\fR, \fBap_id\fR begins with \fBc\fR and \fBtype\fR field begins with
+\fBscsi\fR. The argument to the \fB-s\fR option is quoted to protect it from
+the shell.
+
+.sp
+.in +2
+.nf
+example# cfgadm -s "match=partial,select=class(scsi):ap_id(c):type(scsi)"
+
+Ap_Id Type Receptacle Occupant Cond
+ c0 scsi-bus connected configured unknown
+ c1 scsi-bus connected configured unknown
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRListing Current Configurable Hardware Information in Verbose
+Mode
+.sp
+.LP
+The following example lists current configurable hardware information for
+\fIap-type\fR \fBsystem\fR in verbose mode:
+
+.sp
+.in +2
+.nf
+example# cfgadm -v -l system
+Ap_Id Receptacle Occupant Condition Information
+When Type Busy Phys_Id
+system:slot1 connected configured ok
+Apr 4 23:50 sbus-upa n /devices/central/fhc/sysctrl:slot1
+system:slot3 connected configured ok non-detachable
+Apr 17 11:20 cpu/mem n /devices/central/fhc/sysctrl:slot3
+system:slot5 connected configured ok
+Apr 4 23:50 cpu/mem n /devices/central/fhc/sysctrl:slot5
+system:slot7 connected configured ok
+Apr 4 23:50 dual-sbus n /devices/central/fhc/sysctrl:slot7
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBWhen\fR column represents the \fBstatus_time\fR field.
+.LP
+\fBExample 5 \fRTesting Two Occupants Using the Hardware Specific
+\fBExtended\fR Test
+.sp
+.LP
+The following example tests two occupants using the hardware specific
+\fBextended\fR test:
+
+.sp
+.in +2
+.nf
+example# cfgadm -v -o extended -t system:slot3 system:slot5
+Testing attachment point system:slot3 ... ok
+Testing attachment point system:slot5 ... ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRConfiguring an Occupant Using the Force Option
+.sp
+.LP
+The following example configures an occupant in the \fBfailing\fR state to the
+system using the force option:
+
+.sp
+.in +2
+.nf
+example# cfgadm -f -c configure system:slot3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRUnconfiguring an Occupant From the System
+.sp
+.LP
+The following example unconfigures an occupant from the system:
+
+.sp
+.in +2
+.nf
+example# cfgadm -c unconfigure system:slot4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRConfiguring an Occupant at an Attachment Point
+.sp
+.LP
+The following example configures an occupant:
+
+.sp
+.in +2
+.nf
+example# cfgadm -c configure c0::dsk/c0t0d0
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBcfgadm\fR: \fBLC_TIME\fR, \fBLC_MESSAGES\fR,
+\fBNLSPATH\fR and \fBTZ\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_MESSAGES\fR\fR
+.ad
+.RS 15n
+.rt
+Determines how \fBcfgadm\fR displays column headings and error messages.
+Listing output data is not affected by the setting of this variable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_TIME\fR\fR
+.ad
+.RS 15n
+.rt
+Determines how \fBcfgadm\fR displays human readable status changed time
+(\fBstatus_time\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTZ\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies the timezone used when converting the status changed time. This
+applies to both the human readable (\fBstatus_time\fR) and parsable
+(\fBstatus_time_p\fR) formats.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Configuration administration not supported on specified target.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Usage error.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm_fp\fR(1M), \fBcfgadm_ib\fR(1M),
+\fBcfgadm_pci\fR(1M),\fBcfgadm_sbd\fR(1M), \fBcfgadm_scsi\fR(1M),
+\fBcfgadm_usb\fR(1M), \fBifconfig\fR(1M), \fBmount\fR(1M), \fBprtdiag\fR(1M),
+\fBpsradm\fR(1M), \fBsyslogd\fR(1M), \fBconfig_admin\fR(3CFGADM),
+\fBgetopt\fR(3C), \fBgetsubopt\fR(3C), \fBisatty\fR(3C), \fBattributes\fR(5),
+\fBenviron\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+Diagnostic messages appear on the standard error output. Other than options and
+usage errors, the following are diagnostic messages produced by this utility:
+.sp
+.in +2
+.nf
+cfgadm: Configuration administration not supported on\fIap_id\fR
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: No library found for \fIap_id\fR
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: \fIap_id\fRis ambiguous
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: \fIoperation\fR: Insufficient privileges
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: Attachment point is busy, try again
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: No attachment points with specified attributes found
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: System is busy, try again
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: \fIoperation\fR: Operation requires a service interruption
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: \fIoperation\fR: Data error: \fIerror_text\fR
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+cfgadm: \fIoperation\fR: Hardware specific failure: \fIerror_text\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBconfig_admin\fR(3CFGADM) for additional details regarding error
+messages.
+.SH NOTES
+.sp
+.LP
+Hardware resources enter the unconfigured pool in a hardware specific manner.
+This can occur at various times such as: system initialization or as a result
+of an unconfigure operation. An occupant that is in the \fBunconfigured\fR
+state is not available for use by the system until specific intervention
+occurs. This intervention can be manifested as an operator initiated command or
+it can be by way of an automatic configuring mechanism.
+.sp
+.LP
+The listing option of the \fBcfgadm\fR command can be used to provide parsable
+input for another command, for example within a shell script. For parsable
+output, the \fB-s\fR option must be used to select the fields required. The
+\fB-s\fR option can also be used to suppress the column headings. The following
+fields always produce parsable output: \fBap_id\fR, \fBphysid\fR,
+\fBr_state\fR, \fBo_state\fR, \fBcondition\fR, \fBbusy\fR \fBstatus_time_p\fR,
+\fBclass\fR, and \fBtype\fR. Parsable output never has white-space characters
+embedded in the field value.
+.sp
+.LP
+The following shell script fragment finds the first good \fBunconfigured\fR
+occupant of type \fBCPU.\fR
+.sp
+.in +2
+.nf
+found=
+cfgadm -l -s "noheadings,cols=ap_id:r_state:condition:type" | \e
+while read ap_id r_state cond type
+do
+ if [ "$r_state" = unconfigured -a "$cond" = ok -a "$type" = CPU ]
+ then
+ if [ -z "$found" ]
+ then
+ found=$ap_id
+ fi
+ fi
+done
+if [ -n "$found" ]
+then
+ echo "Found CPU $found"
+fi
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The format of the parsable time field (\fBstatus_time_p\fR) is
+\fIYYYYMMDDhhmmss\fR, giving the year, month, day, hour, minute and second in a
+form suitable for string comparison.
+.sp
+.LP
+Reference should be made to the hardware specific documentation for details of
+System Configuration Administration support.
diff --git a/usr/src/man/man1m/cfgadm_ac.1m b/usr/src/man/man1m/cfgadm_ac.1m
new file mode 100644
index 0000000000..4a6a09139d
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_ac.1m
@@ -0,0 +1,324 @@
+'\" te
+.\" Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_ac 1M "29 Sep 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_ac \- EXX00 memory system administration
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-c\fR configure] [\fB-f\fR]
+ [\fB-o\fR disable-at-boot | enable-at-boot ] ac\fI#\fR:bank\fI#\fR ...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-c\fR unconfigure]
+ [\fB-o\fR disable-at-bootp | enable-at-boot ] ac\fI#\fR:bank\fI#\fR ...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR]
+ [\fB-o\fR quick | normal | extended, [max_errors=\fI#\fR] ] \fB-t\fR ac\fI#\fR:bank\fI#\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-x\fR relocate-test ac\fI#\fR:bank\fI#\fR ...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-l\fR] \fB-o\fR disable-at-boot | enable-at-boot ac\fI#\fR:bank\fI#\fR ...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBac\fR hardware specific library
+\fB/usr/platform/sun4u/lib/cfgadm/cfgadm_ac.so.1\fR provides the functionality
+for configuring and unconfiguring memory banks on \fBE6X00\fR, \fBE5X00\fR,
+\fBE4X00\fR and \fBE3X00\fR systems as part of the Dynamic Reconfiguration of
+\fBCPU\fR/Memory boards using \fBcfgadm_sysctrl\fR(1M).
+.sp
+.LP
+Memory banks appear as attachment points in the device tree. For each
+\fBCPU\fR/Memory board, two attachment points are published, one for each bank
+on the board: \fBbank0\fR and \fBbank1\fR. If the bank is unpopulated, the
+receptacle state is empty. If the bank is populated, the receptacle state is
+connected. The receptacle state of a memory bank can never be disconnected. The
+occupant state of a connected memory bank can be configured or unconfigured. If
+the occupant state is configured, the memory is in use by Solaris, if
+unconfigured it is not.
+.SH OPTIONS
+.sp
+.LP
+Refer to \fBcfgadm\fR(1M) for complete descriptions of the command options.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR configure | unconfigure\fR
+.ad
+.sp .6
+.RS 4n
+Change the occupant state. The \fBconfigure\fR argument ensures that the memory
+is initialized and adds the memory to the Solaris memory pool. The
+\fBunconfigure\fR argument removes the memory from use by Solaris. When a
+\fBCPU\fR/Memory board is to be removed from a system, both banks of memory
+must be unconfigured.
+.sp
+\fBcfgadm\fR refuses the \fBconfigure\fR operation if the memory on the board
+is marked \fBdisabled-at-boot\fR (see \fBinfo\fR field), unless either the
+\fB-f\fR (force) option or the enable at boot flag, (\fB-o\fR
+\fBenable-at-boot\fR), is given. The configure operation takes a short time
+proportional to the size of memory that must be initialized.
+.sp
+\fBcfgadm\fR refuses the \fBunconfigure\fR operation if there is not enough
+uncommitted memory in the system (\fBVM viability\fR error) or if the bank to
+be unconfigured has memory that can't be removed (\fBnon-relocatable pages\fR
+error). The presence of non-relocatable pages is indicated by the word
+\fBpermanent\fR in the \fBinfo\fR listing field. Removing memory from use by
+Solaris may take a significant time due to factors such as system load and how
+much paging to secondary storage is required. The \fBunconfigure\fR operation
+can be cancelled at any time and the memory returned to the fully configured
+state by interrupting the command invocation with a signal. The
+\fBunconfigure\fR operation self-cancels if no memory can be removed within a
+timeout period. The default timeout period of \fB60\fR seconds can be changed
+using the \fB-o\fR \fBtimeout=\fR\fI#\fR option, with a value of \fB0\fR
+disabling the timeout.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force option. Use this option to override the block on configuring a memory
+bank marked as disabled at boot in the non-volatile \fBdisabled-memory-list\fR
+variable. See \fBPlatform Notes:Sun Enterprise 6x00/5x00/4x00/3x00 Systems\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List option. This option is supported as described in \fBcfgadm\fR(1M).
+.sp
+The type field is always \fImemory\fR.
+.sp
+The \fIinfo\fR field has the following information for empty banks:
+.sp
+.in +2
+.nf
+slot# empty
+.fi
+.in -2
+.sp
+
+The slot# indicates the system slot into which the CPU/Memory board is
+inserted. For example, if this were slot11 the attachment point for use with
+cfgadm to manipulate the associated board would be sysctrl0:slot11. The info
+field has the following information for connected banks:
+.sp
+.in +2
+.nf
+slot# sizeMb|sizeGb [(sizeMb|sizeGb used)] base 0x###
+ [interleaved #-way] [disabled at boot] [permanent]
+.fi
+.in -2
+.sp
+
+The size of the bank is given in Mb or Gb as appropriate. If the memory is less
+than completely used, the used size is reported. The physical base address is
+given in hexadecimal. If the memory bank is interleaved with some other bank,
+the interleave factor is reported. If the memory on the board is disabled at
+boot using the non-volatile \fBdisabled-memory-list\fR variable, this is
+reported. If the bank has memory that cannot be removed this is reported as
+permanent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR disable-at-boot | enable-at-boot\fR
+.ad
+.sp .6
+.RS 4n
+These options allow the state of the non-volatile disabled-memory-list variable
+to be modified. These options can be used in conjunction with the issuing of a
+\fB-c\fR option or with the explicit or implied listing command, -l, if no
+command is required. Use of \fB-o\fR \fBenable-at-boot\fR with the
+\fBconfigure\fR command to override the block on configuring memory on a board
+in the disabled memory list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR extended | normal | quick\fR
+.ad
+.sp .6
+.RS 4n
+Use with the \fB-t\fR option to specify test level.
+.sp
+The \fBnormal\fR test level ensures that each memory cell stores both a \fB0\fR
+and a \fB1\fR, and checks that all cells are separately addressable. The
+\fBquick\fR test level only does the \fB0\fRs and \fB1\fRs test, and typically
+misses address line problems. The \fBextended\fR test uses patterns to test for
+adjacent cell interference problems. The default test level is \fBnormal\fR.
+See \fB-t\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR max_errors=\fI#\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use with the \fB-t\fR option to specify the maximum number of allowed errors.
+If not specified, a default of \fB32\fR is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR timeout=\fI#\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use with the \fBunconfigure\fR command to set the self-cancelling timeout. The
+default value is \fB60\fR and the unit is seconds. A value of \fB0\fR means no
+timeout.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Test an unconfigured bank of memory. Specify the test level using the \fB-o\fR
+\fBquick\fR | \fBnormal\fR | \fBextended\fR option.
+.sp
+\fBcfgadm\fR exits with a \fB0\fR (success) if the \fBtest\fR was able to run
+on the memory bank. The result of the test is available in the condition for
+the attachment point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose option. Use this option in combination with the \fB-t\fR option
+to display detailed progress and results of tests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR relocate-test\fR
+.ad
+.sp .6
+.RS 4n
+For all pages of memory in use on the specified memory bank, a relocation
+operation as used in the unconfigure command is attempted. The success of this
+operation does not guarantee that the bank can be unconfigured. Failure
+indicates that it probably cannot be unconfigured. This option is for test
+purposes only.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIac#\fR:\fIbank#\fR\fR
+.ad
+.RS 13n
+.rt
+The attachment points for memory banks are published by instances of the
+address controller (\fBac\fR) driver (\fIac#\fR). One instance of the \fBac\fR
+driver is created for each system board, but only those instances associated
+with \fBCPU\fR/Memory boards publish the two bank attachment points, bank0 and
+bank1.
+.sp
+ This form conforms to the logical \fBap_id\fR specification given in
+\fBcfgadm\fR(1M). The corresponding physical \fBap_id\fRs are listed in the
+\fBFILES\fR section.
+.sp
+The \fBac\fR driver instance numbering has no relation to the slot number for
+the corresponding board. The full physical attachment point identifier has the
+slot number incorporated into it as twice the slot number in hexadecimal
+directly following the \fBfhc@\fR part.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB/devices/fhc@*,f8800000/ac@0,1000000:bank?\fR
+.ad
+.sp .6
+.RS 4n
+attachment points
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB/usr/platform/sun4u/lib/cfgadm/cfgadm_ac.so.1\fR
+.ad
+.sp .6
+.RS 4n
+hardware specific library file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBcfgadm_sysctrl\fR(1M), \fBconfig_admin\fR(3CFGADM),
+\fBattributes\fR(5)
+.sp
+.LP
+\fBSun Enterprise 6x00, 5x00, 4x00 and 3x00 Systems Dynamic Reconfiguration
+User's Guide\fR
+.sp
+.LP
+\fBPlatform Notes:Sun Enterprise 6x00/5x00/4x00/3x00 Systems\fR
+.SH NOTES
+.sp
+.LP
+Refer to the \fBSun Enterprise 6x00, 5x00, 4x00 and 3x00 Systems Dynamic
+Reconfiguration User's Guide\fR for additional details regarding dynamic
+reconfiguration of EXX00 system CPU/Memory boards.
diff --git a/usr/src/man/man1m/cfgadm_cardbus.1m b/usr/src/man/man1m/cfgadm_cardbus.1m
new file mode 100644
index 0000000000..55d7b4790f
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_cardbus.1m
@@ -0,0 +1,58 @@
+'\" te
+.\" Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_cardbus 1M "11 July 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_cardbus \- cardbus hardware specific commands for cfgadm
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f \fR] [\fB-y \fR | \fB-n \fR] [\fB-v\fR]
+ [\fB-o\fR \fIhardware_options\fR] \fB-c\fR\fI function\fR \fIap_id\fR [\fIap_id\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f \fR] [\fB-y \fR | \fB-n \fR] [\fB-v\fR]
+ [\fB-o\fR \fIhardware_options\fR] \fB-x\fR\fI hardware_function\fR \fIap_id\fR
+ [\fIap_id\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-s\fR \fIlisting_options\fR]
+ [\fB-o\fR \fIhardware_options\fR] [\fB-l\fR [\fIap_id\fR | \fIap_type\fR]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIharware_options\fR] \fB-t\fR \fIap_id\fR [\fIap_id\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIhardware_function\fR] \fB-h\fR
+ [\fIap_id\fR| \fI ap_type\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The CardBus slots in Solaris are hot plug capable. This capability is supported
+by the \fBPCI\fR hardware specific library \fB/usr/lib/cfgadm/pci.so.1\fR
+through the \fBcfgadm\fR command (see \fBcfgadm\fR(1M)).
+.sp
+.LP
+The hot plug administrative models between CardBus, PCI, CompactPCI, and PCI
+Express operate the same fashion. Please refer to \fBcfgadm_pci\fR(1M) for the
+usage information.
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBconfig_admin\fR(3CFGADM), \fBlibcfgadm\fR(3LIB),
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/cfgadm_fp.1m b/usr/src/man/man1m/cfgadm_fp.1m
new file mode 100644
index 0000000000..8a0976ab49
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_fp.1m
@@ -0,0 +1,773 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_fp 1M "10 Jan 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_fp \- driver specific commands for cfgadm
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-n\fR | \fB-y\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-c\fR \fIfunction\fR \fIap_id\fR [\fIap_id\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-a\fR] [\fB-s\fR \fIlisting_options\fR]
+ [\fB-o\fR \fIhardware_options\fR] [\fB-l\fR [\fIap_id\fR]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR] \fB-h\fR [\fIap_id\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfp\fR port driver plug-in \fB/usr/lib/cfgadm/fp.so.1\fR provides the
+functionality for Fibre Channel Fabric device node management through
+\fBcfgadm\fR(1M). \fBcfgadm\fR operates on attachment points. Attachment points
+are locations in the system where hardware resources can be dynamically
+reconfigured. Refer to \fBcfgadm\fR(1M) for additional details on attachment
+points.
+.sp
+.LP
+For Fibre Channel Fabric device node management, each \fBfp\fR port node is
+represented by an attachment point in the device tree. In addition, each Fibre
+Channel device is represented by a dynamic attachment point. Attachment points
+are named through \fBap_ids\fR. Two types of \fBap_ids\fR are defined: logical
+and physical. The physical \fBap_id\fR is based on the physical pathname. The
+logical \fBap_id\fR is a shorter, more user-friendly name. For \fBfp\fR port
+nodes, the logical \fBap_id\fR is the corresponding disk controller number. For
+example, \fBc0\fR is a typical logical \fBap_id\fR.
+.sp
+.LP
+Fibre Channel devices are named with a port World Wide Name (WWN). If a disk
+device is connected to controller \fBc0\fR, its \fBap_id\fR can be:
+.sp
+.in +2
+.nf
+c0::50020f2300006077
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fB50020f2300006077\fR identifies the port WWN of a specific Fibre
+Channel device.
+.sp
+.LP
+Each device on the Fibre Channel private loop port, Fabric port or public loop
+port is probed and made available to Solaris by default. Devices connected to
+the Fibre Channel Fabric port or public loop port can be made unavailable to
+Solaris by initiating an application or an end user operation. The operation is
+similar to the hot unplugging of devices by way of management user interfaces.
+Applications or users can use the \fB/usr/lib/cfgadm/fp.so.1\fR library to
+enable \fBlibcfgadm\fR to provide interfaces to accomplish this task.
+.sp
+.LP
+The list of currently connected Fabric devices is generated in the form of the
+attachment point.
+.sp
+.LP
+A simple listing of attachment points in the system includes attachment points
+at \fBfp\fR port nodes but not Fibre Channel devices. The following example
+uses the \fB-a\fR flag to the list option (\fB-l\fR) to list Fibre Channel
+devices:
+.sp
+.in +2
+.nf
+# \fBcfgadm -l\fR
+ Ap_Id Type Receptacle Occupant Condition
+ c0 fc-fabric connected configured unknown
+ c1 fc-private connected configured unknown
+ c2 fc-pt_to_pt connected configured unknown
+ c3 fc connected unconfigured unknown
+ sysctrl0:slot0 cpu/mem connected configured ok
+ sysctrl0:slot1 sbus-upa connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example lists Fibre Channel devices connected to \fBfp\fR ports.
+.sp
+.in +2
+.nf
+# \fBcfgadm -al\fR
+ Ap_Id Type Receptacle Occupant Condition
+ c0 fc-fabric connected configured unknown
+ c0::50020f2300006077 disk connected configured unknown
+ c0::50020f23000063a9 disk connected configured unknown
+ c0::50020f2300005f24 disk connected configured unknown
+ c0::50020f2300006107 disk connected configured unknown
+ c1 fc-private connected configured unknown
+ c1::220000203708b69c disk connected configured unknown
+ c1::220000203708ba7d disk connected configured unknown
+ c1::220000203708b8d4 disk connected configured unknown
+ c1::220000203708b9b2 disk connected configured unknown
+ c2 fc-pt_to_pt connected configured unknown
+ c2::500104f000937528 tape connected configured unknown
+ c3 fc connected unconfigured unknown
+ sysctrl0:slot0 cpu/mem connected configured ok
+ sysctrl0:slot1 sbus-upa connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the \fBfc-fabric\fR type of \fBap_id\fR \fBc0\fR indicates
+that the \fBfp\fR port is connected to Fabric. For an \fBfp\fR port with a
+Fabric-related type such as \fBfc-fabric\fR and \fBfc-public\fR, device node
+creation happens by default at the boot time and can be managed by the
+\fBcfgadm\fR configure and unconfigure operations. The \fBfc-private\fR type
+of \fBap_id c1\fR indicates that \fBfp\fR port is connected to private-loop and
+device node creation happens by default as well. The \fBfc-pt_to_pt\fR type of
+\fBap_id c2\fR indicates that the \fBfp\fR port is directly connected to
+another \fBN_port\fR and device node creation also happens by default. The
+\fBfc\fR type of \fBap_id c3\fR indicates that nothing is attached to \fBfp\fR
+port \fBc2\fR. The Type field of a Fibre Channel device \fBap_id\fR shows the
+SCSI device type of LUN 0 in the device.
+.sp
+.LP
+A Fibre Channel device with multiple FCP SCSI LUNs is configured into Solaris
+and each \fBFCP SCSI LUN\fR is available as a Solaris device. Suppose that
+ap_ids \fBc0::50020f2300006077\fR and \fBc0::50020f23000063a9\fR represent
+Fibre Channel devices with multiple \fBFCP SCSI LUN\fRs.
+.sp
+.LP
+The following example shows how to list ap_ids with \fBFCP\fR \fBSCSI\fR
+\fBLUN\fR information:
+.sp
+.in +2
+.nf
+# \fBcfgadm -al -o show_SCSI_LUN\fR
+ Ap_Id Type Receptacle Occupant Condition
+ c0 fc-fabric connected configured unknown
+ c0::50020f2300006077,0 disk connected configured unknown
+ c0::50020f2300006077,1 disk connected configured unknown
+ c0::50020f2300006077,2 disk connected configured unknown
+ c0::50020f2300006077,3 disk connected configured unknown
+ c0::50020f23000063a9,0 disk connected configured unknown
+ c0::50020f23000063a9,1 disk connected configured unknown
+ c0::50020f23000063a9,2 disk connected configured unknown
+ c0::50020f23000063a9,3 disk connected configured unknown
+ c0::50020f2300005f24,0 disk connected unconfigured unknown
+ c0::50020f2300005f24,1 disk connected unconfigured unknown
+ c0::50020f2300006107,0 disk connected unconfigured unknown
+ c0::50020f2300006107,1 disk connected unconfigured unknown
+ c1 fc-private connected configured unknown
+ c1::220000203708b69c,0 disk connected configured unknown
+ c1::220000203708ba7d,0 disk connected configured unknown
+ c1::220000203708b8d4,0 disk connected configured unknown
+ c1::220000203708b9b2,0 disk connected configured unknown
+ c2 fc-pt_to_pt connected configured unknown
+ c2::500104f000937528,0 tape connected configured unknown
+ c3 fc connected unconfigured unknown
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the \fBap_id c0::50020f2300006077,0\fR identifies the \fBFCP
+SCSI LUN 0\fR of the Fibre Channel device which is represented by port \fBWWN
+50020f2300006077\fR. The Fibre Channel device is reported to have 4 \fBFCP SCSI
+LUN\fRs and they are all configured. \fB4 FCP SCSI LUN\fR level ap_ids
+associated with port \fBWWN 50020f2300006077\fR are listed. The listing also
+displays \fBFCP SCSI LUN\fRs for unconfigured Fibre Channel devices. The Fibre
+Channel device represented by \fBc0::50020f2300005f24\fR is reported to have
+two \fBFCP SCSI LUN\fRs. The configure operation \fBon c0::50020f2300005f24\fR
+creates two Solaris devices. The \fBType\fR field of \fBFCP\fR \fBSCSI\fR
+\fBLUN\fR level ap_ids show the \fBSCSI\fR device type of each \fBLUN\fR. When
+a Fibre Channel device has different device type \fBLUN\fRs, the \fBType\fR
+field reflects that.
+.sp
+.LP
+The receptacle and occupant state for attachment points at the \fBfp\fR port
+have the following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.sp .6
+.RS 4n
+One or more devices configured on the \fBfp\fR port
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.sp .6
+.RS 4n
+\fBfp\fR port active
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected\fR
+.ad
+.sp .6
+.RS 4n
+\fBfp\fR port quiesced (IO activity is suspended)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBempty\fR
+.ad
+.sp .6
+.RS 4n
+Not applicable
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.sp .6
+.RS 4n
+No devices configured on the \fBfp\fR port
+.RE
+
+.sp
+.LP
+The state for individual Fibre Channel devices on an \fBfp\fR port:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.sp .6
+.RS 4n
+Device is configured into Solaris and is available for use
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.sp .6
+.RS 4n
+\fBfp\fR port to which the device is connected to is active
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected\fR
+.ad
+.sp .6
+.RS 4n
+\fBfp\fR port to which the device is attached is quiesced
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.sp .6
+.RS 4n
+Device is available to be configured
+.RE
+
+.sp
+.LP
+The \fBcondition\fR field for attachment points at the \fBfp\fR port has the
+following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBfailed\fR
+.ad
+.sp .6
+.RS 4n
+An error condition has prevented the \fBfp\fR port from being able to detect
+the presence or type of a Fibre Channel connection.
+.RE
+
+.sp
+.LP
+The \fBcondition\fR field for individual Fibre Channel devices on an \fBfp\fR
+port has the following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBfailed\fR
+.ad
+.sp .6
+.RS 4n
+An error is encountered while probing a device on Fabric.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfailing\fR
+.ad
+.sp .6
+.RS 4n
+A device was configured on a host and its state as seen by Solaris appears to
+be normal (i.e., online) but it is either not currently present or visible in
+the fabric or its presence could not be verified due to an error condition on
+the local port through which the device was configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunusable\fR
+.ad
+.sp .6
+.RS 4n
+A device has been configured on the host, but is currently offline or failed.
+.RE
+
+.sp
+.LP
+The unknown \fBcondition\fR indicates that probing a device on Fabric completed
+without an error and the device state within Solaris host is normal if the
+device was configured previously. The internal condition of the device cannot
+be guaranteed.
+.SH OPTIONS
+.sp
+.LP
+\fBcfgadm\fR defines several types of operations in addition to listing
+(\fB-l\fR). These operations include invoking configuration state changes and
+obtaining configuration administration help messages (\fB-h\fR).
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIfunction\fR\fR
+.ad
+.sp .6
+.RS 4n
+The following generic commands are defined for the \fBfp\fR-transport-specific
+library:
+.sp
+For Fibre Channel device attachment points on the \fBfc-fabric\fR type \fBfp\fR
+port attachment point, the following configuration state change operations are
+supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfigure\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configure a connected Fibre Channel Fabric device to a host. When a Fibre
+Channel device is listed as an unknown type in the output of the list operation
+the device might not be configurable. No attempt is made to configure devices
+with unknown types. The force option (\fB-f\fR) can be used to force the
+\fBfp\fR port driver plug-in to make an attempt to configure any devices. Any
+errors in the process are reported. By default, each FCP SCSI LUN that is
+discovered on a Fibre channel Fabric device is configured. However, FCP SCSI
+LUNs that are specified in the "pwwn-lun-blacklist" property in the
+\fBfp.conf\fR file will remain unconfigured. The FCP SCSI LUN level listing
+reflects the state of such FCP SCSI LUNs. They stay in the "unconfigured" state
+after reboot or Solaris Dynamic Reconfiguration on the controller that they are
+connected through. Refer to \fBfp\fR(7D) for additional details on the
+"pwwn-lun-blacklist" property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunconfigure\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unconfigure a Fibre Channel Fabric device from a host. This device stays
+unconfigured until the next reboot or Solaris Dynamic Reconfiguration on the
+controller that the device is connected, at which time all fabric devices are
+automatically enumerated. The default behavior may be changed through the use
+of the "manual_configuration_only" property in the \fBfp.conf\fR file. If the
+property is set, the device remains unconfigured after reboot. Refer to
+\fBfp\fR(7D) for additional details on the "manual_configuration_only"
+property.
+.RE
+
+For Fibre Channel private loop devices and \fBN_Port\fR point-to-point devices,
+the \fBconfigure\fR command returns success without doing any operation. The
+\fBunconfigure\fR command is not supported on the private loop devices and
+\fBN_Port\fR point-to-point devices. The private loop devices and \fBN_Port\fR
+point-to-point devices are configured by Solaris Fibre Channel drivers by
+default and are not managed through end user- or application-initiated
+operations. The \fBpwwn-lun-blacklist\fR property in the \fBfp.conf\fR file
+is applied to the private loop device and \fBN_Port\fR point-to-point device in
+the same way it is applied to a Fabric device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force the \fBconfigure\fR change state operation to occur irrespective of the
+\fBcondition\fR or \fBtype\fR. Refer to the above description of the
+\fBconfigure\fR change state operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Obtain \fBfp\fR\(emtransport-specific help. Specify any \fBfp\fR attachment
+point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIhardware_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+The following hardware options are supported.
+.sp
+.ne 2
+.mk
+.na
+\fBshow_SCSI_LUN\fR
+.ad
+.sp .6
+.RS 4n
+Lists ap_ids associated with each FCP SCSI LUN for discovered Fibre Channel
+devices when specified with the \fBlist\fR option \fB-al\fR. Refer to the
+previously mentioned description and example of FCP SCSI LUN level listing.
+Device node creation is not supported on the FCP SCSI LUN level. See
+\fBNOTES\fR.
+.RE
+
+All Fibre Channel devices are available to Solaris by default. Enabling only a
+subset of Fabric devices available to Solaris by default can be accomplished by
+setting the property "manual_configuration_only" in \fB/kernel/drv/fp.conf\fR
+file. When "manual_configuration_only" in \fBfp.conf\fR is set, all Fabric
+devices are not available to Solaris unless an application or an end user had
+previously requested the device be configured into Solaris. The \fBconfigure\fR
+state-change command makes the device available to Solaris. After a successful
+\fBconfigure\fR operation on a Fabric device, the associated links are added to
+the \fB/dev\fR namespace. The \fBunconfigure\fR state-change command makes a
+device unavailable to Solaris.
+.sp
+When a Fibre Channel Fabric device is configured successfully to a host using
+the \fB-c\fR \fBconfigure\fR operation, its physical \fBap_id\fR is stored in a
+repository. When a Fibre Channel Fabric device is unconfigured using the
+\fB-c\fR \fBunconfigure\fR operation, its physical \fBap_id\fR is deleted from
+the same repository. All fabric devices are automatically enumerated by default
+and the repository is used only if the \fBfp.conf\fR
+"manual_configuration_only" property is set. Refer to \fBfp\fR(7D) for
+additional details on the "manual_configuration_only" property.
+.sp
+You can specify the following commands with the \fB-c\fR option to control the
+update behavior of the repository:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBforce_update\fR\fR
+.ad
+.sp .6
+.RS 4n
+For \fBconfigure\fR, the attachment point is unconditionally added to the
+repository; for \fBunconfigure\fR, the attachment point is unconditionally
+deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBno_update\fR\fR
+.ad
+.sp .6
+.RS 4n
+No update is made to the repository regardless of the operation.
+.RE
+
+These options should not be used for normal \fBconfigure\fR and
+\fBunconfigure\fR operations. See \fBWARNINGS\fR.
+.sp
+When a Fibre Channel device has multiple \fBFCP SCSI LUN\fRs configured and any
+Solaris device associated with its \fBFCP SCSI LUN\fR is in the unusable
+condition, the whole Fibre Channel device is reported as unusable. The
+following option with the \fB-c\fR unconfigure command removes only Solaris
+devices with the unusable condition for a Fibre Channel device.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunusable_SCSI_LUN\fR\fR
+.ad
+.sp .6
+.RS 4n
+For \fBunconfigure\fR operation, any offlined device nodes for a target device
+is removed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIlisting_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Refer to \fBcfgadm\fR(1M) for usage information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+No test commands are available at present.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIhardware_function\fR\fR
+.ad
+.sp .6
+.RS 4n
+No hardware specific functions are available at present.
+.RE
+
+.sp
+.LP
+All other options have the same meaning as defined in the \fBcfgadm\fR(1M) man
+page.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUnconfiguring a Disk
+.sp
+.LP
+The following command unconfigures a disk:
+
+.sp
+.in +2
+.nf
+# cfgadm -c unconfigure c0::210000203708b606
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUnconfigure all the Configured Disks under Single Attachment
+Point
+.sp
+.LP
+The following command unconfigures all configured disks under the attachment
+point \fBc0\fR.
+
+.sp
+.in +2
+.nf
+# cfgadm -c unconfigure c0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRConfiguring a Disk
+.sp
+.LP
+The following command configures a disk:
+
+.sp
+.in +2
+.nf
+# cfgadm -c configure c0::210000203708b606
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRConfigure all the Unconfigured Disks under Single Attachment
+Point
+.sp
+.LP
+The following command configures all unconfigured disks under the attachment
+point \fBc0\fR.
+
+.sp
+.in +2
+.nf
+# cfgadm -c configure c0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRRemoving the Fibre Channel Fabric Device Attachment Point from
+Repository
+.sp
+.LP
+The following command unconditionally removes the fibre channel fabric device
+attachment point from the Fabric device repository.
+
+.sp
+.in +2
+.nf
+# cfgadm -c unconfigure -o force_update c0::210000203708b606
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRRemoving Offlined Solaris Device Nodes for a Target Device
+.sp
+.LP
+The following command removes offlined Solaris device nodes for a target
+device:
+
+.sp
+.in +2
+.nf
+# cfgadm -c unconfigure -o unusable_SCSI_LUN c0::210000203708b606
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/cfgadm/fp.so.1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hardware-specific library for Fibre Channel Fabric device node management.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/cfg/fp/fabric_WWN_map\fR\fR
+.ad
+.sp .6
+.RS 4n
+Repository of physical \fBap_id\fRs of Fabric devices currently configured. It
+is used only to reconfigure those Fabric devices at boot time. This repository
+is only used when the "manual_configuration_only" \fB/kernel/drv/fp.conf\fR
+file is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/rcS.d/fdevattach\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reconfigures Fabric device(s) of which physical \fBap_id\fR is listed in
+\fB/etc/cfg/fp/fabric_WWN_map\fR on boot time.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBcfgadm\fR(1M), \fBsvcadm\fR(1M), \fBconfig_admin\fR(3CFGADM),
+\fBlibcfgadm\fR(3LIB), \fBattributes\fR(5), \fBsmf\fR(5), \fBfp\fR(7D)
+.SH WARNINGS
+.sp
+.LP
+Do not use hardware-specific options for the repository update under normal
+\fBconfigure\fR/\fBunconfigure\fR operations. The hardware-specific options are
+expected to be used when the node creation of a Fabric device fails at boot
+time and the error condition is considered to be permanent. The
+\fBunconfigure\fR command with \fBforce_update\fR hardware-specific option
+unconditionally removes the attachment point of a failing Fabric device from
+the repository.
+.SH NOTES
+.sp
+.LP
+For devices with unknown or no SCSI device type (for example, a Fibre Channel
+Host Bus Adapter), the \fBconfigure\fR operation might not be applicable.
+.sp
+.LP
+The \fBconfigure\fR and \fBunconfigure\fR commands operate on the Fibre Channel
+device level which is represented by port WWN ap_id. If a Fibre Channel device
+has multiple FCP SCSI LUNs configured, the \fBconfigure\fR command on the
+associated port WWN ap_id results in creating a Solaris device for each \fBFCP
+SCSI LUN\fR unless it is specified in the "pwwn-lun-blacklist" property in the
+\fBfp.conf\fR file. The \fBunconfigure\fR command removes all Solaris devices
+associated with the port WWN ap_id. The \fBFCP SCSI LUN\fR level ap_id is not
+valid for the \fBconfigure\fR and \fBunconfigure\fR commands.
+.sp
+.LP
+The deprecated \fBshow_FCP_dev\fR option has been replaced by the new
+\fBshow_SCSI_LUN\fR option, and the deprecated \fBunusable_FCP_dev\fR option
+has been replaced by the new \fBunusable_SCSI_LUN\fR option.
+.sp
+.LP
+The \fBcfgadm_fp\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/device/fc-fabric:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+No administrative actions on this service are required for Fabric device
+configuration once this service is started on boot time.
diff --git a/usr/src/man/man1m/cfgadm_ib.1m b/usr/src/man/man1m/cfgadm_ib.1m
new file mode 100644
index 0000000000..981f3d6063
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_ib.1m
@@ -0,0 +1,889 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_ib 1M "2 Jul 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_ib \- InfiniBand hardware specific commands for cfgadm
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-f\fR [\fB-y\fR | \fB-n\fR] [\fB-v\fR] \fB-c\fR \fIfunction\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-x\fR \fIhardware_function\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-v\fR [\fB-a\fR] [\fB-s\fR \fIlisting_option\fR] [-] [\fIap_id\fR | \fIap_type...\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-v\fR \fB-h\fR [\fIap_id\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The InfiniBand hardware specific library \fB/usr/lib/cfgadm/ib.so.1\fR provides
+the functionality for administering its fabric through the \fBcfgadm\fR(1M)
+utility. \fBcfgadm\fR operates on attachment points. See \fBcfgadm\fR(1M).
+.sp
+.LP
+An InfiniBand (\fBIB\fR) device is enumerated by the IB nexus driver,
+\fBib\fR(7D), based on the services from the IB Device Manager (IBDM).
+.sp
+.LP
+The IB nexus driver creates and initializes five types of child device nodes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+IB Port devices
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+IB HCA service (HCA_SVC) devices
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+IB Virtual Physical Point of Attachment (VPPA) devices
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+I/O Controller (IOC)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+IB Pseudo devices
+.RE
+.sp
+.LP
+See \fBib\fR(7D) for details on enumeration of IB Port, IB VPPA, and IB HCA_SVC
+devices. For additional information on IBDM, see \fBibdm\fR(7D). See
+\fBib\fR(4) for details on IB Pseudo devices.
+.sp
+.LP
+For IB administration, two types of static attachment point are created for the
+fabric administration as seen by the given host. There is one static attachment
+point \fBib\fR and all IB devices (either an IOC, Port, VPPA, HCA_SVC, or a
+Pseudo device) in the fabric are represented as dynamic attachment points based
+off of it. There is another static attachment point for each Host Channel
+Adapter (HCA) in the host based on its node Globally Unique Identifier (GUID)
+value.
+.sp
+.LP
+Attachment points are named through ap_ids. There are two types of ap_ids:
+logical and physical. The physical ap_id is based on the physical path name.
+For the IB fabric it is \fB/devices/ib:fabric\fR. The logical ap_id is a
+shorter, and has a more user friendly name.
+.sp
+.LP
+The static ap_id for the IB fabric is \fBib\fR. The IB devices are dynamic
+attachment points and have no physical ap_id. The logical ap_id of an IOC
+contains its GUID, \fBib::\fR\fIIOC-GUID\fR. An example of an IOC ap_id is
+\fBib::80020123456789a\fR. The logical ap_id of a Pseudo device, see ib(4) for
+details, is of the format \fBib::\fR\fIdriver_name\fR\fB,\fR\fIunit-address\fR.
+An example of a pseudo ap_id would be \fBib::sdp,0\fR where "\fBsdp\fR" is the
+driver name and "\fB0\fR" is its \fIunit-address\fR property. The logical ap_id
+of Port, VPPA and HCA_SVC device contains its Partition Key (\fIP_Key\fR),
+\fIPort GUID\fR / \fINode GUID\fR and a communication service-name. The format
+of ap_id is as below:
+.sp
+.ne 2
+.mk
+.na
+\fBPort device\fR
+.ad
+.sp .6
+.RS 4n
+\fBib::\fR\fIPORT_GUID\fR\fB,\fR\fI0\fR\fB,\fR\fIservice-name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBVPPA device\fR
+.ad
+.sp .6
+.RS 4n
+\fBib::\fR\fIPORT_GUID\fR\fB,\fR\fIP_Key\fR\fB,\fR\fIservice-name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBHCA_SVC device\fR
+.ad
+.sp .6
+.RS 4n
+\fBib::\fR\fIHCA_GUID\fR\fB,\fR0\fB,\fR\fIservicename\fR
+.RE
+
+.sp
+.LP
+The Partition Key (\fIP_Key\fR) is \fB0\fR for Port and HCA_SVC devices. The
+\fIP_Key\fR helps determine the partition to which this port belongs for a VPPA
+device node. A port might have more than one \fIP_Key\fR. An example of a VPPA
+device logical ap_id point is \fBib::80245678,ffff,ipib\fR. The
+\fIport-GUID\fR is \fB80245678\fR, the \fIP_Key\fR is \fB0xffff\fR, and the
+service name is \fBipib\fR. The service-name information is obtained from the
+file \fB/kernel/drv/ib.conf\fR which contains service-name strings. The HCA's
+logical ap_id contains its node GUID value, hca:HCA-GUID. An example is
+\fBhca:21346543210a987\fR.
+.sp
+.LP
+A listing of the IB attachment points includes information on all IB devices
+(IOC, VPPA, HCA_SVC, Pseudo, and Port devices seen by the IBDM and the IB nexus
+driver) in the fabric even if they are not seen by the host and configured for
+use.
+.sp
+.LP
+The following shows a listing of five IB devices (two IOC, one VPPA, one Port,
+one HCA_SVC) and one HCA:
+.sp
+.in +2
+.nf
+example# cfgadm -al
+Ap_Id Type Receptacle Occupant Condition
+hca:21346543210a987 IB-HCA connected configured ok
+ib IB-FABRIC connected configured ok
+ib::80020123456789a IB-IOC connected configured ok
+ib::802abc9876543 IB-IOC connected unconfigured unknown
+ib::80245678,ffff,ipib IB-VPPA connected configured ok
+ib::12245678,0,nfs IB-PORT connected configured ok
+ib::21346543,0,hnfs IB-HCA_SVC connected configured ok
+ib::sdp,0 IB-PSEUDO connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The ap_id \fBib::802abc9876543\fR shows an IOC device that is not yet
+configured by the host for use or had been previously offlined by an explicit
+.sp
+.in +2
+.nf
+cfgadm \fB-c\fR unconfigure
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+operation. The distinction was made by the information displayed under the
+\fBCondition\fR column. The IB device with a zero P_Key and HCA GUID is a
+HCA_SVC device. Refer to \fBcfgadm\fR(1M) for more information regarding
+listing attachment points.
+.sp
+.LP
+The receptacle state for attachment points have the following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.sp .6
+.RS 4n
+For an IOC/VPPA/Port/Pseudo/HCA_SVC device, \fBconnected\fR implies that it has
+been seen by the host. The device might not have been configured for use by
+Solaris.
+.sp
+For a HCA attachment point, \fBconnected\fR implies that it has been configured
+and is in use.
+.sp
+All IB ap_ids are always shown as connected.
+.RE
+
+.sp
+.LP
+The occupant state for attachment points have the following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.sp .6
+.RS 4n
+The IB device, and the HCA ap_id, are configured and usable by Solaris.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.sp .6
+.RS 4n
+The IB device at the ap_id was explicitly offlined using \fBcfgadm\fR \fB-c\fR
+\fBunconfigure\fR, was not successfully configured. This could be because it
+wasn not successfully configuref for use with Solaris (no driver, or a device
+problem), or because it was never configured for use by the IB nexus driver.
+.sp
+The \fBunconfigured\fR operation is not supported for the HCA attachment point.
+The IB static apid, \fBib\fR, is shown unconfigured if the system has no IB
+hardware.
+.RE
+
+.sp
+.LP
+The attachment point conditions are:
+.sp
+.ne 2
+.mk
+.na
+\fBfailed\fR
+.ad
+.sp .6
+.RS 4n
+Not used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfailing\fR
+.ad
+.sp .6
+.RS 4n
+Not used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBok\fR
+.ad
+.sp .6
+.RS 4n
+Normal state. Ready for use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunknown\fR
+.ad
+.sp .6
+.RS 4n
+This state is only valid for IB device that have been probed by IBDM but not
+yet configured for use by Solaris. It is also shown for devices that have been
+explicitly offlined by a \fBcfgadm\fR \fB-c\fR \fBunconfigure\fR operation.
+This condition does not apply to a HCA attachment point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunusable\fR
+.ad
+.sp .6
+.RS 4n
+Not used.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIfunction\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IB hardware specific library supports two generic commands
+(\fIfunction\fRs). These commands are not supported on the static attachment
+points (that is, the HCA ap_ids and the IB static \fBib\fR ap_id).
+.sp
+The following generic commands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigure\fR
+.ad
+.sp .6
+.RS 4n
+Configure the IB device to be used by Solaris.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigure\fR
+.ad
+.sp .6
+.RS 4n
+Unconfigure the IB device. If successful, \fBcfgadm\fR reports the
+\fBcondition\fR of this \fBap_id\fR as \fBunknown\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Not supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Obtain IB specific help for an IB attachment point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the state and condition of IB attachment points. The \fB-l\fR option works
+as described in \fBcfgadm\fR(1M).
+.sp
+When paired with the \fB-a\fR option, displays the dynamic attachment points as
+well (IOC, VPPA, Port, Pseudo, and HCA_SVC devices).
+.sp
+When paired with \fB-v\fR option, displays verbose data about the ap_ids. For
+an IOC, the \fBInfo\fR field in the
+.sp
+.in +2
+.nf
+cfgadm \fB-avl\fR
+.fi
+.in -2
+.sp
+
+output displays the following information: VendorID, IOCDeviceID,
+DeviceVersion, SubsystemVendorID, SubsystemID, Class, Subclass, Protocol,
+ProtocolVersion and IDString from the IOCControllerProfile. If the ID string
+isn't provided then nothing is displayed in its place. These fields are defined
+in the InfiniBand Specification Volume 1 (http://www.infinibandta.org).
+.sp
+For a VPPA, Port, or HCA_SVC device the \fBInfo\fR field in the \fBcfgadm
+-lav\fR display shows the service name information to which this device is
+bound. If no such information exists, nothing is displayed.
+.sp
+For a Pseudo device \fBcfgadm -alv\fR displays the driver name and its
+\fBunit-address\fR information. For a HCA the verbose listing displays the
+VendorID, ProductID of the HCA, number of ports it has, and the PortGUID value
+of its ports. See \fBEXAMPLES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIhardware_option\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is not currently defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIlisting_option\fR\fR
+.ad
+.sp .6
+.RS 4n
+Attachment points of class ib can be listed by using the select sub-option.
+Refer to the \fBcfgadm\fR(1M) man page for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIhardware_function\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform a hardware specific function. Note that the \fIname\fR can not be more
+than 4 characters long.
+.sp
+The following hardware specific functions are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd_service\fR
+\fB-ocomm\fR\fB=[port|vppa|hca_svc],service=\fR\fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+This hardware specific function is supported on the static \fBIB\fR attachment
+point. It can be used to add a new service to \fB/kernel/drv/ib.conf\fR file
+and to update the \fBib\fR(7D) driver.
+.sp
+You must use the \fBservice=\fR\fIname\fR option to indicate the new service to
+be added. You must use the option \fBcomm=[port|vppa|hca_svc]\fR option to add
+the \fBname\fR service to either \fBport-svc-list\fR or to the
+\fBhca-svc-list\fR in the \fB/kernel/drv/ib.conf\fR file. See \fBEXAMPLES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete_service\fR
+\fB-ocomm\fR\fB=[port|vppa|hca_svc],service=\fR\fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+This hardware specific function is supported on the static \fBIB\fR attachment
+point only. It can be used to delete an existing service from the
+\fB/kernel/drv/ib.conf\fR file and also from the \fBib\fR(7D) driver's data
+base. You must use the \fBservice=name\fR option to indicate which service to
+delete. You must use the \fBcomm=[port|vppa|hca_svc]\fR option to delete this
+service from the \fBport-svc-list\fR, \fBvppa-svc-list\fR, or
+\fBvppa-svc-list\fR of the \fB/kernel/drv/ib.conf\fR file. See \fBEXAMPLES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist_clients\fR\fR
+.ad
+.sp .6
+.RS 4n
+Supported on \fBHCA\fR attachment points. Displays all the kernel IB clients
+using this \fBHCA\fR. It also displays the respective ap_ids of these kernel IB
+clients and if they have opened an alternate \fBHCA\fR device. See
+\fBEXAMPLES\fR.
+.sp
+\&.
+.sp
+If a given kernel IB client does not have a valid ap_id then a \fB-\fR is
+displayed in that column.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist_services\fR\fR
+.ad
+.sp .6
+.RS 4n
+This hardware specific function is supported on the static \fBIB\fR attachment
+point only. It lists all the Port and VPPA services as read from the
+\fB/kernel/drv/ib.conf\fR file. See \fBEXAMPLES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunconfig_clients\fR\fR
+.ad
+.sp .6
+.RS 4n
+This hardware specific function is supported on the static HCA attachment point
+only. It can be used to unconfigure all IB kernel clients of this given HCA.
+Only IB kernel clients that do not have an alternate HCA are unconfigured. See
+\fBEXAMPLES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBupdate_ioc_config\fR\fR
+.ad
+.sp .6
+.RS 4n
+This hardware specific function is supported on static ib attachment point and
+the IOC attachment points. For the \fBib\fR APID, this function updates
+properties of all the IOC device nodes. For the IOC APID, this function updates
+the properties of specified IOC device node. This command updates the
+\fBport-list\fR, \fBport-entries\fR, \fBservice-id\fR, and \fBservice-name\fR
+IOC node properties .
+.sp
+See \fBib\fR(7D).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBupdate_pkey_tbls\fR\fR
+.ad
+.sp .6
+.RS 4n
+Supported on the static \fBib\fR attachment point. Updates the \fBPKEY\fR
+information inside \fBIBTL\fR. \fBIBTL\fR re-reads the \fBP_Key\fR tables for
+all the ports on each \fBHCA\fR present on the host.
+.sp
+See \fBibtl\fR(7D).
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRListing the State and Condition of IB Devices
+.sp
+.LP
+The following command lists the state and condition of IB devices on the
+system. It only shows the static attachment points.
+
+.sp
+.in +2
+.nf
+example# cfgadm
+hca:21346543210a987 IB-HCA connected configured ok
+ib IB-FABRIC connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fB-a\fR option lists all attachment points. The following example uses the
+\fB-a\fR option and lists all attachment points:
+
+.sp
+.in +2
+.nf
+example# cfgadm -a
+hca:21346543210a987 IB-HCA connected configured ok
+ib IB-FABRIC connected configured ok
+ib::80020123456789a IB-IOC connected unconfigured ok
+ib::80245678,ffff,ipib IB-VPPA connected configured ok
+ib::21346543,0,hnfs IB-HCA_SVC connected configured ok
+ib::12245678,0,nfs IB-PORT connected configured ok
+ib::sdp,0 IB-PSEUDO connected configured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRListing the Verbose Status of a IB VPPA Device
+.sp
+.LP
+The following command lists the verbose status of a IB VPPA device:
+
+.sp
+.in +2
+.nf
+example# cfgadm -alv ib::80245678,ffff,ipib
+Ap_Id Receptacle Occupant Condition Information
+When Type Busy Phys_Id
+ib::80245678,ffff,ipib connected configured ok ipib
+unavailable IB-VPPA n /devices/ib:fabric::80245678,ffff,ipib
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A verbose listing of an IOC shows additional information. The following command
+shows a verbose listing:
+
+.sp
+.in +2
+.nf
+example# cfgadm -alv ib::80020123456789a
+Ap_Id Receptacle Occupant Condition Information
+When Type Busy Phys_Id
+ib::80020123456789a connected configured ok VID: 0xeaea
+DEVID: 0xeaea VER: 0x5 SUBSYS_VID: 0x0 SUBSYS_ID: 0x0 CLASS: 0xffff
+SUBCLASS: 0xff PROTO: 0xff PROTOVER: 0x1 ID_STRING: Sample Host Adapter
+unavailable IB-IOC n /devices/ib:fabric::80020123456789a
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A verbose listing of a Pseudo device shows:
+
+.sp
+.in +2
+.nf
+example# cfgadm -alv ib::sdp,0
+Ap_Id Receptacle Occupant Condition Information
+When Type Busy Phys_Id
+ib::sdp,0 connected configured ok Driver = "sd
+p" Unit-address = "0"
+unavailable IB-PSEUDO n /devices/ib:fabric::sdp,0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A verbose listing of a HCA shows:
+
+.sp
+.in +2
+.nf
+example# cfgadm -alv hca:21346543210a987
+Ap_Id Receptacle Occupant Condition Information
+When Type Busy Phys_Id
+hca:21346543210a987 connected configured ok VID: 0x15b3,
+PID: 0x5a44, #ports: 0x2, port1 GUID: 0x80245678, port2 GUID: 0x80245679
+unavailable IB-HCA n /devices/ib:21346543210a987
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+You can obtain more user-friendly output if you specify these following
+\fBcfgadm\fR class and field selection options: \fB\fR\fB-s\fR
+\fB"select=class(ib),cols=ap_id:info"\fR
+
+.sp
+.LP
+The following command displays only IB ap_ids. The output only includes the
+\fBap_id\fR and \fBInformation\fR fields.
+
+.sp
+.in +2
+.nf
+
+# cfgadm -al -s "cols=ap_id:info" ib::80245678,ffff,ipib
+Ap_Id Information
+ib::80245678,ffff,ipib ipib
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUnconfiguring an Existing IB IOC
+.sp
+.LP
+The following command unconfigures the IB IOC attached to
+\fBib::80020123456789a\fR, then displays the status of the \fBap_id\fR:
+
+.sp
+.in +2
+.nf
+# cfgadm -c unconfigure ib::80020123456789a
+Unconfigure the device: /devices/ib:fabric::80020123456789a
+This operation will suspend activity on the IB device
+Continue (yes/no)?
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Enter: \fBy\fR
+
+.sp
+.in +2
+.nf
+IB device unconfigured successfully.
+# cfgadm -al ib::80020123456789a
+Ap_Id Type Receptacle Occupant Condition
+ib::80020123456789 IB-IOC connected unconfigured unknown
+#
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The condition unknown implies that the device node doesn't exist anymore and
+this IB device's existence is known only to the IB Device Manager.
+
+.LP
+\fBExample 4 \fRConfiguring an IB IOC
+.sp
+.LP
+The following series of commands configures an IB device attached to
+\fBib::80020123456789a\fR:
+
+.sp
+.in +2
+.nf
+# cfgadm -yc configure ib::80020123456789a
+# cfgadm -al ib::80020123456789a
+Ap_Id Type Receptacle Occupant Condition
+ib::80020123456789a IB-IOC connected configured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRListing All Kernel IB Clients of a HCA
+.sp
+.LP
+The following command lists all kernel IB clients of an HCA attached to
+\fBhca:21346543210a987\fR:
+
+.sp
+.in +2
+.nf
+# cfgadm -x list_clients hca:21346543210a987
+Attachment Point Clients Alternate HCA
+ib::80020123456789a ioc1 Yes
+ib::80245678,ffff,ipib ipib No
+ib::21346543,0,hnfs hnfs No
+- ibdm No
+- ibmf No
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRAdding a Port Service
+.sp
+.LP
+The following command adds a new Port service called \fBsrp\fR:
+
+.sp
+.in +2
+.nf
+ # cfgadm -o comm=port,service=srp -x add_service ib
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRDeleting a VPPA Service
+.sp
+.LP
+The following command deletes the \fBibd\fR VPPA service \fBibd\fR:
+
+.sp
+.in +2
+.nf
+# cfgadm -o comm=vppa,service=ipib -x delete_service ib
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRListing Port, VPPA, HCA_SVC Services
+.sp
+.LP
+The following command lists all Port, VPPA, and HCA_SVC services:
+
+.sp
+.in +2
+.nf
+# cfgadm -x list_services ib
+Port communication services:
+ srp
+
+VPPA communication services:
+ ipib
+ nfs
+
+HCA_SVC communication services:
+ hnfs
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRReprobing IOC Devices
+.sp
+.LP
+The following command reprobes all IOC device nodes.
+
+.sp
+.in +2
+.nf
+# cfgadm -x update_ioc_config ib
+This operation can update properties of IOC devices.
+Continue (yes/no)?
+
+Enter: y
+
+#
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRUnconfiguring All Kernel Clients of a HCA
+.sp
+.LP
+The following command unconfigures all kernel clients of a HCA
+
+.sp
+.in +2
+.nf
+# cfgadm -x unconfig_clients hca:21346543
+ This operation will unconfigure clients of this HCA.
+ Continue (yes/no)?
+
+ Enter: y
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/cfgadm/ib.so.1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hardware-specific library for generic InfiniBand device administration
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBconfig_admin\fR(3CFGADM), \fBlibcfgadm\fR(3LIB),
+\fBib\fR(4), \fBattributes\fR(5), \fBib\fR(7D), \fBibdm\fR(7D), \fBibtl\fR(7D)
+.sp
+.LP
+InfiniBand Specification Volume 1 (http://www.infinibandta.org)
+.SH NOTES
+.sp
+.LP
+Apart from the listing (\fBcfgadm\fR \fB-l\fR or \fBcfgadm\fR \fB-x\fR
+\fBlist_clients\fR), only the superuser can execute any functions on an
+attachment point.
diff --git a/usr/src/man/man1m/cfgadm_pci.1m b/usr/src/man/man1m/cfgadm_pci.1m
new file mode 100644
index 0000000000..efe0ae2f11
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_pci.1m
@@ -0,0 +1,986 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_pci 1M "13 Jun 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_pci \- PCI, CompactPCI, and PCI Express Hotplug hardware specific
+commands for cfgadm
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR]
+ [\fB-o\fR \fIhardware_options\fR] \fB-c\fR \fIfunction\fR \fIap_id\fR [\fIap_id\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR]
+ [\fB-o\fR \fIhardware_options\fR] \fB-x\fR \fIhardware_function\fR \fIap_id\fR
+ [\fIap_id\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-s\fR \fIlisting_options\fR]
+ [\fB-o\fR \fIhardware_options\fR] [\fB-l\fR [\fIap_id\fR | \fIap_type\fR]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIharware_options\fR] \fB-t\fR \fIap_id\fR [\fIap_id\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIhardware_function\fR] \fB-h\fR
+ [\fIap_id\fR| \fIap_type\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The PCI hardware specific library, \fB/usr/lib/cfgadm/pci.so.1\fR, provides the
+support for hot plugging PCI, CompactPCI, and PCI Express adapter cards into
+the respective hot pluggable slots in a system that is hot plug capable,
+through the \fBcfgadm\fR command (see \fBcfgadm\fR(1M)). Hot plug
+administrative models between PCI, CompactPCI, and PCI Express remain the same
+except where noted in this document.
+.sp
+.LP
+For PCI Hot Plug, each hot plug slot on a specific PCI bus is represented by an
+attachment point of that specific PCI bus.
+.sp
+.LP
+An attachment point consist of two parts: a receptacle and an occupant. The
+\fBreceptacle\fR under PCI hot plug is usually referred to as the physical hot
+pluggable slot; and the \fBoccupant\fR is usually referred to as the PCI
+adapter card that plugs into the slot.
+.sp
+.LP
+Attachment points are named through \fBap_id\fRs. There are two types of
+\fBap_id\fRs: logical and physical. The physical \fBap_id\fR is based on the
+physical pathname, that is, \fB/devices/pci@1/hpc0_slot3\fR, whereas the
+logical \fBap_id\fR is a shorter, and more user-friendly name. For PCI hot
+pluggable slots, the logical \fBap_id\fR is usually the corresponding hot plug
+controller driver name plus the logical slot number, that is,
+\fBpci0:hpc0slot1\fR; PCI nexus driver, with hot plug controller driver named
+\fBhpc\fR and slot number \fB1\fR. The \fBap_type\fR for Hot plug PCI is
+\fBpci\fR.
+.sp
+.LP
+Note that the \fBap_type\fR is not the same as the information in the
+\fBType\fR field.
+.sp
+.LP
+See the \fI\fR for a detailed description of the hot plug procedure.
+.SS "PCI Express ap_id naming"
+.sp
+.LP
+For attachment points located in a PCI Express hierarchy (that is, the parent
+or an ancestor is a PCI Express device), including attachment points which are
+not PCI Express devices themselves, the following naming scheme is used:
+.sp
+.in +2
+.nf
+Grammar:
+ APID : absolute-slot-path
+
+ absolute-slot-path : \fIslot-path\fR[\fI:slot-path\fR[\fI:slotpath\fR ...]]
+
+ slot-path : [\fIfru-id\fR.]\fIslot-id\fR
+ where \fIfru-id\fR indicates the chassis FRU, if any,
+ containing the \fIslot-id\fR
+
+ fru-id : \fIfru-type\fR[\fIserialid#\fR]
+ where \fIfru-type\fR is "iob" for PCI Express expansion
+ chassis, followed by its serial number \fIserialid#\fR,
+ if available
+
+ slot-id: \fIslot-name\fR | \fIdevice-type\fR \fIphysical-slot#\fR |\e
+ \fInexus-driver-name\fR \fInexus-driver-instance\fR.\e
+ \fIdevice-type\fR \fIpci-device-number\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fIslot-name\fR is a name assigned by the platform or hardware itself;
+\fIdevice-type\fR is either "pcie"for PCI Express devices or "pci" for PCI
+devices; \fInexus-driver-name\fR is the driver name for the device component;
+\fIphysical-slot#\fR is the hardware slot number; and \fIpci-device-number\fR
+is the PCI device number in standard PCI nomenclature.
+.sp
+.LP
+First, an \fIabsolute-slot-path\fR is constructed that attempts to describe the
+attachment point's topological location in more physically identifiable terms
+for the user . This \fIabsolute-slot-path\fR consists of \fIslot-path\fR
+components each seperated by a ":" (colon). The leaf or left-most
+\fIslot-path\fR component describes the device of the attachment point itself
+while its right adjacent \fIslot-path\fR component up to the right or top-most
+\fIslot-path\fR component describes the parent up to the root devices,
+respectively.
+.sp
+.LP
+Each \fIslot-path\fR consists of a \fIslot-id\fR optionally preceded by an
+\fIfru-id\fR, which indicates an expansion chassis containing the device
+described by \fIslot-id\fR (detailed below). \fIfru-id\fR consists of
+\fIfru-type\fR followed by an optional \fIserialid#\fR. \fIfru-type\fR is "iob"
+for PCI Express expansion chassis types, while \fIserialid#\fR is either a
+64-bit hexadecimal number indicating a raw serial number obtained from the
+expansion chassis hardware, or a 4 upper-case ASCII character sequence for Sun
+branded expansion chassis.
+.sp
+.LP
+Each \fIslot-id\fR consists of one of three possible forms:
+.sp
+.ne 2
+.mk
+.na
+\fBslot-id form (1)\fR
+.ad
+.sp .6
+.RS 4n
+\fIslot-names\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslot-id form (2)\fR
+.ad
+.sp .6
+.RS 4n
+\fIdevice-type\fR \fIphysical-slot#\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslot-id form (3)\fR
+.ad
+.sp .6
+.RS 4n
+\fInexus-driver-name\fR \fInexus-driver-instance\fR. \fIdevice-type\fR
+\fIpci-device-number\fR
+.RE
+
+.sp
+.LP
+The precedence of which form to select flows from the lowest form number to the
+highest form number, or from top to bottowm as described above. If a form
+cannot be successfully constructed, then the next numerically higher form is
+attempted.
+.sp
+.LP
+The \fIslot-names\fR in "slot-id form (1)" is taken from the "slot-names"
+property of the corresponding node in the device tree and is a name assigned by
+hardware or the platform. This format is not predefined or established.
+.sp
+.LP
+In "slot-id form (2)", \fIdevice-type\fR indicates the device type of the
+component's slot, and is either "pcie" for PCI Express or "pci" for PCI, while
+\fIphysical-slot#\fR, take from the "physical-slot#" property of its
+corresponding device node, indicates the hardware slot number of the component.
+.sp
+.LP
+"slot-id form (3)" is used when all other forms cannot successfully be
+constructed, and is considered to be the default form. \fInexus-driver-name\fR
+is the component's driver name; \fInexus-driver-instance\fR is such driver's
+instance; \fIdevice-type\fR is the same as described in form (2);
+\fIpci-device-type\fR is the PCI device number as described and used for device
+configuration cycles in standard PCI nomenclature.
+.sp
+.LP
+In summary of the \fIslot-path\fR component, expanding the optional FRU
+component that may precede it, \fIslot-path\fR will consist one of the
+following forms in order:
+.sp
+.in +2
+.nf
+(1) [ iob[serialid#]. ] slot-names
+(2) [ iob[serialid#]. ] device_type physical_slot#
+(2) [ iob[serialid#]. ]
+ nexus-driver-name nexus-driver-instance.
+ device_type pci-device-number
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Lastly, the final form of the actual \fIap_id\fR name used in \fBcfgadm\fR is
+decided as follows, specified in order of precedence:
+.sp
+.ne 2
+.mk
+.na
+\fBap_id form (1)\fR
+.ad
+.sp .6
+.RS 4n
+if the \fIabsolute-slot-path\fR can fit within the fixed length limit of
+\fBcfgadm\fR's \fIap_id\fR field, then \fIabsolute-slot-path\fR itself is used
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBap_id form (2)\fR
+.ad
+.sp .6
+.RS 4n
+(\fIabsolute-slot-path\fR exceeds the \fIap_id\fR length limit) if the last
+\fIslot_path\fR component is contained within an expansion chassis, and it
+contains a \fIserialid#\fR, then the last \fIslot_path\fR component is used.
+The requirement for a \fIserialid#\fR in this form is to ensure a globally
+unique \fIap_id\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBap_id form (3)\fR
+.ad
+.sp .6
+.RS 4n
+(\fIabsolute-slot-path\fR exceeds the \fIap_id\fR length limit) the default
+form, "slot-id form (3)", of the last \fIslot_path\fR component is used
+.RE
+
+.sp
+.LP
+Whichever final \fIap_id\fR name is used, the \fIabsolute-slot-path\fR is
+stored in the Information ("info") field which can be displayed using the
+\fB-s\fR or \fB-v\fRoptions. This information can be used to physically locate
+any \fIap_id\fRs named using "ap_id form (2)" or "ap_id form (3)". The
+\fIabsolute-slot-path\fR is tranformed slightly when stored in the information
+field, by the replacement of a colon (":") with forward slashes ("/") to more
+closely denote a topological context. The \fIabsolute-slot-path\fR can include
+\fIslot-path\fR components that are not hotpluggable above the leaf or
+right-most \fIslot-path\fR component up to the onboard host slot.
+.sp
+.LP
+See the EXAMPLES section for a list of hotpluggable examples.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIfunction\fR\fR
+.ad
+.sp .6
+.RS 4n
+The following \fIfunction\fRs are supported for PCI hot pluggable slots:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigure\fR
+.ad
+.sp .6
+.RS 4n
+Configure the PCI device in the slot to be used by Solaris.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnect\fR
+.ad
+.sp .6
+.RS 4n
+Connect the slot to PCI bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnect\fR
+.ad
+.sp .6
+.RS 4n
+Disconnect the slot from the PCI bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinsert\fR
+.ad
+.sp .6
+.RS 4n
+Not supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBremove\fR
+.ad
+.sp .6
+.RS 4n
+Not supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigure\fR
+.ad
+.sp .6
+.RS 4n
+Logically remove the PCI device's resources from the system.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Not supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIap_id\fR | \fIap_type\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print out PCI hot plug specific help message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the values of PCI Hot Plug slots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIhardware_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+No hardware specific options are currently defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIlisting_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Same as the generic \fBcfgadm\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+This command is only supported on platforms which support testing capability on
+the slot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Execute in verbose mode.
+.sp
+When the \fB-v\fR option is used with the \fB-l\fR option, the \fBcfgadm\fR
+command outputs information about the attachment point. For attachment points
+located in a PCI Express hierarhcy, the Information field will contain the
+attachment point's absolute slot path location, including any hardware or
+platform specific labeling information for each component in the slot path.
+Each component in the slot path will be seperated by a "/" (foward slash). See
+the PCI Express ap_id naming section. For PCI Hot Plug attachment points not
+located in a PCI Express hieararchy, the \fBInformation\fR field will be the
+slot's system label, if any. This string will be obtained from the
+\fBslot-name\fR property of the slot's bus node. The information in the Type
+field is printed with or without the \fB-v\fR option. The occupant \fBType\fR
+field will describe the contents of the slot. There are 2 possible values:
+.sp
+.ne 2
+.mk
+.na
+\fBunknown\fR
+.ad
+.sp .6
+.RS 4n
+The slot is empty. If a card is in the slot, the card is not configured or
+there is no driver for the device on the card.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsubclass\fR/\fIboard\fR\fR
+.ad
+.sp .6
+.RS 4n
+The card in the slot is either a single-function or multi-function device.
+.sp
+\fIsubclass\fR is a string representing the subclass code of the device, for
+example, SCSI, \fBethernet\fR, \fBpci-isa\fR, and so forth. If the card is a
+multi-functional device, \fBMULT\fR will get printed instead.
+.sp
+\fIboard\fR is a string representing the board type of the device. For example,
+hp is the string used for a PCI Hot Plug adapter, hs is used for a Hot Swap
+Board, nhs for a Non\(emHot Swap cPCI Board, bhs for a Basic Hot Swap cPCI
+Board, and fhs for a Full Hot Swap cPCI Board.
+.sp
+Most PCI cards with more than one device are not multi-function devices, but
+are implemented as a PCI bridge with arbitrary devices behind them. In those
+cases, the subclass displayed is that of the PCI bridge. Most commonly, the
+bridges are \fBpci-pci,\fR a generic PCI to PCI bridge or \fBstpci\fR, a
+semi-transparent PCI bridge.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIhardware_function\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform hardware specific function. These hardware specific functions should
+not normally change the state of a receptacle or occupant.
+.sp
+The following \fIhardware_functions\fR are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBenable_slot | disable_slot\fR
+.ad
+.sp .6
+.RS 4n
+Change the state of the slot and preserve the state of slot across reboot.
+Preservation of state across reboot is only supported on select platforms.
+.sp
+\fBenable_slot\fR enables the addition of hardware to this slot for hot
+plugging and at boot time.
+.sp
+\fBdisable_slot\fR disables the addition of hardware to this slot for hot
+plugging and at boot time. When a slot is disabled its condition is shown as
+unusable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBenable_autoconfig | disable_autoconfig\fR
+.ad
+.sp .6
+.RS 4n
+Change the ability to autoconfigure the occupant of the slot. Only platforms
+that support auto configuration support this feature.
+.sp
+\fBenable_autoconfig\fR enables the ability to autoconfigure the slot.
+.sp
+\fBdiable_autoconfig\fR disables the ability to autoconfigure the slot.
+.sp
+Autoconfiguration is done through the attention button on the PCI Express
+platforms and through the injector/ejector latch on the CompactPCI platforms.
+When autoconfiguration is disabled, the attention button or latch mechanism
+cannot be used to configure the occupant of the slot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBled=[\fIled_sub_arg\fR],mode=[\fImode_sub_arg\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Without sub-arguments, print a list of the current LED settings. With
+sub-arguments, set the mode of a specific LED for a slot.
+.sp
+Specify \fIled_sub_arg\fR as \fBfault\fR, \fBpower\fR, \fBattn\fR, or
+\fBactive\fR.
+.sp
+Specify \fImode_sub_arg\fR as \fBon\fR, \fBoff\fR or \fBblink\fR.
+.sp
+For PCI Express, only the power and attn LEDs are valid and only the state of
+the \fBattn\fR LED can be changed.
+.sp
+Changing the state of the LED does not change the state of the receptacle or
+occupant. Normally, the LEDs are controlled by the hot plug controller, no user
+intervention is necessary. Use this command for testing purposes.
+.sp
+\fBCaution:\fR Changing the state of the LED can misrepresent the state of
+occupant or receptacle.
+.sp
+The following command prints the values of LEDs:
+.sp
+.in +2
+.nf
+example# \fBcfgadm -x led pci0:hpc0_slot1\fR
+Ap_Id Led
+pci0:hpc0_slot1 power=on,fault=off,active=off,attn=off
+.fi
+.in -2
+.sp
+
+The following command turns on the Fault LED:
+.sp
+.in +2
+.nf
+example# \fBcfgadm -x led=fault,mode=on pci0:hpc0_slot1\fR
+.fi
+.in -2
+.sp
+
+The following command turns off the Power LED:
+.sp
+.in +2
+.nf
+example# \fBcfgadm -x led=power,mode=off pci0:hpc0_slot0\fR
+.fi
+.in -2
+.sp
+
+The following command sets the \fBactive\fR LED to blink to indicate the
+location of the slot:
+.sp
+.in +2
+.nf
+example# \fBcfgadm -x led=active,mode=on pci0:hpc0_slot3\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRPrinting out the Value of Each Slot
+.sp
+.LP
+The following command prints out the values of each slot:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -l\fR
+Ap_Id Type Receptacle Occupant Condition
+c0 scsi-bus connected configured unknown
+c1 scsi-bus connected unconfigured unknown
+c2 scsi-bus connected unconfigured unknown
+cpci_slot1 stpci/fhs connected configured ok
+cpci_slot2 unknown empty unconfigured unknown
+cpci_slot4 stpci/fhs connected configured ok
+cpci_slot5 stpci/fhs connected configured ok
+pcie7 etherne/hp connected configured ok
+pcie8 unknown empty unconfigured unknown
+pcie9 fibre/hp connected configured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRReplacing a Card
+.sp
+.LP
+The following command lists all DR-capable attachment points:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm\fR
+
+
+Type Receptacle Occupant Condition
+c0 scsi-bus connected configured unknown
+c1 scsi-bus connected unconfigured unknown
+c2 scsi-bus connected unconfigured unknown
+cpci_slot1 stpci/fhs connected configured ok
+cpci_slot2 unknown empty unconfigured unknown
+cpci_slot4 stpci/fhs connected configured ok
+cpci_slot5 stpci/fhs connected configured ok
+pcie7 etherne/hp connected configured ok
+pcie8 unknown empty unconfigured unknown
+pcie9 fibre/hp connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command unconfigures and electrically disconnects the card:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -c disconnect cpci_slot4\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The change can be verified by entering the following command:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm cpci_slot4\fR
+
+
+Ap_Id Type Receptacle Occupant Condition
+cpci_slot4 unknown disconnected unconfigured unknown
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Now the card can be swapped. The following command electrically connects and
+configures the card:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -c configure cpci_slot4\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The change can be verifed by entering the following command:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm cpci_slot4\fR
+
+
+Ap_Id Type Receptacle Occupant Condition
+cpci_slot4 stpcipci/fhs connected configured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRInterpreting ApIds for devices in a PCI Express topology
+.sp
+.LP
+The following command shows a listing for a topology with both PCI Express and
+PCI attachment points in I/O expansion chassis connected to hotpluggable slots
+at the host level:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -s cols=ap_id:info\fR
+
+
+Ap_Id Information
+iou#0-pci#0 Location: iou#0-pci#0
+iou#0-pci#1 Location: iou#0-pci#1
+iou#0-pci#1:iob.pci3 Location: iou#0-pci#1/iob.pci3
+iou#0-pci#1:iob.pci4 Location: iou#0-pci#1/iob.pci4
+iou#0-pci#2 Location: iou#0-pci#2
+iou#0-pci#2:iob58071.pcie1 Location: iou#0-pci#2/iob58071.pcie1
+iou#0-pci#2:iob58071.special Location: iou#0-pci#2/iob58071.special
+iou#0-pci#3 Location: iou#0-pci#3
+iou#0-pci#3:iobBADF.pcie1 Location: iou#0-pci#3/iobBADF.pcie1
+iou#0-pci#3:iobBADF.pcie2 Location: iou#0-pci#3/iobBADF.pcie2
+iou#0-pci#3:iobBADF.pcie3 Location: iou#0-pci#3/iobBADF.pcie3
+iou#0-pci#3:iobBADF.pci1 Location: iou#0-pci#3/iobBADF.pci1
+iou#0-pci#3:iobBADF.pci2 Location: iou#0-pci#3/iobBADF.pci2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the "iou#0-pci#[0-3]" represents the top-most hotpluggable
+slots in the system. Since the "iou#<n>-pci#<n>" form does not match any of the
+forms stated in the grammar specification section described earilier, we can
+infer that such a name for the base component in this hotplug topology is
+derived from the platform through the "slot-names" property.
+
+.sp
+.ne 2
+.mk
+.na
+\fBSlot iou#0-pci#0\fR
+.ad
+.sp .6
+.RS 4n
+this slot is empty or its occupant is unconfigured
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSlot iou#0-pci#1\fR
+.ad
+.sp .6
+.RS 4n
+this slot contains an expansion chassis with two hotpluggable slots, "pci3" and
+"pci4". "pci3" and "pci4" represent two PCI slots contained within that
+expansion chassis with physical slot numbers 3 and 4 respectively. The
+expansion chassis in this case does not have or exports a \fIserial-id\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSlot iou#0-pci#2\fR
+.ad
+.sp .6
+.RS 4n
+this slot contains a third party expansion chassis with a hexadecimal
+\fIserial-id\fR of 58071. Within that expansion chassis are two hotpluggable
+slots, "pcie1" and "special". "pcie1" represents a PCI Express slot with
+physical slot number 1. The slot "special" has a label which is derived from
+the platform, hardware or firmware.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSlot iou#0-pci#3\fR
+.ad
+.sp .6
+.RS 4n
+this slot contains a Sun expansion chassis with an FRU identifier of "BADF".
+This expansion chassis contains three PCI Express slots, "pcie1", "pcie2", and
+"pcie3" with physical slot numbers 1, 2, and 3 respectively; and two PCI slots,
+"pci1" and "pci2" with physical slot numbers 1 and 2, respectively.
+.RE
+
+.sp
+.LP
+The following command shows a listing for a topology with both PCI Express and
+PCI attachment points in I/O expansion chassis connected hotpluggable and
+non-hotpluggable host slots:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -s cols=ap_id:info\fR
+
+
+Ap_Id Information
+Slot1 Location: Slot1
+Slot2:iob4ffa56.pcie1 Location: Slot2/iob4ffa56.pcie1
+Slot2:iob4ffa56.pcie2 Location: Slot2/iob4ffa56.pcie2
+Slot5:iob3901.pci1 Location: Slot2/iob3901.pci1
+Slot5:iob3901.pci2 Location: Slot2/iob3901.pci2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the host system only has one hotpluggable slot, "Slot1". We
+can infer that "Slot2" and "Slot5" are not hotpluggable slots because they do
+not appear as attachment points themselves in \fBcfgadm\fR. However, "Slot2"
+and "Slot5" each contains a third party expansion chassis with hotpluggable
+slots.
+
+.sp
+.LP
+The following command shows a listing for a topology with attachment points
+that are lacking in certain device properties:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -s cols=ap_id:info\fR
+
+Ap_Id Information
+px_pci7.pcie0 Location: px_pci7.pcie0
+px_pci11.pcie0 Location: px_pci11.pcie0
+px_pci11.pcie0:iob.pcie1 Location: px_pci11.pcie0/iob.pcie1
+px_pci11.pcie0:iob.pcie2 Location: px_pci11.pcie0/iob.pcie2
+px_pci11.pcie0:iob.pcie3 Location: px_pci11.pcie0/iob.pcie3
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the host system contains two hotpluggable slots,
+"px_pci7.pcie0" and "px_pci11.pcie0". In this case, it uses "slot-id form (3)"
+( the default form) for the base \fIslot-path\fR component in the
+\fIabsolute-slot-path\fR because the framework could not obtain enough
+information to produce other more descriptive forms of higher precedence.
+
+.sp
+.LP
+Interpreting right-to-left, attachment point "px_pci7.pcie0" represents a PCI
+Express slot with PCI device number 0 (which does not imply a physical slot
+number of the same), bound to nexus driver "px_pci", instance 7. Likewise,
+attachment point "px_pci11.pcie0" represents a PCI Express slot with PCI device
+number 0 bound to driver instance 11 of px_pci.
+
+.sp
+.LP
+Under "px_pci11.pcie0" is a third party expansion chassis without a
+\fIserial-id\fR and with three hotpluggable PCI Express slots.
+
+.sp
+.LP
+The following command shows a listing for a topology with attachment point
+paths exceeding the \fIApId\fR field length limit:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -s cols=ap_id:info\fR
+
+Ap_Id Information
+pcie4 Location: pcie4
+pcie4:iobSUNW.pcie1 Location: pcie4/iobSUNW.pcie1
+pcie4:iobSUNW.pcie2 Location: pcie4/iobSUNW.pcie2
+iob8879c3f3.pci1
+ Location: pcie4/iobSUNW.pcie2/iob8879c3f3.pci1
+iob8879c3f3.pci2
+ Location: pcie4/iobSUNW.pcie2/iob8879c3f3.pci2
+iob8879c3f3.pci3
+ Location: pcie4/iobSUNW.pcie2/iob8879c3f3.pci3
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, there is only one hotpluggable slot, "pcie4" in the host.
+Connected under "pcie4" is a SUN expansion chassis with FRU identifier "SUNW".
+Nested under PCI Express slot "pcie2" of that expansion chassis (ApId
+pcie4:iobSUNW.pcie2) lies another expansion chassis with three hotpluggable PCI
+slots.
+
+.sp
+.LP
+Because the length of the \fIabsolute-slot-path\fR form of
+"pcie4/iobSUNW.pcie2/iob8879c3f3.pci1...3" exceeds the \fIApId\fR field length
+limit, and the leaf \fIslot-path\fR component is globally unique, "ap_id form
+(2)" is used, where the leaf \fIslot-path\fR component in the
+\fIabsolute-slot-path\fR is used as the final \fIApId\fR.
+
+.sp
+.LP
+The following command shows a listing for a topology with attachment point
+paths exceeding the \fIApId\fR field length limit and lacking enough
+information to uniquely identify the leaf \fIslot-id\fR on its own (for
+instance, missing the \fIserial-id\fR):
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -s cols=ap_id:info\fR
+
+
+Ap_Id Information
+pcie4 Location: pcie4
+pcie4:iob4567812345678.pcie3 Location: pcie4/iob4567812345678.pcie3
+px_pci20.pcie0
+ Location: pcie4/iob4567812345678.pcie3/iob.pcie1
+px_pci21.pcie0
+ Location: pcie4/iob4567812345678.pcie3/iob.pcie2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, there is only one hotpluggable slot, "pcie4" in the host.
+Connected under "pcie4" is a third party expansion chassis with hexadecimal
+\fIserial-id\fR 4567812345678. Nested under the PCI Express slot "pcie3" of
+that expansion chassis (ApId pcie4:iob4567812345678.pcie3), lies another third
+part expansion chassis without a \fIserial-id\fR and with two hotpluggable PCI
+Express slots.
+
+.sp
+.LP
+Because the length of the \fIabsolute-slot-path\fR form of
+"pcie4/iob4567812345678.pcie3/iob.pcie1...2" exceeds the \fIApId\fR field
+length limit, and the leaf \fIslot-path\fR component is not globally unique,
+"ap_id form (3)" is used. "ap_id form (2)" is where \fIslot-id\fR form (3)
+(default form) of the leaf \fIslot-path\fR component in the
+\fIabsolute-slot-path\fR is used as the final \fIApId\fR.
+
+.sp
+.LP
+The default form or "slot-id form (3)" of the leaf component
+".../iob.pcie1"represents a PCI Express slot with device number 0, bound to
+driver instance 20 of "px_pci". Likewise, the default form of the leaf
+component ".../iob.pcie2" represents a PCI Express slot with device number 0,
+bound to driver instance 21 of "px_pci"
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB/usr/lib/cfgadm/pci.so.1\fR
+.ad
+.sp .6
+.RS 4n
+Hardware specific library for PCI hot plugging.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBconfig_admin\fR(3CFGADM), \fBlibcfgadm\fR(3LIB),
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/cfgadm_sata.1m b/usr/src/man/man1m/cfgadm_sata.1m
new file mode 100644
index 0000000000..f7541eae4e
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_sata.1m
@@ -0,0 +1,888 @@
+'\" te
+.\" Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_sata 1M "27 Aug 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_sata \- SATA hardware-specific commands for cfgadm
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-c\fR \fIfunction\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-x\fR \fIhardware_function\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-a\fR] [\fB-s\fR \fIlisting_options\fR]
+ [\fB-o\fR \fIhardware_options\fR] [\fB-l\fR [\fIap_id\fR | \fIap_type\fR]...]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIharware_options\fR] \fB-t\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR] \fB-h\fR [\fIap_id\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBSATA\fR hardware specific library, \fB/usr/lib/cfgadm/sata.so.1\fR,
+provides the functionality for \fBSATA\fR hot plugging through the \fBcfgadm\fR
+command. \fBcfgadm\fR operates on attachment points, which are locations in the
+system where hardware resources can be dynamically reconfigured. See
+\fBcfgadm\fR(1M) for information regarding attachment points.
+.sp
+.LP
+Each \fBSATA\fR controller's and port multiplier's device port is represented
+by an attachment point in the device tree. \fBSATA\fR devices, connected and
+configured in the system are shown as the attachment point name extension. The
+terms "attachment point" and "\fBSATA\fR port" are used interchangeably in the
+following description.
+.sp
+.LP
+Attachment points are named through \fBap_id\fRs. All the \fBSATA\fR attachment
+points \fBap_id\fR consist of a string in the following form:
+.sp
+.in +2
+.nf
+sataX/P[.M][::dsk/cXtYd0]
+.fi
+.in -2
+
+.sp
+.LP
+where
+.sp
+.ne 2
+.mk
+.na
+\fBX\fR
+.ad
+.RS 14n
+.rt
+is the \fBSATA\fR controller number
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBP\fR
+.ad
+.RS 14n
+.rt
+is the \fBSATA\fR controller's device port number (0 to 31)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBM\fR
+.ad
+.RS 14n
+.rt
+is the port multiplier's device port number (0 to 14) the port multiplier host
+port number (15). It is used only when the port multiplier is attached to the
+\fBSATA\fR controller's device port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdev/cXtYd0\fR
+.ad
+.RS 14n
+.rt
+identifies the attached \fBSATA\fR device
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBY\fR
+.ad
+.RS 14n
+.rt
+is a target number
+.RE
+
+.sp
+.LP
+In general, the device identifier is derived from the corresponding logical
+link for the device in /\fIdev\fR. Because only one \fBLUN\fR (\fBLUN\fR 0) is
+supported by the \fBSATA\fR device, the "d" component of the device string will
+always have number 0 (zero).
+.sp
+.LP
+For example, the logical \fBap_id\fR of the device port 4 of the port
+multiplier connected to the device port 5 of the \fBSATA\fR controller 2 would
+be:
+.sp
+.in +2
+.nf
+sata2/5.4
+.fi
+.in -2
+
+.sp
+.LP
+If the \fBSATA\fR disk or \fBCD\fR/\fBDVD\fR device is connected to this
+attachment point, and the device is configured, the \fIap_id\fR would be:
+.sp
+.in +2
+.nf
+sata2/5.4::dsk/c2t645d0
+.fi
+.in -2
+
+.sp
+.LP
+The \fIcXtYd0\fR string identifying a device has one-to-one correspondence to
+the device attachment point.
+.sp
+.LP
+A simple listing of attachment points in the system will include all \fBSATA\fR
+device ports and attached devices. For example:
+.sp
+.in +2
+.nf
+#\fBcfgadm -l\fR
+Ap_Id Type Receptacle Occupant Condition
+ sata0/0::dev/c0t0d0 disk connected configured ok
+ sata0/1::dev/c0t1d0 disk connected configured ok
+ sata0/2::dev/c0t2d0 cd-dvd connected configured ok
+ sata0/3 sata-port empty unconfigured ok
+ sata1/0 sata-port disconnected unconfigured unknown
+ sata1/1 sata port disconnected unconfigured unknown
+ sata1/2 sata port empty unconfigured ok
+ sata1/3.15 sata-pmult connected configured ok
+ sata1/3.0::dev/c0t512d0 disk connected configured ok
+ sata1/3.1 sata-port empty unconfigured ok
+ sata1/3.2 sata-port empty unconfigured ok
+ sata1/3.3 sata-port empty unconfigured ok
+ usb0/1 unknown empty unconfigured ok
+ usb0/2 unknown empty unconfigured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBcfgadm\fR(1M)for more information regarding listing of attachment
+points.
+.sp
+.LP
+The receptacle state for attachment point at the \fBSATA\fR port have the
+following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBempty\fR
+.ad
+.RS 16n
+.rt
+The \fBSATA\fR port is powered-on and enabled. No device presence was detected
+on this port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected\fR
+.ad
+.RS 16n
+.rt
+The \fBSATA\fR port is not enabled or the \fBSATA\fR device presence was
+detected but no communication with the device was established, or the port has
+failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.RS 16n
+.rt
+The \fBSATA\fR device is detected on the port the communication with the device
+is established.
+.RE
+
+.sp
+.LP
+The occupant (device attached to the \fBSATA\fR port) state have the following
+meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.RS 16n
+.rt
+The attached \fBSATA\fR device is configured and ready to use by the operating
+system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.RS 16n
+.rt
+No device is attached, or the \fBSATA\fR device attached to the \fBSATA\fR port
+was not yet configured. To configure it, run the command "\fBcfgadm -c
+configure ap_id\fR".
+.RE
+
+.sp
+.LP
+The attachment point (\fBSATA\fR port) condition have the following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBok\fR
+.ad
+.RS 11n
+.rt
+The \fBSATA\fR port is powered-on and enabled, and is ready for use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfailed\fR
+.ad
+.RS 11n
+.rt
+The \fBSATA\fR port failed. It may be disabled and/or powered-off by the
+system. It is unusable and its condition is unknown. It may be due to the
+device plugged-in.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunknown\fR
+.ad
+.RS 11n
+.rt
+The \fBSATA\fR port is disabled and its condition is unknown.
+.RE
+
+.sp
+.LP
+A "state table" is the combination of an attachment point receptacle state, an
+occupant state, and an attachment point (\fBSATA\fR port) condition. The valid
+states are:
+.sp
+.ne 2
+.mk
+.na
+\fBempty/unconfigured/ok\fR
+.ad
+.sp .6
+.RS 4n
+The \fBSATA\fR port is enabled and active. No device presence was detected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected/unconfigured/ok\fR
+.ad
+.sp .6
+.RS 4n
+The \fBSATA\fR port is enabled and a device presence was detected but no
+communications with the device was established.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected/unconfigured/unknown\fR
+.ad
+.sp .6
+.RS 4n
+The \fBSATA\fR Port is disabled and its condition is unknown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected/unconfigured/failed\fR
+.ad
+.sp .6
+.RS 4n
+The \fBSATA\fR Port is disabled and unusable. The port was disabled by the
+system due to a system-detected failure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnected/unconfigured/ok\fR
+.ad
+.sp .6
+.RS 4n
+The \fBSATA\fR Port is enabled and active. A device presence was detected and
+the communication with a device was established. The device is not configured
+to be used by the \fBOS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnected/configured/ok\fR
+.ad
+.sp .6
+.RS 4n
+The device is present and configured, and is ready to use by the \fBOS\fR.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+\fBcfgadm\fR defines several types of operations besides listing (\fB-l\fR).
+These operations include testing, (\fB-t\fR), invoking configuration state
+changes, (\fB-c\fR), invoking hardware specific functions (\fB-x\fR), and
+obtaining configuration administration help messages (\fB-h\fR).
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIfunction\fR\fR
+.ad
+.sp .6
+.RS 4n
+The following generic \fIfunction\fRs are defined for the \fBSATA\fR hardware
+specific library. For \fBSATA\fR port attachment point, the following
+configuration state change operations are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBconnect\fR
+.ad
+.sp .6
+.RS 4n
+Enable (activate) the \fBSATA\fR port and establish the communication with an
+attached device. This operation implies powering-on the port if necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnect\fR
+.ad
+.sp .6
+.RS 4n
+Unconfigure the attached device, if it is not already unconfigured, and disable
+(deactivate) the \fBSATA\fR port. A subsequent "\fBconnect\fR" command enables
+\fBSATA\fR port operation but does not bring a device to the "configured"
+state.
+.RE
+
+For a \fBSATA\fR device attached to the \fBSATA\fR port following state change
+operations are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigure\fR
+.ad
+.RS 15n
+.rt
+Configure new device for use by the operating system if it is not already
+configured. This command also implies connect operation, if necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigure\fR
+.ad
+.RS 15n
+.rt
+Unconfigure the device connected to the \fBSATA\fR port if it is not already
+unconfigured.
+.RE
+
+The \fBconfigure\fR and \fBunconfigure\fR operations cannot be used for an
+attachment point where the port multiplier is connected. Port multipliers are
+configured and unconfigured automatically by the system. However, configure and
+unconfigure operations apply to all \fBSATA\fR devices connected to the port
+multiplier's device ports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Not supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBSATA\fR specific help can be obtained by using the help option with any
+\fBSATA\fR attachment point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR [\fB-v\fR]\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-l\fR option works as described in \fBcfgadm\fR(1M). When paired with
+the \fB-v\fR option, the "Information" field contains the following
+\fBSATA\fR-specific information:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Mfg: manufacturer string
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Product: product string
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+No: product Serial Number
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIhardware_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+No hardware specific options are currently defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIlisting_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Attachment points of class \fBSATA\fR can be listed by using the select
+suboption. See \fBcfgadm\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform self-test of the \fBSATA\fR port, if supported by the \fBSATA\fR
+controller. If a port self-test operation is not supported by the \fBSATA\fR
+controller, an error message is issued.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIhardware_function\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform hardware specific function.
+.sp
+Some of the following commands used on the \fBSATA\fR ports or the \fBSATA\fR
+controller may affect any \fBSATA\fR devices that have been attached, as noted.
+\fBap_id\fR refers to \fBSATA\fR port or the entire \fBSATA\fR controller, as
+noted. If the operation implies unconfiguring a device, but it cannot be
+unconfigured (that is, the device contains a mounted filesystem), an error
+message is issued and the operation is not performed. An error message will be
+also issued if the \fBSATA\fR controller does not support specified operation.
+.sp
+.ne 2
+.mk
+.na
+\fBsata_reset_device ap_id\fR
+.ad
+.sp .6
+.RS 4n
+Reset the \fBSATA\fR device attached to \fBap_id\fR \fBSATA\fR port. The
+\fBSATA\fR port state does not change.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsata_reset_port ap_id\fR
+.ad
+.sp .6
+.RS 4n
+Reset the \fBSATA\fR port specified by \fBap_id\fR. If a \fBSATA\fR device is
+attached to the port, it is also reset. This operation may be also performed on
+the port to which a port multiplier is connected. If a port multiplier is
+connected to the \fBSATA\fR controller port, the \fBSATA\fR devices attached to
+the port multiplier may not be reset
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsata_reset_all ap_id\fR
+.ad
+.sp .6
+.RS 4n
+Reset \fBSATA\fR controller specified by the controller number part in
+\fBap_id\fR and all attached devices and re-enumerate all connected devices,
+including port multipliers and devices connected to port multipliers' device
+ports.
+.sp
+This operations implies unconfiguring all attached devices prior to the
+operation. Any newly enumerated devices will be left unconfigured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsata_port_deactivate ap_id\fR
+.ad
+.sp .6
+.RS 4n
+Force the deactivation of the port when all else fails. This is meant as an
+emergency step; use with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsata_port_activate ap_id\fR
+.ad
+.sp .6
+.RS 4n
+Force the activation of a port. This is meant for emergency situations on a
+port which was deactivated to recover from errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsata_port_self_test ap_id\fR
+.ad
+.sp .6
+.RS 4n
+Perform self-test operation on the \fBSATA\fR controller. This operation
+implies unconfiguring all devices and resetting the \fBSATA\fR controller.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Execute in verbose mode.
+.sp
+The following Transitions table reports the state transitions resulting from
+the \fB-c\fR operations and hotplugging actions:
+.sp
+.in +2
+.nf
+current state operation possible new state
+------------- --------- ------------------
+empty/
+unconfigured/ok device plug-in connected/unconfigured/ok, or
+ disconnected/unconfigured/ok, or
+ disconnected/unconfigured/failed
+
+empty/
+unconfigured/ok -c unconfigure error message, no state change
+
+empty/
+unconfigured/ok -c configure error message, no state change
+
+empty/
+unconfigured/ok -c connect error message, no state change
+
+empty/
+unconfigured/ok -c disconnect disconnected/unconfigured/unknown, or
+ disconnected/unconfigured/failed
+
+disconnected/
+unconfigured/ok device unplug no state change
+
+disconnected/
+unconfigured/ok -c unconfigure error message, no state change
+
+disconnected/
+unconfigured/ok -c configure error message, no state change
+
+disconnected/
+unconfigured/ok -c connect error message, no state change
+
+disconnected/
+unconfigured/ok -c disconnect error message, no state change
+
+disconnected/
+unconfigured/
+unknown
+(no disk plugged) -c configure error message, state change to
+ empty/unconfigured/ok, or
+ disconnected/unconfigured/failed
+
+disconnected/
+unconfigured/
+unknown -c configure state change to
+(disk plugged) connected/configured/ok or,
+ connected/unconfigured/ok, or
+ disconnected/unconfigured/failed and
+ possible error message
+
+disconnected/
+unconfigured/
+unknown -c connect empty/unconfigured/ok, or
+ connected/unconfigured/ok, or
+ disconnected/unconfigured/ok, or
+ disconnected/unconfigured/unknown, or
+ disconnected/unconfigured/failed
+
+disconnected/
+unconfigured/
+unknown -c disconnect error message, no state change
+
+disconnected/
+unconfigured/
+failed any command error message, no state change
+ other than
+ -x commands
+
+connected/
+unconfigured/ok disk unplug error message and state:
+ empty/unconfigured/ok, or
+ disconnected/unconfigured/failed
+
+connected/
+unconfigured/ok -c configure connected/unconfigured/ok, or
+ connected/configured/ok, or
+ disconnected/unconfigured/ok, or
+ disconnected/unconfigured/failed
+
+connected/
+unconfigured/ok -c unconfigure error message, no state change
+
+connected/
+unconfigured/ok -c connect error message, no state change
+
+connected/
+unconfigured/ok -c disconnect disconnected/unconfigured/unknown, or
+ disconnected/unconfigured/failed
+
+connected/
+configured/ok disk unplug error message and state:
+ empty/unconfigured/ok, or
+ disconnected/unconfigured/failed
+
+connected/
+configured/ok -c configure error message, no state change
+
+connected/
+configured/ok -c unconfigure error message, if device cannot be
+ unconfigured, no state change, or
+ connected/unconfigured/ok, or
+ disconnected/unconfigured/ok, or
+ disconnected/unconfigured/failed
+
+connected/
+configured/ok -c connect error message, no state change
+
+connected/
+configured/ok -c disconnect error message, if device cannot be
+ unconfigured, no state change, or
+ disconnected/unconfigured/unknown, or
+ disconnected/unconfigured/failed
+.fi
+.in -2
+.sp
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConfiguring a Disk
+.sp
+.LP
+The following command configures a disk attached to \fBSATA\fR controller 0,
+port 0:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -c configure sata0/0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command should be issued only when there is a device connected to the
+\fBSATA\fR port.
+
+.LP
+\fBExample 2 \fRUnconfiguring a Disk
+.sp
+.LP
+The following command unconfigures a disk attached to \fBSATA\fR controller 0,
+port 3:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -c unconfigure sata0/3::dsk/c0t3d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The device identifying string is shown when the attachment point receptacle
+state is "connected" and occupant state is "configured".
+
+.LP
+\fBExample 3 \fREncountering a Mounted File System While Unconfiguring a Disk
+.sp
+.LP
+The following command illustrates encountering a mounted file system while
+unconfiguring a disk:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -c unconfigure sata1/5::dsk/c01t35d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The system responds with the following:
+
+.sp
+.in +2
+.nf
+cfgadm: Component system is busy, try again: failed to offline:
+/devices/pci@0,0/pci8086,244e@1e/pci1095,3124@1/sd@5,0
+ Resource Information
+------------------ --------------------------
+/dev/dsk/c1t5d0s0 mounted filesystem "/mnt"
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB/usr/lib/cfgadm/sata.so.1\fR
+.ad
+.RS 29n
+.rt
+Hardware specific library for generic \fBSATA\fR hot plugging.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBconfig_admin\fR(3CFGADM), \fBlibcfgadm\fR(3LIB),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The emergency "sata_port_deactivate" operation is not supported on ports with
+attached disks containing critical partitions such as root (/), /usr, swap, or
+/var. The deactivate operation should not be attempted on such ports. Incorrect
+usage can result in a system hang and require a reboot.
+.sp
+.LP
+Hotplugging operations are not supported by all \fBSATA\fR controllers.
+.sp
+.LP
+If \fBSATA\fR connectors are the hot-pluggable type and the \fBSATA\fR
+controller supports hotplugging, a \fBSATA\fR device can be hotplugged at any
+time. The system detects the event and establishes the communication with the
+device. The device has to be configured by the explicit "\fBcfgadm -c configure
+ap_id\fR" command.
+.sp
+.LP
+If the \fBSATA\fR connectors are the hot-pluggable type and the \fBSATA\fR
+controller supports hotplugging, unplugging a device without unconfiguring it
+may result in system hang or data loss. If a device is unconfigured but
+receptacle state is not in a disconnected state, unplugging a device from the
+\fBSATA\fR port will result in error message.
+.SH WARNINGS
+.sp
+.LP
+The connectors on some \fBSATA\fR devices do not conform to \fBSATA\fR hotplug
+specifications. Performing hotplug operations on such devices can cause damage
+to the \fBSATA\fR controller and/or the \fBSATA\fR device.
diff --git a/usr/src/man/man1m/cfgadm_sbd.1m b/usr/src/man/man1m/cfgadm_sbd.1m
new file mode 100644
index 0000000000..e792f32593
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_sbd.1m
@@ -0,0 +1,1443 @@
+'\" te
+.\" Copyright 2003 (c), Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_sbd 1M "13 Oct 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_sbd \- \fBcfgadm\fR commands for system board administration
+.SH SYNOPSIS
+.LP
+.nf
+\fBcfgadm \fR \fB-l\fR [\fB-a\fR] [\fB-o\fR parsable] \fI ap_id\fR...
+.fi
+
+.LP
+.nf
+\fBcfgadm \fR \fB-c \fR \fIfunction\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR]
+ [\fB-o\fR unassign | nopoweroff] [\fB-v\fR] \fI ap_id\fR...
+.fi
+
+.LP
+.nf
+\fBcfgadm \fR \fB-t\fR [\fB-v\fR] \fI ap_id\fR...
+.fi
+
+.LP
+.nf
+\fBcfgadm \fR \fB-x \fR [\fB-f\fR] [\fB-v\fR] \fIfunction\fR \fI ap_id\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcfgadm_sbd\fR plugin provides dynamic reconfiguration functionality for
+connecting, configuring, unconfiguring, and disconnecting class \fBsbd\fR
+system boards. It also enables you to connect or disconnect a system board from
+a running system without having to reboot the system.
+.sp
+.LP
+The \fBcfgadm\fR command resides in \fB/usr/sbin\fR. See \fBcfgadm\fR(1M). The
+\fBcfgadm_sbd\fR plugin resides \fB/usr/platform/sun4u/lib/cfgadm\fR.
+.sp
+.LP
+Each board slot appears as a single attachment point in the device tree. Each
+component appears as a dynamic attachment point. You can view the type, state,
+and condition of each component, and the states and condition of each board
+slot by using the \fB-a\fR option.
+.sp
+.LP
+The \fBcfgadm\fR options perform differently depending on the platform.
+Additionally, the form of the attachment points is different depending on the
+platform. See the \fBPlatform Notes\fR section for more information.
+.SS "Component Conditions"
+.sp
+.LP
+The following are the names and descriptions of the component conditions:
+.sp
+.ne 2
+.mk
+.na
+\fBfailed\fR
+.ad
+.RS 11n
+.rt
+The component failed testing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBok\fR
+.ad
+.RS 11n
+.rt
+The component is operational.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunknown\fR
+.ad
+.RS 11n
+.rt
+The component has not been tested.
+.RE
+
+.SS "Component States"
+.sp
+.LP
+The following is the name and description of the receptacle state for
+components:
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.RS 13n
+.rt
+The component is connected to the board slot.
+.RE
+
+.sp
+.LP
+The following are the names and descriptions of the occupant states for
+components:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.RS 16n
+.rt
+The component is available for use by the Solaris operating environment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.RS 16n
+.rt
+The component is not available for use by the Solaris operating environment.
+.RE
+
+.SS "Board Conditions"
+.sp
+.LP
+The following are the names and descriptions of the board conditions.
+.sp
+.ne 2
+.mk
+.na
+\fBfailed\fR
+.ad
+.RS 12n
+.rt
+The board failed testing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBok\fR
+.ad
+.RS 12n
+.rt
+The board is operational.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunknown\fR
+.ad
+.RS 12n
+.rt
+The board has not been tested.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunusable\fR
+.ad
+.RS 12n
+.rt
+The board slot is unusable.
+.RE
+
+.SS "Board States"
+.sp
+.LP
+Inserting a board changes the receptacle state from empty to disconnected.
+Removing a board changes the receptacle state from disconnected to empty.
+.sp
+.LP
+\fBCaution:\fR Removing a board that is in the connected state or that is
+powered on and in the disconnected state crashes the operating system and can
+result in permanent damage to the system.
+.sp
+.LP
+The following are the names and descriptions of the receptacle states for
+boards:
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.RS 16n
+.rt
+The board is powered on and connected to the system bus. You can view the
+components on a board only after it is in the connected state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected\fR
+.ad
+.RS 16n
+.rt
+The board is disconnected from the system bus. A board can be in the
+disconnected state without being powered off. However, a board must be powered
+off and in the disconnected state before you remove it from the slot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBempty\fR
+.ad
+.RS 16n
+.rt
+A board is not present.
+.RE
+
+.sp
+.LP
+The occupant state of a disconnected board is always unconfigured. The
+following table contains the names and descriptions of the occupant states for
+boards:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.RS 16n
+.rt
+At least one component on the board is configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.RS 16n
+.rt
+All of the components on the board are unconfigured.
+.RE
+
+.SS "Dynamic System Domains"
+.sp
+.LP
+Platforms based on dynamic system domains (DSDs, referred to as domains in this
+document) divide the slots in the chassis into electrically isolated hardware
+partitions (that is, DSDs). Platforms that are not based on DSDs assign all
+slots to the system permanently.
+.sp
+.LP
+A slot can be empty or populated, and it can be assigned or available to any
+number of domains. The number of slots available to a given domain is
+controlled by an available component list (\fBACL\fR) that is maintained on the
+system controller. The \fBACL\fR is not the access control list provided by the
+Solaris operating environment.
+.sp
+.LP
+A slot is visible to a domain only if the slot is in the domain's \fBACL\fR and
+if it is not assigned to another domain. An unassigned slot is visible to all
+domains that have the slot in their \fBACL\fR. After a slot has been assigned
+to a domain, the slot is no longer visible to any other domain.
+.sp
+.LP
+A slot that is visible to a domain, but not assigned, must first be assigned to
+the domain before any other state changing commands are applied. The assign can
+be done explicitly using \fB\fR\fB-x\fR\fB assign\fR or implicitly as part of a
+connect. A slot must be unassigned from a domain before it can be used by
+another domain. The unassign is always explicit, either directly using
+\fB\fR\fB-x\fR\fB unassign\fR or as an option to disconnect using
+\fB\fR\fB-o\fR\fB unassign\fR.
+.SS "State Change Functions"
+.sp
+.LP
+Functions that change the state of a board slot or a component on the board can
+be issued concurrently against any attachment point. Only one state changing
+operation is permitted at a given time. A \fBY\fR in the Busy field in the
+state changing information indicates an operation is in progress.
+.sp
+.LP
+The following list contains the functions that change the state:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+configure
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+unconfigure
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+connect
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+disconnect
+.RE
+.SS "Availability Change Functions"
+.sp
+.LP
+Commands that change the availability of a board can be issued concurrently
+against any attachment point. Only one availability change operation is
+permitted at a given time. These functions also change the information string
+in the \fBcfgadm\fR \fB-l\fR output. A \fBY\fR in the Busy field indicates that
+an operation is in progress.
+.sp
+.LP
+The following list contains the functions that change the availability:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBassign\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBunassign\fR
+.RE
+.SS "Condition Change Functions"
+.sp
+.LP
+Functions that change the condition of a board slot or a component on the board
+can be issued concurrently against any attachment point. Only one condition
+change operation is permitted at a given time. These functions also change the
+information string in the \fBcfgadm\fR \fB-l\fR output. A \fBY\fR in the Busy
+field indicates an operation is in progress.
+.sp
+.LP
+The following list contains the functions that change the condition:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBpoweron\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBpoweroff\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBtest\fR
+.RE
+.SS "Unconfigure Process"
+.sp
+.LP
+This section contains a description of the unconfigure process, and illustrates
+the states of source and target boards at different stages during the process
+of moving permanent memory.
+.sp
+.LP
+In the following code examples, the permanent memory on board 0 must be moved
+to another board in the domain. Thus, board 0 is the source, and board 1 is the
+target.
+.sp
+.LP
+A status change operation cannot be initiated on a board while it is marked as
+busy. For brevity, the \fBCPU\fR information has been removed from the code
+examples.
+.sp
+.LP
+The process is started with the following command:
+.sp
+.in +2
+.nf
+# \fBcfgadm -c unconfigure -y SB0::memory &\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+First, the memory on board 1 in the same address range as the permanent memory
+on board 0 must be deleted. During this phase, the source board, the target
+board, and the memory attachment points are marked as busy. You can display the
+status with the following command:
+.sp
+.in +2
+.nf
+# \fBcfgadm -a -s cols=ap_id:type:r_state:o_state:busy SB0 SB1\fR
+
+Ap_Id Type Receptacle Occupant Busy
+SB0 CPU connected configured y
+SB0::memory memory connected configured y
+SB1 CPU connected configured y
+SB1::memory memory connected configured y
+
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+After the memory has been deleted on board 1, it is marked as unconfigured. The
+memory on board 0 remains configured, but it is still marked as busy, as in the
+following example.
+.sp
+.in +2
+.nf
+Ap_Id Type Receptacle Occupant Busy
+SB0 CPU connected configured y
+SB0::memory memory connected configured y
+SB1 CPU connected configured y
+SB1::memory memory connected unconfigured n
+
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The memory from board 0 is then copied to board 1. After it has been copied,
+the occupant state for the memory is switched. The memory on board 0 becomes
+unconfigured, and the memory on board 1 becomes configured. At this point in
+the process, only board 0 remains busy, as in the following example.
+.sp
+.in +2
+.nf
+Ap_Id Type Receptacle Occupant Busy
+SB0 CPU connected configured y
+SB0::memory memory connected unconfigured n
+SB1 CPU connected configured n
+SB1::memory memory connected configured n
+
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+After the entire process has been completed, the memory on board 0 remains
+unconfigured, and the attachment points are not busy, as in the following
+example.
+.sp
+.in +2
+.nf
+Ap_Id Type Receptacle Occupant Busy
+SB0 CPU connected configured n
+SB0::memory memory connected unconfigured n
+SB1 CPU connected configured n
+SB1::memory memory connected configured n
+
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The permanent memory has been moved, and the memory on board 0 has been
+unconfigured. At this point, you can initiate a new state changing operation on
+either board.
+.SS "Platform-Specific Options"
+.sp
+.LP
+You can specify platform-specific options that follow the options interpreted
+by the system board plugin. All platform-specific options must be preceded by
+the \fBplatform\fR keyword. The following example contains the general format
+of a command with platform-specific options:
+.sp
+.LP
+\fB\fIcommand\fR -o \fIsbd_options\fR,platform=\fIplatform_options\fR\fR
+.SH OPTIONS
+.sp
+.LP
+This man page does not include the \fB-v\fR, \fB-a\fR, \fB-s\fR, or \fB-h\fR
+options for the \fBcfgadm\fR command. See \fBcfgadm\fR(1M) for descriptions of
+those options. The following options are supported by the \fBcfgadm_sbd\fR
+plugin:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c \fR\fIfunction\fR\fR
+.ad
+.RS 15n
+.rt
+Performs a state change function. You can use the following functions:
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigure\fR
+.ad
+.RS 15n
+.rt
+Changes the occupant state to unconfigured. This function applies to system
+board slots and to all of the components on the system board.
+.sp
+The \fBunconfigure\fR function removes the \fBCPU\fRs from the \fBCPU\fR list
+and deletes the physical memory from the system memory pool. If any device is
+still in use, the \fBcfgadm\fR command fails and reports the failure to the
+user. You can retry the command as soon as the device is no longer busy. If a
+\fBCPU\fR is in use, you must ensure that it is off line before you proceed.
+See \fBpbind\fR(1M), \fBpsradm\fR(1M) and \fBpsrinfo\fR(1M).
+.sp
+The \fBunconfigure\fR function moves the physical memory to another system
+board before it deletes the memory from the board you want to unconfigure.
+Depending of the type of memory being moved, the command fails if it cannot
+find enough memory on another board or if it cannot find an appropriate
+physical memory range.
+.sp
+For permanent memory, the operating system must be suspended (that is,
+quiesced) while the memory is moved and the memory controllers are
+reprogrammed. If the operating system must be suspended, you will be prompted
+to proceed with the operation. You can use the \fB-y\fR or \fB-n\fR options to
+always answer yes or no respectively.
+.sp
+Moving memory can take several minutes to complete, depending on the amount of
+memory and the system load. You can monitor the progress of the operation by
+issuing a status command against the memory attachment point. You can also
+interrupt the memory operation by stopping the \fBcfgadm\fR command. The
+deleted memory is returned to the system memory pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnect\fR
+.ad
+.RS 15n
+.rt
+Changes the receptacle state to disconnected. This function applies only to
+system board slots.
+.sp
+If the occupant state is configured, the \fBdisconnect\fR function attempts to
+unconfigure the occupant. It then powers off the system board. At this point,
+the board can be removed from the slot.
+.sp
+This function leaves the board in the assigned state on platforms that support
+dynamic system domains.
+.sp
+If you specify \fB-o nopoweroff\fR, the \fBdisconnect\fR function leaves the
+board powered on. If you specify \fB-o unassign\fR, the \fBdisconnect\fR
+function unassigns the board from the domain.
+.sp
+If you unassign a board from a domain, you can assign it to another domain.
+However, if it is assigned to another domain, it is not available to the domain
+from which is was unassigned.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconfigure\fR
+.ad
+.RS 15n
+.rt
+Changes the occupant state to configured. This function applies to system board
+slots and to any components on the system board.
+.sp
+If the receptacle state is disconnected, the \fBconfigure\fR function attempts
+to connect the receptacle. It then walks the tree of devices that is created by
+the \fBconnect\fR function, and attaches the devices if necessary. Running this
+function configures all of the components on the board, except those that have
+already been configured.
+.sp
+For \fBCPU\fRs, the \fBconfigure\fR function adds the \fBCPU\fRs to the
+\fBCPU\fR list. For memory, the \fBconfigure\fR function ensures that the
+memory is initialized then adds the memory to the system memory pool. The
+\fBCPU\fRs and the memory are ready for use after the \fBconfigure\fR function
+has been completed successfully.
+.sp
+For I/O devices, you must use the \fBmount\fR and the \fBifconfig\fR commands
+before the devices can be used. See \fBifconfig\fR(1M) and \fBmount\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnect\fR
+.ad
+.RS 15n
+.rt
+Changes the receptacle state to connected. This function applies only to system
+board slots.
+.sp
+If the board slot is not assigned to the domain, the \fBconnect\fR function
+attempts to assign the slot to the domain. Next, it powers on and tests the
+board, then it connects the board electronically to the system bus and probes
+the components.
+.sp
+After the \fBconnect\fR function is completed successfully, you can use the
+\fB-a\fR option to view the status of the components on the board. The
+\fBconnect\fR function leaves all of the components in the unconfigured state.
+.sp
+The assignment step applies only to platforms that support dynamic system
+domains.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 15n
+.rt
+Overrides software state changing constraints.
+.sp
+The \fB-f\fR option never overrides fundamental safety and availability
+constraints of the hardware and operating system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 15n
+.rt
+Lists the state and condition of attachment points specified in the format
+controlled by the \fB-s\fR, \fB-v\fR, and \fB-a\fR options as specified in
+\fBcfgadm\fR(1M). The \fBcfgadm_sbd\fR plugin provides specific information in
+the info field as described below. The format of this information might be
+altered by the \fB\fR\fB-o\fR\fB parsable\fR option.
+.sp
+The parsable \fBinfo\fR field is composed of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBcpu\fR
+.ad
+.RS 10n
+.rt
+The \fBcpu\fR type displays the following information:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcpuid=\fR\fI#\fR\fB[,\fR\fI#\fR\fB\&.\|.\|.]\fR\fR
+.ad
+.RS 24n
+.rt
+Where \fI#\fR is a number, and represents the \fBID\fR of the \fBCPU\fR. If
+more than one \fI#\fR is present, this \fBCPU\fR has multiple active virtual
+processors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBspeed=\fR\fI#\fR\fR
+.ad
+.RS 24n
+.rt
+Where \fI#\fR is a number and represents the speed of the \fBCPU\fR in
+\fBMHz\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBecache=\fR\fI#\fR\fR
+.ad
+.RS 24n
+.rt
+Where \fI#\fR is a number and represents the size of the ecache in MBytes. If
+the \fBCPU\fR has multiple active virtual processors, the ecache could either
+be shared among the virtual processors, or divided between them.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmemory\fR
+.ad
+.RS 10n
+.rt
+The \fBmemory\fR type displays the following information, as appropriate:
+.sp
+.ne 2
+.mk
+.na
+\fBaddress=\fI#\fR\fR
+.ad
+.RS 26n
+.rt
+Where \fI#\fR is a number, representing the base physical address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsize=\fI#\fR\fR
+.ad
+.RS 26n
+.rt
+Where \fI#\fR is a number, representing the size of the memory in \fBKBytes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpermanent=\fI#\fR\fR
+.ad
+.RS 26n
+.rt
+Where \fI#\fR is a number, representing the size of permanent memory in
+\fBKBytes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigurable\fR
+.ad
+.RS 26n
+.rt
+An operating system setting that prevents the memory from being unconfigured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinter-board-interleave\fR
+.ad
+.RS 26n
+.rt
+The board is participating in interleaving with other boards.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsource=\fIap_id\fR\fR
+.ad
+.RS 26n
+.rt
+Represents the source attachment point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtarget=\fIap_id\fR\fR
+.ad
+.RS 26n
+.rt
+Represents the target attachment point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdeleted=\fI#\fR\fR
+.ad
+.RS 26n
+.rt
+Where \fI#\fR is a number, representing the amount of memory that has already
+been deleted in \fBKBytes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBremaining=\fI#\fR\fR
+.ad
+.RS 26n
+.rt
+Where \fI#\fR is a number, representing the amount of memory to be deleted in
+\fBKBytes\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBio\fR
+.ad
+.RS 10n
+.rt
+The \fBio\fR type displays the following information:
+.sp
+.ne 2
+.mk
+.na
+\fBdevice=\fIpath\fR\fR
+.ad
+.RS 15n
+.rt
+Represents the physical path to the I/O component.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreferenced\fR
+.ad
+.RS 15n
+.rt
+The I/O component is referenced.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboard\fR
+.ad
+.RS 10n
+.rt
+The \fBboard\fR type displays the following boolean names. If they are not
+present, then the opposite applies.
+.sp
+.ne 2
+.mk
+.na
+\fBassigned\fR
+.ad
+.RS 14n
+.rt
+The board is assigned to the domain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpowered-on\fR
+.ad
+.RS 14n
+.rt
+The board is powered on.
+.RE
+
+The same items appear in the \fBinfo\fR field in a more readable format if the
+\fB-o\fR \fBparsable\fR option is not specified.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR parsable\fR
+.ad
+.RS 15n
+.rt
+Returns the information in the \fBinfo\fR field as a boolean \fIname\fR or a
+set of \fBname=value\fR pairs, separated by a space character.
+.sp
+The \fB-o parsable\fR option can be used in conjunction with the \fB-s\fR
+option. See the \fBcfgadm\fR(1M) man page for more information about the
+\fB-s\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 15n
+.rt
+Tests the board.
+.sp
+Before a board can be connected, it must pass the appropriate level of testing.
+.sp
+Use of this option always attempts to test the board, even if it has already
+passed the appropriate level of testing. Testing is also performed when a
+\fB\fR\fB-c\fR\fB connect\fR state change function is issued, in which case the
+test step can be skipped if the board already shows an appropriate level of
+testing. Thus the \fB-t\fR option can be used to explicitly request that the
+board be tested.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fI function\fR\fR
+.ad
+.RS 15n
+.rt
+Performs an sbd-class function. You can use the following functions:
+.sp
+.ne 2
+.mk
+.na
+\fBassign\fR
+.ad
+.RS 12n
+.rt
+Assigns a board to a domain.
+.sp
+The receptacle state must be disconnected or empty. The board must also be
+listed in the domain available component list. See Dynamic System Domains.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunassign\fR
+.ad
+.RS 12n
+.rt
+Unassigns a board from a domain.
+.sp
+The receptacle state must be disconnected or empty. The board must also be
+listed in the domain available component list. See Dynamic System Domains.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpoweron\fR
+.ad
+.RS 12n
+.rt
+Powers the system board on.
+.sp
+The receptacle state must be disconnected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpoweroff\fR
+.ad
+.RS 12n
+.rt
+Powers the system board off.
+.sp
+The receptacle state must be disconnected.
+.RE
+
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBReceptacle \fIap_id\fR\fR
+.ad
+.RS 20n
+.rt
+For the Sun Fire high-end systems such as the Sun Fire 15K , the receptacle
+attachment point \fBID\fR takes the form \fBSB\fIX\fR\fR or \fBIO\fIX\fR\fR,
+where \fIX\fR equals the slot number.
+.sp
+The exact format depends on the platform and typically corresponds to the
+physical labelling on the machine. See the platform specific information in the
+\fBNOTES\fR section.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBComponent \fIap_id\fR\fR
+.ad
+.RS 20n
+.rt
+The component attachment point \fBID\fR takes the form \fIcomponent_typeX\fR,
+where \fIcomponent_type\fR equals one of the component types described in
+"Component Types" and \fIX\fR equals the component number. The component number
+is a board-relative unit number.
+.sp
+The above convention does not apply to memory compontents. Any DR action on a
+memory attachment point affects all of the memory on the system board.
+.RE
+
+.SH EXAMPLES
+.sp
+.LP
+The following examples show user input and system output on a Sun Fire 15K
+system. User input, specifically references to attachment points and system
+output might differ on other Sun Fire systems, such as the Sun Fire midrange
+systems such as the 6800. Refer to the Platform Notes for specific information
+about using the \fBcfgadm_sbd\fR plugin on non-Sun Fire high-end models.
+.LP
+\fBExample 1 \fRListing All of the System Board
+.sp
+.in +2
+.nf
+# \fBcfgadm -a -s "select=class(sbd)"\fR
+
+Ap_Id Type Receptacle Occupant Condition
+SB0 CPU connected configured ok
+SB0::cpu0 cpu connected configured ok
+SB0::memory memory connected configured ok
+IO1 HPCI connected configured ok
+IO1::pci0 io connected configured ok
+IO1::pci1 io connected configured ok
+SB2 CPU disconnected unconfigured failed
+SB3 CPU disconnected unconfigured unusable
+SB4 unknown empty unconfigured unknown
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This example demonstrates the mapping of the following conditions:
+
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The board in Slot 2 failed testing.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Slot 3 is unusable; thus, you cannot hot plug a board into that slot.
+.RE
+.LP
+\fBExample 2 \fRListing All of the \fBCPU\fRs on the System Board
+.sp
+.in +2
+.nf
+# \fBcfgadm -a -s "select=class(sbd):type(cpu)"\fR
+
+Ap_Id Type Receptacle Occupant Condition
+SB0::cpu0 cpu connected configured ok
+SB0::cpu1 cpu connected configured ok
+SB0::cpu2 cpu connected configured ok
+SB0::cpu3 cpu connected configured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying the \fBCPU\fR Information Field
+.sp
+.in +2
+.nf
+# \fBcfgadm -l -s noheadings,cols=info SB0::cpu0\fR
+
+cpuid 16, speed 400 MHz, ecache 8 Mbytes
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisplaying the \fBCPU\fR Information Field in Parsable Format
+.sp
+.in +2
+.nf
+# \fBcfgadm -l -s noheadings,cols=info -o parsable SB0::cpu0\fR
+
+cpuid=16 speed=400 ecache=8
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDisplaying the Devices on an I/O Board
+.sp
+.in +2
+.nf
+# \fBcfgadm -a -s noheadings,cols=ap_id:info -o parsable IO1\fR
+
+IO1 powered-on assigned
+IO1::pci0 device=/devices/saf@0/pci@0,2000 referenced
+IO1::pci1 device=/devices/saf@0/pci@1,2000 referenced
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRMonitoring an Unconfigure Operation
+.sp
+.LP
+In the following example, the memory sizes are displayed in Kbytes.
+
+.sp
+.in +2
+.nf
+# \fBcfgadm -c unconfigure -y SB0::memory &\fR
+# \fBcfgadm -l -s noheadings,cols=info -o parsable SB0::memory SB1::memory\fR
+
+address=0x0 size=2097152 permanent=752592 target=SB1::memory
+ deleted=1273680 remaining=823472
+address=0x1000000 size=2097152 source=SB0::memory
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRAssigning a Slot to a Domain
+.sp
+.in +2
+.nf
+# \fBcfgadm -x assign SB2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRUnassigning a Slot from a Domain
+.sp
+.in +2
+.nf
+# \fBcfgadm -x unassign SB3\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for a description of the following attribute:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+StabilitySee below.
+.TE
+
+.sp
+.LP
+The interface stability is evolving. The output stability is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBdevfsadm\fR(1M), \fBifconfig\fR(1M), \fBmount\fR(1M),
+\fBpbind\fR(1M), \fBpsradm\fR(1M), \fBpsrinfo\fR(1M),
+\fBconfig_admin\fR(3CFGADM), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+This section contains information on how to monitor the progress of a memory
+delete operation. It also contains platform specific information.
+.SS "Memory Delete Monitoring"
+.sp
+.LP
+The following shell script can be used to monitor the progress of a memory
+delete operation.
+.sp
+.in +2
+.nf
+# \fBcfgadm -c unconfigure -y SB0::memory &\fR
+# \fBwatch_memdel SB0\fR
+
+#!/bin/sh
+# This is the watch_memdel script.
+
+if [ -z "$1" ]; then
+ printf "usage: %s board_id\en" `basename $0`
+ exit 1
+fi
+
+board_id=$1
+
+cfgadm_info='cfgadm -s noheadings,cols=info -o parsable'
+
+eval `$cfgadm_info $board_id::memory`
+
+if [ -z "$remaining" ]; then
+ echo no memory delete in progress involving $board_id
+ exit 0
+fi
+
+echo deleting target $target
+
+while true
+do
+ eval `$cfgadm_info $board_id::memory`
+
+ if [ -n "$remaining" -a "$remaining" -ne 0 ]
+ then
+ echo $deleted KBytes deleted, $remaining KBytes remaining
+ remaining=
+ else
+ echo memory delete is done
+ exit 0
+ fi
+ sleep 1
+done
+exit 0
+.fi
+.in -2
+.sp
+
+.SS "Sun Enterprise 10000 Platform Notes"
+.sp
+.LP
+The following syntax is used to refer to Platform Notes attachment points on
+the Sun Enterprise 10000 system:
+.sp
+.in +2
+.nf
+\fIboard\fR::\fIcomponent\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+ where \fIboard\fR refers to the system board; and \fIcomponent\fR refers to
+the individual component. System boards can range from \fBSB0\fR (zero) to
+\fBSB15\fR. A maximum of sixteen system boards are available.
+.sp
+.LP
+The DR 3.0 model running on a Sun Enterprise 10000 domain supports a limited
+subset of the functionality provided by the \fBcfgadm_sbd\fR plugin. The only
+supported operation is to view the status of attachment points in the domain.
+This corresponds to the \fB-l\fR option and all of its associated options.
+.sp
+.LP
+Attempting to perform any other operation from the domain will result in an
+error that states that the operation is not supported. All operations to add or
+remove a system board must be initiated from the System Service Processor.
+.SS "Sun Fire High-End System Platform Notes"
+.sp
+.LP
+The following syntax is used to refer to attachment points on the Sun Fire
+high-end systems:
+.sp
+.in +2
+.nf
+\fIboard\fR::\fIcomponent\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fIboard\fR refers to the system board or I/O board; and \fIcomponent\fR
+refers to the individual component.
+.sp
+.LP
+Depending on the system's configuration, system boards can range from \fBSB0\fR
+(zero) through \fBSB17\fR, and I/O boards can range from \fBIO0\fR (IO zero)
+through \fBIO17\fR. (A maximum of eighteen system and I/O boards are
+available).
+.sp
+.LP
+The \fB-t\fR and \fB-x\fR options behave differently on the Sun Fire high-end
+system platforms. The following list describes their behavior:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 24n
+.rt
+The system controller uses a CPU to test system boards by running \fBLPOST\fR,
+sequenced by the \fBhpost\fR command. To test I/O boards, the driver starts the
+testing in response to the \fB-t\fR option, and the test runs automatically
+without user intervention. The driver unconfigures a CPU and a stretch of
+contiguous physical memory. Then, it sends a command to the system controller
+to test the board. The system controller uses the CPU and memory to test the
+I/O board from inside of a transaction/error cage. You can only use CPUs from
+system boards (not MCPU boards) to test I/O boards.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fBassign | unassign\fR\fR
+.ad
+.RS 24n
+.rt
+In the Sun Fire high-end system administration model, the platform
+administrator controls the platform hardware through the use of an available
+component list for each domain. This information is maintained on the system
+controller. Only the platform administrator can modify the available component
+list for a domain.
+.sp
+The domain administrator is only allowed to assign or unassign a board if it is
+in the available component list for that domain. The platform administrator
+does not have this restriction, and can assign or unassign a board even if it
+is not in the available component list for a domain.
+.RE
+
+.SS "Sun Fire 15K Component Types"
+.sp
+.LP
+The following are the names and descriptions of the component types:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcpu\fR\fR
+.ad
+.RS 10n
+.rt
+\fBCPU\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBio\fR\fR
+.ad
+.RS 10n
+.rt
+\fBI/O\fR device
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmemory\fR\fR
+.ad
+.RS 10n
+.rt
+Memory
+.RE
+
+.sp
+.LP
+\fBNote:\fR An operation on a memory component affects all of the memory
+components on the board.
+.SS "Sun Fire Midrange Systems Platform Notes"
+.sp
+.LP
+References to attachment points are slightly different on Sun Fire midrange
+servers such as the 6800, 4810, 4800, and 3800 systems than on the Sun Fire
+high-end systems. The following syntax is used to refer to attachment points on
+Sun Fire systems other than the Sun Fire 15K:
+.sp
+.in +2
+.nf
+N#.\fIboard\fR::\fIcomponent\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fBN#\fR refers to the node; \fIboard\fR refers to the system board or
+I/O board; and \fIcomponent\fR refers to the individual component.
+.sp
+.LP
+Depending on the system's configuration, system boards can range from \fBSB0\fR
+through \fBSB5\fR, and I/O boards can range from \fBIB6\fR through \fBIB9\fR.
+(A maximum of six system and four I/O boards are available).
+.SS "Sun Fire Midrange System Component Types"
+.sp
+.LP
+The following are the names and descriptions of the component types:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcpu\fR\fR
+.ad
+.RS 10n
+.rt
+\fBCPU\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpci\fR\fR
+.ad
+.RS 10n
+.rt
+\fBI/O\fR device
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmemory\fR\fR
+.ad
+.RS 10n
+.rt
+Memory
+.RE
+
+.sp
+.LP
+\fBNote:\fR An operation on a memory component affects all of the memory
+components on the board.
diff --git a/usr/src/man/man1m/cfgadm_scsi.1m b/usr/src/man/man1m/cfgadm_scsi.1m
new file mode 100644
index 0000000000..68fff62aa4
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_scsi.1m
@@ -0,0 +1,800 @@
+'\" te
+.\" Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_scsi 1M "6 Jun 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_scsi \- SCSI hardware specific commands for cfgadm
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_option\fR]
+ \fB-c\fR \fIfunction\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_option\fR]
+ \fB-x\fR \fIhardware_function\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-a\fR] [\fB-s\fR\fI listing_option\fR] [\fB-o\fR \fIhardware_option\fR]
+ [\fB-l\fR [\fIap_id\fR | \fIap_type ...\fR ]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR\fI hardware_option\fR] \fB-t\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR\fI hardware_option\fR] \fB-h\fR [\fIap_id\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBSCSI\fR hardware specific library \fB/usr/lib/cfgadm/scsi.so.1\fR
+provides the functionality for \fBSCSI\fR hot-plugging through the
+\fBcfgadm\fR(1M) command. \fBcfgadm\fR operates on attachment points, which are
+locations in the system where hardware resources can be dynamically
+reconfigured. Refer to \fBcfgadm\fR(1M) for information regarding attachment
+points.
+.sp
+.LP
+For \fBSCSI\fR hot-plugging, each \fBSCSI\fR controller is represented by an
+attachment point in the device tree. In addition, each \fBSCSI \fRdevice is
+represented by a dynamic attachment point. Attachment points are named through
+\fBap_ids\fR. Two types of \fBap_ids\fR are defined: logical and physical. The
+physical \fBap_id\fR is based on the physical pathname, whereas the logical
+\fBap_id\fR is a shorter more user-friendly name. For \fBSCSI \fRcontrollers,
+the logical \fBap_id\fR is usually the corresponding disk controller number.
+For example, a typical logical \fBap_id\fR would be \fBc0\fR.
+.sp
+.LP
+\fBSCSI\fR devices are named relative to the controller \fBap_id\fR. Thus if a
+disk device is attached to controller \fBc0\fR, its \fBap_id\fR can be:
+.sp
+.in +2
+.nf
+c0::dsk/c0t0d0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fBdsk/c0t0d0\fR identifies the specific device. In general, the device
+identifier is derived from the corresponding logical link for the device in
+\fB/dev\fR. For example, a \fBSCSI\fR tape drive logical \fBap_id\fR could be
+\fBc0::rmt/0\fR. Here \fBc0\fR is the logical \fBap_id\fR for the \fBSCSI\fR
+controller and \fBrmt/0\fR is derived from the logical link for the tape drive
+in \fB/dev/rmt\fR. If an identifier can not be derived from the link in
+\fB/dev\fR, a unique identifier will be assigned to it. For example, if the
+tape device has no link in \fB/dev\fR, it can be assigned an \fBap_id\fR of the
+form \fBc0::st3\fR where \fBst3\fR is a unique internally generated identifier.
+.sp
+.LP
+A simple listing of attachment points in the system will include attachment
+points at \fBSCSI \fRcontrollers but not \fBSCSI\fR devices. Use the \fB-a\fR
+flag to the list option (\fB-l\fR) to list \fBSCSI\fR devices as well. For
+example:
+.sp
+.in +2
+.nf
+# cfgadm -l
+ Ap_Id Type Receptacle Occupant Condition
+ c0 scsi-bus connected configured unknown
+ sysctrl0:slot0 cpu/mem connected configured ok
+ sysctrl0:slot1 sbus-upa connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To list \fBSCSI\fR devices in addition to \fBSCSI\fR controllers:
+.sp
+.in +2
+.nf
+# cfgadm -al
+
+Ap_Id Type Receptacle Occupant Condition
+c0 scsi-bus connected configured unknown
+c0::dsk/c0t14d0 disk connected configured unknown
+c0::dsk/c0t11d0 disk connected configured unknown
+c0::dsk/c0t8d0 disk connected configured unknown
+c0::dsk/c0t0d0 disk connected configured unknown
+c0::rmt/0 tape connected configured unknown
+sysctrl0:slot0 cpu/mem connected configured ok
+sysctrl0:slot1 sbus-upa connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Refer to \fBcfgadm\fR(1M) for more information regarding listing attachment
+points. The receptacle and occupant state for attachment points at the
+\fBSCSI\fR controller have the following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBempty\fR
+.ad
+.RS 16n
+.rt
+not applicable
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected\fR
+.ad
+.RS 16n
+.rt
+bus quiesced (\fBI/O\fR activity on bus is suspended)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.RS 16n
+.rt
+bus active
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.RS 16n
+.rt
+one or more devices on the bus is configured
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.RS 16n
+.rt
+no device on the bus is configured
+.RE
+
+.sp
+.LP
+The corresponding states for individual \fBSCSI\fR devices are:
+.sp
+.ne 2
+.mk
+.na
+\fBempty\fR
+.ad
+.RS 16n
+.rt
+not applicable
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected\fR
+.ad
+.RS 16n
+.rt
+bus to which the device is attached is quiesced
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.RS 16n
+.rt
+bus to which device is attached is active
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.RS 16n
+.rt
+device is configured
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.RS 16n
+.rt
+device is not configured
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+\fBcfgadm\fR defines several types of operations besides listing
+(\fB-l\fR).These operations include testing, (\fB-t\fR), invoking configuration
+state changes, (\fB-c\fR), invoking hardware specific functions (\fB-x\fR), and
+obtaining configuration administration help messages (\fB-h\fR).
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIfunction\fR\fR
+.ad
+.RS 24n
+.rt
+The following generic commands are defined for the \fBSCSI \fRhardware specific
+library:
+.sp
+For \fBSCSI\fR controller attachment points, the following configuration state
+change operations are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBconnect\fR
+.ad
+.RS 15n
+.rt
+Unquiesce the \fBSCSI\fR bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnect\fR
+.ad
+.RS 15n
+.rt
+Quiesce the bus (suspend \fBI/O\fR activity on bus).
+.sp
+Incorrect use of this command can cause the system to hang. See \fBNOTES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconfigure\fR
+.ad
+.RS 15n
+.rt
+Configure new devices on \fBSCSI\fR bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigure\fR
+.ad
+.RS 15n
+.rt
+Unconfigure all devices connected to bus.
+.RE
+
+The following generic commands are defined for \fBSCSI\fR devices:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigure\fR
+.ad
+.RS 15n
+.rt
+configure a specific device
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigure\fR
+.ad
+.RS 15n
+.rt
+unconfigure a specific device
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 24n
+.rt
+When used with the \fBdisconnect\fR command, forces a quiesce of the \fBSCSI\fR
+bus, if supported by hardware.
+.sp
+Incorrect use of this command can cause the system to hang. See \fBNOTES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIap_id\fR\fR
+.ad
+.RS 24n
+.rt
+SCSI specific help can be obtained by using the help option with any SCSI
+attachment point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIhardware_option\fR\fR
+.ad
+.RS 24n
+.rt
+No hardware specific options are currently defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIlisting_option\fR\fR
+.ad
+.RS 24n
+.rt
+Attachment points of class \fBscsi\fR can be listed by using the \fBselect\fR
+sub-option. Refer to the \fBcfgadm\fR(1M) man page for additional information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIap_id\fR\fR
+.ad
+.RS 24n
+.rt
+No test commands are available at present.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIhardware_function\fR\fR
+.ad
+.RS 24n
+.rt
+Some of the following commands can only be used with SCSI controllers and some
+only with SCSI devices.
+.sp
+In the following, \fIcontroller_ap_id\fR refers to an \fBap_id\fR for a SCSI
+controller, for example, \fBc0\fR. \fIdevice_ap_id\fR refers to an \fBap_id\fR
+for a \fBSCSI\fR device, for example: \fBc0::dsk/c0dt3d0\fR.
+.sp
+The following hardware specific functions are defined:
+.sp
+.ne 2
+.mk
+.na
+\fBinsert_device \fIcontroller_ap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add a new device to the SCSI controller, \fIcontroller_ap_id\fR.
+.sp
+This command is intended for interactive use only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBremove_device \fIdevice_ap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove device \fIdevice_ap_id\fR.
+.sp
+This command is intended for interactive use only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreplace_device \fIdevice_ap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove device \fIdevice_ap_id\fR and replace it with another device of the same
+kind.
+.sp
+This command is intended for interactive use only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreset_device \fIdevice_ap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reset \fIdevice_ap_id\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreset_bus \fIcontroller_ap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reset bus \fIcontroller_ap_id\fR without resetting any devices attached to the
+bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreset_all \fIcontroller_ap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reset bus \fIcontroller_ap_id\fR and all devices on the bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlocator [=on|off] \fIdevice_ap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets or gets the hard disk locator \fBLED\fR, if it is provided by the
+platform. If the [on|off] suboption is not set, the state of the hard disk
+locator is printed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBled[=LED,mode=on|off|blink] \fIdevice_ap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+If no sub-arguments are set, this function print a list of the current
+\fBLED\fR settings. If sub-arguments are set, this function sets the mode of a
+specific \fBLED\fR for a slot.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConfiguring a Disk
+.sp
+.LP
+The following command configures a disk attached to controller \fBc0\fR:
+
+.sp
+.in +2
+.nf
+# \fBcfgadm -c configure c0::dsk/c0t3d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUnconfiguring a Disk
+.sp
+.LP
+The following command unconfigures a disk attached to controller \fBc0\fR:
+
+.sp
+.in +2
+.nf
+# \fBcfgadm -c unconfigure c0::dsk/c0t3d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRAdding a New Device
+.sp
+.LP
+The following command adds a new device to controller \fBc0\fR:
+
+.sp
+.in +2
+.nf
+# \fBcfgadm -x insert_device c0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The system responds with the following:
+
+.sp
+.in +2
+.nf
+Adding device to SCSI HBA: /devices/sbus@1f,0/SUNW,fas@e,8800000
+This operation will suspend activity on SCSI bus c0
+Continue (yes/no)?
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Enter:
+
+.sp
+.in +2
+.nf
+\fBy\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The system responds with the following:
+
+.sp
+.in +2
+.nf
+SCSI bus quiesced successfully.
+It is now safe to proceed with hotplug operation.
+Enter y if operation is complete or n to abort (yes/no)?
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Enter:
+
+.sp
+.in +2
+.nf
+\fBy\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRReplacing a Device
+.sp
+.LP
+The following command replaces a device attached to controller \fBc0\fR:
+
+.sp
+.in +2
+.nf
+# \fBcfgadm \fR\fB-x\fR\fB replace_device c0::dsk/c0t3d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The system responds with the following:
+
+.sp
+.in +2
+.nf
+Replacing SCSI device: /devices/sbus@1f,0/SUNW,fas@e,8800000/sd@3,0
+This operation will suspend activity on SCSI bus: c0
+Continue (yes/no)?
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Enter:
+
+.sp
+.in +2
+.nf
+\fBy\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The system responds with the following:
+
+.sp
+.in +2
+.nf
+SCSI bus quiesced successfully.
+It is now safe to proceed with hotplug operation.
+Enter y if operation is complete or n to abort (yes/no)?
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Enter:
+
+.sp
+.in +2
+.nf
+\fBy\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fREncountering a Mounted File System While Unconfiguring a Disk
+.sp
+.LP
+The following command illustrates encountering a mounted file system while
+unconfiguring a disk:
+
+.sp
+.in +2
+.nf
+# \fBcfgadm -c unconfigure c1::dsk/c1t0d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The system responds with the following:
+
+.sp
+.in +2
+.nf
+cfgadm: Component system is busy, try again: failed to offline:
+/devices/pci@1f,4000/scsi@3,1/sd@1,0
+ Resource Information
+------------------ --------------------------
+/dev/dsk/c1t0d0s0 mounted filesystem "/mnt"
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDisplay the Value of the Locator for a Disk
+.sp
+.LP
+The following command displays the value of the locator for a disk. This
+example is specific to the \fBSPARC\fR Enterprise Server family:
+
+.sp
+.in +2
+.nf
+# \fBcfgadm -x locator c0::dsk/c0t6d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The system responds with the following:
+
+.sp
+.in +2
+.nf
+Disk Led
+c0t6d0 locator=on
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRSet the Value of the Locator for a Disk
+.sp
+.LP
+The following command sets the value of the locator for a disk. This example is
+specific to the \fBSPARC\fR Enterprise Server family:
+
+.sp
+.in +2
+.nf
+# \fBcfgadm -x locator=off c0::dsk/c0t6d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The system does not print anything in response.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/cfgadm/scsi.so.1\fR\fR
+.ad
+.sp .6
+.RS 4n
+hardware-specific library for generic \fBSCSI\fR hot-plugging
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/platform/SPARC-Enterprise/lib/cfgadm/scsi.so.1\fR\fR
+.ad
+.sp .6
+.RS 4n
+platform-specific library for generic \fBSCSI\fR hot-plugging
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBluxadm\fR(1M), \fBconfig_admin\fR(3CFGADM),
+\fBlibcfgadm\fR(3LIB), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBdisconnect\fR (quiesce) operation is not supported on controllers which
+control disks containing critical partitions such as \fBroot\fR (\fB/\fR),
+\fB/usr\fR, \fBswap\fR, or \fB/var\fR. The \fBdisconnect\fR operation should
+not be attempted on such controllers. Incorrect usage can result in a system
+hang and require a reboot.
+.sp
+.LP
+When a controller is in the disconnected (quiesced) state, there is a potential
+for deadlocks occurring in the system. The \fBdisconnect\fR operation should be
+used with caution. A controller should be kept in the disconnected state for
+the minimum period of time required to accomplish the \fBDR\fR operation. The
+\fBdisconnect\fR command is provided only to allow the replacement of the
+\fBSCSI\fR cables while the system is running. It should not be used for any
+other purpose. The only fix for a deadlock (if it occurs) is to reboot the
+system.
+.sp
+.LP
+Hotplugging operations are not supported by all \fBSCSI\fR controllers.
+.SH WARNINGS
+.sp
+.LP
+The connectors on some \fBSCSI\fR devices do not conform to \fBSCSI\fR hotplug
+specifications. Performing hotplug operations on such devices can cause damage
+to the hardware on the \fBSCSI\fR bus. Refer to your hardware manual for
+additional information.
diff --git a/usr/src/man/man1m/cfgadm_sdcard.1m b/usr/src/man/man1m/cfgadm_sdcard.1m
new file mode 100644
index 0000000000..6705f77a28
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_sdcard.1m
@@ -0,0 +1,417 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_sdcard 1M "28 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_sdcard \- SD/MMC hardware-specific commands for cfgadm
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-c\fR \fIfunction\fR \fIap_id\fR[...]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-c\fR \fIhardware_function\fR \fIap_id\fR[...]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-a\fR] [\fB-s\fR \fIlisting_options\fR]
+ [\fB-o\fR \fIhardware_options\fR] [\fB-l\fR [\fIap_id\fR | \fIap_type\fR[...]]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR] \fB-h\fR [\fIap_id\fR[...]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Secure Digital (SD) and MultiMediaCard (MMC) hardware specific library,
+\fB/usr/lib/cfgadm/sdcard.so.1\fR, provides the functionality for SD/MMC
+hot-plugging through the \fBcfgadm\fR(1M) command. The \fBcfgadm\fR command
+operates on attachment points, which are locations in the system where
+hardware resources can be dynamically reconfigured. See \fBcfgadm\fR(1M) for
+information on attachment points.
+.sp
+.LP
+Each SD/MMC slot is represented by an attachment point in the device tree. Card
+devices that are connected and configured in the system are shown as attachment
+point name extensions. The terms "attachment point" and "SD/MMC slot" are used
+interchangeably throughout this manpage.
+.sp
+.LP
+Attachment points are named through ap_ids. All SD/MMC attachment points
+consist of a string in the following form:
+.sp
+.in +2
+.nf
+sdcardX/[S][::dsk/cXtYd0]
+.fi
+.in -2
+
+.sp
+.LP
+Where:
+.sp
+.LP
+\fIX\fR is the SD/MMC controller number.
+.sp
+.LP
+\fIS\fR is the slot number on the controller (0 to 8).
+.sp
+.LP
+\fBdev/cXtYd0\fR identifies the inserted memory card.
+.sp
+.LP
+\fIY\fR is a target number.
+.sp
+.LP
+In general, the device identifier is derived from the corresponding logical
+link for the device in \fB/dev\fR. Because only one LUN (LUN 0) is supported by
+the SD/MMC device, the "d" component of the device string will always have
+number 0 (zero). For example, the logical \fIap_id\fR of slot 4 of SD/MMC
+controller 2 would be \fBsdcard2/4\fR. If the SD/MMC media card is inserted in
+this attachment point and the device is configured, the \fBap_id\fR might be
+\fBsdcard2/4::dsk/c2t0d0\fR.
+.sp
+.LP
+The c\fIX\fRt\fIY\fRd\fI0\fR string identifying a device has one-to-one
+correspondence to the device attachment point.
+.sp
+.LP
+A simple listing of attachment points in the system includes all SD/MMC device
+slots and attached devices. For example:
+.sp
+.in +2
+.nf
+#cfgadm -l
+Ap_Id Type Receptacle Occupant Condition
+ sdcard0/0::dev/c2t0d0 sdcard connected configured ok
+ sata0/1::dev/c0t1d0 disk connected configured ok
+ sata0/2::dev/c0t2d0 cd-dvd connected configured ok
+ sata0/3 sata-port empty unconfigured ok
+ usb0/1 unknown empty unconfigured ok
+ usb0/2 unknown empty unconfigured ok
+.fi
+.in -2
+
+.sp
+.LP
+See \fBcfgadm\fR(1M) for more information regarding listing of attachment
+points.
+.sp
+.LP
+The receptacle state for an attachment point at the SD/MMC slot has the
+following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBempty\fR
+.ad
+.sp .6
+.RS 4n
+The SD/MMC slot is powered-on and enabled. No device presence was detected for
+this slot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnected\fR
+.ad
+.sp .6
+.RS 4n
+The SD/MMC slot is not enabled, or the SD/MMC device presence was detected but
+no communication with the device was established, or the slot has failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnected\fR
+.ad
+.sp .6
+.RS 4n
+The SD/MMC device is detected in the slot and device communication is
+established.
+.RE
+
+.sp
+.LP
+The occupant (device inserted in the SD/MMC slot) state has the following
+meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigured\fR
+.ad
+.sp .6
+.RS 4n
+The attached SD/MMC device is configured and ready to use by the operating
+system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigured\fR
+.ad
+.sp .6
+.RS 4n
+No device is attached, or the SD/MMC device inserted in the SD/MMC slot is not
+yet configured. To configure, run the command \fBcfgadm
+-c configure ap_id\fR.
+.RE
+
+.sp
+.LP
+The attachment point (SD/MMC slot) condition has the following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fBok\fR
+.ad
+.sp .6
+.RS 4n
+The SD/MMC slot is powered-on, enabled and ready for use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfailed\fR
+.ad
+.sp .6
+.RS 4n
+The SD/MMC slot failed. It may be disabled and/or powered-off by the system. It
+is unusable and its condition is unknown. The failure may be
+due to the device inserted in the slot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunknown\fR
+.ad
+.sp .6
+.RS 4n
+The SD/MMC slot is disabled and its condition is unknown.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBcfgadm\fR command defines several types of operations besides listing
+(\fB-l\fR). These operations include invoking configuration state changes
+(\fB-c\fR), invoking hardware specific functions (\fB-x\fR), and obtaining
+configuration administration help messages (\fB-h\fR).
+.sp
+.LP
+\fB-c\fR: For SD/MMC slot attachment points, the following configuration state
+change operations are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBconnect\fR
+.ad
+.sp .6
+.RS 4n
+Enable (activate) the SD/MMC slot and establish the communication with an
+attached device. This operation implies powering-on the slot if necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnect\fR
+.ad
+.sp .6
+.RS 4n
+Unconfigure the inserted device if it is not already unconfigured and disable
+(deactivate) the SD/MMC slot. A subsequent "connect" command enables SD/MMC
+slot operation but does not bring a device to the "configured" state.
+.RE
+
+.sp
+.LP
+The following state change operations are supported for an SD/MMC card inserted
+in to the SD/MMC slot:
+.sp
+.ne 2
+.mk
+.na
+\fBconfigure\fR
+.ad
+.sp .6
+.RS 4n
+Configure new device for use by the operating system if it is not already
+configured. This command also implies connect operation, if necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigure\fR
+.ad
+.sp .6
+.RS 4n
+Unconfigure the device inserted in the SD/MMC slot if it is not already
+unconfigured.
+.RE
+
+.sp
+.LP
+\fB-f \fR: Not supported.
+.sp
+.LP
+\fB-h\fR \fBap_id\fR: SD/MMC specific help can be obtained by using the help
+option with any SD/MMC attachment point.
+.sp
+.LP
+\fB-l\fR [-v]: The -l option works as described in \fBcfgadm\fR(1M). When
+paired with the -v option, the "Information" field contains the following
+SD/MMC-specific information:
+.br
+.in +2
+Mod: product model string
+.in -2
+.br
+.in +2
+Rev: product revision number (major.minor)
+.in -2
+.br
+.in +2
+Date: month and year of manufacture
+.in -2
+.br
+.in +2
+SN: product serial number (hexadecimal)
+.in -2
+.sp
+.LP
+\fB-o\fR hardware_options \(em No hardware specific options are currently
+defined.
+.sp
+.LP
+\fB-s\fR listing_options: Attachment points of class SD/MMC can be listed by
+using the select suboption. See \fBcfgadm\fR(1M).
+.sp
+.LP
+\fB-t\fR \fBap_id\fR: Self-test functionality. Not supported by SD/MMC slots.
+.sp
+.LP
+\fB-x\fR \fBhardware_function\fR: Perform hardware specific function.
+sdcard_reset_slot \fBap_id\fRindicates reset of the SD/MMC slot specified by
+\fBap_id\fR. If an SD/MMC device is inserted in the slot, it is also reset.
+.sp
+.LP
+\fB-v\fR: Execute in verbose mode.
+.SH EXAMPLES
+.sp
+.LP
+Example 1 - Configuring an SD/MMC card:
+.sp
+.LP
+The following command configures a card attached to SD/MMC controller 0, slot
+0. It should be issued only when there is a device inserted in the SD/MMC slot.
+.sp
+.in +2
+.nf
+ # cfgadm -c configure sdcard0/0
+.fi
+.in -2
+
+.sp
+.LP
+Example 2 - Unconfiguring an SD/MMC card:
+.sp
+.LP
+The following command unconfigures a card inserted in SD/MMC controller 0, slot
+3:
+.sp
+.in +2
+.nf
+ # cfgadm -c unconfigure sdcard0/3
+.fi
+.in -2
+
+.sp
+.LP
+Example 3 \(em Encountering a mounted file system while unconfiguring a disk:
+.sp
+.LP
+The following command illustrates encountering a mounted file system while
+unconfiguring a disk:
+.sp
+.in +2
+.nf
+ # cfgadm -c unconfigure sdcard1/5::dsk/c01t35d0
+
+
+.fi
+.in -2
+
+.sp
+.LP
+The system responds with the following:
+.sp
+.in +2
+.nf
+ cfgadm: Component system is busy, try again: failed to offline:
+ /devices/pci@0,0/pci8086,244e@1e/pci1095,3124@1/sd@5,0
+ Resource Information
+ ------------------ --------------------------
+ /dev/dsk/c1t5d0s0 mounted filesystem "/mnt"
+.fi
+.in -2
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB/usr/lib/cfgadm/sdcard.so.1\fR
+.ad
+.sp .6
+.RS 4n
+Hardware specific library for generic SD/MMC hot plugging.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBconfig_admin\fR(3CFGADM), \fBlibcfgadm\fR(3LIB),
+\fBattributes\fR(5), \fBsda\fR(7D), \fBsdcard\fR(7D), \fBsdhost\fR(7D)
+.SH NOTES
+.sp
+.LP
+Under normal operation, SD/MMC media cards are automatically configured when a
+card is inserted. Most administrators do not find it necessary to use this
+command under normal use.
+.sp
+.LP
+Removing an SD/MMC card without first unconfiguring it may result in data loss
+if the device is being written to when it's being removed. Devices that are
+mounted read-only can be safely removed at any time.
+.sp
+.LP
+Devices that have filesystems other than \fBpcfs\fR(7FS) on them should always
+be explicitly unconfigured before removal.
diff --git a/usr/src/man/man1m/cfgadm_sysctrl.1m b/usr/src/man/man1m/cfgadm_sysctrl.1m
new file mode 100644
index 0000000000..594682f171
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_sysctrl.1m
@@ -0,0 +1,356 @@
+'\" te
+.\" Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_sysctrl 1M "10 Mar 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_sysctrl \- EXX00 system board administration
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-c\fR \fIfunction\fR [\fB-f\fR]
+ [\fB-o\fR disable-at-boot | enable-at-boot] [\fB-n\fR | \fB-y\fR] sysctrl0:slot# ...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-x\fR quiesce-test sysctrl0:slot#
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-x\fR insert-test | remove-test sysctrl0:slot# ...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-x\fR set-condition-test=# sysctrl0:slot# ...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-l\fR]
+ \fB-o\fR disable-at-boot | enable-at-boot sysctrl0:slot# ...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsysctrl\fR hardware specific library
+\fB/usr/platform/sun4u/lib/cfgadm/sysctrl.so.1\fR provides dynamic
+reconfiguration functionality for configuring and disconnecting system boards
+on \fBE6X00\fR, \fBE5X00\fR, \fBE4X00\fR, and \fBE3X00\fR systems. You can
+insert both \fBI/O\fR and \fBCPU\fR boards into a slot on a running system that
+is configured for Solaris without rebooting. You can also disconnect and remove
+both types of boards from a running system without rebooting.
+.sp
+.LP
+System slots appear as attachment points in the device tree, one attachment
+point for each actual slot in the system chassis. If a board is not in a slot,
+the receptacle state is \fBempty\fR. If a board is powered-off and ready to
+remove, the receptacle state is \fBdisconnected\fR. If a board is powered-on
+and is connected to the system bus, the receptacle state is \fBconnected\fR.
+.sp
+.LP
+ The occupant state is \fBunconfigured\fR when the receptacle state is
+\fBempty\fR or \fBdisconnected\fR. The occupant state is either
+\fBunconfigured\fR or \fBconfigured\fR when the receptacle state is
+\fBconnected\fR.
+.sp
+.LP
+In the \fBconfigured\fR state the devices on a board are available for use by
+Solaris. In the \fBunconfigured\fR state, the devices on the board are not.
+.sp
+.LP
+Inserting a board changes the receptacle state from \fBempty\fR to
+\fBdisconnected\fR. Removing a board changes the receptacle state from
+\fBdisconnected\fR to \fBempty\fR. Removing a board that is in the
+\fBconnected\fR state crashes the operating system and can result in permanent
+damage to the system.
+.SH OPTIONS
+.sp
+.LP
+Refer to \fBcfgadm\fR(1M) for a more complete description options.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIfunction\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform the state change function. Specify \fIfunction\fR as \fBconnect\fR,
+\fBdisconnect\fR, \fBconfigure\fR or \fBunconfigure\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBconfigure\fR
+.ad
+.RS 15n
+.rt
+Change the occupant state to \fBconfigure\fR.
+.sp
+If the receptacle state is \fBdisconnect\fRed, the \fBconfigure\fR function
+first attempts to connect the receptacle. The \fBconfigure\fR function walks
+the \fBOBP\fR device tree created as part of the \fBconnect\fR function and
+creates the Solaris device tree nodes, attaching devices as required. For
+\fBCPU\fR/Memory boards, \fBconfigure\fR adds \fBCPU\fRs to the \fBCPU\fR list
+in the \fBpowered-off \fRstate. These are visible to the \fBpsrinfo\fR(1M) and
+\fBpsradm\fR(1M) commands. Two memory attachment points are published for
+CPU/memory boards. Use \fBmount\fR(1M) and\fBifconfig\fR(1M) to use \fBI/O\fR
+devices on the new board. To use \fBCPU\fRs, use \fBpsradm\fR \fB-n\fR to
+on-line the new processors. Use \fBcfgadm_ac\fR(1M) to test and configure the
+memory banks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBconnect\fR
+.ad
+.RS 15n
+.rt
+Change the receptacle state to \fBconnect\fRed.
+.sp
+Changing the receptacle state requires that the system bus be frozen while the
+bus signals are connected and the board tested. The bus is frozen by running a
+\fBquiesce\fR operation which stops all process activity and suspends all
+drivers. Because the \fBquiesce\fR operation and the subsequent resume can be
+time consuming, and are not supported by all drivers, the \fB-x\fR
+\fBquiesce-test\fR is provided. While the system bus is frozen, the board being
+connected is tested by firmware. This operation takes a short time for
+\fBI/O\fR boards and a significant time for \fBCPU\fR/Memory boards due to CPU
+external cache testing. This does not provide memory testing. The user is
+prompted for confirmation before proceeding with the \fBquiesce\fR. Use the
+\fB-y\fR or \fB-n\fR option to override the prompt. The \fBconnect\fR operation
+is refused if the board is marked as \fBdisabled-at-boot\fR, unless either the
+force flag, \fB-f\fR, or the enable at boot flag, \fB-o\fR
+\fBenable-at-boot\fR, is given. See \fB-l\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisconnect\fR
+.ad
+.RS 15n
+.rt
+ Change the receptacle state to \fBdisconnect\fRed.
+.sp
+If the occupant state is \fBconfigure\fR, the \fBdisconnect\fR function first
+attempts to unconfigure the occupant. The \fBdisconnect\fR operation does not
+require a \fBquiesce\fR operation and operates quickly. The board is
+powered-off ready for removal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunconfigure\fR
+.ad
+.RS 15n
+.rt
+Change the occupant state to \fBunconfigure\fRed.
+.sp
+Devices on the board are made invisible to Solaris during this process. The
+\fBI/O\fR devices on an \fBI/O\fR board are removed from the Solaris device
+tree. Any device that is still in use stops the unconfigure process and be
+reported as in use. The unconfigure operation must be retried after the device
+is made non-busy. For \fBCPU\fR/Memory boards, the memory must have been
+changed to the unconfigured state prior to issuing the board unconfigure
+operation. The \fBCPU\fRs on the board are off-lined, powered off and removed
+from the Solaris \fBCPU\fR list. \fBCPU\fRs that have processes bound to them
+cannot be off-lined. See \fBpsradm\fR(1M), \fBpsrinfo\fR(1M), \fBpbind\fR(1M),
+and\fBp_online\fR(2) for more information on off-lining \fBCPU\fRs.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+ Force a block on connecting a board marked as \fBdisabled-at-boot\fR in the
+non-volatile \fBdisabled-board-list\fR variable. See \fIPlatform Notes:Sun
+Enterprise 6x00/5x00/4x00/3x00 Systems\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List options. Supported as described in \fBcfgadm\fR(1M)cfgadm(1M).
+.sp
+The \fItype\fR field can be one of \fBcpu/mem\fR, \fBmem\fR, \fBdual-sbus\fR,
+\fBsbus-upa\fR, \fBdual-pci\fR, \fBsoc+sbus\fR, \fBsoc+upa\fR, \fBdisk\fR or
+\fBunknown\fR.
+.sp
+The hardware-specific info field is set as follows:\fB [disabled at boot]
+[non-detachable] [100 MHz capable] \fR
+.sp
+For \fBsbus-upa\fR and \fBsoc+upa\fR type boards, the following additional
+information appears first: [\fBsingle buffered\fR \fBffb|double\fR
+\fBbuffered\fR \fBffb|no\fR \fBffb installed\fR] For disk type boards, the
+following additional information appears first: \fB{target: # | no disk}
+{target: # | no disk}\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR disable-at-boot | enable-at-boot\fR
+.ad
+.sp .6
+.RS 4n
+Modify the state of the non\(emvolatile \fB disabled-board-list\fR variable.
+Use this the \fB-o\fR option in conjunction with the \fB-c\fR \fIfunction\fR or
+\fB-l\fR option.
+.sp
+Use \fB-o\fR \fBenable-at-boot\fR with the \fB-c\fR \fBconnect\fR to override a
+block on connecting a \fBdisabled-at-boot\fR board.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR insert-test | remove-test\fR
+.ad
+.sp .6
+.RS 4n
+Perform a test.
+.sp
+ Specify \fBremove-test\fR to change the driver state for the specified slot
+from \fBdisconnected\fR to \fBempty\fR without the need for physically removing
+the board during automated test sequences.
+.sp
+Specify \fBinsert-test\fR to change the driver state of a slot made to appear
+empty using the \fBremove-test\fR command to the d\fBisconnected\fR state as if
+it had been inserted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR quiesce-test sysctrl0:slot1\fR
+.ad
+.sp .6
+.RS 4n
+Perform a test.
+.sp
+Allows the \fBquiesce\fR operation required for board connect operations to be
+exercised. The execution of this test confirms that, with the current software
+and hardware configuration, it is possible to quiesce the system. If a device
+or process cannot be quiesced, its name is printed in an error message. Any
+valid board attachment point can be used with this command, but since all
+systems have a slot1 the given form is recommended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR set-condition-test=# \fR
+.ad
+.sp .6
+.RS 4n
+Perform a test.
+.sp
+Allows the condition of a system board attachment point to be set for testing
+the policy logic for state change commands. The new setting is given as a
+number indicating one of the following condition values:
+.sp
+.in +2
+.nf
+0 unknown
+1 ok
+2 failing
+3 failed
+4 unusable
+.fi
+.in -2
+.sp
+
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fBsysctrl0:slot\fI#\fR\fR
+.ad
+.RS 28n
+.rt
+The attachment points for boards on \fBEXX00\fR systems are published by
+instance \fB0\fR of the \fBsysctrl\fR driver (\fBsysctrl0\fR). The names of the
+attachment points are numbered from \fBslot0\fR through \fBslot15\fR. Specify
+\fI#\fR as a number between \fB0\fR and \fB15\fR, indicating the slot number.
+This form conforms to the logical \fBap_id\fR specification given in
+\fBcfgadm\fR(1M). The corresponding physical \fBap_id\fRs are listed in the
+\fBFILES\fR section.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB/usr/platform/sun4u/lib/cfgadm/sysctrl.so.1\fR
+.ad
+.sp .6
+.RS 4n
+Hardware specific library
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB/devices/central@1f,0/fhc@0,f8800000/clock-board@0,900000:slot*\fR
+.ad
+.sp .6
+.RS 4n
+Attachment Points
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBcfgadm_ac\fR(1M), \fBifconfig\fR(1M), \fBmount\fR(1M),
+\fBpbind\fR(1M), \fBpsradm\fR(1M), , \fBpsrinfo\fR(1M),
+\fBconfig_admin\fR(3CFGADM), \fBattributes\fR(5)
+.sp
+.LP
+\fISun Enterprise 6x00, 5x00, 4x00 and 3x00 Systems Dynamic Reconfiguration
+User's Guide\fR
+.sp
+.LP
+\fIPlatform Notes:Sun Enterprise 6x00/5x00/4x00/3x00 Systems\fR
+.SH NOTES
+.sp
+.LP
+Refer to the \fISun Enterprise 6x00, 5x00, 4x00 and 3x00 Systems Dynamic
+Reconfiguration User's Guide\fR for additional details regarding dynamic
+reconfiguration of EXX00 system CPU/Memory boards.
diff --git a/usr/src/man/man1m/cfgadm_usb.1m b/usr/src/man/man1m/cfgadm_usb.1m
new file mode 100644
index 0000000000..e27a0fd45f
--- /dev/null
+++ b/usr/src/man/man1m/cfgadm_usb.1m
@@ -0,0 +1,1015 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfgadm_usb 1M "1 Mar 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfgadm_usb \- USB hardware-specific commands for cfgadm
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR] \fB-c\fR \fIfunction\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-f\fR [\fB-y\fR | \fB-n\fR] [\fB-v\fR] [\fB-o\fR \fIhardware_options\fR]
+ \fB-x\fR \fIhardware_function\fR \fIap_id\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-v\fR [\fB-a\fR] [\fB-s\fR \fIlisting_option\fR]
+ [\fB-l\fR [\fIap_id\fR | \fIap_type\fR...]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/cfgadm\fR \fB-v\fR \fB-h\fR [\fIap_id\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Universal Serial Bus (\fBUSB\fR) hardware-specific library
+\fB/usr/lib/cfgadm/usb.so.1\fR provides the functionality for administering
+\fBUSB\fR devices via the \fBcfgadm\fR(1M) command. \fBcfgadm\fR operates on
+attachment points. For details regarding attachment points, refer to
+\fBcfgadm\fR(1M).
+.sp
+.LP
+For \fBUSB\fR administration, the only attachment points supported are the
+ports of hubs attached to the \fBUSB\fR bus.
+.sp
+.LP
+Attachment points are named through attachment point IDs (\fIap_ids\fR). The
+\fBUSB\fR bus is hierarchical, so the \fIap_ids\fR are as well. \fBUSB\fR hubs
+have ports, numbered from \fB1\fR to \fIn\fR. All \fBUSB\fR \fIap_ids\fR
+consist of a string of the following form:
+.sp
+.in +2
+.nf
+usb\fIN\fR/\fIA\fR[.\fIB\fR[.\fIC\fR[...]]]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where
+.br
+.in +2
+\fIN\fR is the \fIN\fRth \fBUSB\fR host controller on the system,
+.in -2
+.br
+.in +2
+\fIA\fR is port #\fIA\fR on the root (top) hub.
+.in -2
+.br
+.in +2
+\fIB\fR is port #\fIB\fR of the hub plugged into port #\fIA\fR of the hub above
+it.
+.in -2
+.br
+.in +2
+\fIC\fR is port #\fIC\fR of the hub plugged into port #\fIB \fRof the hub above
+it, and so forth.
+.in -2
+.sp
+.LP
+For example, the first port on the root hub of USB controller \fB0\fR (the only
+controller), has a logical \fIap_id\fR:
+.sp
+.in +2
+.nf
+usb0/1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Similarly, the second port on the first external hub plugged into the first
+port on the root hub of the first \fBUSB\fR controller has a logical
+\fIap_id\fR:
+.sp
+.in +2
+.nf
+usb0/1.2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For example, if the \fIap_id\fR is \fBusb0/1.4.3.4\fR, it represents port
+\fB4\fR of the hub plugged into port \fB3\fR of the hub plugged into port
+\fB4\fR of the hub plugged into port \fB1\fR of the root hub of the first
+\fBUSB\fR host controller on the system.
+.sp
+.in +2
+.nf
+example# \fBcfgadm -l\fR
+Ap_Id Type Receptacle Occupant Condition
+usb0/1 USB-hub connected configured ok
+usb0/2 unknown empty unconfigured ok
+usb0/1.1 USB-storage connected configured ok
+usb0/1.2 unknown empty unconfigured ok
+usb0/1.3 unknown empty unconfigured ok
+usb0/1.4 USB-device connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBUSB2.0\fR chips have one \fBEHCI\fR host \fBUSB2.0\fR host controller and a
+number of companion \fBUSB 1.\fR\fIx\fR host controllers (either \fBOHCI\fR or
+\fBUHCI\fR host controllers).
+.sp
+.LP
+When a \fBUSB2.0\fR device has been plugged in, it shows up on the \fBEHCI\fR
+logical ports which might not have a \fB1\fR to \fB1\fR mapping to external
+physical port numbers on the system. When a \fBUSB1.\fR\fIx\fR device is
+plugged in, the \fBEHCI\fR host controller reroutes the device to a companion
+host controller and the device shows up on the companion's logical port
+number.
+.sp
+.LP
+The mapping of logical port numbers to physical port numbers can get quite
+complicated. For example:
+.sp
+.in +2
+.nf
+% cfgadm
+Ap_Id Type Receptacle Occupant Condition
+c0 scsi-bus connected configured unknown
+usb0/1 usb-mouse connected configured ok
+usb0/2 usb-kbd connected configured ok
+usb0/3 unknown empty unconfigured ok
+usb0/4 usb-hub connected configured ok
+usb0/4.1 unknown empty unconfigured ok
+usb0/4.2 unknown empty unconfigured ok
+usb0/4.3 unknown empty unconfigured ok
+usb0/4.4 usb-storage connected configured ok
+usb1/1 unknown empty unconfigured ok
+usb1/2 unknown empty unconfigured ok
+usb1/3 unknown empty unconfigured ok
+usb2/1 unknown empty unconfigured ok
+usb2/2 usb-device connected configured ok
+usb3/1 unknown empty unconfigured ok
+usb3/2 unknown empty unconfigured ok
+usb3/3 unknown empty unconfigured ok
+usb3/4 unknown empty unconfigured ok
+usb3/5 unknown empty unconfigured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example \fBusb0\fR is the onboard USB 1.\fIx\fR host controller.
+\fBusb1\fR and \fBusb2\fR are companion \fBOHCI USB1.\fR\fIx\fR host
+controllers and \fBusb3\fR is an \fBEHCI USB2.0\fR host controller.
+.sp
+.LP
+The following table shows the somewhat confusing routing for this USB2.0 chip:
+.sp
+.in +2
+.nf
+logical port number physical port number
+------------------- --------------------
+ usb1/1 internal port 1
+ usb1/2 external port 1
+ usb1/3 external port 3
+
+ usb2/1 internal port 2
+ usb2/2 external port 2
+
+ usb3/1 internal port 1
+ usb3/2 internal port 2
+ usb3/3 external port 1
+ usb3/4 external port 2
+ usb3/5 external port 3
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Unfortunately, the exact routing can often only be determined by
+experimentation.
+.sp
+.LP
+The receptacle states for attachment points at the \fBUSB\fR port have the
+following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnected\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBUSB\fR port is powered on and enabled. A USB device is plugged in to the
+port. The device is logically connected to the USB bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisconnected\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBUSB\fR port is powered on and enabled. A \fBUSB\fR device is plugged into
+the port. The device has been logically disconnected from the \fBUSB\fR bus
+(using the \fBcfgadm\fR \fB-c\fR \fBdisconnect\fR command).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBempty\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBUSB\fR port is powered on, but no device is plugged in to it.
+.RE
+
+.sp
+.LP
+The occupant states for devices at \fBUSB\fR port attachment points at the
+\fBUSB\fR port have the following meanings:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfigured\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBUSB\fR device at the \fBUSB\fR port is configured and usable by Solaris.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunconfigured\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBUSB\fR device at the \fBUSB\fR port was explicitly off-lined using
+\fBcfgadm\fR \fB-c\fR \fBunconfigure\fR, or was not successfully configured for
+use with Solaris, for example, having no driver or a device problem.
+.RE
+
+.sp
+.LP
+The attachment point conditions are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBok\fR\fB\fR\fR
+.ad
+.sp .6
+.RS 4n
+Normal state - ready for use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailing\fR\fR
+.ad
+.sp .6
+.RS 4n
+Not used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailed\fR\fR
+.ad
+.sp .6
+.RS 4n
+Not used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunusable\fR\fR
+.ad
+.sp .6
+.RS 4n
+The user has physically removed a device while an application had the device
+open (there might be outstanding \fBI/O\fR). Users need to reinsert the same
+physical device and close the application properly before removing the device
+again. The port cannot configure other inserted devices until this is done.
+.sp
+If the original device cannot be reinserted into the port, see the \fI\fR for
+instructions for clearing this attachment point condition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunknown\fR\fR
+.ad
+.sp .6
+.RS 4n
+Not used.
+.RE
+
+.sp
+.LP
+A \fBUSB\fR device can be hotplugged or hotunplugged at any time, and the
+system detects the event and takes the appropriate action.
+.sp
+.LP
+It is not necessary to transition a receptacle to the \fBdisconnected\fR state
+before removing its device from the \fBUSB\fR. However, it is not recommended
+to hot-remove devices currently in use (such as removable disks currently
+opened by a volume manager or some other application).
+.SH OPTIONS
+.sp
+.LP
+\fBcfgadm\fR defines several types of operations. These operations include
+invoking configuration state changes (\fB-c\fR), invoking hardware-specific
+functions (\fB-x\fR), and obtaining configuration administration help messages
+(\fB-h\fR).
+.sp
+.LP
+If any of these operations fail, the device and attachment point might not be
+in the expected state. Use the \fBcfgadm\fR \fB-l\fR command to display the
+device's current status.
+.sp
+.LP
+All other options have the same meaning as defined in \fBcfgadm\fR(1M).
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIfunction\fR\fR
+.ad
+.sp .6
+.RS 4n
+The following generic commands are defined for the \fBUSB\fR hardware specific
+library. The following configuration state change operations are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfigure\fR\fR
+.ad
+.sp .6
+.RS 4n
+If there is a \fBUSB\fR device plugged into the port, this command attempts to
+configure it and set everything up so that it is usable by Solaris. This
+command does an implied \fBconnect\fR (reverse of \fBdisconnect\fR) if
+necessary. This command accomplishes nothing, and returns an error message, if
+the device at that port is already configured. After successful execution of
+this command, the device is ready for use under Solaris.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisconnect\fR\fR
+.ad
+.sp .6
+.RS 4n
+Performs an \fBunconfigure\fR on the \fIap_id\fR (if it is not already
+\fBunconfigured\fR), and then transitions the receptacle to the
+\fBdisconnected\fR state, even though a device is still be plugged into the
+port. Issuing a \fBcfgadm\fR \fB-c\fR \fBconfigure\fR, or physically
+hotplugging the device, brings the device back to the \fBconnected\fR
+receptacle state, and to the \fBconfigured\fR occupant state, assuming a driver
+can be found and there are no problems enumerating and configuring the device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunconfigure\fR\fR
+.ad
+.sp .6
+.RS 4n
+Makes the device plugged into the port unusable by Solaris (offline it). If
+successful, \fBcfgadm\fR reports this \fIap_id\fR's occupant state as
+\fBunconfigured\fR. Issuing a \fBconfigure\fR to the \fIap_id\fR (if
+successful) brings its occupant back to the \fBconfigured\fR (online)
+condition, as it physically hotplugging the device on the port.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Not supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIap_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBUSB\fR specific help can be obtained by using the help option with any
+\fBUSB\fR attachment point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR[\fBv\fR]\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-l\fR option works as described in \fBcfgadm\fR(1M). When paired with
+the \fB-v\fR option, the \fBInformation\fR field contains the following
+\fBUSB\fR-specific information:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBMfg\fR: manufacturer string (\fBiManufacturer\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBProduct\fR: product string (\fBiProduct\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBNConfigs\fR: total number of configurations the device supports
+(\fBbNumConfigurations\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBConfig\fR: current configuration setting in decimal (configuration index,
+not configuration value).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The configuration string descriptor for the current configuration
+(\fBiConfiguration\fR)
+.RE
+See the Universal Serial Bus specification for a description of these fields.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIhardware_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hardware options are only supported for the hardware-specific command, \fB-x\fR
+\fBusb_config\fR. See the description of that command below for an explanation
+of the options available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIlisting_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Attachment points of class \fBUSB\fR can be listed by using the \fBselect\fR
+sub-option. See \fBcfgadm\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIhardware_function\fR\fR
+.ad
+.sp .6
+.RS 4n
+The following hardware-specific functions are defined:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusb_config\fR \fB-o\fR \fBconfig=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+This command requires the mandatory \fBconfig\fR value to be specified using
+the \fB-o\fR option.
+.sp
+Sets the \fBUSB\fR configuration of a multi-configuration \fBUSB\fR device at
+\fIap_id\fR to configuration index \fIn\fR. The device is set to this
+configuration henceforth and this setting persists across reboots, hot-removes,
+and unconfigure/configure of the device.
+.sp
+Valid values of \fIn\fR range from \fB0\fR to (\fBNconfigs -1\fR). The device
+is reset by a \fBdisconnect\fR followed by a \fBconfigure\fR. The
+\fBconfigure\fR causes the device to be configured to the new configuration
+setting.
+.sp
+If any of these steps fail, the configuration file and the device are restored
+to their previous state and an error message is issued.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusb_reset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Performs a software reset (re-enumeration) of the device. This is the
+equivalent of removing the device and inserting it back again. The port on the
+hub is power cycled if the hub supports power cycling of individual ports.
+.sp
+If the connected device is a hub, this function has the effect of resetting
+that hub and any devices down the tree of which it is the root.
+.sp
+If any of these steps fail, the device is restored to its previous state and an
+error message is issued.
+.RE
+
+.RE
+
+.sp
+.LP
+State table: attachment points state versus commands:
+.sp
+.in +2
+.nf
+Valid states:
+ empty/unconfigured \(-> no device connected
+
+ disconnected/unconfigured \(-> logically disconnected,
+ unavailable,
+ devinfo node removed,
+ device physically connected
+
+ connected/unconfigured \(-> logically connected,
+ unavailable,
+ devinfo node present
+
+ connected/configured \(-> connected, available
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The table below clarifies the state transitions resulting from actions or
+commands:
+.sp
+.in +2
+.nf
+current state operation new state
+------------- --------- ---------
+empty/
+unconfigured:
+ device plugged in: connected/configured or
+ connected/unconfigured
+ (if enumeration failed)
+ device removed: n/a
+ cfgadm -c unconfigure: empty/unconfigured
+ cfgadm -c configure: empty/unconfigured
+ cfgadm -c disconnect: empty/unconfigured
+ (no-op and error)
+
+disconnected/
+unconfigured:
+ device plugged in: n/a
+ device removed: empty/unconfigured
+ cfgadm -c unconfigure: disconnected/unconfigured
+ cfgadm -c configure: connected/configured, or
+ connected/unconfigured
+ (if reenumeration failed)
+ cfgadm -c disconnect: disconnected/unconfigured
+
+connected/unconfigured:
+ device plugged in: n/a
+ device removed: empty/unconfigured
+ cfgadm -c unconfigure: connected/unconfigured
+ cfgadm -c configure: connected/configured, or
+ connected/unconfigured
+ (if reenumeration failed)
+ cfgadm -c disconnect: disconnected/unconfigured
+
+connected/configured:
+ device plugged in: n/a
+ device removed: empty/unconfigured or
+ connected/configured,
+ but with ap condition
+ 'unusable' if device
+ was open when removed
+ cfgadm -c unconfigure: connected/unconfigured
+ cfgadm -c configure: connected/configured
+ cfgadm -c disconnect: disconnected/unconfigured
+.fi
+.in -2
+.sp
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRListing the Status of All USB Devices
+.sp
+.LP
+The following command lists the status of all \fBUSB\fR devices on the system:
+
+.sp
+.in +2
+.nf
+# cfgadm
+Ap_Id Type Receptacle Occupant Condition
+usb0/1 USB-hub connected configured ok
+usb0/2 unknown empty unconfigured ok
+usb0/1.1 USB-storage connected configured ok
+usb0/1.2 unknown empty unconfigured ok
+usb0/1.3 unknown empty unconfigured ok
+usb0/1.4 USB-device connected configured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Notice that \fBcfgadm\fR treats the \fBUSB-device\fR device at \fBap_id
+usb0/1.4\fR as a single unit, since it cannot currently control individual
+interfaces.
+
+.LP
+\fBExample 2 \fRListing the Status of a Port with No Device Plugged In
+.sp
+.LP
+The following command lists the status of a port with no device plugged in:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -l usb0/1.3\fR
+Ap_Id Type Receptacle Occupant Condition
+usb0/1.3 unknown empty unconfigured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing the Status of the Same Port with a Device Plugged In
+.sp
+.LP
+The following command lists the status of the same port after physically
+plugging in a device that configures without problems:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -l usb0/1.3\fR
+Ap_Id Type Receptacle Occupant Condition
+usb0/1.3 USB-hub connected configured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUnconfiguring an Existing USB Device
+.sp
+.LP
+The following command unconfigures the \fBUSB\fR device attached to
+\fBusb0/1.3\fR, then displays the status of the \fBap_id\fR:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -c unconfigure usb0/1.3\fR
+Unconfigure the device: /devices/pci@0,0/pci8086,7112@7,2/hub@2:2.3
+This operation suspends activity on the USB device
+Continue (yes/no)?
+
+Enter:
+
+\fBy\fR
+
+example# \fBcfgadm -l usb0/1.3\fR
+Ap_Id Type Receptacle Occupant Condition
+usb0/1.3 unknown connected unconfigured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRUnconfiguring and Logically Disconnecting an Existing USB
+Device
+.sp
+.LP
+The following command unconfigures and logically disconnects a \fBUSB\fR device
+attached to \fBusb0/1.3\fR:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -c disconnect usb0/1.3\fR
+Disconnect the device: /devices/pci@0,0/pci8086,7112@7,2/hub@2:2.3
+This operation suspends activity on the USB device
+Continue (yes/no)?
+
+Enter:
+
+\fBy\fR
+
+example# \fBcfgadm -l usb0/1.3\fR
+Ap_Id Type Receptacle Occupant Condition
+usb0/1.3 unknown disconnected unconfigured ok
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A \fBdisconnect\fR implies that \fBcfgadm\fR does an \fBunconfigure\fR first.
+The receptacle status now shows \fBdisconnected\fR, even though the device is
+still physically connected. In this case, a physical hotplug or using the
+\fBcfgadm \fR\fB-c\fR \fBconfigure\fR on the \fBap_id\fR brings it back
+on-line.
+
+.LP
+\fBExample 6 \fRConfiguring a Previously Unconfigured USB Device
+.sp
+.LP
+The following command configures a \fBUSB\fR device that was previously
+attached to \fBusb0/1.3\fR:
+
+.sp
+.in +2
+.nf
+example # \fBcfgadm -yc configure usb0/1.3\fR
+example# \fBcfgadm -l usb0/1.3\fR
+Ap_Id Type Receptacle Occupant Condition
+usb0/1.3 unknown connected configured ok
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRResetting a USB Device
+.sp
+.LP
+The following command resets a \fBUSB\fR device:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -x usb_reset usb0/1.3\fR
+Reset the device: /devices/pci@0,0/pci8086,7112@7,2/hub@2:2.3
+This operation suspends activity on the USB device
+Continue (yes/no)?
+
+Enter:
+
+\fBy\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDisplaying Detailed Information About a USB Device
+.sp
+.LP
+The following command displays detailed information about a \fBUSB\fR device.
+This device shows the following \fBUSB\fR-specific information in
+the '\fBInformation\fR' field:
+
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Manufacturer string: Iomega
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Product string: \fBUSB Zip 250\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Number of configurations supported: 1
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configuration currently active: 0
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configuration string descriptor for configuration 0: Default
+.RE
+.sp
+.in +2
+.nf
+example# \fBcfgadm -lv usb0/1.5\fR
+Ap_Id Receptacle Occupant Condition Information
+When Type Busy Phys_Id
+usb0/1.5 connected configured ok Mfg:"Io
+mega" Product:"USB Zip 250" NConfigs:1 Config:0 : Default
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -l -s "cols=ap_id:info" usb0/1.5\fR
+Ap_Id Information
+usb0/1.5 Mfg:"Iomega" Product:"USB Zip 250"
+NConfigs:1 Config:0 : Default
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRDisplaying Detailed Information About All USB Devices
+.sp
+.LP
+The following command displays detailed information about all \fBUSB\fR devices
+on the system:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -l -s "select=class(usb),cols=ap_id:info"\fR
+Ap_Id Information
+usb0/1 Mfg:<undefined> Product:<undefined>
+NConfigs:1 Config:0 <no cfg str descr>
+usb0/2
+usb0/1.1 Mfg:<undefined> Product:<undefined>
+NConfigs:1 Config:0 <no cfg str descr>
+usb0/1.2
+usb0/1.3
+usb0/1.4 Mfg:"Wizard" Product:"Modem/ISDN"
+NConfigs:3 Config:1 : V.90 Analog Modem
+usb0/1.5 Mfg:"Iomega" Product:"USB Zip 250"
+NConfigs:1 Config:0 : Default
+usb0/1.6 Mfg:"SOLID YEAR" Product:"SOLID YEAR
+USB"NConfigs:1 Config:0 <no cfg str descr>
+usb0/1.7
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Lines containing only an \fBap_id\fR are empty ports. These can be filtered
+out. This example only lists \fBUSB\fR \fBap_id\fRs with connected devices, and
+information about those devices.
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -l -s "select=class(usb),cols=ap_id:info" | grep Mfg\fR
+usb0/1 Mfg:<undefined> Product:<undefined>
+NConfigs:1 Config:0 <no cfg str descr>
+usb0/1.1 Mfg:<undefined> Product:<undefined>
+NConfigs:1 Config:0 <no cfg str descr>
+usb0/1.4 Mfg:"Wizard" Product:"Modem/ISDN"
+NConfigs:3 Config:1 : V.90 Analog Modem
+usb0/1.5 Mfg:"Iomega" Product:"USB Zip 250"
+NConfigs:1 Config:0 : Default
+usb0/1.6 Mfg:"SOLID YEAR" Product:"SOLID YEAR USB"
+Config:0 <no cfg str descr>
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRListing Information About a Multi-configuration USB Device
+.sp
+.LP
+The following example lists information about a multi-configuration \fBUSB\fR
+device.
+
+.sp
+.LP
+Notice the \fBNConfigs\fR field: the configurations available for this device
+are \fB0\fR, \fB1\fR, and \fB2\fR (\fB0\fR to (\fIN\fR\fBConfigs-1\fR)).
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -l -s "cols=ap_id:info" usb0/1.4\fR
+Ap_Id Information
+usb0/1.4 Mfg:"Wizard" Product:"Modem/ISDN"
+NConfigs:3 Config:1 V.90 Analog Modem"
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRSetting the Current Configuration of a Multi-configuration USB
+Device
+.sp
+.LP
+The following example sets the current configuration of a multi-configuration
+USB device:
+
+.sp
+.in +2
+.nf
+example# \fBcfgadm -o config=2 -x usb_config usb0/1.4\fR
+Setting the device: /devices/pci@1f,2000/usb@1/device@3
+to USB configuration 2
+This operation suspends activity on the USB device
+Continue (yes/no)?
+
+Enter:
+
+\fBy\fR
+
+USB configuration changed successfully.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The device path should be checked to ensure that the right instance of a device
+is being referred to, in the case where multiple devices of the exact same type
+are on the same bus. This information is available in the '\fBInformation\fR'
+field.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/cfgadm/usb.so.1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hardware specific library for generic USB device administration
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfgadm\fR(1M), \fBconfig_admin\fR(3CFGADM), \fBattributes\fR(5),
+\fBscsa2usb\fR(7D), \fBusba\fR(7D)
+.sp
+.LP
+Universal Serial Bus 1.1 Specification (\fBwww.usb.org\fR)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+\fBcfgadm\fR(1M) can not unconfigure, disconnect, reset, or change the
+configuration of any \fBUSB\fR device currently opened by any application.
+These operations also fail on a hub if a device in its hierarchy is opened by
+an application. See \fBscsa2usb\fR(7D) for unconfiguring a \fBUSB\fR
+mass-storage device that is currently in use.
+.sp
+.LP
+Only super-users can execute any functions on an attachment point. However, one
+need not be a super-user to list the attachment points.
diff --git a/usr/src/man/man1m/cfsadmin.1m b/usr/src/man/man1m/cfsadmin.1m
new file mode 100644
index 0000000000..c1d0ab7fda
--- /dev/null
+++ b/usr/src/man/man1m/cfsadmin.1m
@@ -0,0 +1,441 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cfsadmin 1M "21 Feb 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cfsadmin \- administer disk space used for caching file systems with the Cache
+File-System (CacheFS)
+.SH SYNOPSIS
+.LP
+.nf
+\fBcfsadmin\fR \fB-c\fR [\fB-o\fR \fIcacheFS-parameters\fR] \fIcache_directory\fR
+.fi
+
+.LP
+.nf
+\fBcfsadmin\fR \fB-d\fR {\fIcache_ID\fR | all} \fIcache_directory\fR
+.fi
+
+.LP
+.nf
+\fBcfsadmin\fR \fB-l\fR \fIcache_directory\fR
+.fi
+
+.LP
+.nf
+\fBcfsadmin\fR \fB-s\fR {\fImntpt1 ....\fR} | all
+.fi
+
+.LP
+.nf
+\fBcfsadmin\fR \fB-u\fR [\fB-o\fR \fIcacheFS-parameters\fR] \fIcache_directory\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcfsadmin\fR command provides the following functions:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+cache creation
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+deletion of cached file systems
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+listing of cache contents and statistics
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+resource parameter adjustment when the file system is unmounted.
+.RE
+.sp
+.LP
+You must always supply an option for \fBcfsadmin\fR. For each form of the
+command except \fB-s\fR, you must specify a cache directory, that is, the
+directory under which the cache is actually stored. A path name in the front
+file system identifies the cache directory. For the \fB-s\fR form of the
+command, you must specify a mount point.
+.sp
+.LP
+You can specify a cache ID when you mount a file system with CacheFS, or you
+can let the system generate one for you. The \fB-l\fR option includes the cache
+ID in its listing of information. You must know the cache ID to delete a cached
+file system.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR [ \fB-o\fR \fIcacheFS-parameters\fR ] \fIcache_directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a cache under the directory specified by \fIcache_directory\fR. This
+directory must not exist prior to cache creation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR { \fIcache_ID\fR | all } \fIcache_directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the file system whose cache ID you specify and release its resources, or
+remove all file systems in the cache by specifying \fBall\fR. After deleting a
+file system from the cache, you must run the \fBfsck_cachefs\fR(1M) command to
+correct the resource counts for the cache.
+.sp
+As indicated by the syntax above, you must supply either a \fIcache_ID\fR or
+\fBall\fR, in addition to \fIcache_directory\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIcache_directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+List file systems stored in the specified cache, as well as statistics about
+them. Each cached file system is listed by cache ID. The statistics document
+resource utilization and cache resource parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR { \fImntpt1\fR ... } | all\fR
+.ad
+.sp .6
+.RS 4n
+Request a consistency check on the specified file system (or all \fBcachefs\fR
+mounted file systems). The \fB-s\fR option only works if the cache file system
+was mounted with \fBdemandconst\fR enabled (see \fBmount_cachefs\fR(1M)). Each
+file in the specified cache file system is checked for consistency with its
+corresponding file in the back file system. Note that the consistency check is
+performed file by file as files are accessed. If no files are accessed, no
+checks are performed. Use of this option does not result in a sudden "storm" of
+consistency checks.
+.sp
+As indicated by the syntax above, you must supply one or more mount points, or
+\fBall\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR [ \fB-o\fR \fIcacheFS-parameters\fR ] \fIcache_directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Update resource parameters of the specified cache directory. Parameter values
+can only be increased. To decrease the values, you must remove the cache and
+recreate it. All file systems in the cache directory must be unmounted when you
+use this option. Changes take effect the next time you mount any file system in
+the specified cache directory. The \fB-u\fR option with no \fB-o\fR option sets
+all parameters to their default values.
+.RE
+
+.SS "CacheFS Resource Parameters"
+.sp
+.LP
+You can specify the following CacheFS resource parameters as arguments to the
+\fB-o\fR option. Separate multiple parameters with commas.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxblocks=\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+Maximum amount of storage space that CacheFS can use, expressed as a percentage
+of the total number of blocks in the front file system. If CacheFS does not
+have exclusive use of the front file system, there is no guarantee that all the
+space the \fBmaxblocks\fR parameter allows is available. The default is
+\fB90\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBminblocks=\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+Minimum amount of storage space, expressed as a percentage of the total number
+of blocks in the front file system, that CacheFS is always allowed to use
+without limitation by its internal control mechanisms. If CacheFS does not have
+exclusive use of the front file system, there is no guarantee that all the
+space the \fBminblocks\fR parameter attempts to reserve is available. The
+default is \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBthreshblocks=\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+A percentage of the total blocks in the front file system beyond which CacheFS
+cannot claim resources once its block usage has reached the level specified by
+\fBminblocks\fR. The default is \fB85\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxfiles=\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+Maximum number of files that CacheFS can use, expressed as a percentage of the
+total number of inodes in the front file system. If CacheFS does not have
+exclusive use of the front file system, there is no guarantee that all the
+inodes the \fBmaxfiles\fR parameter allows is available. The default is
+\fB90\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBminfiles=\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+Minimum number of files, expressed as a percentage of the total number of
+inodes in the front file system, that CacheFS is always allowed to use without
+limitation by its internal control mechanisms. If CacheFS does not have
+exclusive use of the front file system, there is no guarantee that all the
+inodes the \fBminfiles\fR parameter attempts to reserve is available. The
+default is \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBthreshfiles=\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+A percentage of the total inodes in the front file system beyond which CacheFS
+cannot claim inodes once its usage has reached the level specified by
+\fBminfiles\fR. The default is \fB85\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxfilesize=\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+Largest file size, expressed in megabytes, that CacheFS is allowed to cache.
+The default is \fB3\fR. You cannot decrease the block or inode allotment for a
+cache. To decrease the size of a cache, you must remove it and create it again
+with different parameters.
+.sp
+Currently \fBmaxfilesize\fR is ignored by \fBcachefs\fR, therefore, setting it
+has no effect.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcache_directory\fR\fR
+.ad
+.RS 19n
+.rt
+The directory under which the cache is actually stored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImntpt1\fR\fR
+.ad
+.RS 19n
+.rt
+The directory where the CacheFS is mounted.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBcfsadmin\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Cache Directory
+.sp
+.LP
+The following example creates a cache directory named \fB/cache\fR:
+
+.sp
+.in +2
+.nf
+example# cfsadmin -c /cache
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a Cache
+.sp
+.LP
+The following example creates a cache named \fB/cache1\fR that can claim a
+maximum of 60 percent of the blocks in the front file system, can use 40
+percent of the front file system blocks without interference by CacheFS
+internal control mechanisms, and has a threshold value of 50 percent. The
+threshold value indicates that after CacheFS reaches its guaranteed minimum, it
+cannot claim more space if 50 percent of the blocks in the front file system
+are already used.
+
+.sp
+.in +2
+.nf
+example# cfsadmin \fB-c\fR \fB-o\fR maxblocks=60,minblocks=40,threshblocks=50 /cache1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRChanging the \fBmaxfilesize\fR Parameter
+.sp
+.LP
+The following example changes the \fBmaxfilesize\fR parameter for the cache
+directory \fB/cache2\fR to 2 megabytes:
+
+.sp
+.in +2
+.nf
+example# cfsadmin \fB-u\fR \fB-o\fR maxfilesize=2 /cache2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRListing the Contents of a Cache Directory
+.sp
+.LP
+The following example lists the contents of a cache directory named
+\fB/cache3\fR and provides statistics about resource utilization:
+
+.sp
+.in +2
+.nf
+example# cfsadmin \fB-l\fR /cache3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRRemoving a Cached File System
+.sp
+.LP
+The following example removes the cached file system with cache ID \fB23\fR
+from the cache directory \fB/cache3\fR and frees its resources (the cache ID is
+part of the information returned by \fBcfsadmin \fR\fB-l\fR):
+
+.sp
+.in +2
+.nf
+example# cfsadmin \fB-d\fR 23 /cache3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRRemoving All Cached File Systems
+.sp
+.LP
+The following example removes all cached file systems from the cache directory
+\fB/cache3\fR:
+
+.sp
+.in +2
+.nf
+example# cfsadmin \fB-d\fR all /cache3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRChecking for Consistency in File Systems
+.sp
+.LP
+The following example checks for consistency all file systems mounted with
+\fBdemandconst\fR enabled. No errors are reported if no \fBdemandconst\fR file
+systems were found.
+
+.sp
+.in +2
+.nf
+example# \fBcfsadmin\fR \fB-s\fR \fBall\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcachefslog\fR(1M), \fBcachefsstat\fR(1M), \fBcachefswssize\fR(1M),
+\fBfsck_cachefs\fR(1M), \fBmount_cachefs\fR(1M), \fBattributes\fR(5),
+\fBlargefile\fR(5)
diff --git a/usr/src/man/man1m/chat.1m b/usr/src/man/man1m/chat.1m
new file mode 100644
index 0000000000..d6d72616c6
--- /dev/null
+++ b/usr/src/man/man1m/chat.1m
@@ -0,0 +1,863 @@
+'\" te
+.\" This manual page is based on documentation obtained from Karl Fox.
+.\" Portions Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH chat 1M "4 May 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+chat \- automated conversational exchange tool
+.SH SYNOPSIS
+.LP
+.nf
+\fBchat\fR [\fIoptions\fR] \fIscript\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBchat\fR program implements a conversational text-based exchange between
+the computer and any serial device, including (but not limited to) a modem, an
+ISDN TA, and the remote peer itself, establishing a connection between the
+Point-To-Point Protocol daemon (\fBpppd\fR) and the remote \fBpppd\fR process.
+.SH OPTIONS
+.sp
+.LP
+The \fBchat\fR command supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fI<chat file>\fR\fR
+.ad
+.RS 23n
+.rt
+Read the \fBchat\fR script from the \fBchat\fR file. This option is mutually
+exclusive with the \fBchat\fR script parameters. You must have \fBread\fR
+access to use the file. Multiple lines are permitted in the file. Use the space
+or horizontal tab characters to separate the strings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fB\fI<timeout>\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Set the timeout for the expected string to be received. If the string is not
+received within the time limit, the reply string is not sent. If specified,
+a 'subexpect' (alternate reply) string can be sent. Otherwise, if no alternate
+reply strings remain, the \fBchat\fR script fails.. A failed script will cause
+the \fBchat\fR program to terminate with a non-zero error code.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fB\fI<report file> \fR\fR \fR
+.ad
+.RS 23n
+.rt
+Set the file for output of the report strings. If you use the keyword
+\fBREPORT\fR, the resulting strings are written to this file. If the \fB-r\fR
+option is not used and you use the \fBREPORT\fR keyword, the \fBstderr\fR file
+is used for the report strings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fR
+.ad
+.RS 23n
+.rt
+Start with the echo option turned on. You turn echo on or off at specific
+points in the \fBchat\fR script using the \fBECHO\fR keyword. When echoing is
+enabled, all output from the modem is echoed to \fBstderr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR \fR
+.ad
+.RS 23n
+.rt
+Enables environment variable substitution within \fBchat\fR scripts using the
+standard \fI$xxx\fR syntax.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fR
+.ad
+.RS 23n
+.rt
+Request that the \fBchat\fR script execute in a verbose mode. The \fBchat\fR
+program logs the execution state of the \fBchat\fR script as well as all text
+received from the modem and output strings sent to the modem. The default is to
+log through \fBsyslog\fR(3C) with facility \fBlocal\fR2; the logging method is
+alterable using the \fB-S\fR and \fB-s\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fR
+.ad
+.RS 23n
+.rt
+Request that the \fBchat\fR script be executed in a \fBstderr\fR verbose mode.
+The \fBchat\fR program logs all text received from the modem and output strings
+sent to the modem to \fBstderr\fR. \fBstderr\fR is usually the local console at
+the station running the \fBchat\fR or \fBpppd\fR program.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 23n
+.rt
+Use \fBstderr\fR. Log messages from \fB-v\fR and error messages are sent to
+\fBstderr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.RS 23n
+.rt
+Do not use syslog. By default, error messages are set to syslog. This option
+prevents log messages from \fB-v\fR and error messages from being sent to
+syslog.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fB\fI<phone number>\fR\fR\fR
+.ad
+.RS 23n
+.rt
+Pass in an arbitrary string (usually a telephone number) that will be
+substituted for the \fB\eT\fR substitution metacharacter in a send string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR \fB\fI<phone number 2>\fR\fR\fR
+.ad
+.RS 23n
+.rt
+Pass in a second string (usually a telephone number) that will be substituted
+for the \fB\eU\fR substitution metacharacter in a send string. This is useful
+when dialing an ISDN terminal adapter that requires two numbers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBscript\fR \fR
+.ad
+.RS 23n
+.rt
+If the script is not specified in a file with the \fB-f\fR option, the script
+is included as parameters to the \fBchat\fR program.
+.RE
+
+.SH EXTENDED DESCRIPTION
+.SS "Chat Script"
+.sp
+.LP
+The \fBchat\fR script defines communications. A script consists of one or more
+"expect-send" pairs of strings separated by spaces, with an optional
+"subexpect-subsend" string pair, separated by a dash (as in the following
+example:)
+.sp
+.LP
+ogin:-BREAK-ogin: ppp ssword: hello2u2
+.sp
+.LP
+The example indicates that the \fBchat\fR program should expect the string
+"ogin:". If it fails to receive a login prompt within the time interval
+allotted, it sends a break sequence to the remote and then expects the string
+"ogin:". If the first "ogin:" is received, the break sequence is not generated.
+.sp
+.LP
+Upon receiving the login prompt, the \fBchat\fR program sends the string "ppp"
+and then expects the prompt "ssword:". When the password prompt is received, it
+sends the password hello2u2.
+.sp
+.LP
+A carriage return is normally sent following the reply string. It is not
+expected in the "expect" string unless it is specifically requested by using
+the \fB\er\fR character sequence.
+.sp
+.LP
+The expect sequence should contain only what is needed to identify the received
+data. Because it's stored on a disk file, it should not contain variable
+information. Generally it is not acceptable to look for time strings, network
+identification strings, or other variable pieces of data as an expect string.
+.sp
+.LP
+To correct for characters that are corrupted during the initial sequence, look
+for the string "ogin:" rather than "login:". The leading "l" character may be
+received in error, creating problems in finding the string. For this reason,
+scripts look for "ogin:" rather than "login:" and "ssword:" rather than
+"password:".
+.sp
+.LP
+An example of a simple script follows:
+.sp
+.in +2
+.nf
+ogin: ppp ssword: hello2u2
+.fi
+.in -2
+
+.sp
+.LP
+The example can be intrepreted as: expect ogin:, send ppp, expect ...ssword:,
+send hello2u2.
+.sp
+.LP
+When login to a remote peer is necessary, simple scripts are rare. At minimum,
+you should include sub-expect sequences in case the original string is not
+received. For example, consider the following script:
+.sp
+.in +2
+.nf
+ogin:--ogin: ppp ssword: hello2u2
+.fi
+.in -2
+
+.sp
+.LP
+This script is more effective than the simple one used earlier. The string
+looks for the same login prompt; however, if one is not received, a single
+return sequence is sent and then the script looks for login: again. If line
+noise obscures the first login prompt, send the empty line to generate a login
+prompt again.
+.SS "Comments"
+.sp
+.LP
+Comments can be embedded in the \fBchat\fR script. Comment lines are ignored by
+the chat program. A comment starts with the hash ("#") character in column one.
+If a \fB#\fR character is expected as the first character of the expect
+sequence, quote the expect string. If you want to wait for a prompt that starts
+with a \fB#\fR character, write something like this:
+.sp
+.in +2
+.nf
+# Now wait for the prompt and send logout string
+\&'# ' logout
+.fi
+.in -2
+
+.SS "Sending Data From A File"
+.sp
+.LP
+If the string to send begins with an at sign ("@"), the remainder of the string
+is interpreted as the name of the file that contains the string. If the last
+character of the data read is a newline, it is removed. The file can be a named
+pipe (or fifo) instead of a regular file. This enables \fBchat\fR to
+communicate with another program, for example, a program to prompt the user and
+receive a password typed in.
+.SS "Abort "
+.sp
+.LP
+Many modems report the status of a call as a string. These status strings are
+often "CONNECTED" or "NO CARRIER" or "BUSY." If the modem fails to connect to
+the remote, you can terminate the script. Abort strings may be specified in the
+script using the ABORT sequence. For example:
+.sp
+.in +2
+.nf
+ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATDT5551212 CONNECT
+.fi
+.in -2
+
+.sp
+.LP
+This sequence expects nothing and sends the string ATZ. The expected response
+is the string OK. When OK is received, the string ATDT5551212 dials the
+telephone. The expected string is CONNECT. If CONNECT is received, the
+remainder of the script is executed. When the modem finds a busy telephone, it
+sends the string BUSY, causing the string to match the abort character
+sequence. The script fails because it found a match to the abort string. If the
+NO CARRIER string is received, it aborts for the same reason.
+.SS "Clr_Abort "
+.sp
+.LP
+The CLR_ABORT sequence clears previously set ABORT strings. ABORT strings are
+kept in an array of a pre-determined size; CLR_ABORT reclaims the space for
+cleared entries, enabling new strings to use that space.
+.SS "Say "
+.sp
+.LP
+The SAY string enables the script to send strings to a user at a terminal via
+standard error. If \fBchat\fR is being run by \fBpppd\fR and \fBpppd\fR is
+running as a daemon (detached from its controlling terminal), standard error is
+normally redirected to the \fB/etc/ppp/connect-errors\fR file.
+.sp
+.LP
+SAY strings must be enclosed in single or double quotes. If carriage return and
+line feed are required for the output, you must explicitly add them to your
+string.
+.sp
+.LP
+The SAY string can provide progress messages to users even with "ECHO OFF." For
+example, add a line similar to the following to the script:
+.sp
+.in +2
+.nf
+ABORT BUSY
+ECHO OFF
+SAY "Dialing your ISP...\en"
+\&'' ATDT5551212
+TIMEOUT 120
+SAY "Waiting up to 2 minutes for connection ..."
+CONNECT ''
+SAY "Connected, now logging in ...\en"
+ogin: account
+ssword: pass
+$ \ec
+SAY "Logged in OK ... \en"
+.fi
+.in -2
+
+.sp
+.LP
+This sequence hides script detail while presenting the SAY string to the user.
+In this case, you will see:
+.sp
+.in +2
+.nf
+Dialing your ISP...
+Waiting up to 2 minutes for connection...Connected, now logging in...
+Logged in OK ...
+.fi
+.in -2
+
+.SS "Report"
+.sp
+.LP
+REPORT is similar to the ABORT string. With REPORT, however, strings and all
+characters to the next control character (such as a carriage return), are
+written to the report file.
+.sp
+.LP
+REPORT strings can be used to isolate a modem's transmission rate from its
+CONNECT string and return the value to the \fBchat\fR user. Analysis of the
+REPORT string logic occurs in conjunction with other string processing, such as
+looking for the expect string. It's possible to use the same string for a
+REPORT and ABORT sequence, but probably not useful.
+.sp
+.LP
+Report strings may be specified in the script using the REPORT sequence. For
+example:
+.sp
+.in +2
+.nf
+REPORT CONNECT
+ABORT BUSY
+ATDT5551212 CONNECT
+ogin: account
+.fi
+.in -2
+
+.sp
+.LP
+The above sequence expects nothing, then sends the string ATDT5551212 to dial
+the telephone. The expected string is CONNECT. If CONNECT is received, the
+remainder of the script is executed. In addition, the program writes the string
+CONNECT to the report file (specified by \fB-r\fR) in addition to any
+characters that follow.
+.SS "Clr_Report"
+.sp
+.LP
+CLR_REPORT clears previously set REPORT strings. REPORT strings are kept in an
+array of a pre-determined size; CLR_REPORT reclaims the space for cleared
+entries so that new strings can use that space.
+.SS "Echo"
+.sp
+.LP
+ECHO determines if modem output is echoed to \fBstderr\fR. This option may be
+set with the \fB-e\fR option, but can also be controlled by the ECHO keyword.
+The "expect-send" pair ECHO ON enables echoing, and ECHO OFF disables it. With
+ECHO, you can select which parts of the conversation should be visible. In the
+following script:
+.sp
+.in +2
+.nf
+ABORT 'BUSY'
+ABORT 'NO CARRIER'
+"" AT&F
+OK\er\en ATD1234567
+\er\en \ec
+ECHO ON
+CONNECT \ec
+ogin: account
+.fi
+.in -2
+
+.sp
+.LP
+All output resulting from modem configuration and dialing is not visible, but
+output is echoed beginning with the CONNECT (or BUSY) message.
+.SS "Hangup"
+.sp
+.LP
+The HANGUP option determines if a modem hangup is considered as an error.
+HANGUP is useful for dialing systems that hang up and call your system back.
+HANGUP can be ON or OFF. When HANGUP is set to OFF and the modem hangs up (for
+example, following the first stage of logging in to a callback system),
+\fBchat\fR continues running the script (for example, waiting for the incoming
+call and second stage login prompt). When the incoming call is connected, use
+the HANGUP ON string to reinstall normal hang up signal behavior. An example of
+a simple script follows:
+.sp
+.in +2
+.nf
+ABORT 'BUSY'
+ "" AT&F
+ OK\er\en ATD1234567
+ \er\en \ec
+ CONNECT \ec
+ 'Callback login:' call_back_ID
+ HANGUP OFF
+ ABORT "Bad Login"
+ 'Callback Password:' Call_back_password
+ TIMEOUT 120
+ CONNECT \ec
+ HANGUP ON
+ ABORT "NO CARRIER"
+ ogin:--BREAK--ogin: real_account
+.fi
+.in -2
+
+.SS "Timeout"
+.sp
+.LP
+The initial timeout value is 45 seconds. Use the \fB-t\fR parameter to change
+the intial timeout value.
+.sp
+.LP
+To change the timeout value for the next expect string, the following example
+can be used:
+.sp
+.in +2
+.nf
+\&''"AT&F
+ OK ATDT5551212
+ CONNECT \ec
+ TIMEOUT 10
+ ogin:--ogin: username
+ TIMEOUT 5
+ assword: hello2u2
+.fi
+.in -2
+
+.sp
+.LP
+The example changes the timeout to ten seconds when it expects the login:
+prompt. The timeout is changed to five seconds when it looks for the password
+prompt.
+.sp
+.LP
+Once changed, the timeout value remains in effect until it is changed again.
+.SS " EOT"
+.sp
+.LP
+The EOT special reply string instructs the \fBchat\fR program to send an EOT
+character to the remote. This is equivalent to using ^D\ec as the reply string.
+The EOT string normally indicates the end-of-file character sequence. A return
+character is not sent following the EOT. The EOT sequence can embedded into the
+send string using the sequence ^D.
+.SS " BREAK"
+.sp
+.LP
+The BREAK special reply string sends a break condition. The break is a special
+transmitter signal. Many UNIX systems handle break by cycling through available
+bit rates, and sending break is often needed when the remote system does not
+support autobaud. BREAK is equivalent to using \eK\ec as the reply string.
+You embed the break sequence into the send string using the \eK sequence.
+.SS "Escape Sequences"
+.sp
+.LP
+Expect and reply strings can contain escape sequences. Reply strings accept all
+escape sequences, while expect strings accept most sequences. A list of escape
+sequences is presented below. Sequences that are not accepted by expect strings
+are indicated.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&''\fR \fR
+.ad
+.RS 10n
+.rt
+Expects or sends a null string. If you send a null string, \fBchat\fR sends
+the return character. If you expect a null string, \fBchat\fR proceeds to the
+reply string without waiting. This sequence can be a pair of apostrophes or
+quote mark characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eb\fR \fR
+.ad
+.RS 10n
+.rt
+Represents a backspace character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\ec\fR \fR
+.ad
+.RS 10n
+.rt
+Suppresses the newline at the end of the reply string. This is the only method
+to send a string without a trailing return character. This sequence must be at
+the end of the send string. For example, the sequence hello\ec will simply send
+the characters h, e, l, l, o. (Not valid in expect.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\ed\fR \fR
+.ad
+.RS 10n
+.rt
+Delay for one second. The program uses \fBsleep\fR(1) which delays to a maximum
+of one second. (Not valid in expect.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eK\fR \fR
+.ad
+.RS 10n
+.rt
+Insert a BREAK. (Not valid in expect.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\en\fR \fR
+.ad
+.RS 10n
+.rt
+Send a newline or linefeed character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eN\fR \fR
+.ad
+.RS 10n
+.rt
+Send a null character. The same sequence may be represented by \e0. (Not valid
+in expect.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\ep\fR \fR
+.ad
+.RS 10n
+.rt
+Pause for 1/10th of a second. (Not valid in expect.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eq\fR \fR
+.ad
+.RS 10n
+.rt
+Suppress writing the string to syslog. The string ?????? is written to the log
+in its place. (Not valid in expect.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\er\fR \fR
+.ad
+.RS 10n
+.rt
+Send or expect a carriage return.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\es\fR \fR
+.ad
+.RS 10n
+.rt
+Represents a space character in the string. Can be used when it is not
+desirable to quote the strings which contains spaces. The sequence 'HI\ TIM'
+and HI\esTIM are the same.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\et\fR \fR
+.ad
+.RS 10n
+.rt
+Send or expect a tab character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eT\fR \fR
+.ad
+.RS 10n
+.rt
+Send the phone number string as specified with the \fB-T\fR option. (Not valid
+in expect.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eU\fR \fR
+.ad
+.RS 10n
+.rt
+Send the phone number 2 string as specified with the \fB-U\fR option. (Not
+valid in expect.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\e\e\fR \fR
+.ad
+.RS 10n
+.rt
+Send or expect a backslash character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eddd\fR \fR
+.ad
+.RS 10n
+.rt
+Collapse the octal digits (ddd) into a single ASCII character and send that
+character. (\e000 is not valid in an expect string.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB^C\fR \fR
+.ad
+.RS 10n
+.rt
+Substitute the sequence with the control character represented by C. For
+example, the character DC1 (17) is shown as ^Q. (Some characters are not valid
+in expect.)
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+Environment variables are available within \fBchat\fR scripts if the \fB-E\fR
+option is specified on the command line. The metacharacter \fB$\fR introduces
+the name of the environment variable to substitute. If the substition fails
+because the requested environment variable is not set, nothing is replaced for
+the variable.
+.SH EXIT STATUS
+.sp
+.LP
+The \fBchat\fR program terminates with the following completion codes:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 10n
+.rt
+Normal program termination. Indicates that the script was executed without
+error to normal conclusion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR \fR
+.ad
+.RS 10n
+.rt
+One or more of the parameters are invalid or an expect string was too large for
+the internal buffers. Indicates that the program was not properly executed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR \fR
+.ad
+.RS 10n
+.rt
+An error occurred during the execution of the program. This may be due to a
+read or write operation failing or \fBchat\fR receiving a signal such as
+SIGINT.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR \fR
+.ad
+.RS 10n
+.rt
+A timeout event occurred when there was an expect string without having a
+"-subsend" string. This indicates that you may not have programmed the script
+correctly for the condition or that an unexpected event occurred and the
+expected string could not be found.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR \fR
+.ad
+.RS 10n
+.rt
+The first string marked as an ABORT condition occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR \fR
+.ad
+.RS 10n
+.rt
+The second string marked as an ABORT condition occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR \fR
+.ad
+.RS 10n
+.rt
+The third string marked as an ABORT condition occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB7\fR \fR
+.ad
+.RS 10n
+.rt
+The fourth string marked as an ABORT condition occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&...\fR \fR
+.ad
+.RS 10n
+.rt
+The other termination codes are also strings marked as an ABORT condition.
+.RE
+
+.sp
+.LP
+To determine which event terminated the script, use the termination code. It is
+possible to decide if the string "BUSY" was received from the modem versus "NO
+DIALTONE." While the first event may be retried, the second probably will not
+succeed during a retry.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsleep\fR(1), \fBuucp\fR(1C), \fBpppd\fR(1M), \fBuucico\fR(1M),
+\fBsyslog\fR(3C), \fBattributes\fR(5)
+.sp
+.LP
+Additional information on \fBchat\fR scripts are available with UUCP
+documentation. The \fBchat\fR script format was taken from scripts used by the
+\fBuucico\fR program.
diff --git a/usr/src/man/man1m/check-hostname.1m b/usr/src/man/man1m/check-hostname.1m
new file mode 100644
index 0000000000..ffff2c0ae3
--- /dev/null
+++ b/usr/src/man/man1m/check-hostname.1m
@@ -0,0 +1,79 @@
+'\" te
+.\" Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH check-hostname 1M "8 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+check-hostname \- check if sendmail can determine the system's fully-qualified
+host name
+.SH SYNOPSIS
+.LP
+.nf
+\fB /usr/sbin/check-hostname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcheck-hostname\fR script is a migration aid for \fBsendmail\fR(1M). This
+script tries to determine the local host's fully-qualified host name (FQHN) in
+a manner similar to \fBsendmail\fR(1M). If \fBcheck-hostname\fR is able to
+determine the \fBFQHN\fR of the local host, it reports success. Otherwise,
+\fBcheck-hostname\fR reports how to reconfigure the system so that the
+\fBFQHN\fR can be properly determined.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/hosts\fR\fR
+.ad
+.RS 22n
+.rt
+Host name database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.conf\fR\fR
+.ad
+.RS 22n
+.rt
+Name service switch configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/resolv.conf\fR\fR
+.ad
+.RS 22n
+.rt
+Configuration file for name server routines
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdomainname\fR(1M), \fBsendmail\fR(1M), \fBhosts\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/check-permissions.1m b/usr/src/man/man1m/check-permissions.1m
new file mode 100644
index 0000000000..7f828c119e
--- /dev/null
+++ b/usr/src/man/man1m/check-permissions.1m
@@ -0,0 +1,108 @@
+'\" te
+.\" Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH check-permissions 1M "10 Nov 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+check-permissions \- check permissions on mail rerouting files
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/check-permissions\fR [\fIlogin\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcheck-permissions\fR script is intended as a migration aid for
+\fBsendmail\fR(1M). It checks the \fB/etc/mail/sendmail.cf\fR file for all
+configured alias files, and checks the alias files for \fB:include:\fR files.
+It also checks for certain \fB\&.forward\fR files. For each file that
+\fBcheck-permissions\fR checks, it verifies that none of the parent directories
+are group- or world-writable. If any directories are overly permissive, it is
+reported. Otherwise it reports that no unsafe directories were found.
+.sp
+.LP
+As to which \fB\&.forward\fR files are checked, it depends on the arguments
+included on the command line. If no argument is given, the current user's home
+directory is checked for the presence of a \fB\&.forward\fR file. If any
+arguments are given, they are assumed to be valid logins, and the home
+directory of each one is checked.
+.sp
+.LP
+If the special argument \fBALL\fR is given, the \fBpasswd\fR entry in the
+\fB/etc/nsswitch.conf\fR file is checked, and all password entries that can be
+obtained through the switch file are checked. In large domains, this can be
+time-consuming.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlogin\fR\fR
+.ad
+.RS 9n
+.rt
+Where \fIlogin\fR is a valid user name, checks the home directory for
+\fIlogin\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBALL\fR\fR
+.ad
+.RS 9n
+.rt
+Checks the home directory of \fBall\fR users.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/sendmail.cf\fR\fR
+.ad
+.RS 25n
+.rt
+Defines environment for \fBsendmail\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/aliases\fR\fR
+.ad
+.RS 25n
+.rt
+Ascii mail aliases file
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBgetent\fR(1M), \fBsendmail\fR(1M), \fBaliases\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/chroot.1m b/usr/src/man/man1m/chroot.1m
new file mode 100644
index 0000000000..c15abcfa47
--- /dev/null
+++ b/usr/src/man/man1m/chroot.1m
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH chroot 1M "15 Dec 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+chroot \- change root directory for a command
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/chroot\fR \fInewroot\fR \fIcommand\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBchroot\fR utility causes \fIcommand\fR to be executed relative to
+\fInewroot\fR. The meaning of any initial slashes (\fB\|/\|\fR) in the path
+names is changed to \fInewroot\fR for \fIcommand\fR and any of its child
+processes. Upon execution, the initial working directory is \fInewroot\fR.
+.sp
+.LP
+Notice that redirecting the output of \fIcommand\fR to a file,
+.sp
+.in +2
+.nf
+chroot\fI newroot \|command\fR >\fBx\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+will create the file \fBx\fR relative to the original root of \fIcommand\fR,
+not the new one.
+.sp
+.LP
+The new root path name is always relative to the current root. Even if a
+\fBchroot\fR is currently in effect, the \fInewroot\fR argument is relative to
+the current root of the running process.
+.sp
+.LP
+This command can be run only by the super-user.
+.SH RETURN VALUES
+.sp
+.LP
+The exit status of \fBchroot\fR is the return value of \fIcommand\fR.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBchroot\fR Utility
+.sp
+.LP
+The \fBchroot\fR utility provides an easy way to extract \fBtar\fR files (see
+\fBtar\fR(1)) written with absolute filenames to a different location. It is
+necessary to copy the shared libraries used by \fBtar\fR (see \fBldd\fR(1)) to
+the \fInewroot\fR filesystem.
+
+.sp
+.in +2
+.nf
+example# mkdir /tmp/lib; cd /lib
+example# cp ld.so.1 libc.so.1 libcmd.so.1 libdl.so.1 \e
+ libsec.so.1 /tmp/lib
+example# cp /usr/bin/tar /tmp
+example# dd if=/dev/rmt/0 | chroot /tmp tar xvf -
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcd\fR(1), \fBtar\fR(1), \fBchroot\fR(2), \fBttyname\fR(3C),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Exercise extreme caution when referencing device files in the new root file
+system.
+.sp
+.LP
+References by routines such as \fBttyname\fR(3C) to stdin, stdout, and stderr
+will find that the device associated with the file descriptor is unknown after
+\fBchroot\fR is run.
diff --git a/usr/src/man/man1m/clear_locks.1m b/usr/src/man/man1m/clear_locks.1m
new file mode 100644
index 0000000000..4d92dc092b
--- /dev/null
+++ b/usr/src/man/man1m/clear_locks.1m
@@ -0,0 +1,106 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc.
+.\" All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH clear_locks 1M "6 Oct 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+clear_locks \- clear locks held on behalf of an NFS client
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/clear_locks\fR [\fB-s\fR] \fIhostname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBclear_locks\fR command removes all file, record, and share locks created
+by the \fIhostname\fR and held on the current host, regardless of which process
+created or owns the locks.
+.sp
+.LP
+This command can be run only by the super-user.
+.sp
+.LP
+This command should only be used to repair the rare case of a client crashing
+and failing to clear held locks. Clearing locks held by an active client may
+cause applications to fail in an unexpected manner.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Remove all locks created by the current machine and held by the server
+\fIhostname\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhostname\fR\fR
+.ad
+.RS 12n
+.rt
+name of host server
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+If not root.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Usage error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+If unable to contact server (\fBRPC\fR).
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfcntl\fR(2), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/clinfo.1m b/usr/src/man/man1m/clinfo.1m
new file mode 100644
index 0000000000..8f257a2eb9
--- /dev/null
+++ b/usr/src/man/man1m/clinfo.1m
@@ -0,0 +1,91 @@
+'\" te
+.\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH clinfo 1M "12 Mar 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+clinfo \- display cluster information
+.SH SYNOPSIS
+.LP
+.nf
+\fBclinfo\fR [\fB-nh\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBclinfo\fR command displays cluster configuration information about the
+node from which the command is executed.
+.sp
+.LP
+Without arguments, \fBclinfo\fR returns an exit status of \fB0\fR if the node
+is configured and booted as part of a cluster. Otherwise, \fBclinfo\fR returns
+an exit status of \fB1\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 6n
+.rt
+Displays the highest node number allowed to be configured. This is different
+from the maximum number of nodes supported in a given cluster. The current
+highest configured node number can change immediately after the command returns
+since new nodes can be dynamically added to a running cluster.
+.sp
+For example, \fBclinfo\fR \fB-h\fR might return \fB64\fR, meaning that the
+highest number you can use to identify a node is \fB64\fR. See the \fISun
+Cluster 3.0 System Administration Guide\fR for a description of utilities you
+can use to determine the number of nodes in a cluster.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Prints the number of the node from which \fBclinfo\fR is executed.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.sp
+This is usually because the node is not configured or booted as part of a
+cluster.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/clri.1m b/usr/src/man/man1m/clri.1m
new file mode 100644
index 0000000000..c656121b48
--- /dev/null
+++ b/usr/src/man/man1m/clri.1m
@@ -0,0 +1,107 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH clri 1M "16 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+clri, dcopy \- clear inode
+.SH SYNOPSIS
+.LP
+.nf
+\fBclri\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] \fIspecial\fR \fIi-number\fR
+.fi
+
+.LP
+.nf
+\fBdcopy\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] \fIspecial\fR \fIi-number\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBclri\fR writes zeros on the inodes with the decimal \fIi-number\fR on the
+file system stored on \fIspecial\fR. After \fBclri\fR, any blocks in the
+affected file show up as missing in an \fBfsck\fR(1M) of \fIspecial\fR.
+.sp
+.LP
+Read and write permission is required on the specified file system device. The
+inode becomes allocatable.
+.sp
+.LP
+The primary purpose of this routine is to remove a file that for some reason
+appears in no directory. If it is used to zap an inode that does appear in a
+directory, care should be taken to track down the entry and remove it.
+Otherwise, when the inode is reallocated to some new file, the old entry will
+still point to that file. At that point, removing the old entry will destroy
+the new file. The new entry will again point to an unallocated inode, so the
+whole cycle is likely to be repeated again and again.
+.sp
+.LP
+\fBdcopy\fR is a symbolic link to \fBclri\fR.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fI FSType\fR\fR
+.ad
+.RS 13n
+.rt
+Specify the \fIFSType\fR on which to operate. The \fIFSType\fR should either
+be specified here or be determinable from \fB/etc/vfstab\fR by matching
+\fIspecial\fR with an entry in the table, or by consulting
+\fB/etc/default/fs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 13n
+.rt
+Echo the complete command line, but do not execute the command. The command
+line is generated by using the options and arguments provided by the user and
+adding to them information derived from \fB/etc/vfstab\fR. This option should
+be used to verify and validate the command line.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBclri\fR and
+\fBdcopy\fR when encountering files greater than or equal to 2 Gbyte ( 2^31
+bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.RS 19n
+.rt
+Default local file system type
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 19n
+.rt
+List of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBvfstab\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5)
+.SH NOTES
+.sp
+.LP
+This command might not be supported for all \fIFSTypes\fR.
diff --git a/usr/src/man/man1m/consadm.1m b/usr/src/man/man1m/consadm.1m
new file mode 100644
index 0000000000..aeaec80d38
--- /dev/null
+++ b/usr/src/man/man1m/consadm.1m
@@ -0,0 +1,236 @@
+'\" te
+.\" Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH consadm 1m "27 Oct 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+consadm \- select or display devices used as auxiliary console devices
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/consadm\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/consadm\fR [\fB-a\fR \fIdevice\fR.\|.\|.] [\fB-p\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/consadm\fR [\fB-d\fR \fIdevice\fR.\|.\|.] [\fB-p\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/consadm\fR [\fB-p\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBconsadm\fR selects the hardware \fIdevice\fR or devices to be used as
+auxiliary console devices, or displays the current device. Only superusers are
+allowed to make or display auxiliary console device selections.
+.sp
+.LP
+Auxiliary console devices receive copies of \fBconsole\fR messages, and can be
+used as the console during \fBsingle user\fR mode. In particular, they receive
+kernel messages and messages directed to \fB/dev/sysmsg\fR. On Solaris x86
+based systems they can also be used for interaction with the bootstrap.
+.sp
+.LP
+By default, selecting a display device to be used as an auxiliary console
+device selects that device for the duration the system remains up. If the
+administrator needs the selection to persist across reboots the \fB-p\fR option
+can be specified.
+.sp
+.LP
+\fBconsadm\fR runs a daemon in the background, monitoring auxiliary console
+devices. Any devices that are disconnected (hang up, lose carrier) are removed
+from the auxiliary console device list, though not from the persistent list.
+While auxiliary console devices may have been removed from the device list
+receiving copies of \fBconsole\fR messages, those messages will always continue
+to be displayed by the default console device.
+.sp
+.LP
+The daemon will not run if it finds there are not any auxiliary devices
+configured to monitor. Likewise, after the last auxiliary console is removed,
+the daemon will shut itself down. Therefore the daemon persists for only as
+long as auxiliary console devices remain active.
+.sp
+.LP
+See \fBeeprom\fR(1M) for instructions on assigning an auxiliary console device
+as the system console.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIdevice\fR\fR
+.ad
+.RS 13n
+.rt
+Adds \fIdevice\fR to the list of auxiliary console devices. Specify
+\fIdevice\fR as the path name to the device or devices to be added to the
+auxiliary console device list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdevice\fR\fR
+.ad
+.RS 13n
+.rt
+Removes \fIdevice\fR from the list of auxiliary console devices. Specify
+\fIdevice\fR as the path name to the device or devices to be removed from the
+auxiliary console device list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 13n
+.rt
+Prints the list of auxiliary consoles that will be auxiliary across reboots.
+.sp
+When invoked with the \fB-a\fR or \fB-d\fR options , tells the application to
+make the change persist across reboot.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding to the list of devices that will receive console
+messages
+.sp
+.LP
+The following command adds \fB/dev/term/a\fR to the list of devices that will
+receive console messages.
+
+.sp
+.in +2
+.nf
+example# \fBconsadm -a /dev/term/a\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRemoving from the list of devices that will receive console
+messages
+.sp
+.LP
+The following command removes \fB/dev/term/a\fR from the list of devices that
+will receive console messages. This includes removal from the persistent list.
+
+.sp
+.in +2
+.nf
+example# \fBconsadm -d -p /dev/term/a\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRPrinting the list of devices selected as auxiliary console
+devices
+.sp
+.LP
+The following command prints the name or names of the device or devices
+currently selected as auxiliary console devices.
+
+.sp
+.in +2
+.nf
+example# \fBconsadm\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBconsadm\fR: \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR,
+and \fBNLSPATH\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Stability LevelEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBeeprom\fR(1M), \fBsvcadm\fR(1M), \fBsyslogd\fR(1M),
+\fBkadb\fR(1M), \fBenviron\fR(5), \fBattributes\fR(5), \fBsmf\fR(5),
+\fBsysmsg\fR(7d), \fBconsole\fR(7d)
+.SH NOTES
+.sp
+.LP
+Auxiliary console devices are not usable for \fBkadb\fR or firmware \fBI/O\fR,
+do not receive panic messages, and do not receive output directed to
+\fB/dev/console\fR.
+.sp
+.LP
+The \fBconsadm\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/consadm
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/conv_lp.1m b/usr/src/man/man1m/conv_lp.1m
new file mode 100644
index 0000000000..a19687e4ac
--- /dev/null
+++ b/usr/src/man/man1m/conv_lp.1m
@@ -0,0 +1,124 @@
+'\" te
+.\" Copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH conv_lp 1M "9 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+conv_lp \- convert LP configuration
+.SH SYNOPSIS
+.LP
+.nf
+\fBconv_lp\fR [\fB-d\fR \fIdir\fR] [\fB-f\fR \fIfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBconv_lp\fR reads \fBLP\fR printer configuration information from a
+directory and converts it to an output file for use with print client software.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fI dir\fR\fR
+.ad
+.RS 11n
+.rt
+The root (`\fB / \fR') directory from which \fBLP\fR configuration information
+is read. The default is root (`\fB / \fR').
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fI file\fR\fR
+.ad
+.RS 11n
+.rt
+The output file to which \fBconv_lp\fR writes the converted \fBLP\fR
+configuration information. The default is \fB/etc/printers.conf\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConverting \fBLP\fR Configuration Information from the Default
+Directory and File
+.sp
+.LP
+The following example converts \fBLP\fR configuration information from
+directory root (\fB/\fR) to file \fB/etc/printers.conf\fR.
+
+.sp
+.in +2
+.nf
+% \fBconv_lp\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRConverting \fBLP\fR Configuration Information From a Specified
+Directory and File
+.sp
+.LP
+The following example converts \fBLP\fR configuration information from
+directory \fB/export/root/client\fR to file
+\fB/export/root/client/etc/printers.conf\fR.
+
+.sp
+.in +2
+.nf
+% \fBconv_lp -d /export/root/client -f\e
+ /export/root/client/etc/printers.conf\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printers.conf\fR\fR
+.ad
+.RS 22n
+.rt
+System printer configuration database.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlpset\fR(1M), \fBprinters.conf\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/conv_lpd.1m b/usr/src/man/man1m/conv_lpd.1m
new file mode 100644
index 0000000000..b002410de9
--- /dev/null
+++ b/usr/src/man/man1m/conv_lpd.1m
@@ -0,0 +1,169 @@
+'\" te
+.\" Copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH conv_lpd 1M "9 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+conv_lpd \- convert LPD configuration
+.SH SYNOPSIS
+.LP
+.nf
+\fBconv_lpd\fR [\fB-c\fR printers | \fB-c\fR printcap] [\fB-n\fR] \fIfile\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBconv_lpd\fR converts \fBLPD\fR printer configuration information from
+\fIfile\fR to a \fBprinters.conf\fR or a \fBprintcap\fR file (see
+\fBprinters.conf\fR(4)). \fIfile\fR specifies the name of the input file, and
+can be either in \fBprinters.conf\fR or \fBprintcap\fR format. If \fIfile\fR
+is in \fBprinters.conf\fR format, it converts it to a \fBprintcap\fR file. If
+\fIfile\fR is in \fBprintcap\fR format, it converts it to a
+\fBprinters.conf\fR file.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-c\fR\fB printers \fR|\fB \fR\fB-c\fR\fB printcap\fR\fR
+.ad
+.RS 29n
+.rt
+Specifies the type of output file produced by the conversion. \fB-c\fR
+\fBprinters\fR converts to a \fBprinters.conf\fR file. \fB-c\fR \fBprintcap\fR
+converts to a \fBprintcap\fR file. \fB-c\fR \fBprinters\fR is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 29n
+.rt
+Preserves the namelist during the conversion.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.RS 8n
+.rt
+The file to be converted.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConverting a \fBprintcap\fR file to a \fBprinters.conf\fR
+file.
+.sp
+.LP
+The following example converts a \fBprintcap\fR file to a \fBprinters.conf\fR
+file.
+
+.sp
+.in +2
+.nf
+\fBexample% conv_lpd /etc/printcap\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRConverting a \fBprintcap\fR file to a \fBprinters.conf\fR file
+and preserving the namelist.
+.sp
+.LP
+The following example converts a \fBprintcap\fR file to a \fBprinters.conf\fR
+file and preserves the namelist.
+
+.sp
+.in +2
+.nf
+\fBexample% conv_lpd -c printers -n /etc/printcap\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRConverting a \fBprinters.conf\fR file to a \fBprintcap\fR
+file and preserving the namelist.
+.sp
+.LP
+The following example converts a \fBprinters.conf\fR file to a \fBprintcap\fR
+file and preserves the namelist.
+
+.sp
+.in +2
+.nf
+\fBexample% conv_lpd -c printcap -n /etc/printers.conf\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printers.conf\fR\fR
+.ad
+.RS 22n
+.rt
+System printer configuration database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printcap\fR\fR
+.ad
+.RS 22n
+.rt
+SunOS 4.\fIx\fR printer capability database.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlpset\fR(1M), \fBprinters.conf\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/coreadm.1m b/usr/src/man/man1m/coreadm.1m
new file mode 100644
index 0000000000..c58d568df9
--- /dev/null
+++ b/usr/src/man/man1m/coreadm.1m
@@ -0,0 +1,752 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH coreadm 1M "30 Sep 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+coreadm \- core file administration
+.SH SYNOPSIS
+.LP
+.nf
+\fBcoreadm\fR [\fB-g\fR \fIpattern\fR] [\fB-G\fR \fIcontent\fR] [\fB-i\fR \fIpattern\fR] [\fB-I\fR \fIcontent\fR]
+ [\fB-d\fR \fIoption\fR]... [\fB-e\fR \fIoption\fR]...
+.fi
+
+.LP
+.nf
+\fBcoreadm\fR [\fB-p\fR \fIpattern\fR] [\fB-P\fR \fIcontent\fR] [\fIpid\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBcoreadm\fR specifies the name and location of core files produced by
+abnormally-terminating processes. See \fBcore\fR(4).
+.sp
+.LP
+Only users and roles that belong to the "Maintenance and Repair" RBAC profile
+can execute the first form of the \fBSYNOPSIS\fR. This form configures
+system-wide core file options, including a global core file name pattern and a
+core file name pattern for the \fBinit\fR(1M) process. All settings are saved
+persistently and will be applied at boot.
+.sp
+.LP
+Non-privileged users can execute the second form of the \fBSYNOPSIS\fR. This
+form specifies the file name pattern and core file content that the operating
+system uses to generate a per-process core file.
+.sp
+.LP
+A core file name pattern is a normal file system path name with embedded
+variables, specified with a leading \fB%\fR character. The variables are
+expanded from values that are effective when a core file is generated by the
+operating system. The possible embedded variables are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executable file directory name, up to a maximum of \fBMAXPATHLEN\fR characters
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executable file name, up to a maximum of \fBMAXCOMLEN\fR characters
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Effective group-\fBID\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Machine name (\fBuname\fR \fB-m\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%n\fR\fR
+.ad
+.sp .6
+.RS 4n
+System node name (\fBuname\fR \fB-n\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Process-\fBID\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Decimal value of \fBtime\fR(2)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Effective user-\fBID\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%z\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of the zone in which process executed (\fBzonename\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%%\fR\fR
+.ad
+.sp .6
+.RS 4n
+Literal \fB%\fR
+.RE
+
+.sp
+.LP
+For example, the core file name pattern \fB/var/cores/core.%f.%p\fR would
+result, for command \fBfoo\fR with process-\fBID\fR \fB1234\fR, in the core
+file name \fB/var/cores/core.foo.1234\fR.
+.sp
+.LP
+A core file content description is specified using a series of tokens to
+identify parts of a process's binary image:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBanon\fR\fR
+.ad
+.sp .6
+.RS 4n
+Anonymous private mappings, including thread stacks that are not main thread
+stacks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBctf\fR\fR
+.ad
+.sp .6
+.RS 4n
+CTF type information sections for loaded object files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdata\fR\fR
+.ad
+.sp .6
+.RS 4n
+Writable private file mappings
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdism\fR\fR
+.ad
+.sp .6
+.RS 4n
+DISM mappings
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBheap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Process heap
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBism\fR\fR
+.ad
+.sp .6
+.RS 4n
+ISM mappings
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrodata\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read-only private file mappings
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshanon\fR\fR
+.ad
+.sp .6
+.RS 4n
+Anonymous shared mappings
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shared mappings that are backed by files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshm\fR\fR
+.ad
+.sp .6
+.RS 4n
+System V shared memory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstack\fR\fR
+.ad
+.sp .6
+.RS 4n
+Process stack
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsymtab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Symbol table sections for loaded object files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtext\fR\fR
+.ad
+.sp .6
+.RS 4n
+Readable and executable private file mappings
+.RE
+
+.sp
+.LP
+In addition, you can use the token \fBall\fR to indicate that core files should
+include all of these parts of the process's binary image. You can use the token
+\fBnone\fR to indicate that no mappings are to be included. The \fBdefault\fR
+token indicates inclusion of the system default content
+(\fBstack+heap+shm+ism+dism+text+data+rodata+anon+shanon+ctf+symtab\fR). The
+\fB/proc\fR file system data structures are always present in core files
+regardless of the mapping content.
+.sp
+.LP
+You can use \fB+\fR and \fB-\fR to concatenate tokens. For example, the core
+file content \fBdefault-ism\fR would produce a core file with the default set
+of mappings without any intimate shared memory mappings.
+.sp
+.LP
+The \fBcoreadm\fR command with no arguments reports the current system
+configuration, for example:
+.sp
+.in +2
+.nf
+$ coreadm
+ global core file pattern: /var/cores/core.%f.%p
+ global core file content: all
+ init core file pattern: core
+ init core file content: default
+ global core dumps: enabled
+ per-process core dumps: enabled
+ global setid core dumps: enabled
+per-process setid core dumps: disabled
+ global core dump logging: disabled
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBcoreadm\fR command with only a list of process-\fBID\fRs reports each
+process's per-process core file name pattern, for example:
+.sp
+.in +2
+.nf
+$ coreadm 278 5678
+ 278: core.%f.%p default
+ 5678: /home/george/cores/%f.%p.%t all-ism
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Only the owner of a process or a user with the \fBproc_owner\fR privilege can
+interrogate a process in this manner.
+.sp
+.LP
+When a process is dumping core, up to three core files can be produced: one in
+the per-process location, one in the system-wide global location, and, if the
+process was running in a local (non-global) zone, one in the global location
+for the zone in which that process was running. Each core file is generated
+according to the effective options for the corresponding location.
+.sp
+.LP
+When generated, a global core file is created in mode \fB600\fR and owned by
+the superuser. Nonprivileged users cannot examine such files.
+.sp
+.LP
+Ordinary per-process core files are created in mode \fB600\fR under the
+credentials of the process. The owner of the process can examine such files.
+.sp
+.LP
+A process that is or ever has been \fBsetuid\fR or \fBsetgid\fR since its last
+\fBexec\fR(2) presents security issues that relate to dumping core. Similarly,
+a process that initially had superuser privileges and lost those privileges
+through \fBsetuid\fR(2) also presents security issues that are related to
+dumping core. A process of either type can contain sensitive information in its
+address space to which the current nonprivileged owner of the process should
+not have access. If \fBsetid\fR core files are enabled, they are created mode
+\fB600\fR and owned by the superuser.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIoption\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Disable the specified core file option. See the \fB-e\fR \fIoption\fR for
+descriptions of possible options.
+.sp
+Multiple \fB-e\fR and \fB-d\fR options can be specified on the command line.
+Only users and roles belonging to the "Maintenance and Repair" RBAC profile can
+use this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIoption\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Enable the specified core file option. Specify \fIoption\fR as one of the
+following:
+.sp
+.ne 2
+.mk
+.na
+\fBglobal\fR
+.ad
+.sp .6
+.RS 4n
+Allow core dumps that use global core pattern.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal-setid\fR
+.ad
+.sp .6
+.RS 4n
+Allow set-id core dumps that use global core pattern.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlog\fR
+.ad
+.sp .6
+.RS 4n
+Generate a \fBsyslog\fR(3C) message when generation of a global core file is
+attempted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprocess\fR
+.ad
+.sp .6
+.RS 4n
+Allow core dumps that use per-process core pattern.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBproc-setid\fR
+.ad
+.sp .6
+.RS 4n
+Allow set-id core dumps that use per-process core pattern.
+.sp
+Multiple \fB-e\fR and \fB-d\fR options can be specified on the command line.
+Only users and roles belonging to the "Maintenance and Repair" RBAC profile can
+use this option.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIpattern\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the global core file name pattern to \fIpattern\fR. The pattern must start
+with a \fB/\fR and can contain any of the special \fB%\fR variables that are
+described in the \fBDESCRIPTION\fR.
+.sp
+Only users and roles belonging to the "Maintenance and Repair" RBAC profile can
+use this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR \fIcontent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the global core file content to content. You must specify content by using
+the tokens that are described in the \fBDESCRIPTION\fR.
+.sp
+Only users and roles belonging to the "Maintenance and Repair" RBAC profile can
+use this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIpattern\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the default per-process core file name to \fIpattern\fR. This changes the
+per-process pattern for any process whose per-process pattern is still set to
+the default. Processes that have had their per-process pattern set or are
+descended from a process that had its per-process pattern set (using the
+\fB-p\fR option) are unaffected. This default persists across reboot.
+.sp
+Only users and roles belonging to the "Maintenance and Repair" RBAC profile can
+use this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIcontent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the default per-process core file content to \fIcontent\fR. This changes
+the per-process content for any process whose per-process content is still set
+to the default. Processes that have had their per-process content set or are
+descended from a process that had its per-process content set (using the
+\fB-P\fR option) are unaffected. This default persists across reboot.
+.sp
+Only users and roles belonging to the "Maintenance and Repair" RBAC profile can
+use this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpattern\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the per-process core file name pattern to \fIpattern\fR for each of the
+specified process-\fBID\fRs. The pattern can contain any of the special \fB%\fR
+variables described in the \fBDESCRIPTION\fR and need not begin with \fB/\fR.
+If the pattern does not begin with \fB/\fR, it is evaluated relative to the
+directory that is current when the process generates a core file.
+.sp
+A nonprivileged user can apply the \fB-p\fR option only to processes that are
+owned by that user. A user with the \fBproc_owner\fR privilege can apply the
+option to any process. The per-process core file name pattern is inherited by
+future child processes of the affected processes. See \fBfork\fR(2).
+.sp
+If no process-\fBID\fRs are specified, the \fB-p\fR option sets the per-process
+core file name pattern to \fIpattern\fR on the parent process (usually the
+shell that ran \fBcoreadm\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIcontent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the per-process core file content to \fIcontent\fR for each of the
+specified process-IDs. The content must be specified by using the tokens that
+are described in the \fBDESCRIPTION\fR.
+.sp
+A nonprivileged user can apply the \fB-p\fR option only to processes that are
+owned by that user. A user with the \fBproc_owner\fR privilege can apply the
+option to any process. The per-process core file name pattern is inherited by
+future child processes of the affected processes. See \fBfork\fR(2).
+.sp
+If no process-\fBID\fRs are specified, the \fB-P\fR option sets the per-process
+file content to \fIcontent\fR on the parent process (usually the shell that ran
+\fBcoreadm\fR).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+process-\fBID\fR
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting the Core File Name Pattern
+.sp
+.LP
+When executed from a user's \fB$HOME/.profile\fR or \fB$HOME/.login\fR, the
+following command sets the core file name pattern for all processes that are
+run during the login session:
+
+.sp
+.in +2
+.nf
+example$ coreadm -p core.%f.%p
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that since the process-\fBID\fR is omitted, the per-process core file name
+pattern will be set in the shell that is currently running and is inherited by
+all child processes.
+
+.LP
+\fBExample 2 \fRDumping a User's Files Into a Subdirectory
+.sp
+.LP
+The following command dumps all of a user's core dumps into the \fBcorefiles\fR
+subdirectory of the home directory, discriminated by the system node name. This
+command is useful for users who use many different machines but have a shared
+home directory.
+
+.sp
+.in +2
+.nf
+example$ coreadm -p $HOME/corefiles/%n.%f.%p 1234
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCulling the Global Core File Repository
+.sp
+.LP
+The following commands set up the system to produce core files in the global
+repository only if the executables were run from \fB/usr/bin\fR or
+\fB/usr/sbin\fR.
+
+.sp
+.in +2
+.nf
+example# mkdir -p /var/cores/usr/bin
+example# mkdir -p /var/cores/usr/sbin
+example# coreadm -G all -g /var/cores/%d/%f.%p.%n
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/cores\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory provided for global core file storage.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.sp .6
+.RS 4n
+A fatal error occurred while either obtaining or modifying the system core file
+configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command-line options were specified.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBgcore\fR(1), \fBpfexec\fR(1), \fBsvcs\fR(1), \fBinit\fR(1M),
+\fBsvcadm\fR(1M), \fBexec\fR(2), \fBfork\fR(2), \fBsetuid\fR(2), \fBtime\fR(2),
+\fBsyslog\fR(3C), \fBcore\fR(4), \fBprof_attr\fR(4), \fBuser_attr\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+In a local (non-global) zone, the global settings apply to processes running in
+that zone. In addition, the global zone's apply to processes run in any zone.
+.sp
+.LP
+The term \fBglobal settings\fR refers to settings which are applied to the
+system or zone as a whole, and does not necessarily imply that the settings are
+to take effect in the global zone.
+.sp
+.LP
+The \fBcoreadm\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/coreadm:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+The \fB-g\fR, \fB-G\fR, \fB-i\fR, \fB-I\fR, \fB-e\fR, and \fB-d\fR options can
+be also used by a user, role, or profile that has been granted both the
+\fBsolaris.smf.manage.coreadm\fR and \fBsolaris.smf.value.coreadm\fR
+authorizations.
diff --git a/usr/src/man/man1m/cpustat.1m b/usr/src/man/man1m/cpustat.1m
new file mode 100644
index 0000000000..85b5b2654d
--- /dev/null
+++ b/usr/src/man/man1m/cpustat.1m
@@ -0,0 +1,362 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc.
+.TH cpustat 1M "16 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cpustat \- monitor system behavior using CPU performance counters
+.SH SYNOPSIS
+.LP
+.nf
+\fBcpustat\fR \fB-c\fR \fIeventspec\fR [\fB-c\fR \fIeventspec\fR]... [\fB-p\fR \fIperiod\fR] [\fB-T\fR u | d ]
+ [\fB-sntD\fR] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.LP
+.nf
+\fBcpustat\fR \fB-h\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcpustat\fR utility allows \fBCPU\fR performance counters to be used to
+monitor the overall behavior of the \fBCPU\fRs in the system.
+.sp
+.LP
+If \fIinterval\fR is specified, \fBcpustat\fR samples activity every
+\fIinterval\fR seconds, repeating forever. If a \fIcount\fR is specified, the
+statistics are repeated \fIcount\fR times. If neither are specified, an
+interval of five seconds is used, and there is no limit to the number of
+samples that are taken.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIeventspec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a set of events for the \fBCPU\fR performance counters to monitor.
+The syntax of these event specifications is:
+.sp
+.in +2
+.nf
+[picn=]\fIeventn\fR[,attr[\fIn\fR][=\fIval\fR]][,[picn=]\fIeventn\fR
+ [,attr[n][=\fIval\fR]],...,]
+.fi
+.in -2
+.sp
+
+You can use the \fB-h\fR option to obtain a list of available events and
+attributes. This causes generation of the usage message. You can omit an
+explicit counter assignment, in which case \fBcpustat\fR attempts to choose a
+capable counter automatically.
+.sp
+Attribute values can be expressed in hexadecimal, octal, or decimal notation,
+in a format suitable for \fBstrtoll\fR(3C). An attribute present in the event
+specification without an explicit value receives a default value of \fB1\fR. An
+attribute without a corresponding counter number is applied to all counters in
+the specification.
+.sp
+The semantics of these event specifications can be determined by reading the
+\fBCPU\fR manufacturer's documentation for the events.
+.sp
+Multiple \fB-c\fR options can be specified, in which case the command cycles
+between the different event settings on each sample.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables debug mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints an extensive help message on how to use the utility and how to program
+the processor-dependent counters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Omits all header output (useful if \fBcpustat\fR is the beginning of a
+pipeline).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIperiod\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes \fBcpustat\fR to cycle through the list of \fIeventspec\fRs every
+\fIperiod\fR seconds. The tool sleeps after each cycle until \fIperiod\fR
+seconds have elapsed since the first \fIeventspec\fR was measured.
+.sp
+When this option is present, the optional \fIcount\fR parameter specifies the
+number of total cycles to make (instead of the number of total samples to
+take). If \fIperiod\fR is less than the number of \fIeventspec\fRs times
+\fIinterval\fR, the tool acts as it period is \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates an idle soaker thread to spin while system-only \fIeventspec\fRs are
+bound. One idle soaker thread is bound to each CPU in the current processor
+set. System-only \fIeventspec\fRs contain both the \fBnouser\fR and the
+\fBsys\fR tokens and measure events that occur while the CPU is operating in
+privileged mode. This option prevents the kernel's idle loop from running and
+triggering system-mode events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints an additional column of processor cycle counts, if available on the
+current architecture.
+.RE
+
+.SH USAGE
+.sp
+.LP
+A closely related utility, \fBcputrack\fR(1), can be used to monitor the
+behavior of individual applications with little or no interference from other
+activities on the system.
+.sp
+.LP
+The \fBcpustat\fR utility must be run by the super-user, as there is an
+intrinsic conflict between the use of the \fBCPU\fR performance counters
+system-wide by \fBcpustat\fR and the use of the \fBCPU\fR performance counters
+to monitor an individual process (for example, by \fBcputrack\fR.)
+.sp
+.LP
+Once any instance of this utility has started, no further per-process or
+per-\fBLWP\fR use of the counters is allowed until the last instance of the
+utility terminates.
+.sp
+.LP
+The times printed by the command correspond to the wallclock time when the
+hardware counters were actually sampled, instead of when the program told the
+kernel to sample them. The time is derived from the same timebase as
+\fBgethrtime\fR(3C).
+.sp
+.LP
+The processor cycle counts enabled by the \fB-t\fR option always apply to both
+user and system modes, regardless of the settings applied to the performance
+counter registers.
+.sp
+.LP
+On some hardware platforms running in system mode using the "sys" token, the
+counters are implemented using 32-bit registers. While the kernel attempts to
+catch all overflows to synthesize 64-bit counters, because of hardware
+implementation restrictions, overflows can be lost unless the sampling interval
+is kept short enough. The events most prone to wrap are those that count
+processor clock cycles. If such an event is of interest, sampling should occur
+frequently so that less than 4 billion clock cycles can occur between samples.
+.sp
+.LP
+The output of cpustat is designed to be readily parseable by \fBnawk\fR(1) and
+\fBperl\fR(1), thereby allowing performance tools to be composed by embedding
+\fBcpustat\fR in scripts. Alternatively, tools can be constructed directly
+using the same \fBAPI\fRs that \fBcpustat\fR is built upon using the facilities
+of \fBlibcpc\fR(3LIB). See \fBcpc\fR(3CPC).
+.sp
+.LP
+The \fBcpustat\fR utility only monitors the \fBCPU\fRs that are accessible to
+it in the current processor set. Thus, several instances of the utility can be
+running on the \fBCPU\fRs in different processor sets. See \fBpsrset\fR(1M) for
+more information about processor sets.
+.sp
+.LP
+Because \fBcpustat\fR uses \fBLWP\fRs bound to \fBCPU\fRs, the utility might
+have to be terminated before the configuration of the relevant processor can be
+changed.
+.SH EXAMPLES
+.SS "SPARC"
+.LP
+\fBExample 1 \fRMeasuring External Cache References and Misses
+.sp
+.LP
+The following example measures misses and references in the external cache.
+These occur while the processor is operating in user mode on an UltraSPARC
+machine.
+
+.sp
+.in +2
+.nf
+example% cpustat -c EC_ref,EC_misses 1 3
+
+ time cpu event pic0 pic1
+ 1.008 0 tick 69284 1647
+ 1.008 1 tick 43284 1175
+ 2.008 0 tick 179576 1834
+ 2.008 1 tick 202022 12046
+ 3.008 0 tick 93262 384
+ 3.008 1 tick 63649 1118
+ 3.008 2 total 651077 18204
+.fi
+.in -2
+.sp
+
+.SS "x86"
+.LP
+\fBExample 2 \fRMeasuring Branch Prediction Success on Pentium 4
+.sp
+.LP
+The following example measures branch mispredictions and total branch
+instructions in user and system mode on a Pentium 4 machine.
+
+.sp
+.in +2
+.nf
+ example% cpustat -c \e
+ pic12=branch_retired,emask12=0x4,pic14=branch_retired,\e
+ emask14=0xf,sys 1 3
+
+ time cpu event pic12 pic14
+ 1.010 1 tick 458 684
+ 1.010 0 tick 305 511
+ 2.010 0 tick 181 269
+ 2.010 1 tick 469 684
+ 3.010 0 tick 182 269
+ 3.010 1 tick 468 684
+ 3.010 2 total 2063 3101
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCounting Memory Accesses on Opteron
+.sp
+.LP
+The following example determines the number of memory accesses made through
+each memory controller on an Opteron, broken down by internal memory latency:
+
+.sp
+.in +2
+.nf
+cpustat -c \e
+ pic0=NB_mem_ctrlr_page_access,umask0=0x01, \e
+ pic1=NB_mem_ctrlr_page_access,umask1=0x02, \e
+ pic2=NB_mem_ctrlr_page_access,umask2=0x04,sys \e
+ 1
+
+ time cpu event pic0 pic1 pic2
+ 1.003 0 tick 41976 53519 7720
+ 1.003 1 tick 5589 19402 731
+ 2.003 1 tick 6011 17005 658
+ 2.003 0 tick 43944 45473 7338
+ 3.003 1 tick 7105 20177 762
+ 3.003 0 tick 47045 48025 7119
+ 4.003 0 tick 43224 46296 6694
+ 4.003 1 tick 5366 19114 652
+.fi
+.in -2
+.sp
+
+.SH WARNINGS
+.sp
+.LP
+By running the \fBcpustat\fR command, the super-user forcibly invalidates all
+existing performance counter context. This can in turn cause all invocations of
+the \fBcputrack\fR command, and other users of performance counter context, to
+exit prematurely with unspecified errors.
+.sp
+.LP
+If \fBcpustat\fR is invoked on a system that has \fBCPU\fR performance counters
+which are not supported by Solaris, the following message appears:
+.sp
+.in +2
+.nf
+cpustat: cannot access performance counters - Operation not applicable
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This error message implies that \fBcpc_open()\fR has failed and is documented
+in \fBcpc_open\fR(3CPC). Review this documentation for more information about
+the problem and possible solutions.
+.sp
+.LP
+If a short interval is requested, \fBcpustat\fR might not be able to keep up
+with the desired sample rate. In this case, some samples might be dropped.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcputrack\fR(1), \fBnawk\fR(1), \fBperl\fR(1), \fBiostat\fR(1M),
+\fBprstat\fR(1M), \fBpsrset\fR(1M), \fBvmstat\fR(1M), \fBcpc\fR(3CPC),
+\fBcpc_open\fR(3CPC), \fBcpc_bind_cpu\fR(3CPC), \fBgethrtime\fR(3C),
+\fBstrtoll\fR(3C), \fBlibcpc\fR(3LIB), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+When \fBcpustat\fR is run on a Pentium 4 with HyperThreading enabled, a CPC set
+is bound to only one logical CPU of each physical CPU. See
+\fBcpc_bind_cpu\fR(3CPC).
diff --git a/usr/src/man/man1m/cron.1m b/usr/src/man/man1m/cron.1m
new file mode 100644
index 0000000000..b6cd81f8d8
--- /dev/null
+++ b/usr/src/man/man1m/cron.1m
@@ -0,0 +1,205 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cron 1M "4 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cron \- clock daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/cron\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBcron\fR starts a process that executes commands at specified dates and
+times.
+.sp
+.LP
+You can specify regularly scheduled commands to \fBcron\fR according to
+instructions found in \fBcrontab\fR files in the directory
+\fB/var/spool/cron/crontabs\fR. Users can submit their own \fBcrontab\fR file
+using the \fBcrontab\fR(1) command. Commands which are to be executed only once
+can be submitted using the \fBat\fR(1) command.
+.sp
+.LP
+\fBcron\fR only examines \fBcrontab\fR or \fBat\fR command files during its own
+process initialization phase and when the \fBcrontab\fR or \fBat\fR command is
+run. This reduces the overhead of checking for new or changed files at
+regularly scheduled intervals.
+.sp
+.LP
+As \fBcron\fR never exits, it should be executed only once. This is done
+routinely by way of the \fBsvc:/system/cron:default\fR service. The file
+\fB/etc/cron.d/FIFO\fR file is used as a lock file to prevent the execution of
+more than one instance of \fBcron\fR.
+.sp
+.LP
+\fBcron\fR captures the output of the job's \fBstdout\fR and \fBstderr\fR
+streams, and, if it is not empty, mails the output to the user. If the job does
+not produce output, no mail is sent to the user. An exception is if the job is
+an \fBat\fR(1) job and the \fB-m\fR option was specified when the job was
+submitted.
+.sp
+.LP
+\fBcron\fR and \fBat\fR jobs are not executed if your account is locked. Jobs
+and processses execute. The \fBshadow\fR(4) file defines which accounts are not
+locked and will have their jobs and processes executed.
+.SS "Setting cron Jobs Across Timezones"
+.sp
+.LP
+The timezone of the \fBcron\fR daemon sets the system-wide timezone for
+\fBcron\fR entries. This, in turn, is by set by default system-wide using
+\fB/etc/default/init\fR. The timezone for \fBcron\fR entries can be overridden
+in a user's crontab file; see \fBcrontab\fR(1).
+.sp
+.LP
+If some form of \fBdaylight savings\fR or \fBsummer/winter time\fR is in
+effect, then jobs scheduled during the switchover period could be executed
+once, twice, or not at all.
+.SS "Setting cron Defaults"
+.sp
+.LP
+To keep a log of all actions taken by \fBcron\fR, you must specify
+\fBCRONLOG=YES\fR in the \fB/etc/default/cron\fR file. If you specify
+\fBCRONLOG=NO\fR, no logging is done. Keeping the log is a user configurable
+option since \fBcron\fR usually creates huge log files.
+.sp
+.LP
+You can specify the \fBPATH\fR for \fBuser\fR cron jobs by using
+\fBPATH\fR\fB=\fR in \fB/etc/default/cron\fR. You can set the \fBPATH\fR for
+\fBroot\fR cron jobs using \fBSU\fR\fBPATH\fR\fB=\fR in
+\fB/etc/default/cron\fR. Carefully consider the security implications of
+setting \fBPATH\fR and \fBSUPATH\fR.
+.sp
+.LP
+Example \fB/etc/default/cron\fR file:
+.sp
+.in +2
+.nf
+CRONLOG=YES
+PATH=/usr/bin:/usr/ucb:
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This example enables logging and sets the default \fBPATH\fR used by non-root
+jobs to \fB/usr/bin:/usr/ucb:\fR. Root jobs continue to use
+\fB/usr/sbin:/usr/bin\fR.
+.sp
+.LP
+The \fBcron\fR log file is periodically rotated by \fBlogadm\fR(1M).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/cron.d\fR\fR
+.ad
+.RS 25n
+.rt
+Main \fBcron\fR directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/cron.d/FIFO\fR\fR
+.ad
+.RS 25n
+.rt
+Lock file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/cron\fR\fR
+.ad
+.RS 25n
+.rt
+\fBcron\fR default settings file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/cron/log\fR\fR
+.ad
+.RS 25n
+.rt
+\fBcron\fR history information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/cron\fR\fR
+.ad
+.RS 25n
+.rt
+Spool area
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/cron.d/queuedefs\fR\fR
+.ad
+.RS 25n
+.rt
+Queue description file for \fBat\fR, \fBbatch\fR, and \fBcron\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/logadm.conf\fR\fR
+.ad
+.RS 25n
+.rt
+Configuration file for \fBlogadm\fR
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBat\fR(1), \fBcrontab\fR(1), \fBsh\fR(1), \fBlogadm\fR(1M),
+\fBsvcadm\fR(1M), \fBqueuedefs\fR(4), \fBshadow\fR(4), \fBattributes\fR(5),
+\fBrbac\fR(5), \fBsmf\fR(5), \fBsmf_security\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBcron\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/cron:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command. Most administrative
+actions may be delegated to users with the \fBsolaris.smf.manage.cron\fR
+authorization (see \fBrbac\fR(5) and \fBsmf_security\fR(5)).
+.SH DIAGNOSTICS
+.sp
+.LP
+A history of all actions taken by \fBcron\fR is stored in \fB/var/cron/log\fR
+and possibly in \fB/var/cron/olog\fR.
diff --git a/usr/src/man/man1m/cryptoadm.1m b/usr/src/man/man1m/cryptoadm.1m
new file mode 100644
index 0000000000..e41d15636a
--- /dev/null
+++ b/usr/src/man/man1m/cryptoadm.1m
@@ -0,0 +1,862 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cryptoadm 1M "1 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cryptoadm \- cryptographic framework administration
+.SH SYNOPSIS
+.LP
+.nf
+\fBcryptoadm\fR list [\fB-mpv\fR] [provider=\fIprovider-name\fR]
+ [mechanism=\fImechanism-list\fR]
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR disable
+ provider=\fIprovider-name\fR mechanism=\fImechanism-list\fR | random | all
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR enable
+ provider=\fIprovider-name\fR mechanism=\fImechanism-list\fR | random | all
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR install provider=\fIprovider-name\fR
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR install provider=\fIprovider-name\fR
+ [mechanism=\fImechanism-list\fR]
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR uninstall provider=\fIprovider-name\fR
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR unload provider=\fIprovider-name\fR
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR disable fips-140
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR enable fips-140
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR list fips-140
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR refresh
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR start
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR stop
+.fi
+
+.LP
+.nf
+\fBcryptoadm\fR \fB-\fR\fB-help\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcryptoadm\fR utility displays cryptographic provider information for a
+system, configures the mechanism policy for each provider, and installs or
+uninstalls a cryptographic provider. The cryptographic framework supports three
+types of providers: a user-level provider (a PKCS11 shared library), a kernel
+software provider (a loadable kernel software module), and a kernel hardware
+provider (a cryptographic hardware device).
+.sp
+.LP
+For kernel software providers, the \fBcryptoadm\fR utility provides the
+\fBunload\fR subcommand. This subcommand instructs the kernel to unload a
+kernel software providers.
+.sp
+.LP
+For the cryptographic framework's metaslot, the \fBcryptoadm\fR utility
+provides subcommands to enable and disable the metaslot's features, list
+metaslot's configuration, specify alternate persistent object storage, and
+configure the metaslot's mechanism policy.
+.sp
+.LP
+The \fBcryptoadm\fR utility provides subcommands to enable and disable FIPS-140
+mode in the Cryptographic Framework. It also provides a \fBlist\fR subcommand
+to display the current status of FIPS-140 mode.
+.sp
+.LP
+Administrators will find it useful to use \fBsyslog\fR facilities (see
+\fBsyslogd\fR(1M) and \fBlogadm\fR(1M)) to maintain the cryptographic
+subsystem. Logging can be especially useful under the following circumstances:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If kernel-level daemon is dead, all applications fail. You can learn this from
+syslog and use \fBsvcadm\fR(1M) to restart the \fBsvc:/system/cryptosvc\fR
+service.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If there are bad providers plugged into the framework, you can learn this from
+syslog and remove the bad providers from the framework.
+.RE
+.sp
+.LP
+With the exception of the subcommands or options listed below, the
+\fBcryptoadm\fR command needs to be run by a privileged user.
+.RS +4
+.TP
+.ie t \(bu
+.el o
+subcommand \fBlist\fR, any options
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+subcommand \fB-\fR\fB-help\fR
+.RE
+.SH OPTIONS
+.sp
+.LP
+The \fBcryptoadm\fR utility has the various combinations of subcommands and
+options shown below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the list of installed providers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBlist metaslot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the system-wide configuration for metaslot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBlist\fR \fB-m\fR \fB[ provider=\fIprovider-name\fR |
+metaslot ]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a list of mechanisms that can be used with the installed providers or
+metaslot. If a provider is specified, display the name of the specified
+provider and the mechanism list that can be used with that provider. If the
+metaslot keyword is specified, display the list of mechanisms that can be used
+with metaslot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBlist\fR \fB-p\fR \fB[ provider=\fIprovider-name\fR |
+metaslot ]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the mechanism policy (that is, which mechanisms are available and which
+are not) for the installed providers. Also display the provider feature policy
+or metaslot. If a provider is specified, display the name of the provider with
+the mechanism policy enforced on it only. If the metaslot keyword is specified,
+display the mechanism policy enforced on the metaslot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBlist\fR \fB-v\fR \fBprovider=\fIprovider-name\fR |
+metaslot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display details about the specified provider if a provider is specified. If the
+metaslot keyword is specified, display details about the metaslot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the various \fBlist\fR subcommands described above (except for \fBlist\fR
+\fB-p\fR), the \fB-v\fR (verbose) option provides details about providers,
+mechanisms and slots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBdisable provider=\fIprovider-name\fR\fR\fR
+.ad
+.br
+.na
+\fB[ mechanism=\fImechanism-list\fR | \fIprovider-feature\fR \fB\&... |\fR
+\fBall\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Disable the mechanisms or provider features specified for the provider. See
+OPERANDS for a description of \fImechanism\fR, \fIprovider-feature\fR, and the
+\fBall\fR keyword.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fB[ mechanism=\fImechanism-list\fR ] [ auto-key-migrate
+]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the metaslot feature in the cryptographic framework or disable some of
+metaslot's features. If no operand is specified, this command disables the
+metaslot feature in the cryptographic framework. If a list of mechanisms is
+specified, disable mechanisms specified for metaslot. If all mechanisms are
+disabled for metaslot, the metaslot will be disabled. See OPERANDS for a
+description of mechanism. If the \fBauto-key-migrate\fR keyword is specified,
+it disables the migration of sensitive token objects to other slots even if it
+is necessary for performing crypto operations. See OPERANDS for a description
+of \fBauto-key-migrate\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBenable provider=\fIprovider-name\fR\fR\fR
+.ad
+.br
+.na
+\fB[ mechanism=\fImechanism-list\fR | \fIprovider-feature\fR \fB\&... |\fR
+\fBall\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Enable the mechanisms or provider features specified for the provider. See
+OPERANDS for a description of \fImechanism\fR, \fIprovider-feature\fR, and the
+\fBall\fR keyword.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBenable metaslot [ mechanism=\fImechanism-list\fR ]
+|\fR\fR
+.ad
+.br
+.na
+\fB\fB[ [ token=\fItoken-label\fR] [ slot=\fIslot-description\fR] |\fR\fR
+.ad
+.br
+.na
+\fB\fBdefault-keystore ] | [ auto-key-migrate ]\fR\fR
+.ad
+.sp .6
+.RS 4n
+If no operand is specified, this command enables the metaslot feature in the
+cryptographic framework. If a list of mechanisms is specified, it enables only
+the list of specified mechanisms for metaslot. If \fItoken-label\fR is
+specified, the specified token will be used as the persistent object store. If
+the \fIslot-description\fR is specified, the specified slot will be used as the
+persistent object store. If both the \fItoken-label\fR and the
+\fIslot-description\fR are specified, the provider with the matching token
+label and slot description is used as the persistent object store. If the
+\fBdefault-keystore\fR keyword is specified, metaslot will use the default
+persistent object store. If the \fBauto-key-migrate\fR keyword is specified,
+sensitive token objects will automatically migrate to other slots as needed to
+complete certain crypto operations. See OPERANDS for a description of
+mechanism, token, slot, \fBdefault-keystore\fR, and \fBauto-key-migrate\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBinstall provider=\fIprovider-name\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Install a user-level provider into the system. The \fIprovider\fR operand must
+be an absolute pathname of the corresponding shared library. If there are both
+32-bit and 64-bit versions for a library, this command should be run once only
+with the path name containing \fB$ISA\fR. Note that \fB$ISA\fR is not a
+reference to an environment variable. Note also that \fB$ISA\fR must be quoted
+(with single quotes [for example, \fB\&'$ISA'\fR]) or the \fB$\fR must be
+escaped to keep it from being incorrectly expanded by the shell. The user-level
+framework expands \fB$ISA\fR to an empty string or an architecture-specific
+directory, for example, \fBsparcv9\fR.
+.sp
+The preferred way of installing a user-level provider is to build a package for
+the provider. For more information, see the \fISolaris Security for Developer's
+Guide\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBinstall provider=\fIprovider-name\fR\fR\fR
+.ad
+.br
+.na
+\fBmechanism=\fImechanism-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Install a kernel software provider into the system. The provider should contain
+the base name only. The \fImechanism-list\fR operand specifies the complete
+list of mechanisms to be supported by this provider.
+.sp
+The preferred way of installing a kernel software provider is to build a
+package for providers. For more information, see the \fISolaris Security for
+Developer's Guide\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBuninstall provider=\fIprovider-name\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uninstall the specified \fIprovider\fR and the associated mechanism policy from
+the system. This subcommand applies only to a user-level provider or a kernel
+software provider.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBunload provider=\fIprovider-name\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unload the kernel software module specified by \fIprovider\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBdisable fips-140\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable FIPS-140 mode in the Cryptographic Framework.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBenable fips-140\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable FIPS-140 mode in the Cryptographic Framework. This subcommand does not
+disable the non-FIPS approved algorithms from the user-level
+\fBpkcs11_softtoken\fR library and the kernel software providers. It is the
+consumers of the framework that are responsible for using only FIPS-approved
+algorithms.
+.sp
+Upon completion of this subcommand, a message is issued to inform the
+administrator that any plugins added that are not within the boundary might
+invalidate FIPS compliance and to check the Security Policies for those
+plugins. In addition, a warning message is issued to indicate that, in this
+release, the Cryptographic Framework has not been FIPS 140-2 certified.
+.sp
+The system will require a reboot to perform Power-Up Self Tests that include a
+cryptographic algorithm test and a software integrity test.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBlist fips-140\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the current setting of FIPS-140 mode in the Cryptographic Framework.
+The status of FIPS-140 mode is \fBenabled\fR or \fBdisabled\fR. The default
+FIPS-140 mode is \fBdisabled\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fBrefresh\fR\fR
+.ad
+.br
+.na
+\fB\fBcryptoadm\fR \fBstart\fR\fR
+.ad
+.br
+.na
+\fB\fBcryptoadm\fR \fBstop\fR\fR
+.ad
+.sp .6
+.RS 4n
+Private interfaces for use by \fBsmf\fR(5), these must not be used directly.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcryptoadm\fR \fB-help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the command usage.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fBprovider=\fIprovider-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+A user-level provider (a PKCS11 shared library), a kernel software provider (a
+loadable kernel software module), or a kernel hardware provider (a
+cryptographic hardware device).
+.sp
+A valid value of the \fIprovider\fR operand is one entry from the output of a
+command of the form: \fBcryptoadm\fR \fIlist\fR. A \fIprovider\fR operand for a
+user-level provider is an absolute pathname of the corresponding shared
+library. A \fIprovider\fR operand for a kernel software provider contains a
+base name only. A \fIprovider\fR operand for a kernel hardware provider is in a
+"\fIname\fR/\fInumber\fR" form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmechanism=\fImechanism-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma separated list of one or more PKCS #11 mechanisms. A process for
+implementing a cryptographic operation as defined in PKCS #11 specification.
+You can substitute \fBall\fR for \fImechanism-list\fR, to specify all
+mechanisms on a provider. See the discussion of the \fBall\fR keyword, below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprovider-feature\fR\fR
+.ad
+.sp .6
+.RS 4n
+A cryptographic framework feature for the given provider. Currently only
+\fBrandom\fR is accepted as a feature. For a user-level provider, disabling the
+random feature makes the PKCS #11 routines \fBC_GenerateRandom\fR and
+\fBC_SeedRandom\fR unavailable from the provider. For a kernel provider,
+disabling the random feature prevents \fB/dev/random\fR from gathering random
+numbers from the provider.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.sp .6
+.RS 4n
+The keyword all can be used with with the \fBdisable\fR and \fBenable\fR
+subcommands to operate on all provider features.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtoken=\fR\fItoken-label\fR\fR
+.ad
+.sp .6
+.RS 4n
+The label of a token in one of the providers in the cryptographic framework.
+.sp
+A valid value of the token operand is an item displayed under "Token Label"
+from the output of the command \fBcryptoadm list\fR \fB-v\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBslot=\fR\fIslot-description\fR\fR
+.ad
+.sp .6
+.RS 4n
+The description of a slot in one of the providers in the cryptographic
+framework.
+.sp
+A valid value of the slot operand is an item displayed under "Description" from
+the output of the command \fBcryptoadm list\fR \fB-v\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefault-keystore\fR\fR
+.ad
+.sp .6
+.RS 4n
+The keyword \fBdefault-keystore\fR is valid only for metaslot. Specify this
+keyword to set the persistent object store for metaslot back to using the
+default store.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauto-key-migrate\fR\fR
+.ad
+.sp .6
+.RS 4n
+The keyword auto-key-migrate is valid only for metaslot. Specify this keyword
+to configure whether metaslot is allowed to move sensitive token objects from
+the token object slot to other slots for performing cryptographic operations.
+.RE
+
+.sp
+.LP
+The keyword \fBall\fR can be used in two ways with the \fBdisable\fR and
+\fBenable\fR subcommands:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+You can substitute \fBall\fR for \fBmechanism\fR=\fImechanism-list\fR, as in:
+.sp
+.in +2
+.nf
+# \fBcryptoadm enable provider=dca/0 all\fR
+.fi
+.in -2
+.sp
+
+This command enables the mechanisms on the provider \fBand\fR any other
+provider-features, such as \fBrandom\fR.
+.sp
+.in +2
+.nf
+# \fBcryptoadm enable provider=des mechanism=all\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+You can also use \fBall\fR as an argument to \fBmechanism\fR, as in:
+.sp
+.in +2
+.nf
+# \fBcryptoadm enable provider=des mechanism=all\fR
+.fi
+.in -2
+.sp
+
+\&...which enables all mechanisms on the provider, but enables no other
+provider-features, such as \fBrandom\fR.
+.RE
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplay List of Providers Installed in System
+.sp
+.LP
+The following command displays a list of all installed providers:
+
+.sp
+.in +2
+.nf
+example% \fBcryptoadm list\fR
+user-level providers:
+/usr/lib/security/$ISA/pkcs11_kernel.so
+/usr/lib/security/$ISA/pkcs11_softtoken.so
+/opt/lib/libcryptoki.so.1
+/opt/SUNWconn/lib/$ISA/libpkcs11.so.1
+
+kernel software providers:
+ des
+ aes
+ bfish
+ sha1
+ md5
+
+kernel hardware providers:
+ dca/0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplay Mechanism List for \fBmd5\fR Provider
+.sp
+.LP
+The following command is a variation of the \fBlist\fR subcommand:
+
+.sp
+.in +2
+.nf
+example% \fBcryptoadm list -m provider=md5\fR
+md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisable Specific Mechanisms for Kernel Software Provider
+.sp
+.LP
+The following command disables mechanisms \fBCKM_DES3_ECB\fR and
+\fBCKM_DES3_CBC\fR for the kernel software provider \fBdes\fR:
+
+.sp
+.in +2
+.nf
+example# \fBcryptoadm disable provider=des\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisplay Mechanism Policy for a Provider
+.sp
+.LP
+The following command displays the mechanism policy for the \fBdes\fR provider:
+
+.sp
+.in +2
+.nf
+example% \fBcryptoadm list -p provider=des\fR
+des: All mechanisms are enabled, except CKM_DES3_ECB, CKM_DES3_CBC
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fREnable Specific Mechanism for a Provider
+.sp
+.LP
+The following command enables the \fBCKM_DES3_ECB\fR mechanism for the kernel
+software provider \fBdes\fR:
+
+.sp
+.in +2
+.nf
+example# \fBcryptoadm enable provider=des mechanism=CKM_DES3_ECB\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRInstall User-Level Provider
+.sp
+.LP
+The following command installs a user-level provider:
+
+.sp
+.in +2
+.nf
+example# \fBcryptoadm install provider=/opt/lib/libcryptoki.so.1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRInstall User-Level Provider That Contains 32- and 64-bit
+Versions
+.sp
+.LP
+The following command installs a user-level provider that contains both 32-bit
+and 64-bit versions:
+
+.sp
+.in +2
+.nf
+example# \fBcryptoadm install \e\fR
+provider=/opt/SUNWconn/lib/'$ISA'/libpkcs11.so.1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRUninstall a Provider
+.sp
+.LP
+The following command uninstalls the \fBmd5\fR provider:
+
+.sp
+.in +2
+.nf
+example# \fBcryptoadm uninstall provider=md5\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRDisable metaslot
+.sp
+.LP
+The following command disables the metaslot feature in the cryptographic
+framework.
+
+.sp
+.in +2
+.nf
+example# \fBcryptoadm disable metaslot\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRSpecify metaslot to Use Specified Token as Persistent Object
+Store
+.sp
+.LP
+The following command specifies that metaslot use the Venus token as the
+persistent object store.
+
+.sp
+.in +2
+.nf
+example# \fBcryptoadm enable metaslot token="SUNW,venus"\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below
+.TE
+
+.sp
+.LP
+The \fBstart\fR, \fBstop\fR, and \fBrefresh\fR options are Private interfaces.
+All other options are Evolving. The utility name is Stable.
+.SH SEE ALSO
+.sp
+.LP
+\fBlogadm\fR(1M), \fBsvcadm\fR(1M), \fBsyslogd\fR(1M), \fBlibpkcs11\fR(3LIB),
+\fBexec_attr\fR(4), \fBprof_attr\fR(4), \fBattributes\fR(5), \fBsmf\fR(5),
+\fBrandom\fR(7D)
+.sp
+.LP
+
+.sp
+.LP
+\fISolaris Security for Developer's Guide\fR
+.SH NOTES
+.sp
+.LP
+If a hardware provider's policy was made explicitly (that is, some of its
+mechanisms were disabled) and the hardware provider has been detached, the
+policy of this hardware provider is still listed.
+.sp
+.LP
+\fBcryptoadm\fR assumes that, minimally, a 32-bit shared object is delivered
+for each user-level provider. If both a 32-bit and 64-bit shared object are
+delivered, the two versions must provide the same functionality. The same
+mechanism policy applies to both.
diff --git a/usr/src/man/man1m/cvcd.1m b/usr/src/man/man1m/cvcd.1m
new file mode 100644
index 0000000000..735ceb7ca7
--- /dev/null
+++ b/usr/src/man/man1m/cvcd.1m
@@ -0,0 +1,171 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH cvcd 1M "9 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+cvcd \- virtual console daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/platform\fI\fR/\fIplatform_name\fR/cvcd\fR [\fB-a\fR \fIauth\fR] [\fB-e\fR \fIencr\fR]
+ [\fB-u\fR \fIesp_auth\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The virtual console daemon, \fBcvcd\fR, is a server process that supports the
+network console provided on some platforms. The \fBcvcd\fR daemon accepts
+network console connections from a remote host (only one host at any given
+time). Console input is read from this connection and forwarded to
+\fBcvc\fR(7D) by way of \fBcvcredir\fR(7D).
+.sp
+.LP
+Similarly, console output is read from \fBcvcredir\fR(7D) and forwarded across
+the network console connection. If \fBcvcd\fR dies, console traffic is
+automatically rerouted through an internal hardware interface.
+.sp
+.LP
+The \fBcvcd\fR daemon normally starts at system boot time. Each domain supports
+only one \fBcvcd\fR process at a time.
+.LP
+Caution -
+.sp
+.RS 2
+On Sun Enterprise 10000 domains, \fBcvcd\fR uses a configuration file
+(\fB/etc/ssphostname\fR) to determine the name of the host from which network
+console connections are allowed. If the remote console host is renamed, you
+must edit the configuration file to reflect that change.
+.RE
+.sp
+.LP
+The \fBcvcd\fR daemon supports per-socket IP Security Architecture (IPsec)
+through the options described below. See \fBipsec\fR(7P).
+.SH OPTIONS
+.sp
+.LP
+The \fBcvcd\fR daemon supports the options listed below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIauth\fR\fR
+.ad
+.RS 15n
+.rt
+Controls the IPsec Authentication Header (AH) algorithm. \fIauth\fR can be one
+of \fBnone\fR, \fBmd5\fR, or \fBsha1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIencr\fR\fR
+.ad
+.RS 15n
+.rt
+Controls the IPsec Encapsulating Security Payload (ESP) encryption algorithm.
+\fIencr\fR can be one of \fBnone\fR, \fBdes\fR, or \fB3des\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIesp_auth\fR\fR
+.ad
+.RS 15n
+.rt
+Controls the IPsec Encapsulating Security Payload (ESP) authentication
+algorithm. \fIesp_auth\fR can be one of \fBnone\fR, \fBmd5\fR, or \fBsha1\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIplatform_name\fR\fR
+.ad
+.RS 17n
+.rt
+The official Sun platform name used in packaging and code. For example, for Sun
+Fire 15K servers, the \fIplatform_name\fR would be \fBSUNW,Sun-Fire-15000\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting an IPSec Option
+.sp
+.LP
+The command below sets the value of the IPsec Authentication Header algorithm
+to \fBmd5\fR. As a result of this command, \fBcvcd\fR will use the HMAC-MD5
+authentication algorithm.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg -s svc:/system/cvc setprop cvc/ah_auth = "md5"\fR
+# \fBsvccfg -s svc:/system/cvc setprop cvc/esp_encr = "none"\fR
+# \fBsvccfg -s svc:/system/cvc setprop cvc/esp_auth = "none"\fR
+# \fBsvcadm refresh svc:/system/cvc\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+ArchitectureT{
+Sun Enterprise 10000 servers, Sun Fire High-End Systems
+T}
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M), \fBservices\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5), \fBcvc\fR(7D), \fBcvcredir\fR(7D),
+\fBipsec\fR(7P)
+.sp
+.LP
+\fISun Enterprise 10000 SSP Reference Manual\fR
+.sp
+.LP
+\fISystem Management Services (SMS) Reference Manual\fR
+.SH NOTES
+.sp
+.LP
+The \fBcvcd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the fault management resource identifier (FMRI):
+.sp
+.in +2
+.nf
+svc:/system/cvc
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M) or
+\fBsvccfg\fR(1M). The service's status can be queried using the \fBsvcs\fR(1)
+command.
diff --git a/usr/src/man/man1m/datadm.1m b/usr/src/man/man1m/datadm.1m
new file mode 100644
index 0000000000..e80344e5da
--- /dev/null
+++ b/usr/src/man/man1m/datadm.1m
@@ -0,0 +1,217 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH datadm 1M "18 Jun 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+datadm \- maintain DAT static registry file
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/datadm\fR [\fB-v\fR] [\fB-u\fR] [\fB-a\fR service_provider.conf]
+ [\fB-r\fR service_provider.conf]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdatadm\fR utility maintains the DAT static registry file,
+\fBdat.conf\fR(4).
+.sp
+.LP
+This administrative configuration program allows uDAPL service providers to add
+and remove themselves to the \fBdat.conf\fR file.
+.sp
+.LP
+You can add or remove interface adapters that a service provider supports from
+a system after its installation. You can use \fBdatadm\fR to update the
+\fBdat.conf\fR file to reflect the current state of the system. A new set of
+interface adapters for all the service providers currently installed is
+regenerated.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fBservice_provider.conf\fR\fR
+.ad
+.RS 28n
+.rt
+Enumerate each device entry in the \fBservice_provider.conf\fR(4) file into a
+list of interface adapters, that is, interfaces to external network that are
+available to uDAPL consumers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fBservice_provider.conf\fR\fR
+.ad
+.RS 28n
+.rt
+Remove the list of interface adapters that corresponds to the device entry in
+the \fBservice_provider.conf\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 28n
+.rt
+Update the \fBdat.conf\fR to reflect the current state of the system with an up
+to date set of interface adapters for the service providers that are currently
+listed in the DAT static registry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 28n
+.rt
+Display the DAT static registry file, \fBdat.conf\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREnumerating a Device Entry
+.sp
+.LP
+The following example enumerates a device entry in the
+\fBservice_provider.conf\fR(4) file into interface adapters in the
+\fBdat.conf\fR(4) file.
+
+.sp
+.LP
+Assume that \fBSUNW\fR has a service provider library that supports the device
+\fBtavor\fR. It has a \fBservice_provider.conf\fR(4) file installed in the
+directory \fB/usr/share/dat/SUNWudaplt.conf\fR with a single entry as follows:
+
+.sp
+.in +2
+.nf
+driver_name=tavor u1.2 nonthreadsafe default\e
+ udapl_tavor.so.1 SUNW.1.0 ""
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBtavor\fR is an Infiniband Host Channel Adapter with two ports. Both IB ports
+exist in a single IB partition, \fB0x8001\fR. If an IP interface is plumbed to
+each port, there are two IPoIB device instances, \fBibd0\fR and \fBibd1\fR:
+
+.sp
+.in +2
+.nf
+# ls -l /dev/ibd*
+/dev/ibd0 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8001,ipib:ibd0
+/dev/ibd1 -> /devices/pci@1/pci15b3,5a44@0/ibport@2,8001,ipib:ibd1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Running the command, \fBdatadm -a /usr/share/dat/SUNWudaplt.conf\fR appends two
+new entries (if they do not already exists]) in the
+\fB/etc/dat/dat.conf\fRfile:
+
+.sp
+.in +2
+.nf
+ibd0 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
+"driver_name=tavor"
+ibd1 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
+"driver_name=tavor"
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRUpdating the \fBdat.conf\fR to Reflect the Current State of the
+System
+.sp
+.LP
+A new IB partition, 0x8002 is added to the above example covering port 1 of the
+Host Channel Adapter. If a new IP interface is plumbed to \fBport 1/partition
+0x8002\fR, there is a third IPoIB device instance: \fBibd2\fR.
+
+.sp
+.in +2
+.nf
+# ls -l /dev/ibd*
+ /dev/ibd0 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8001,ipib:ibd0
+ /dev/ibd1 -> /devices/pci@1/pci15b3,5a44@0/ibport@2,8001,ipib:ibd1
+ /dev/ibd2 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8002,ipib:ibd2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Running \fBdatadm -u\fR command, updates the \fB/etc/dat/dat.conf\fR file with
+a new entry added reflecting the current state of the system.
+
+.sp
+.LP
+\fBdatadm -v\fR shows that there are now three entries in the
+\fB/etc/dat/dat.conf\fR file:
+
+.sp
+.in +2
+.nf
+ibd0 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
+"driver_name=tavor"
+ibd1 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
+"driver_name=tavor"
+ibd2 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
+"driver_name=tavor"
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dat/dat.conf\fR\fR
+.ad
+.RS 21n
+.rt
+DAT static registry file
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkgadd\fR(1M), \fBpkgrm\fR(1M), \fBlibdat\fR(3LIB), \fBdat.conf\fR(4),
+\fBservice_provider.conf\fR(4). \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dcs.1m b/usr/src/man/man1m/dcs.1m
new file mode 100644
index 0000000000..dde18a686b
--- /dev/null
+++ b/usr/src/man/man1m/dcs.1m
@@ -0,0 +1,205 @@
+'\" te
+.\" Copyright 2005 (c), Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dcs 1M "25 Apr 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dcs \- domain configuration server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/dcs\fR [\fB-s\fR \fIsessions\fR]
+ [ [\fB-a\fR \fIauth\fR] [\fB-e\fR \fIencr\fR] [\fB-u\fR \fIesp_auth\fR] ] [\fB-l\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Domain Configuration Server (DCS) is a daemon process that runs on Sun
+servers that support remote Dynamic Reconfiguration (DR) clients. It is started
+by the Service Management Facility (see \fBsmf\fR(5)) when the first DR request
+is received from a client connecting to the network service \fBsun-dr\fR. After
+the DCS accepts a DR request, it uses the \fBlibcfgadm\fR(3LIB) interface to
+execute the DR operation. After the operation is performed, the results are
+returned to the client.
+.sp
+.LP
+The DCS listens on the network service labeled \fBsun-dr\fR. Its underlying
+protocol is TCP. It is invoked as a server program by the SMF using the TCP
+transport. The fault management resource identifier (FMRI) for DCS is:
+.sp
+.in +2
+.nf
+svc:/platform/sun4u/dcs:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If you disable this service, DR operations initiated from a remote host fail.
+There is no negative impact on the server.
+.sp
+.LP
+Security for the DCS connection is provided differently based upon the
+architecture of the system. The SMF specifies the correct options when invoking
+the DCS daemon, based upon the current architecture. For all architectures,
+security is provided on a per-connection basis.
+.sp
+.LP
+The DCS daemon has no security options that are applicable when used on a Sun
+Enterprise 10000 system. So there are no options applicable to that
+architecture.
+.sp
+.LP
+The security options for Sun Fire high-end systems are based on IPsec options
+defined as SMF properties. These options include the \fB-a\fR \fIauth\fR,
+\fB-e\fR \fIencr\fR, and \fB-u\fR \fIesp_auth\fR options, and can be set using
+the \fBsvccfg\fR(1M) command. These options must match the IPsec policies
+defined for DCS on the system controller. Refer to the \fBkmd(1M)\fR man page
+in the \fISystem Management Services (SMS) Reference Manual\fR. The
+\fBkmd(1M)\fR man page is not part of the SunOS man page collection.
+.sp
+.LP
+Security on SPARC Enterprise Servers is not configurable. The DCS daemon uses a
+platform-specific library to configure its security options when running on
+such systems. The \fB-l\fR option is provided by the SMF when invoking the DCS
+daemon on SPARC Enterprise Servers. No other security options to the DCS daemon
+should be used on SPARC Enterprise Servers.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIauth\fR\fR
+.ad
+.RS 15n
+.rt
+Controls the IPsec Authentication Header (AH) algorithm. \fIauth\fR can be one
+of \fBnone\fR, \fBmd5\fR, or \fBsha1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIencr\fR\fR
+.ad
+.RS 15n
+.rt
+Controls the IPsec Encapsulating Security Payload (ESP) encryption algorithm.
+\fIencr\fR can be one of \fBnone\fR, \fBdes\fR, or \fB3des\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 15n
+.rt
+Enables the use of platform-specific security options on SPARC Enterprise
+Servers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsessions\fR\fR
+.ad
+.RS 15n
+.rt
+Sets the number of active sessions that the DCS allows at any one time. When
+the limit is reached, the DCS stops accepting connections until active sessions
+complete the execution of their DR operation. If this option is not specified,
+a default value of 128 is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIesp_auth\fR\fR
+.ad
+.RS 15n
+.rt
+Controls the IPsec Encapsulating Security Payload (ESP) authentication
+algorithm. \fIesp_auth\fR can be one of \fBnone\fR, \fBmd5\fR, or \fBsha1\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting an IPSec Option
+.sp
+.LP
+The following command sets the Authentication Header algorithm for the DCS
+daemon to use the HMAC-MD5 authentication algorithm. These settings are only
+applicable for using the DCS daemon on a Sun Fire high-end system.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg -s svc:/platform/sun4u/dcs setprop dcs/ah_auth = "md5"\fR
+# \fBsvccfg -s svc:/platform/sun4u/dcs setprop dcs/esp_encr = "none"\fR
+# \fBsvccfg -s svc:/platform/sun4u/dcs setprop dcs/esp_auth = "none"\fR
+# \fBsvcadm refresh svc:/platform/sun4u/dcs\fR
+.fi
+.in -2
+.sp
+
+.SH ERRORS
+.sp
+.LP
+The DCS uses \fBsyslog\fR(3C) to report status and error messages. All of the
+messages are logged with the \fBLOG_DAEMON\fR facility. Error messages are
+logged with the \fBLOG_ERR\fR and \fBLOG_NOTICE\fR priorities, and
+informational messages are logged with the \fBLOG_INFO\fR priority. The default
+entries in the \fB/etc/syslog.conf\fR file log all of the DCS error messages to
+the \fB/var/adm/messages\fR log.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBcfgadm_sbd\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBsyslog\fR(3C), \fBconfig_admin\fR(3CFGADM), \fBlibcfgadm\fR(3LIB),
+\fBsyslog.conf\fR(4), \fBattributes\fR(5), \fBsmf\fR(5), \fBdr\fR(7D)
+.SH NOTES
+.sp
+.LP
+The \fBdcs\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the fault management resource identifier (FMRI):
+.sp
+.in +2
+.nf
+svc:/platform/sun4u/dcs:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/dd.1m b/usr/src/man/man1m/dd.1m
new file mode 100644
index 0000000000..c57030459e
--- /dev/null
+++ b/usr/src/man/man1m/dd.1m
@@ -0,0 +1,619 @@
+'\" te
+.\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1995, Sun Microsystems, Inc. All Rights Reserved
+.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at
+.\" http://www.opengroup.org/bookstore/.
+.\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
+.\" This notice shall appear on any product containing this material.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dd 1M "16 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dd \- convert and copy a file
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/dd\fR [\fIoperand=value\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdd\fR utility copies the specified input file to the specified output
+with possible conversions. The standard input and output are used by default.
+The input and output block sizes may be specified to take advantage of raw
+physical I/O. Sizes are specified in bytes; a number may end with \fBk\fR,
+\fBb\fR, or \fBw\fR to specify multiplication by 1024, 512, or 2, respectively.
+Numbers may also be separated by \fBx\fR to indicate multiplication.
+.sp
+.LP
+The \fBdd\fR utility reads the input one block at a time, using the specified
+input block size. \fBdd\fR then processes the block of data actually returned,
+which could be smaller than the requested block size. \fBdd\fR applies any
+conversions that have been specified and writes the resulting data to the
+output in blocks of the specified output block size.
+.sp
+.LP
+\fBcbs\fR is used only if \fBascii\fR, \fBasciib\fR, \fBunblock\fR,
+\fBebcdic\fR, \fBebcdicb\fR, \fBibm\fR, \fBibmb\fR, or \fBblock\fR conversion
+is specified. In the first two cases, \fBcbs\fR characters are copied into the
+conversion buffer, any specified character mapping is done, trailing blanks are
+trimmed, and a \fBNEWLINE\fR is added before sending the line to output. In the
+last three cases, characters up to \fBNEWLINE\fR are read into the conversion
+buffer and blanks are added to make up an output record of size \fBcbs\fR.
+\fBASCII\fR files are presumed to contain \fBNEWLINE\fR characters. If
+\fBcbs\fR is unspecified or \fB0\fR, the \fBascii\fR, \fBasciib\fR,
+\fBebcdic\fR, \fBebcdicb\fR, \fBibm\fR, and \fBibmb\fR options convert the
+character set without changing the input file's block structure. The
+\fBunblock\fR and \fBblock\fR options become a simple file copy.
+.sp
+.LP
+After completion, \fBdd\fR reports the number of whole and partial input and
+output blocks.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBif=\fR\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the input path. Standard input is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBof=\fR\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the output path. Standard output is the default. If the
+\fBseek=\fR\fBexpr\fR conversion is not also specified, the output file will be
+truncated before the copy begins, unless \fBconv=notrunc\fR is specified. If
+\fBseek=\fR\fBexpr\fR is specified, but \fBconv=notrunc\fR is not, the effect
+of the copy will be to preserve the blocks in the output file over which
+\fBdd\fR seeks, but no other portion of the output file will be preserved. (If
+the size of the seek plus the size of the input file is less than the previous
+size of the output file, the output file is shortened by the copy.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBibs=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the input block size in \fIn\fR bytes (default is \fB512\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBobs=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the output block size in \fIn\fR bytes (default is \fB512\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbs=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets both input and output block sizes to \fIn\fR bytes, superseding \fBibs=\fR
+and \fBobs=\fR. If no conversion other than \fBsync\fR,\fB noerror\fR, and
+\fBnotrunc\fR is specified, each input block is copied to the output as a
+single block without aggregating short blocks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcbs=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the conversion block size for \fBblock\fR and \fBunblock\fR in bytes
+by \fIn\fR (default is \fB0\fR). If \fBcbs=\fR is omitted or given a value of
+\fB0\fR, using \fBblock\fR or \fBunblock\fR produces unspecified results.
+.sp
+This option is used only if \fBASCII\fR or \fBEBCDIC\fR conversion is
+specified. For the \fBascii\fR and \fBasciib\fR operands, the input is handled
+as described for the \fBunblock\fR operand except that characters are converted
+to \fBASCII\fR before the trailing \fBSPACE\fR characters are deleted. For the
+\fBebcdic\fR, \fBebcdicb\fR, \fBibm\fR, and \fBibmb\fR operands, the input is
+handled as described for the \fBblock\fR operand except that the characters are
+converted to \fBEBCDIC\fR or IBM \fBEBCDIC\fR after the trailing \fBSPACE\fR
+characters are added.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfiles=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Copies and concatenates \fIn\fR input files before terminating (makes sense
+only where input is a magnetic tape or similar device).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBskip=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Skips \fIn\fR input blocks (using the specified input block size) before
+starting to copy. On seekable files, the implementation reads the blocks or
+seeks past them. On non-seekable files, the blocks are read and the data is
+discarded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBiseek=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Seeks \fIn\fR blocks from beginning of input file before copying (appropriate
+for disk files, where \fBskip\fR can be incredibly slow).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoseek=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Seeks \fIn\fR blocks from beginning of output file before copying.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBseek=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Skips \fIn\fR blocks (using the specified output block size) from beginning of
+output file before copying. On non-seekable files, existing blocks are read and
+space from the current end-of-file to the specified offset, if any, is filled
+with null bytes. On seekable files, the implementation seeks to the specified
+offset or reads the blocks as described for non-seekable files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcount=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Copies only \fIn\fR input blocks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconv=\fR\fIvalue\fR[\fB,\fR\fIvalue\fR.\|.\|.\|]\fR
+.ad
+.sp .6
+.RS 4n
+Where \fIvalue\fRs are comma-separated symbols from the following list:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBascii\fR\fR
+.ad
+.RS 11n
+.rt
+Converts \fBEBCDIC\fR to \fBASCII\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBasciib\fR\fR
+.ad
+.RS 11n
+.rt
+Converts \fBEBCDIC\fR to \fBASCII\fR using \fBBSD\fR-compatible character
+translations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBebcdic\fR\fR
+.ad
+.RS 11n
+.rt
+Converts \fBASCII\fR to \fBEBCDIC\fR. If converting fixed-length \fBASCII\fR
+records without NEWLINEs, sets up a pipeline with \fBdd conv=unblock\fR
+beforehand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBebcdicb\fR\fR
+.ad
+.RS 11n
+.rt
+Converts \fBASCII\fR to \fBEBCDIC\fR using \fBBSD\fR-compatible character
+translations. If converting fixed-length \fBASCII\fR records without
+\fBNEWLINE\fRs, sets up a pipeline with \fBdd conv=unblock\fR beforehand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBibm\fR\fR
+.ad
+.RS 11n
+.rt
+Slightly different map of \fBASCII\fR to \fBEBCDIC\fR. If converting
+fixed-length \fBASCII\fR records without \fBNEWLINE\fRs, sets up a pipeline
+with \fBdd conv=unblock\fR beforehand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBibmb\fR\fR
+.ad
+.RS 11n
+.rt
+Slightly different map of \fBASCII\fR to \fBEBCDIC\fR using
+\fBBSD\fR-compatible character translations. If converting fixed-length
+\fBASCII\fR records without \fBNEWLINE\fRs, sets up a pipeline with \fBdd
+conv=unblock\fR beforehand.
+.RE
+
+The \fBascii\fR (or \fBasciib\fR), \fBebcdic\fR (or \fBebcdicb\fR), and
+\fBibm\fR (or \fBibmb\fR) values are mutually exclusive.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBblock\fR\fR
+.ad
+.RS 11n
+.rt
+Treats the input as a sequence of \fBNEWLINE\fR-terminated or
+\fBEOF\fR-terminated variable-length records independent of the input block
+boundaries. Each record is converted to a record with a fixed length specified
+by the conversion block size. Any \fBNEWLINE\fR character is removed from the
+input line. \fBSPACE\fR characters are appended to lines that are shorter than
+their conversion block size to fill the block. Lines that are longer than the
+conversion block size are truncated to the largest number of characters that
+will fit into that size. The number of truncated lines is reported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunblock\fR\fR
+.ad
+.RS 11n
+.rt
+Converts fixed-length records to variable length. Reads a number of bytes equal
+to the conversion block size (or the number of bytes remaining in the input, if
+less than the conversion block size), delete all trailing \fBSPACE\fR
+characters, and append a \fBNEWLINE\fR character.
+.RE
+
+The \fBblock\fR and \fBunblock\fR values are mutually exclusive.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlcase\fR\fR
+.ad
+.RS 9n
+.rt
+Maps upper-case characters specified by the \fBLC_CTYPE\fR keyword
+\fBtolower\fR to the corresponding lower-case character. Characters for which
+no mapping is specified are not modified by this conversion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBucase\fR\fR
+.ad
+.RS 9n
+.rt
+Maps lower-case characters specified by the \fBLC_CTYPE\fR keyword
+\fBtoupper\fR to the corresponding upper-case character. Characters for which
+no mapping is specified are not modified by this conversion.
+.RE
+
+The \fBlcase\fR and \fBucase\fR symbols are mutually exclusive.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBswab\fR\fR
+.ad
+.RS 11n
+.rt
+Swaps every pair of input bytes. If the current input record is an odd number
+of bytes, the last byte in the input record is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoerror\fR\fR
+.ad
+.RS 11n
+.rt
+Does not stop processing on an input error. When an input error occurs, a
+diagnostic message is written on standard error, followed by the current input
+and output block counts in the same format as used at completion. If the
+\fBsync\fR conversion is specified, the missing input is replaced with null
+bytes and processed normally. Otherwise, the input block will be omitted from
+the output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnotrunc\fR\fR
+.ad
+.RS 11n
+.rt
+Does not truncate the output file. Preserves blocks in the output file not
+explicitly written by this invocation of \fBdd\fR. (See also the preceding
+\fBof=\fR\fIfile\fR operand.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsync\fR\fR
+.ad
+.RS 11n
+.rt
+Pads every input block to the size of the \fBibs=\fR buffer, appending null
+bytes. (If either \fBblock\fR or \fBunblock\fR is also specified, appends
+\fBSPACE\fR characters, rather than null bytes.)
+.RE
+
+.RE
+
+.sp
+.LP
+If operands other than \fBconv=\fR are specified more than once, the last
+specified \fBoperand=\fR\fIvalue\fR is used.
+.sp
+.LP
+For the \fBbs=\fR, \fBcbs=\fR, \fBibs=\fR, and \fBobs=\fR operands, the
+application must supply an expression specifying a size in bytes. The
+expression, \fBexpr\fR, can be:
+.RS +4
+.TP
+1.
+a positive decimal number
+.RE
+.RS +4
+.TP
+2.
+a positive decimal number followed by \fBk\fR, specifying multiplication by
+1024
+.RE
+.RS +4
+.TP
+3.
+a positive decimal number followed by \fBb\fR, specifying multiplication by
+512
+.RE
+.RS +4
+.TP
+4.
+two or more positive decimal numbers (with or without \fBk\fR or \fBb\fR)
+separated by \fBx\fR, specifying the product of the indicated values.
+.RE
+.sp
+.LP
+All of the operands will be processed before any input is read.
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBdd\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCopying from one tape drive to another
+.sp
+.LP
+The following example copies from tape drive \fB0\fR to tape drive \fB1\fR,
+using a common historical device naming convention.
+
+.sp
+.in +2
+.nf
+example% \fBdd if=/dev/rmt/0h of=/dev/rmt/1h\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRStripping the first 10 bytes from standard input
+.sp
+.LP
+The following example strips the first 10 bytes from standard input:
+
+.sp
+.in +2
+.nf
+example% \fBdd ibs=10 skip=1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRReading a tape into an ASCII file
+.sp
+.LP
+This example reads an \fBEBCDIC\fR tape blocked ten 80-byte \fBEBCDIC\fR card
+images per block into the \fBASCII\fR file \fBx\fR:
+
+.sp
+.in +2
+.nf
+example% \fBdd if=/dev/tape of=x ibs=800 cbs=80 conv=ascii,lcase\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUsing conv=sync to write to tape
+.sp
+.LP
+The following example uses \fBconv=sync\fR when writing to a tape:
+
+.sp
+.in +2
+.nf
+example% \fBtar cvf - . | compress | dd obs=1024k of=/dev/rmt/0 conv=sync\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBdd\fR: \fBLANG\fR, \fBLC_ALL\fR,
+\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+The input file was copied successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.sp
+.LP
+If an input error is detected and the \fBnoerror\fR conversion has not been
+specified, any partial output block will be written to the output file, a
+diagnostic message will be written, and the copy operation will be
+discontinued. If some other error is detected, a diagnostic message will be
+written and the copy operation will be discontinued.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStandard
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcp\fR(1), \fBsed\fR(1), \fBtr\fR(1), \fBattributes\fR(5), \fBenviron\fR(5),
+\fBlargefile\fR(5), \fBstandards\fR(5)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf+p records in(out)\fR\fR
+.ad
+.RS 23n
+.rt
+numbers of full and partial blocks read(written)
+.RE
+
+.SH NOTES
+.sp
+.LP
+Do not use \fBdd\fR to copy files between file systems having different block
+sizes.
+.sp
+.LP
+Using a blocked device to copy a file will result in extra nulls being added
+to the file to pad the final block to the block boundary.
+.sp
+.LP
+When \fBdd\fR reads from a pipe, using the \fBibs=X\fR and \fBobs=Y\fR
+operands, the output will always be blocked in chunks of size Y. When
+\fBbs=Z\fR is used, the output blocks will be whatever was available to be read
+from the pipe at the time.
+.sp
+.LP
+When using \fBdd\fR to copy files to a tape device, the file size must be a
+multiple of the device sector size (for example, 512 Kbyte). To copy files of
+arbitrary size to a tape device, use \fBtar\fR(1) or \fBcpio\fR(1).
+.sp
+.LP
+For \fBSIGINT\fR, \fBdd\fR writes status information to standard error before
+exiting. It takes the standard action for all other signals.
diff --git a/usr/src/man/man1m/devattr.1m b/usr/src/man/man1m/devattr.1m
new file mode 100644
index 0000000000..b9ec1fd5e4
--- /dev/null
+++ b/usr/src/man/man1m/devattr.1m
@@ -0,0 +1,137 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH devattr 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+devattr \- display device attributes
+.SH SYNOPSIS
+.LP
+.nf
+\fBdevattr\fR [\fB-v\fR] \fIdevice\fR [\fIattribute\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevattr\fR displays the values for a device's attributes. The display can be
+presented in two formats. Used without the \fB-v\fR option, only the attribute
+values are shown. Used with the \fB-v\fR option, the attributes are shown in
+an \fIattribute\fR\fB=\fR\fIvalue\fR format. When no attributes are given on
+the command line, all attributes for the specified device are displayed in
+alphabetical order by attribute name. If attributes are given on the command
+line, only those attributes are shown, displayed in command line order.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies verbose format. Attribute values are displayed in an
+\fIattribute\fR\fB=\fR\fIvalue\fR format.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fR
+.ad
+.RS 13n
+.rt
+Defines which attribute, or attributes, should be shown. Default is to show all
+attributes for a device. See the \fBputdev\fR(1M) manual page for a complete
+listing and description of available attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 13n
+.rt
+Defines the device whose attributes should be displayed. Can be the pathname of
+the device or the device alias.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, invalid option was used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Device table could not be opened for reading.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Requested device could not be found in the device table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+Requested attribute was not defined for the specified device.
+.RE
+
+.SH FILES
+.sp
+.LP
+\fB/etc/device.tab\fR
+.SH SEE ALSO
+.sp
+.LP
+\fBgetdev\fR(1M), \fBputdev\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/devfree.1m b/usr/src/man/man1m/devfree.1m
new file mode 100644
index 0000000000..f474ca359e
--- /dev/null
+++ b/usr/src/man/man1m/devfree.1m
@@ -0,0 +1,138 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH devfree 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+devfree \- release devices from exclusive use
+.SH SYNOPSIS
+.LP
+.nf
+\fBdevfree\fR \fIkey\fR [\fIdevice\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevfree\fR releases devices from exclusive use. Exclusive use is requested
+with the command \fBdevreserv\fR.
+.sp
+.LP
+When \fBdevfree\fR is invoked with only the \fIkey\fR argument, it releases
+all devices that have been reserved for that \fIkey\fR. When called with
+\fIkey\fR and \fIdevice\fR arguments, \fBdevfree\fR releases the specified
+devices that have been reserved with that \fIkey\fR.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 10n
+.rt
+Defines device that this command will release from exclusive use. \fIdevice\fR
+can be the pathname of the device or the device alias.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIkey\fR\fR
+.ad
+.RS 10n
+.rt
+Designates the unique key on which the device was reserved.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, an invalid option was used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Device table or device reservation table could not be opened for reading.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Reservation release could not be completely fulfilled because one or more of
+the devices was not reserved or was not reserved on the specified key.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/device.tab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/devlkfile\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdevreserv\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The commands \fBdevreserv\fR and \fBdevfree\fR are used to manage the
+availability of devices on a system. These commands do not place any
+constraints on the access to the device. They serve only as a centralized
+bookkeeping point for those who wish to use them. Processes that do not use
+\fBdevreserv\fR may concurrently use a device with a process that has reserved
+that device.
diff --git a/usr/src/man/man1m/devfsadm.1m b/usr/src/man/man1m/devfsadm.1m
new file mode 100644
index 0000000000..12bd6d3f1b
--- /dev/null
+++ b/usr/src/man/man1m/devfsadm.1m
@@ -0,0 +1,300 @@
+'\" te
+.\" Copyright (c) 20088888888 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH devfsadm 1M "23 Jun 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+devfsadm, devfsadmd \- administration command for /dev
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/devfsadm\fR [\fB-C\fR] [\fB-c\fR \fIdevice_class\fR] [\fB-i\fR \fIdriver_name\fR]
+ [ \fB-n\fR] [\fB-r\fR \fIroot_dir\fR] [\fB-s\fR] [\fB-t\fR \fItable_file\fR] [\fB-v\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/devfsadm/devfsadmd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevfsadm\fR(1M) maintains the \fB/dev\fR namespace. It replaces the previous
+suite of \fBdevfs\fR administration tools including \fBdrvconfig\fR(1M),
+\fBdisks\fR(1M), \fBtapes\fR(1M), \fBports\fR(1M), \fBaudlinks\fR(1M), and
+\fBdevlinks\fR(1M).
+.sp
+.LP
+The default operation is to attempt to load every driver in the system and
+attach to all possible device instances. Next, \fBdevfsadm\fR creates logical
+links to device nodes in \fB/dev\fR and \fB/devices\fR and loads the device
+policy.
+.sp
+.LP
+\fBdevfsadmd\fR(1M) is the daemon version of \fBdevfsadm\fR(1M). The daemon is
+started during system startup and is responsible for handling both
+reconfiguration boot processing and updating \fB/dev\fR and \fB/devices\fR in
+response to dynamic reconfiguration event notifications from the kernel.
+.sp
+.LP
+For compatibility purposes, \fBdrvconfig\fR(1M), \fBdisks\fR(1M),
+\fBtapes\fR(1M), \fBports\fR(1M), \fBaudlinks\fR(1M), and \fBdevlinks\fR(1M)
+are implemented as links to \fBdevfsadm\fR.
+.sp
+.LP
+In addition to managing \fB/dev\fR, \fBdevfsadm\fR also maintains the
+\fBpath_to_inst\fR(4) database.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 19n
+.rt
+Cleanup mode. Prompt \fBdevfsadm\fR to cleanup dangling \fB/dev\fR links that
+are not normally removed. If the \fB-c\fR option is also used, \fBdevfsadm\fR
+only cleans up for the listed devices' classes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIdevice_class\fR\fR
+.ad
+.RS 19n
+.rt
+Restrict operations to devices of class \fIdevice_class\fR. Solaris defines the
+following values for \fIdevice_class\fR: \fBdisk\fR, \fBtape\fR, \fBport\fR,
+\fBaudio\fR, and \fBpseudo\fR. This option might be specified more than once to
+specify multiple device classes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIdriver_name\fR\fR
+.ad
+.RS 19n
+.rt
+Configure only the devices for the named driver, \fIdriver_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 19n
+.rt
+Do not attempt to load drivers or add new nodes to the kernel device tree.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 19n
+.rt
+Suppress any changes to \fB/dev\fR. This is useful with the \fB-v\fR option for
+debugging.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItable_file\fR\fR
+.ad
+.RS 19n
+.rt
+Read an alternate \fBdevlink.tab\fR file. \fBdevfsadm\fR normally reads
+\fB/etc/devlink.tab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIroot_dir\fR\fR
+.ad
+.RS 19n
+.rt
+Presume that the \fB/dev\fR directory trees are found under \fIroot_dir\fR, not
+directly under \fBroot\fR (\fB/\fR). No other use or assumptions are made about
+\fIroot_dir\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 19n
+.rt
+Print changes to \fB/dev\fR in verbose mode.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/devices\fR\fR
+.ad
+.sp .6
+.RS 4n
+device nodes directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev\fR\fR
+.ad
+.sp .6
+.RS 4n
+logical symbolic links to /devices
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/devfsadm/devfsadmd\fR\fR
+.ad
+.sp .6
+.RS 4n
+devfsadm daemon
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/.devfsadm_dev.lock\fR\fR
+.ad
+.sp .6
+.RS 4n
+update lock file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/.devfsadm_daemon.lock\fR\fR
+.ad
+.sp .6
+.RS 4n
+daemon lock file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/device_policy\fR\fR
+.ad
+.sp .6
+.RS 4n
+device policy file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/extra_privs\fR\fR
+.ad
+.sp .6
+.RS 4n
+additional device privileges
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBadd_drv\fR(1M), \fBmodinfo\fR(1M), \fBmodload\fR(1M),
+\fBmodunload\fR(1M), \fBrem_drv\fR(1M), \fBsvcadm\fR(1M), \fBtapes\fR(1M),
+\fBpath_to_inst\fR(4), \fBattributes\fR(5), \fBprivileges\fR(5), \fBsmf\fR(5),
+\fBdevfs\fR(7FS)
+.SH NOTES
+.sp
+.LP
+This document does not constitute an \fBAPI\fR. The \fB/devices\fR directory
+might not exist or might have different contents or interpretations in a future
+release. The existence of this notice does not imply that any other
+documentation that lacks this notice constitutes an \fBAPI\fR.
+.sp
+.LP
+\fBdevfsadm\fR no longer manages the \fB/devices\fR name space. See
+\fBdevfs\fR(7FS).
+.sp
+.LP
+The device configuration service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier, and can be used to start
+\fBdevfsadm\fR during reconfiguration boot by:
+.sp
+.in +2
+.nf
+svc:/system/device/local:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Otherwise, \fBdevfsadm\fR is started by:
+.sp
+.in +2
+.nf
+svc:/system/sysevent:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/device_remap.1m b/usr/src/man/man1m/device_remap.1m
new file mode 100644
index 0000000000..a06aee5077
--- /dev/null
+++ b/usr/src/man/man1m/device_remap.1m
@@ -0,0 +1,158 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH device_remap 1M "24 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+device_remap \- administer the Solaris I/O remapping feature
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/platform/sun4v/sbin/device_remap\fR [\fB-v\fR | \fB-R\fR \fIdir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Certain multi-node sun4v platforms, such as T5440 and T5240 servers, have an
+integrated PCI topology that cause the I/O device paths to change in a CPU node
+failover condition. The device remapping script, \fBdevice_remap\fR, remaps the
+device paths in \fB/etc/path_to_inst\fR file and the symlinks under \fB/dev\fR
+to match the hardware.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the \fB/etc/path_to_inst\fR and \fB/dev\fR symlink changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform remapping on the \fB/etc/path_to_inst\fR and \fB/etc/path_to_inst\fR
+files in the root image at \fIdir\fR.
+.RE
+
+.SH USAGE
+.sp
+.LP
+The primary function of \fBdevice_remap\fR is to remap the device paths in the
+\fB/etc/path_to_inst\fR file and the symlinks under \fB/dev\fR in a CPU node
+failover condition to match the hardware.
+.sp
+.LP
+After adding CPU node(s) or removing CPU node(s), boot the system to the OBP
+prompt and use the following procedure:
+.RS +4
+.TP
+1.
+Boot either the failsafe miniroot using: \fBboot\fR \fB-F\fR \fBfailsafe\fR
+, or an install miniroot using \fBboot net\fR \fB-s\fR or similar command.
+.RE
+.RS +4
+.TP
+2.
+Mount the root disk as \fB/mnt\fR.
+.RE
+.RS +4
+.TP
+3.
+Change directory to the mounted root disk:
+.sp
+.in +2
+.nf
+# \fBcd /mnt\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+4.
+Run \fBdevice_remap\fR script:
+.sp
+.in +2
+.nf
+# \fB/mnt/usr/platform/sun4v/sbin/device_remap\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+5.
+Boot the system from disk.
+.RE
+.sp
+.LP
+All the error messages are self-explanatory, except for the error message
+"missing ioaliases node" which means the firmware on the system does not
+support device remapping.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying Changes Following Failover
+.sp
+.LP
+The following command displays the \fBpath_to_inst\fR and \fB/dev\fR changes
+following a CPU node failover.
+
+.sp
+.in +2
+.nf
+# \fBdevice_remap -v\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRChanging Directory Prior to Any Changes
+.sp
+.LP
+The following command changes the directory on which the boot image is mounted
+prior to making any changes.
+
+.sp
+.in +2
+.nf
+# \fBdevice_remap -R /newroot\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBboot\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/devinfo.1m b/usr/src/man/man1m/devinfo.1m
new file mode 100644
index 0000000000..8acfe4df2d
--- /dev/null
+++ b/usr/src/man/man1m/devinfo.1m
@@ -0,0 +1,163 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH devinfo 1M "8 May 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+devinfo \- print device specific information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/devinfo\fR \fB-i\fR \fIdevice\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/devinfo\fR \fB-p\fR \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdevinfo\fR command is used to print device specific information about
+disk devices on standard out. The command can only be used by the superuser.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Prints the following device information:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Device name
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Software version (not supported and prints as \fB0\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Drive id number (not supported and prints as \fB0\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Device blocks per cylinder
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Device bytes per block
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Number of device partitions with a block size greater than zero
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Prints the following device partition information:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Device name
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Device major and minor numbers (in hexadecimal)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Partition start block
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Number of blocks allocated to the partition
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Partition flag
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Partition tag
+.RE
+.RE
+
+.sp
+.LP
+This command is used by various other commands to obtain device specific
+information for the making of file systems and determining partition
+information. If the device cannot be opened, an error message is reported.
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 10n
+.rt
+Device name.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Operation failed.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBprtvtoc\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/devlinks.1m b/usr/src/man/man1m/devlinks.1m
new file mode 100644
index 0000000000..0a424349c3
--- /dev/null
+++ b/usr/src/man/man1m/devlinks.1m
@@ -0,0 +1,341 @@
+'\" te
+.\" Copyright (c) 2002 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH devlinks 1M "15 Jul 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+devlinks \- adds /dev entries for miscellaneous devices and pseudo-devices
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/devlinks\fR [\fB-d\fR] [\fB-r\fR \fIrootdir\fR] [\fB-t\fR \fItable-file\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevfsadm\fR(1M) is now the preferred command for \fB/dev\fR and
+\fB/devices\fR and should be used instead of \fBdevlinks\fR.
+.sp
+.LP
+\fBdevlinks\fR creates symbolic links from the \fB/dev\fR directory tree to the
+actual block- and character-special device nodes under the \fB/devices\fR
+directory tree. The links are created according to specifications found in the
+\fItable-file\fR (by default \fB/etc/devlink.tab\fR).
+.sp
+.LP
+\fBdevlinks\fR is called each time the system is reconfiguration-booted, and
+can only be run after \fBdrvconfig\fR(1M) is run.
+.sp
+.LP
+The \fItable-file\fR (normally \fB/etc/devlink.tab\fR) is an ASCII file, with
+one line per record. Comment lines, which must contain a hash character
+(`\fB#\fR') as their first character, are allowed. Each entry must contain at
+least two fields, but may contain three fields. Fields are separated by single
+TAB characters.
+.sp
+.LP
+The fields are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevfs-spec\fR\fR
+.ad
+.RS 18n
+.rt
+Specification of devinfo nodes that will have links created for them. This
+specification consists of one or more keyword-value pairs, where the keyword is
+separated from the value by an equal-sign (`\fB=\fR'), and keyword-value pairs
+are separated from one another by semicolons.
+.sp
+The possible keywords are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fItype\fR\fR
+.ad
+.RS 12n
+.rt
+The devinfo device type. Possible values are specified in
+\fBddi_create_minor_node\fR(9F)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIname\fR\fR
+.ad
+.RS 12n
+.rt
+The name of the node. This is the portion of the \fB/devices\fR tree entry name
+that occurs before the first `\fB@\fR' or `\fB:\fR' character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaddr\fR[\fIn\fR]\fR
+.ad
+.RS 12n
+.rt
+The address portion of a node name. This is the portion of a node name that
+occurs between the `\fB@\fR' and the `\fB:\fR' characters. It is possible that
+a node may have a name without an address part, which is the case for many of
+the pseudo-device nodes. If a number is given after the \fIaddr\fR it specifies
+a match of a particular comma-separated subfield of the address field:
+\fIaddr1\fR matches the first subfield, \fIaddr2\fR matches the second, and so
+on. \fIaddr0\fR is the same as \fIaddr\fR and matches the whole field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIminor\fR[\fIn\fR]\fR
+.ad
+.RS 12n
+.rt
+The minor portion of a node name \(mi the portion of the name after the
+`\fB:\fR'. As with \fIaddr\fR above, a number after the \fIminor\fR keyword
+specifies a subfield to match.
+.RE
+
+Of these four specifications, only the \fItype\fR specification must always be
+present.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIname\fR\fR
+.ad
+.RS 18n
+.rt
+Specification of the \fB/dev\fR links that correspond to the devinfo nodes.
+This field allows \fBdevlinks\fR to determine matching \fB/dev\fR names for the
+\fB/devices\fR nodes it has found. The specification of this field uses
+escape-sequences to allow portions of the \fB/devices\fR name to be included in
+the \fB/dev\fR name, \fIor\fR to allow a counter to be used in creating node
+names. If a counter is used to create a name, the portion of the name before
+the counter must be specified absolutely, and all names in the
+\fB/dev/\fR-subdirectory that match (up to and including the counter) are
+considered to be subdevices of the same device. This means that they should all
+point to the same directory, \fBname\fR and \fBaddress\fR under the
+\fB/devices/\fR-tree
+.sp
+The possible escape-sequences are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eD\fR\fR
+.ad
+.RS 8n
+.rt
+Substitute the \fBdevice-name\fR (name) portion of the corresponding devinfo
+node-name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eA\fR\fIn\fR\fR
+.ad
+.RS 8n
+.rt
+Substitute the \fIn\fRth component of the \fBaddress\fR component of the
+corresponding devinfo node name. Sub-components are separated by commas, and
+sub-component \fB0\fR is the whole \fBaddress\fR component.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eM\fR\fIn\fR\fR
+.ad
+.RS 8n
+.rt
+Substitute the \fIn\fRth sub-component of the \fBminor\fR component of the
+corresponding devinfo node name. Sub-components are separated by commas, and
+sub-component \fB0\fR is the whole \fBminor\fR component.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\eN\fR\fIn\fR\fR
+.ad
+.RS 8n
+.rt
+Substitute the value of a 'counter' starting at \fIn\fR. There can be only one
+counter for each dev-spec, and counter-values will be selected so they are as
+low as possible while not colliding with already-existing link names.
+.sp
+In a dev-spec the \fBcounter\fR sequence should not be followed by a digit,
+either explicitly or as a result of another escape-sequence expansion. If this
+occurs, it would not be possible to correctly match already-existing links to
+their counter entries, since it would not be possible to unambiguously parse
+the already-existing \fB/dev\fR-name.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIextra-dev-link\fR\fR
+.ad
+.RS 18n
+.rt
+Optional specification of an extra \fB/dev\fR link that points to the initial
+\fB/dev\fR link (specified in field 2). This field may contain a \fBcounter\fR
+escape-sequence (as described for the \fIdev-spec\fR field) but may not contain
+any of the other escape-sequences. It provides a way to specify an alias of a
+particular \fB/dev\fR name.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 17n
+.rt
+Debugging mode \(mi print out all \fBdevinfo\fR nodes found, and indicate what
+links would be created, but do not do anything.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrootdir\fR\fR
+.ad
+.RS 17n
+.rt
+Use \fIrootdir\fR as the root of the \fB/dev\fR and \fB/devices\fR directories
+under which the device nodes and links are created. Changing the root directory
+does not change the location of the \fB/etc/devlink.tab\fR default table, nor
+is the root directory applied to the filename supplied to the \fB-t\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItable-file\fR\fR
+.ad
+.RS 17n
+.rt
+Set the table file used by \fBdevlinks\fR to specify the links that must be
+created. If this option is not given, \fB/etc/devlink.tab\fR is used. This
+option gives a way to instruct \fBdevlinks\fR just to perform a particular
+piece of work, since just the links-types that \fBdevlinks\fR is supposed to
+create can be specified in a command-file and fed to \fBdevlinks\fR.
+.RE
+
+.SH ERRORS
+.sp
+.LP
+If \fBdevlinks\fR finds an error in a line of the \fItable-file\fR it prints a
+warning message on its standard output and goes on to the next line in the
+\fItable-file\fR without performing any of the actions specified by the
+erroneous rule.
+.sp
+.LP
+If it cannot create a link for some filesystem-related reason it prints an
+error-message and continues with the current rule.
+.sp
+.LP
+If it cannot read necessary data it prints an error message and continues with
+the next \fItable-file\fR line.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fB/etc/devlink.tab\fR Fields
+.sp
+.LP
+The following are examples of the \fB/etc/devlink.tab\fR fields:
+
+.sp
+.in +2
+.nf
+type=pseudo;name=win win\eM0
+type=ddi_display framebuffer/\eM0 fb\eN0
+.fi
+.in -2
+
+.sp
+.LP
+The first example states that all devices of type \fBpseudo\fR with a name
+component of \fBwin\fR will be linked to \fB/dev/win\fR\fIx,\fR where \fIx\fR
+is the minor-component of the \fIdevinfo-name\fR (this is always a single-digit
+number for the \fBwin\fR driver).
+
+.sp
+.LP
+The second example states that all devinfo nodes of type \fBddi_display\fR will
+be linked to entries under the \fB/dev/framebuffer\fR directory, with names
+identical to the entire minor component of the \fB/devices\fR name. In addition
+an extra link will be created pointing from \fB/dev/fb\fR\fIn\fR to the entry
+under \fB/dev/framebuffer\fR. This entry will use a counter to end the name.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev\fR\fR
+.ad
+.RS 20n
+.rt
+entries for the miscellaneous devices for general use
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/devices\fR\fR
+.ad
+.RS 20n
+.rt
+device nodes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/devlink.tab\fR\fR
+.ad
+.RS 20n
+.rt
+the default rule-file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdevfsadm\fR(1M), \fBattributes\fR(5), \fBdevfs\fR(7FS),
+\fBddi_create_minor_node\fR(9F)
+.SH BUGS
+.sp
+.LP
+It is very easy to construct mutually-contradictory link specifications, or
+specifications that can never be matched. The program does not check for these
+conditions.
diff --git a/usr/src/man/man1m/devnm.1m b/usr/src/man/man1m/devnm.1m
new file mode 100644
index 0000000000..acface13cb
--- /dev/null
+++ b/usr/src/man/man1m/devnm.1m
@@ -0,0 +1,75 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH devnm 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+devnm \- device name
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/devnm\fR \fIname\fR [\fIname\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdevnm\fR command identifies the special file associated with the mounted
+file system where the argument \fIname\fR resides. One or more \fIname\fR can
+be specified.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the devnm Command
+.sp
+.LP
+Assuming that \fB/usr\fR is mounted on \fB/dev/dsk/c0t3d0s6\fR, the following
+command :
+
+.sp
+.in +2
+.nf
+/usr/sbin/devnm /usr
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+produces:
+.sp
+.in +2
+.nf
+/dev/dsk/c0t3d0s6 /usr
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/dsk/*\fR\fR
+.ad
+.RS 15n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.RS 15n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmnttab\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/devprop.1m b/usr/src/man/man1m/devprop.1m
new file mode 100644
index 0000000000..9e5634c72b
--- /dev/null
+++ b/usr/src/man/man1m/devprop.1m
@@ -0,0 +1,178 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH devprop 1M "26 Sep 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+devprop \- display device properties
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/devprop\fR [\fB-n\fR \fIdevice-path\fR] [\fB-vq\fR] [-\fB{b|i|l|s}\fR] [\fIproperty\fR[...]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdevprop\fR command displays named device properties from the device
+tree.
+.sp
+.LP
+If a device path is specified on the command line, \fBdevprop\fR displays
+device properties for that device node.
+.sp
+.LP
+The output formats, while Volatile, are patterned after those of
+\fBprtconf\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.sp .6
+.RS 4n
+The properties to be output are sequences of bytes (\fBDI_PROP_TYPE_BYTES\fR).
+\fB-b\fR, \fB-i\fR, \fB-l\fR, and \fB-s\fR are mutually exclusive of one
+another.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+The properties to be output are integers (\fBDI_PROP_TYPE_INT\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+The properties to be output are 64-bit integers (\fBDI_PROP_TYPE_INT64\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+The properties to be output are strings (\fBDI_PROP_TYPE_STRING\fR) (the
+default).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIdevice-path\fR\fR
+.ad
+.sp .6
+.RS 4n
+The path to a target device node for which properties are displayed. The
+default path is that of the root node (equivalent to specifying \fB-n\fR
+\fB/\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies quoted output mode, in which string properties are output surrounded
+by double quotation marks (\fB"\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies verbose mode, in which the name of the property is output before its
+value.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIproperty\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Name of the property to be displayed.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+No error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command invocation and output are both Volatile. The location of the
+utility is Committed.
+.SH SEE ALSO
+.sp
+.LP
+\fBprtconf\fR(1M), \fBlibdevinfo\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/devreserv.1m b/usr/src/man/man1m/devreserv.1m
new file mode 100644
index 0000000000..fc749972f7
--- /dev/null
+++ b/usr/src/man/man1m/devreserv.1m
@@ -0,0 +1,197 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH devreserv 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+devreserv \- reserve devices for exclusive use
+.SH SYNOPSIS
+.LP
+.nf
+\fBdevreserv\fR [\fIkey\fR [\fIdevice-list\fR]...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevreserv\fR reserves devices for exclusive use. When the device is no
+longer required, use \fBdevfree\fR to release it.
+.sp
+.LP
+\fBdevreserv\fR reserves at most one device per \fIdevice-list\fR. Each list
+is searched in linear order until the first available device is found. If a
+device cannot be reserved from each list, the entire reservation fails.
+.sp
+.LP
+When \fBdevreserv\fR is invoked without arguments, it lists the devices that
+are currently reserved and shows to which key it was reserved. When
+\fBdevreserv\fR is invoked with only the \fIkey\fR argument, it lists the
+devices that are currently reserved to that key.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice-list\fR\fR
+.ad
+.RS 15n
+.rt
+Defines a list of devices that \fBdevreserv\fR will search to find an available
+device. The list must be formatted as a single argument to the shell.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIkey\fR\fR
+.ad
+.RS 15n
+.rt
+Designates a unique key on which the device will be reserved. The key must be a
+positive integer.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRReserving a Floppy Disk and a Cartridge Tape
+.sp
+.LP
+The following example reserves a floppy disk and a cartridge tape:
+
+.sp
+.in +2
+.nf
+$ key=$$
+$ echo "The current Process ID is equal to: $key"
+ The Current Process ID is equal to: 10658
+$ devreserv $key diskette1 ctape1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRListing All Devices Currently Reserved
+.sp
+.LP
+The following example lists all devices currently reserved:
+
+.sp
+.in +2
+.nf
+$ devreserv
+ disk1 2423
+ diskette1 10658
+ ctape1 10658
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing All Devices Currently Reserved to a Particular Key
+.sp
+.LP
+The following example lists all devices currently reserved to a particular key:
+
+.sp
+.in +2
+.nf
+$ devreserv $key
+ diskette1
+ ctape1
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, an invalid was option used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Device table or device reservation table could not be opened for reading.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Device reservation request could not be fulfilled.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/device.tab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/devlkfile\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdevfree\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The commands \fBdevreserv\fR and \fBdevfree\fR are used to manage the
+availability of devices on a system. Their use is on a participatory basis and
+they do not place any constraints on the actual access to the device. They
+serve as a centralized bookkeeping point for those who wish to use them.
+Devices which have been reserved cannot be used by processes which utilize the
+device reservation functions until the reservation has been canceled. However,
+processes that do not use device reservation may use a device that has been
+reserved since such a process would not have checked for its reservation
+status.
diff --git a/usr/src/man/man1m/df.1m b/usr/src/man/man1m/df.1m
new file mode 100644
index 0000000000..41f2a3ad6f
--- /dev/null
+++ b/usr/src/man/man1m/df.1m
@@ -0,0 +1,570 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved Portions
+.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/.
+.\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text
+.\" are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical
+.\" and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
+.\" This notice shall appear on any product containing this material.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH df 1M "26 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+df \- displays number of free disk blocks and free files
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/df\fR [\fB-F\fR \fIFSType\fR] [\fB-abeghklntVvZ\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR]
+ [\fIblock_device\fR | \fIdirectory\fR | \fIfile\fR | \fIresource\fR ...]
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/df\fR [\fB-F\fR \fIFSType\fR] [\fB-abeghklnPtVZ\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR]
+ [\fIblock_device\fR | \fIdirectory\fR | \fIfile\fR | \fIresource\fR ...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdf\fR utility displays the amount of disk space occupied by mounted or
+unmounted file systems, the amount of used and available space, and how much of
+the file system's total capacity has been used. The file system is specified by
+device, or by referring to a file or directory on the specified file system.
+.sp
+.LP
+Used without operands or options, \fBdf\fR reports on all mounted file systems.
+.sp
+.LP
+\fBdf\fR may not be supported for all \fIFSTypes\fR.
+.sp
+.LP
+If \fBdf\fR is run on a networked mount point that the automounter has not yet
+mounted, the file system size will be reported as zero. As soon as the
+automounter mounts the file system, the sizes will be reported correctly.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported for both \fB/usr/bin/df\fR and
+\fB/usr/xpg4/bin/df\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reports on all file systems including ones whose entries in \fB/etc/mnttab\fR
+(see \fBmnttab\fR(4)) have the \fBignore\fR option set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the total number of kilobytes free.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints only the number of files free.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIFSType\fR on which to operate. The \fB-F\fR option is intended
+for use with unmounted file systems. The \fIFSType\fR should be specified here
+or be determinable from \fB/etc/vfstab\fR (see \fBvfstab\fR(4)) by matching the
+\fIdirectory\fR, \fIblock_device\fR, or \fIresource\fR with an entry in the
+table, or by consulting \fB/etc/default/fs\fR. See \fBdefault_fs\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the entire \fBstatvfs\fR(2) structure. This option is used only for
+mounted file systems. It can not be used with the \fB-o\fR option. This option
+overrides the \fB-b\fR, \fB-e\fR, \fB-k\fR, \fB-n\fR, \fB-P\fR, and \fB-t\fR
+options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Like \fB-k\fR, except that sizes are in a more human readable format. The
+output consists of one line of information for each specified file system. This
+information includes the file system name, the total space allocated in the
+file system, the amount of space allocated to existing files, the total amount
+of space available for the creation of new files by unprivileged users, and the
+percentage of normally available space that is currently allocated to all files
+on the file system. All sizes are scaled to a human readable format, for
+example, \fB14K\fR, \fB234M\fR, \fB2.7G\fR, or \fB3.0T\fR. Scaling is done by
+repetitively dividing by \fB1024\fR.
+.sp
+This option overrides the \fB-b\fR, \fB-e\fR, \fB-g\fR, \fB-k\fR, \fB-n\fR,
+\fB-t\fR, and \fB-V\fR options. This option only works on mounted filesystems
+and can not be used together with \fB-o\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the allocation in kbytes. The output consists of one line of information
+for each specified file system. This information includes the file system name,
+the total space allocated in the file system, the amount of space allocated to
+existing files, the total amount of space available for the creation of new
+files by unprivileged users, and the percentage of normally available space
+that is currently allocated to all files on the file system. This option
+overrides the \fB-b\fR, \fB-e\fR, \fB-n\fR, and \fB-t\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reports on local file systems only. This option is used only for mounted file
+systems. It can not be used with the \fB-o\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints only the \fIFSType\fR name. Invoked with no operands, this option prints
+a list of mounted file system types. This option is used only for mounted file
+systems. It can not be used with the \fB-o\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIFSType-specific_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies \fIFSType-specific\fR options. These options are comma-separated,
+with no intervening spaces. See the manual page for the \fIFSType-specific\fR
+command for details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints full listings with totals. This option overrides the \fB-b\fR, \fB-e\fR,
+and \fB-n\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Echoes the complete set of file system specific command lines, but does not
+execute them. The command line is generated by using the options and operands
+provided by the user and adding to them information derived from
+\fB/etc/mnttab\fR, \fB/etc/vfstab\fR, or \fB/etc/default/fs\fR. This option may
+be used to verify and validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Z\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays mounts in all visible zones. By default, \fBdf\fR only displays mounts
+located within the current zone. This option has no effect in a non-global
+zone.
+.RE
+
+.SS "/usr/bin/df"
+.sp
+.LP
+The following option is supported for \fB/usr/bin/df\fR only:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Like \fB-k\fR, except that sizes are displayed in multiples of the smallest
+block size supported by each specified file system.
+.sp
+The output consists of one line of information for each file system. This one
+line of information includes the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the file system's mount point
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the file system's name
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the total number of blocks allocated to the file system
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the number of blocks allocated to existing files
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the number of blocks available for the creation of new files by unprivileged
+users
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the percentage of blocks in use by files
+.RE
+.RE
+
+.SS "/usr/xpg4/bin/df"
+.sp
+.LP
+The following option is supported for \fB/usr/xpg4/bin/df\fR only:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.sp .6
+.RS 4n
+Same as \fB-h\fR except in 512-byte units.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBdf\fR utility interprets operands according to the following precedence:
+\fIblock_device\fR, \fIdirectory\fR, \fIfile\fR. The following operands are
+supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIblock_device\fR\fR
+.ad
+.sp .6
+.RS 4n
+Represents a block special device (for example, \fB/dev/dsk/c1d0s7\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdirectory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Represents a valid directory name. \fBdf\fR reports on the file system that
+contains \fIdirectory\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Represents a valid file name. \fBdf\fR reports on the file system that contains
+\fIfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIresource\fR\fR
+.ad
+.sp .6
+.RS 4n
+Represents an \fBNFS\fR resource name.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBdf\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRExecuting the \fBdf\fR command
+.sp
+.LP
+The following example shows the \fBdf\fR command and its output:
+
+.sp
+.in +2
+.nf
+example% \fB/usr/bin/df\fR
+
+/ (/dev/dsk/c0t0d0s0 ): 287530 blocks 92028 files
+/system/contract (ctfs ): 0 blocks 2147483572 files
+/system/object (objfs ): 0 blocks 2147483511 files
+/usr (/dev/dsk/c0t0d0s6 ): 1020214 blocks 268550 files
+/proc (/proc ): 0 blocks 878 files
+/dev/fd (fd ): 0 blocks 0 files
+/etc/mnttab (mnttab ): 0 blocks 0 files
+/var/run (swap ): 396016 blocks 9375 files
+/tmp (swap ): 396016 blocks 9375 files
+/opt (/dev/dsk/c0t0d0s5 ): 381552 blocks 96649 files
+/export/home (/dev/dsk/c0t0d0s7 ): 434364 blocks 108220 files
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where the columns represent the mount point, device (or "filesystem", according
+to \fBdf\fR \fB-k\fR), free blocks, and free files, respectively. For contract
+file systems, \fB/system/contract\fR is the mount point, \fBctfs\fR is the
+contract file system (used by \fBSMF\fR) with 0 free blocks and
+2147483582(\fBINTMAX\fR-1) free files. For object file systems,
+\fB/system/object\fR is the mount point, \fBobjfs\fR is the object file system
+(see \fBobjfs\fR(7FS)) with 0 free blocks and 2147483511 free files.
+.LP
+\fBExample 2 \fRWriting Portable Information About the \fB/usr\fR File System
+.sp
+.LP
+The following example writes portable information about the \fB/usr\fR file
+system:
+
+.sp
+.in +2
+.nf
+example% \fB/usr/xpg4/bin/df -P /usr\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRWriting Portable Information About the \fB/usr/src\fR file
+System
+.sp
+.LP
+Assuming that \fB/usr/src\fR is part of the \fB/usr\fR file system, the
+following example writes portable information :
+
+.sp
+.in +2
+.nf
+example% \fB/usr/xpg4/bin/df -P /usr/src\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUsing \fBdf\fR to Display Inode Usage
+.sp
+.LP
+The following example displays inode usage on all \fBufs\fR file systems:
+
+.sp
+.in +2
+.nf
+example%\fB/usr/bin/df -F ufs -o i\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSYSV3\fR\fR
+.ad
+.sp .6
+.RS 4n
+This variable is used to override the default behavior of \fBdf\fR and provide
+compatibility with INTERACTIVE UNIX System and \fBSCO\fR UNIX installation
+scripts. As the \fBSYSV3\fR variable is provided for compatibility purposes
+only, it should not be used in new scripts.
+.RE
+
+.sp
+.LP
+When set, any header which normally displays "files" will now display "nodes".
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBdf\fR: \fBLANG\fR, \fBLC_ALL\fR,
+\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/dsk/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disk devices
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default local file system type. Default values can be set for the following
+flags in \fB/etc/default/fs\fR. For example: \fBLOCAL=ufs\fR, where \fBLOCAL\fR
+is the default partition for a command if no FSType is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mount table
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of default parameters for each file system
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.SS "/usr/xpg4/bin/df"
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStandard
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfind\fR(1), \fBdf_ufs\fR(1M), \fBmount\fR(1M), \fBstatvfs\fR(2),
+\fBdefault_fs\fR(4), \fBmnttab\fR(4), \fBvfstab\fR(4), \fBattributes\fR(5),
+\fBenviron\fR(5), \fBlargefile\fR(5), \fBstandards\fR(5), \fBobjfs\fR(7FS)
+.SH NOTES
+.sp
+.LP
+If \fBUFS\fR logging is enabled on a file system, the disk space used for the
+log is reflected in the \fBdf\fR report. The log is allocated from free blocks
+on the file system, and it is sized approximately \fB1\fR Mbyte per \fB1\fR
+Gbyte of file system, up to 256 Mbytes. The log size may be larger (up to a
+maximum of 512 Mbytes) depending on the number of cylinder groups present in
+the file system.
diff --git a/usr/src/man/man1m/df_ufs.1m b/usr/src/man/man1m/df_ufs.1m
new file mode 100644
index 0000000000..5f0ef56202
--- /dev/null
+++ b/usr/src/man/man1m/df_ufs.1m
@@ -0,0 +1,108 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH df_ufs 1M "25 Feb 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+df_ufs \- report free disk space on ufs file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBdf\fR \fB-F\fR ufs [\fIgeneric_options\fR] [\fB-o\fR i] [\fIdirectory\fR | \fIspecial\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdf\fR displays the amount of disk space occupied by \fBufs\fR file systems,
+the amount of used and available space, and how much of the file system's total
+capacity has been used.The amount of space reported as used and available is
+less than the amount of space in the file system; this is because the system
+reserves a fraction of the space in the file system to allow its file system
+allocation routines to work well. The amount reserved is typically about 10%;
+this can be adjusted using \fBtunefs\fR(1M). When all the space on the file
+system except for this reserve is in use, only the superuser can allocate new
+files and data blocks to existing files. When the file system is overallocated
+in this way, \fBdf\fR might report that the file system is more than 100%
+utilized.If neither \fIdirectory\fR nor \fIspecial\fR is specified, \fBdf\fR
+displays information for all mounted ufs file systems.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 19n
+.rt
+Options supported by the generic \fBdf\fR command. See \fBdf\fR(1M) for a
+description of these options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 19n
+.rt
+Specify \fBufs\fR file system specific options. The available option is:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.RS 5n
+.rt
+Report the number of used and free inodes. This option can not be used with
+\fIgeneric_options\fR.
+.RE
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.RS 15n
+.rt
+list of file systems currently mounted
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdf\fR(1M), \fBfsck\fR(1M), \fBfstyp\fR(1M), \fBtunefs\fR(1M),
+\fBmnttab\fR(4), \fBattributes\fR(5), \fBufs\fR(7FS),
+.SH NOTES
+.sp
+.LP
+\fBdf\fR calculates its results differently for mounted and unmounted file
+systems. For unmounted systems, the numbers reflect the 10% reservation. This
+reservation is not reflected in \fBdf\fR output for mounted file systems. For
+this reason, the available space reported by the generic command can differ
+from the available space reported by this module.
+.sp
+.LP
+\fBdf\fR might report remaining capacity even though \fBsyslog\fR warns
+\fBfilesystem full\fR. This issue can occur because \fBdf\fR only uses the
+available fragment count to calculate available space, but the file system
+requires contiguous sets of fragments for most allocations.
+.sp
+.LP
+If you suspect that you have exhausted contiguous fragments on your file
+system, you can use the \fBfstyp\fR(1M) utility with the \fB-v\fR option. In
+the \fBfstyp\fR output, look at the \fBnbfree\fR (number of blocks free) and
+\fBnffree\fR (number of fragments free) fields. On unmounted filesystems, you
+can use \fBfsck\fR(1M) and observe the last line of output, which reports,
+among other items, the number of fragments and the degree of fragmentation. See
+\fBfsck\fR(1M).
diff --git a/usr/src/man/man1m/dfmounts.1m b/usr/src/man/man1m/dfmounts.1m
new file mode 100644
index 0000000000..ec547248e8
--- /dev/null
+++ b/usr/src/man/man1m/dfmounts.1m
@@ -0,0 +1,153 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1995, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dfmounts 1M "24 May 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dfmounts \- display mounted resource information
+.SH SYNOPSIS
+.LP
+.nf
+\fBdfmounts\fR [\fB-F\fR \fIFSType\fR] [\fB-h\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fIrestriction\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdfmounts\fR shows the local resources shared through a distributed file
+system \fIFSType\fR along with a list of clients that have the resource
+mounted. If \fIrestriction\fR is not specified, \fBdfmounts\fR shows file
+systems that are currently shared on any \fBNFS\fR server.
+\fIspecific_options\fR as well as the availability and semantics of
+\fIrestriction\fR are specific to particular distributed file system types.
+.sp
+.LP
+If \fBdfmounts\fR is entered without arguments, remote resources currently
+mounted on the local system are displayed, regardless of file system type.
+However, the \fBdfmounts\fR command does not display the names of NFS Version 4
+clients.
+.SS "\fBdfmounts\fR Output"
+.sp
+.LP
+The output of \fBdfmounts\fR consists of an optional header line (suppressed
+with the \fB-h\fR flag) followed by a list of lines containing
+whitespace-separated fields. For each resource, the fields are:
+.sp
+.in +2
+.nf
+\fIresource server pathname clients ...\fR
+.fi
+.in -2
+
+.sp
+.LP
+where:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIresource\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the resource name that must be given to the \fBmount\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIserver\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the system from which the resource was mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpathname\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the pathname that must be given to the \fBshare\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIclients\fR\fR
+.ad
+.RS 12n
+.rt
+Is a comma-separated list of systems that have mounted the resource. Clients
+are listed in the form \fIdomain.\fR, \fIdomain.system\fR, or \fIsystem\fR,
+depending on the file system type.
+.RE
+
+.sp
+.LP
+A field can be null. Each null field is indicated by a hyphen (\(mi) unless the
+remainder of the fields on the line are also null, in which case the hyphen can
+be omitted.
+.sp
+.LP
+Fields with whitespace are enclosed in quotation marks (\fB"\|"\fR).
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.RS 23n
+.rt
+Specify filesystem type. Defaults to the first entry in \fB/etc/dfs/fstypes\fR.
+\fBNote\fR: currently the only valid \fIFSType\fR is \fBnfs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 23n
+.rt
+Suppress header line in output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify options specific to the filesystem provided by the \fB-F\fR option.
+\fBNote\fR: currently no options are supported.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.RS 20n
+.rt
+file system types
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdfshares\fR(1M), \fBmount\fR(1M), \fBshare\fR(1M), \fBunshare\fR(1M),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dfmounts_nfs.1m b/usr/src/man/man1m/dfmounts_nfs.1m
new file mode 100644
index 0000000000..56338e4b5c
--- /dev/null
+++ b/usr/src/man/man1m/dfmounts_nfs.1m
@@ -0,0 +1,136 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1995, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dfmounts_nfs 1M "6 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dfmounts_nfs \- display mounted NFS resource information
+.SH SYNOPSIS
+.LP
+.nf
+\fBdfmounts\fR [\fB-F\fR nfs] [\fB-h\fR] [\fIserver\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdfmounts\fR shows the local resources shared through \fBNFS,\fR along with
+the list of clients that have mounted the resource. The \fB-F\fR flag may be
+omitted if \fBNFS\fR is the only file system type listed in the file
+\fB/etc/dfs/fstypes\fR.
+.sp
+.LP
+\fBdfmounts\fR without options, displays all remote resources mounted on the
+local system, regardless of file system type.
+.sp
+.LP
+The output of \fBdfmounts\fR consists of an optional header line (suppressed
+with the \fB-h\fR flag) followed by a list of lines containing
+whitespace-separated fields. For each resource, the fields are:
+.sp
+.in +2
+.nf
+\fIresource server pathname clients ...\fR
+.fi
+.in -2
+
+.sp
+.LP
+where
+.sp
+.ne 2
+.mk
+.na
+\fB\fIresource\fR\fR
+.ad
+.RS 12n
+.rt
+Does not apply to \fBNFS.\fR Printed as a hyphen (-).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIserver\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the system from which the resource was mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpathname\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the pathname that must be given to the \fBshare\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIclients\fR\fR
+.ad
+.RS 12n
+.rt
+Is a comma-separated list of systems that have mounted the resource.
+.RE
+
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fBnfs\fR\fR
+.ad
+.RS 10n
+.rt
+Specifies the \fBnfs\fR-FSType.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 10n
+.rt
+Suppress header line in output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIserver\fR\fR
+.ad
+.RS 10n
+.rt
+Displays information about the resources mounted from each server, where
+\fIserver\fR can be any system on the network. If no server is specified, the
+\fIserver\fR is assumed to be the local system.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.RS 20n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmount\fR(1M), \fBshare\fR(1M), \fBunshare\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dfshares.1m b/usr/src/man/man1m/dfshares.1m
new file mode 100644
index 0000000000..1738097152
--- /dev/null
+++ b/usr/src/man/man1m/dfshares.1m
@@ -0,0 +1,143 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1995, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dfshares 1M "6 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dfshares \- list available resources from remote or local systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBdfshares\fR [\fB-F\fR \fIFSType\fR] [\fB-h\fR] [\fB-o\fR \fIspecific_options\fR] [\fIserver\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdfshares\fR provides information about resources available to the host
+through a distributed file system of type \fIFSType\fR. \fIspecific_options\fR
+as well as the semantics of \fIserver\fR are specific to particular distributed
+file systems.
+.sp
+.LP
+If \fBdfshares\fR is entered without arguments, all resources currently shared
+on the local system are displayed, regardless of file system type.
+.sp
+.LP
+The output of \fBdfshares\fR consists of an optional header line (suppressed
+with the \fB-h\fR flag) followed by a list of lines containing
+whitespace-separated fields. For each resource, the fields are:
+.sp
+.in +2
+.nf
+\fIresource server access transport\fR
+.fi
+.in -2
+
+.sp
+.LP
+where
+.sp
+.ne 2
+.mk
+.na
+\fB\fIresource\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the resource name that must be given to the \fBmount\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIserver\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the name of the system that is making the resource available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaccess\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the access permissions granted to the client systems, either \fBro\fR
+(for read-only) or \fBrw\fR (for read/write). If \fBdfshares\fR cannot
+determine access permissions, a hyphen (\fB\(mi\fR) is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItransport\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the transport provider over which the resource is shared.
+.RE
+
+.sp
+.LP
+A field may be null. Each null field is indicated by a hyphen (\(mi) unless the
+remainder of the fields on the line are also null; in which case, the hyphen
+may be omitted.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.RS 23n
+.rt
+Specify filesystem type. Defaults to the first entry in
+\fB/etc/dfs/fstypes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 23n
+.rt
+Suppress header line in output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify options specific to the filesystem provided by the \fB-F\fR option.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.RS 20n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdfmounts\fR(1M), \fBmount\fR(1M), \fBshare\fR(1M), \fBunshare\fR(1M),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dfshares_nfs.1m b/usr/src/man/man1m/dfshares_nfs.1m
new file mode 100644
index 0000000000..5e2c12e180
--- /dev/null
+++ b/usr/src/man/man1m/dfshares_nfs.1m
@@ -0,0 +1,140 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1995, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dfshares_nfs 1M "6 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dfshares_nfs \- list available NFS resources from remote systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBdfshares\fR [\fB-F\fR nfs] [\fB-h\fR] [\fIserver\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdfshares\fR provides information about resources available to the host
+through \fBNFS.\fR The \fB-F\fR flag may be omitted if \fBNFS\fR is the first
+file system type listed in the file \fB/etc/dfs/fstypes\fR.
+.sp
+.LP
+The query may be restricted to the output of resources available from one or
+more servers.
+.sp
+.LP
+\fBdfshares\fR without arguments displays all resources shared on the local
+system, regardless of file system type.
+.sp
+.LP
+Specifying \fIserver\fR displays information about the resources shared by
+each server. \fIServer\fR can be any system on the network. If no server is
+specified, then \fIserver\fR is assumed to be the local system.
+.sp
+.LP
+The output of \fBdfshares\fR consists of an optional header line (suppressed
+with the \fB-h\fR flag) followed by a list of lines containing
+whitespace-separated fields. For each resource, the fields are:
+.sp
+.in +2
+.nf
+\fIresource server access transport\fR
+.fi
+.in -2
+
+.sp
+.LP
+where
+.sp
+.ne 2
+.mk
+.na
+\fB\fIresource\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the resource name that must be given to the \fBmount\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIserver\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the system that is making the resource available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaccess\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the access permissions granted to the client systems; however,
+\fBdfshares\fR cannot determine this information for an \fBNFS\fR resource and
+populates the field with a hyphen (-).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItransport\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the transport provider over which the \fIresource\fR is shared;
+however, \fBdfshares\fR cannot determine this information for an \fBNFS\fR
+resource and populates the field with a hyphen (-).
+.RE
+
+.sp
+.LP
+A field may be null. Each null field is indicated by a hyphen (-) unless the
+remainder of the fields on the line are also null; in which case, the hyphen
+may be omitted.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fBnfs\fR\fR
+.ad
+.RS 10n
+.rt
+Specify the \fBNFS\fR file system type
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 10n
+.rt
+Suppress header line in output.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.RS 20n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmount\fR(1M), \fBshare\fR(1M), \fBunshare\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dhcpagent.1m b/usr/src/man/man1m/dhcpagent.1m
new file mode 100644
index 0000000000..1041955813
--- /dev/null
+++ b/usr/src/man/man1m/dhcpagent.1m
@@ -0,0 +1,812 @@
+'\" te
+.\" Copyright (c) 1992-1996 Competitive Automation, Inc. Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dhcpagent 1M "21 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dhcpagent \- Dynamic Host Configuration Protocol (DHCP) client daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBdhcpagent\fR [\fB-a\fR] [ \fB-d\fR \fIn\fR] [\fB-f\fR] [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdhcpagent\fR implements the client half of the Dynamic Host Configuration
+Protocol \fB(DHCP)\fR for machines running Solaris software.
+.sp
+.LP
+The \fBdhcpagent\fR daemon obtains configuration parameters for the client
+(local) machine's network interfaces from a \fBDHCP\fR server. These parameters
+may include a lease on an \fBIP\fR address, which gives the client machine use
+of the address for the period of the lease, which may be infinite. If the
+client wishes to use the \fBIP\fR address for a period longer than the lease,
+it must negotiate an extension using \fBDHCP\fR. For this reason,
+\fBdhcpagent\fR must run as a daemon, terminating only when the client machine
+powers down.
+.sp
+.LP
+For IPv4, the \fBdhcpagent\fR daemon is controlled through \fBifconfig\fR(1M)
+in much the same way that the \fBinit\fR(1M) daemon is controlled by
+\fBtelinit\fR(1M). \fBdhcpagent\fR can be invoked as a user process, albeit one
+requiring root privileges, but this is not necessary, as \fBifconfig\fR(1M)
+will start it automatically.
+.sp
+.LP
+For IPv6, the \fBdhcpagent\fR daemon is invoked automatically by
+\fBin.ndpd\fR(1M). It can also be controlled through \fBifconfig\fR(1M), if
+necessary.
+.sp
+.LP
+When invoked, \fBdhcpagent\fR enters a passive state while it awaits
+instructions from \fBifconfig\fR(1M) or \fBin.ndpd\fR(1M). When it receives a
+command to configure an interface, it brings up the interface (if necessary)
+and starts DHCP. Once DHCP is complete, \fBdhcpagent\fR can be queried for the
+values of the various network parameters. In addition, if DHCP was used to
+obtain a lease on an address for an interface, it configures the address for
+use. When a lease is obtained, it is automatically renewed as necessary. If the
+lease cannot be renewed, \fBdhcpagent\fR will unconfigure the address, but the
+interface will be left up and \fBdhcpagent\fR will attempt to acquire a new
+address lease. \fBdhcpagent\fR monitors system suspend/resume events and will
+validate any non-permanent leases with the DHCP server upon resume. Similarly,
+\fBdhcpagent\fR monitors link up/down events and will validate any
+non-permanent leases with the DHCP server when the downed link is brought back
+up. The lease validation mechanism will restart DHCP if the server indicates
+that the existing lease is no longer valid. If the server cannot be contacted,
+then the existing lease will continue. This behavior can be modified with the
+\fBVERIFIED_LEASE_ONLY\fR parameter in the \fB/etc/default/dhcpagent\fR file.
+See the description of this parameter below.
+.sp
+.LP
+For IPv4, if the configured interface is found to be unplumbed, or to have a
+different IP address, subnet mask, or broadcast address from those obtained
+from DHCP, the interface is abandoned from DHCP control.
+.sp
+.LP
+For IPv6, \fBdhcpagent\fR automatically plumbs and unplumbs logical interfaces
+as necessary for the IPv6 addresses supplied by the server. The IPv6 prefix
+length (netmask) is not set by the DHCPv6 protocol, but is instead set by
+\fBin.ndpd\fR(1M) using prefix information obtained by Router Advertisements.
+If any of the logical interfaces created by \fBdhcpagent\fR is unplumbed, or
+configured with a different IP address, it will be abandoned from DHCP control.
+If the link-local interface is unplumbed, then all addresses configured by DHCP
+on that physical interface will be removed.
+.sp
+.LP
+In addition to \fBDHCP\fR, \fBdhcpagent\fR also supports \fBBOOTP\fR (IPv4
+only). See \fIRFC 951, Bootstrap Protocol\fR. Configuration parameters obtained
+from a \fBBOOTP\fR server are treated identically to those received from a
+\fBDHCP\fR server, except that the \fBIP\fR address received from a \fBBOOTP\fR
+server always has an infinite lease.
+.sp
+.LP
+\fBDHCP\fR also acts as a mechanism to configure other information needed by
+the client, for example, the domain name and addresses of routers. Aside from
+the IP address, and for IPv4 alone, the netmask, broadcast address, and default
+router, the agent does not directly configure the workstation, but instead acts
+as a database which may be interrogated by other programs, and in particular by
+\fBdhcpinfo\fR(1).
+.sp
+.LP
+On clients with a single interface, this is quite straightforward. Clients with
+multiple interfaces may present difficulties, as it is possible that some
+information arriving on different interfaces may need to be merged, or may be
+inconsistent. Furthermore, the configuration of the interfaces is asynchronous,
+so requests may arrive while some or all of the interfaces are still
+unconfigured. To handle these cases, one interface may be designated as
+primary, which makes it the authoritative source for the values of \fBDHCP\fR
+parameters in the case where no specific interface is requested. See
+\fBdhcpinfo\fR(1) and \fBifconfig\fR(1M) for details.
+.sp
+.LP
+For IPv4, the \fBdhcpagent\fR daemon can be configured to request a particular
+host name. See the \fBREQUEST_HOSTNAME\fR description in the \fBFILES\fR
+section. When first configuring a client to request a host name, you must
+perform the following steps as root to ensure that the full DHCP negotiation
+takes place:
+.sp
+.in +2
+.nf
+# pkill dhcpagent
+# rm /etc/dhcp/\fIinterface\fR.dhc
+# reboot
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+All DHCP packets sent by \fBdhcpagent\fR include a vendor class identifier (RFC
+2132, option code 60; RFC 3315, option code 16). This identifier is the same as
+the platform name returned by the \fBuname\fR \fB-i\fR command, except:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Any commas in the platform name are changed to periods.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the name does not start with a stock symbol and a comma, it is automatically
+prefixed with \fBSUNW\fR.
+.RE
+.SS "Messages"
+.sp
+.LP
+The \fBdhcpagent\fR daemon writes information and error messages in five
+categories:
+.sp
+.ne 2
+.mk
+.na
+\fBcritical\fR
+.ad
+.sp .6
+.RS 4n
+Critical messages indicate severe conditions that prevent proper operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBerrors\fR
+.ad
+.sp .6
+.RS 4n
+Error messages are important, sometimes unrecoverable events due to resource
+exhaustion and other unexpected failure of system calls; ignoring errors may
+lead to degraded functionality.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwarnings\fR
+.ad
+.sp .6
+.RS 4n
+Warnings indicate less severe problems, and in most cases, describe unusual or
+incorrect datagrams received from servers, or requests for service that cannot
+be provided.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinformational\fR
+.ad
+.sp .6
+.RS 4n
+Informational messages provide key pieces of information that can be useful to
+debugging a \fBDHCP\fR configuration at a site. Informational messages are
+generally controlled by the \fB-v\fR option. However, certain critical pieces
+of information, such as the IP address obtained, are always provided.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdebug\fR
+.ad
+.sp .6
+.RS 4n
+Debugging messages, which may be generated at two different levels of
+verbosity, are chiefly of benefit to persons having access to source code, but
+may be useful as well in debugging difficult DHCP configuration problems.
+Debugging messages are only generated when using the \fB-d\fR option.
+.RE
+
+.sp
+.LP
+When \fBdhcpagent\fR is run without the \fB-f\fR option, all messages are sent
+to the system logger \fBsyslog\fR(3C) at the appropriate matching priority and
+with a facility identifier \fBLOG_DAEMON\fR. When \fBdhcpagent\fR is run with
+the \fB-f\fR option, all messages are directed to standard error.
+.SS "DHCP Events and User-Defined Actions"
+.sp
+.LP
+If an executable (binary or script) is placed at \fB/etc/dhcp/eventhook\fR, the
+\fBdhcpagent\fR deamon will automatically run that program when any of the
+following events occur:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBOUND\fR and \fBBOUND6\fR\fR
+.ad
+.sp .6
+.RS 4n
+These events occur during interface configuration. The event program is invoked
+when \fBdhcpagent\fR receives the DHCPv4 ACK or DHCPv6 Reply message from the
+DHCP server for the lease request of an address, indicating successful initial
+configuration of the interface. (See also the \fBINFORM\fR and \fBINFORM6\fR
+events, which occur when configuration parameters are obtained without address
+leases.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEXTEND\fR and \fBEXTEND6\fR\fR
+.ad
+.sp .6
+.RS 4n
+These events occur during lease extension. The event program is invoked just
+after \fBdhcpagent\fR receives the DHCPv4 ACK or DHCPv6 Reply from the DHCP
+server for the DHCPv4 REQUEST (renew) message or the DHCPv6 Renew or Rebind
+message.
+.sp
+Note that with DHCPv6, the server might choose to remove some addresses, add
+new address leases, and ignore (allow to expire) still other addresses in a
+given Reply message. The \fBEXTEND6\fR event occurs when a Reply is received
+that leaves one or more address leases still valid, even if the Reply message
+does not extend the lease for any address. The event program is invoked just
+before any addresses are removed, but just after any new addresses are added.
+Those to be removed will be marked with the \fBIFF_DEPRECATED\fR flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEXPIRE\fR and \fBEXPIRE6\fR\fR
+.ad
+.sp .6
+.RS 4n
+These events occur during lease expiration. For DHCPv4, the event program is
+invoked just before the leased address is removed from an interface. For
+DHCPv6, the event program is invoked just before the last remaining leased
+addresses are removed from the interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDROP\fR and \fBDROP6\fR\fR
+.ad
+.sp .6
+.RS 4n
+These events occur during the period when an interface is dropped. The event
+program is invoked just before the interface is removed from DHCP control. If
+the interface has been abandoned due the user unplumbing the interface, then
+this event will occur after the user's action has taken place. The interface
+might not be present.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINFORM\fR and \fBINFORM6\fR\fR
+.ad
+.sp .6
+.RS 4n
+These events occur when an interface acquires new or updated configuration
+information from a DHCP server by means of the DHCPv4 \fBINFORM\fR or the
+DHCPv6 Information-Request message. These messages are sent using an
+\fBifconfig\fR(1M) \fBdhcp inform\fR command or when the DHCPv6 Router
+Advertisement \fBO\fR (letter 0) bit is set and the \fBM\fR bit is not set.
+Thus, these events occur when the DHCP client does not obtain an IP address
+lease from the server, and instead obtains only configuration parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOSS6\fR\fR
+.ad
+.sp .6
+.RS 4n
+This event occurs during lease expiration when one or more valid leases still
+remain. The event program is invoked just before expired addresses are removed.
+Those being removed will be marked with the \fBIFF_DEPRECATED\fR flag.
+.sp
+Note that this event is not associated with the receipt of the Reply message,
+which occurs only when one or more valid leases remain, and occurs only with
+DHCPv6. If all leases have expired, then the EXPIRE6 event occurs instead.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRELEASE\fR and \fBRELEASE6\fR\fR
+.ad
+.sp .6
+.RS 4n
+This event occurs during the period when a leased address is released. The
+event program is invoked just before \fBdhcpagent\fR relinquishes the address
+on an interface and sends the DHCPv4 \fBRELEASE\fR or DHCPv6 Release packet to
+the DHCP server.
+.RE
+
+.sp
+.LP
+The system does not provide a default event program. The file
+\fB/etc/dhcp/eventhook\fR is expected to be owned by root and have a mode of
+755.
+.sp
+.LP
+The event program will be passed two arguments, the interface name and the
+event name, respectively. For DHCPv6, the interface name is the name of the
+physical interface.
+.sp
+.LP
+The event program can use the \fBdhcpinfo\fR(1) utility to fetch additional
+information about the interface. While the event program is invoked on every
+event defined above, it can ignore those events in which it is not interested.
+The event program runs with the same privileges and environment as
+\fBdhcpagent\fR itself, except that \fBstdin\fR, \fBstdout\fR, and \fBstderr\fR
+are redirected to \fB/dev/null\fR. Note that this means that the event program
+runs with root privileges.
+.sp
+.LP
+If an invocation of the event program does not exit after 55 seconds, it is
+sent a \fBSIGTERM\fR signal. If does not exit within the next three seconds, it
+is terminated by a \fBSIGKILL\fR signal.
+.sp
+.LP
+See EXAMPLES for an example event program.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adopt a configured IPv4 interface. This option is for use with diskless
+\fBDHCP\fR clients. In the case of diskless \fBDHCP\fR, \fBDHCP\fR has already
+been performed on the network interface providing the operating system image
+prior to running \fBdhcpagent\fR. This option instructs the agent to take over
+control of the interface. It is intended primarily for use in boot scripts.
+.sp
+The effect of this option depends on whether the interface is being adopted.
+.sp
+If the interface is being adopted, the following conditions apply:
+.sp
+\fBdhcpagent\fR uses the client id specified in
+\fB/chosen\fR:\fI<client_id>\fR, as published by the PROM or as specified on a
+\fBboot\fR(1M) command line. If this value is not present, the client id is
+undefined. The DHCP server then determines what to use as a client id. It is an
+error condition if the interface is an Infiniband interface and the PROM value
+is not present.
+.sp
+If the interface is not being adopted:
+.sp
+\fBdhcpagent\fR uses the value stored in \fB/etc/default/dhcpagent\fR. If this
+value is not present, the client id is undefined. If the interface is
+Infiniband and there is no value in \fB/etc/default/dhcpagent\fR, a client id
+is generated as described by the draft document on DHCP over Infiniband,
+available at:
+.sp
+.in +2
+.nf
+http://www.ietf.org
+.fi
+.in -2
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set debug level to \fIn\fR. Two levels of debugging are currently available, 1
+and 2; the latter is more verbose.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run in the foreground instead of as a daemon process. When this option is used,
+messages are sent to standard error instead of to \fBsyslog\fR(3C).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Provide verbose output useful for debugging site configuration problems.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRExample Event Program
+.sp
+.LP
+The following script is stored in the file \fB/etc/dhcp/eventhook\fR, owned by
+root with a mode of 755. It is invoked upon the occurrence of the events listed
+in the file.
+
+.sp
+.in +2
+.nf
+#!/bin/sh
+
+(
+echo "Interface name: " $1
+echo "Event: " $2
+
+case $2 in
+"BOUND")
+ echo "Address acquired from server "\e
+ `/sbin/dhcpinfo -i $1 ServerID`
+ ;;
+"BOUND6")
+ echo "Addresses acquired from server " \e
+ `/sbin/dhcpinfo -v6 -i $1 ServerID`
+ ;;
+"EXTEND")
+ echo "Lease extended for " \e
+ `sbin/dhcpinfo -i $1 LeaseTim`" seconds"
+ ;;
+"EXTEND6")
+ echo "New lease information obtained on $i"
+ ;;
+"EXPIRE" | "DROP" | "RELEASE")
+ ;;
+
+esac
+) >/var/run/dhcp_eventhook_output 2>&1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note the redirection of stdout and stderr to a file.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dhcp/\fIif\fR.dhc\fR\fR
+.ad
+.br
+.na
+\fB\fB/etc/dhcp/\fIif\fR.dh6\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains the configuration for interface. The mere existence of this file does
+not imply that the configuration is correct, since the lease might have
+expired. On start-up, \fBdhcpagent\fR confirms the validity of the address
+using REQUEST (for DHCPv4) or Confirm (DHCPv6).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dhcp/duid\fR\fR
+.ad
+.br
+.na
+\fB\fB/etc/dhcp/iaid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains persistent storage for DUID (DHCP Unique Identifier) and IAID
+(Identity Association Identifier) values. The format of these files is
+undocumented, and applications should not read from or write to them.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/dhcpagent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains default values for tunable parameters. All values may be qualified
+with the interface they apply to by prepending the interface name and a period
+(".") to the interface parameter name. The parameters include: the interface
+parameter name.
+.sp
+To configure IPv6 parameters, place the string \fB\&.v6\fR between the
+interface name (if any) and the parameter name. For example, to set the global
+IPv6 parameter request list, use \fB\&.v6.PARAM_REQUEST_LIST\fR. To set the
+\fBCLIENT_ID\fR (\fBDUID\fR) on \fBhme0\fR, use \fBhme0.v6.CLIENT_ID\fR.
+.sp
+The parameters include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVERIFIED_LEASE_ONLY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that a \fBRELEASE\fR rather than a \fBDROP\fR should be performed on
+managed interfaces when the agent terminates. Release causes the client to
+discard the lease, and the server to make the address available again. Drop
+causes the client to record the lease in \fB/etc/dhcp/\fIinterface\fR.dhc\fR or
+\fB/etc/dhcp/\fIinterface\fR.dh6\fR for later use. In addition, when the link
+status changes to \fBup\fR or when the system is resumed after a suspend, the
+client will verify the lease with the server. If the server is unreachable for
+verification, then the old lease will be discarded (even if it has time
+remaining) and a new one obtained.
+.sp
+Enabling this option is often desirable on mobile systems, such as laptops, to
+allow the system to recover quickly from moves.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOFFER_WAIT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates how long to wait between checking for valid \fBOFFER\fRs after
+sending a \fBDISCOVER\fR. For DHCPv6, sets the time to wait between checking
+for valid Advertisements after sending a Solicit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLIENT_ID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates the value that should be used to uniquely identify the client to the
+server. This value can take one of three basic forms:
+.sp
+.in +2
+.nf
+\fIdecimal\fR,\fIdata\fR...
+0xHHHHH...
+"\fIstring\fR...."
+.fi
+.in -2
+.sp
+
+The first form is an RFC 3315 DUID. This is legal for both IPv4 DHCP and
+DHCPv6. For IPv4, an RFC 4361 Client ID is constructed from this value. In this
+first form, the format of \fIdata\fR... depends on the decimal value. The
+following formats are defined for this first form:
+.sp
+.ne 2
+.mk
+.na
+\fB1,\fIhwtype\fR,\fItime\fR,\fIlla\fR\fR
+.ad
+.sp .6
+.RS 4n
+Type 1, DUID-LLT. The \fIhwtype\fR value is an integer in the range 0-65535,
+and indicates the type of hardware. The \fItime\fR value is the number of
+seconds since midnight, January 1st, 2000 UTC, and can be omitted to use the
+current system time. The \fIlla\fR value is either a colon-separated MAC
+address or the name of a physical interface. If the name of an interface is
+used, the \fIhwtype\fR value can be omitted. For example: \fB1,,,hme0\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2,\fIenterprise\fR,\fIhex\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Type 2, DUID-EN. The \fIenterprise\fR value is an integer in the range
+0-4294967295 and represents the SMI Enterprise number for an organization. The
+\fIhex\fR string is an even-length sequence of hexadecimal digits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB3,\fIhwtype\fR,\fIlla\fR\fR
+.ad
+.sp .6
+.RS 4n
+Type 3, DUID-LL. This is the same as DUID-LLT (type 1), except that a time
+stamp is not used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB*,\fIhex\fR\fR
+.ad
+.sp .6
+.RS 4n
+Any other type value (0 or 4-65535) can be used with an even-length hexadecimal
+string.
+.RE
+
+The second and third forms of \fBCLIENT_ID\fR are legal for IPv4 only. These
+both represent raw Client ID (without RFC 4361), in hex, or NVT ASCII string
+format. Thus, "\fBSun\fR" and \fB0x53756E\fR are equivalent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPARAM_REQUEST_LIST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a list of comma-separated integer values of options for which the
+client would like values, or symbolic \fBSite\fR or \fBOption\fR option names.
+Symbolic option names for IPv4 are resolved through \fB/etc/dhcp/inittab\fR.
+Option names for IPv6 are resolved by means of \fB/etc/dhcp/inittab6\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPARAM_IGNORE_LIST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a list of options (constructed in the same manner as
+\fBPARAM_REQUEST_LIST\fR) that the DHCP client will ignore. Ignored options are
+treated as though the server did not return the options specified. Ignored
+options are not visible using \fBdhcpinfo\fR(1) or acted on by the client. This
+parameter can be used, for example, to disable an unwanted client name or
+default router.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBREQUEST_HOSTNAME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates the client requests the DHCP server to map the client's leased IPv4
+address to the host name associated with the network interface that performs
+DHCP on the client. The host name must be specified in the
+\fB/etc/hostname.\fIinterface\fR\fR file for the relevant interface on a line
+of the form
+.sp
+.in +2
+.nf
+inet \fIhostname\fR
+.fi
+.in -2
+.sp
+
+where \fIhostname\fR is the host name requested.
+.sp
+This option works with DHCPv4 only.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dhcp/eventhook\fR\fR
+.ad
+.sp .6
+.RS 4n
+Location of a DHCP event program.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdhcpinfo\fR(1), \fBifconfig\fR(1M), \fBinit\fR(1M), \fBin.mpathd\fR(1M),
+\fBin.ndpd\fR(1M), \fBsyslog\fR(3C), \fBattributes\fR(5), \fBdhcp\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+Croft, B. and Gilmore, J.,\fIBootstrap Protocol (BOOTP)\fRRFC 951, Network
+Working Group, September 1985.
+.sp
+.LP
+Droms, R., \fIDynamic Host Configuration Protocol\fR, RFC 2131, Network Working
+Group, March 1997.
+.sp
+.LP
+Lemon, T. and B. Sommerfeld. \fIRFC 4361, Node-specific Client Identifiers for
+Dynamic Host Configuration Protocol Version Four (DHCPv4)\fR. Nominum and Sun
+Microsystems. February 2006.
+.sp
+.LP
+Droms, R. \fIRFC 3315, Dynamic Host Configuration Protocol for IPv6
+(DHCPv6)\fR. Cisco Systems. July 2003.
+.SH NOTES
+.sp
+.LP
+The \fBdhcpagent\fR daemon can be used on IPv4 logical interfaces, just as with
+physical interfaces. When used on a logical interface, the daemon automatically
+constructs a Client ID value based on the DUID and IAID values, according to
+RFC 4361. The \fB/etc/default/dhcpagent\fR \fBCLIENT_ID\fR value, if any,
+overrides this automatic identifier.
+.sp
+.LP
+As with physical IPv4 interfaces, the \fB/etc/hostname.hme0:1\fR and
+\fB/etc/dhcp.hme0:1\fR files must also be created in order for \fBhme0:1\fR to
+be automatically plumbed and configured at boot. In addition, unlike physical
+IPv4 interfaces, \fBdhcpagent\fR does not add or remove default routes
+associated with logical interfaces.
+.sp
+.LP
+DHCP can be performed on IPMP IP interfaces to acquire and maintain IPMP data
+addresses. Because an IPMP IP interface has no hardware address, the daemon
+automatically constructs a Client ID using the same approach described above
+for IPv4 logical interfaces. In addition, the lack of a hardware address means
+the daemon must set the "broadcast" flag in all \fBDISCOVER\fR and
+\fBREQUEST\fR messages on IPMP IP interfaces. Some DHCP servers may refuse such
+requests.
+.sp
+.LP
+DHCP can be performed on IP interfaces that are part of an IPMP group (to
+acquire and maintain test addresses). The daemon will automatically set the
+\fBNOFAILOVER\fR and \fBDEPRECATED\fR flags on each test address. Additionally,
+the daemon will not add or remove default routes in this case. Note that the
+actual DHCP packet exchange may be performed over any active IP interface in
+the IPMP group. It is strongly recommended that test addresses have infinite
+leases. Otherwise, an extended network outage detectable only by probes may
+cause test address leases to expire, causing \fBin.mpathd\fR(1M) to revert to
+link-based failure detection and trigger an erroneous repair.
+.sp
+.LP
+With DHCPv6, the link-local interface must be configured using
+\fB/etc/hostname6.hme0\fR in order for DHCPv6 to run on \fBhme0\fR at boot
+time. The logical interfaces for each address are plumbed by \fBdhcpagent\fR
+automatically.
diff --git a/usr/src/man/man1m/dhcpconfig.1m b/usr/src/man/man1m/dhcpconfig.1m
new file mode 100644
index 0000000000..2ba813fa8d
--- /dev/null
+++ b/usr/src/man/man1m/dhcpconfig.1m
@@ -0,0 +1,884 @@
+'\" te
+.\" Copyright (c) 2002 by Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dhcpconfig 1M "16 Jun 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dhcpconfig \- DHCP service configuration utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBdhcpconfig\fR \fB-D\fR \fB-r\fR \fIresource\fR \fB-p\fR \fIpath\fR [\fB-u\fR \fIuninterpreted\fR]
+ [\fB-l\fR \fIlease_length\fR] [\fB-n\fR ] [\fB-d\fR \fIDNS_domain\fR]
+ [\fB-a\fR \fIDNS_server_addresses\fR] [\fB-h\fR \fIhosts_resource\fR]
+ [\fB-y\fR \fIhosts_domain\fR]
+.fi
+
+.LP
+.nf
+\fBdhcpconfig\fR \fB-R\fR \fIserver_addresses\fR
+.fi
+
+.LP
+.nf
+\fBdhcpconfig\fR \fB-U\fR [\fB-f\fR] [\fB-x\fR] [\fB-h\fR]
+.fi
+
+.LP
+.nf
+\fBdhcpconfig\fR \fB-N\fR \fInetwork_address\fR [\fB-m\fR \fIsubnet_mask\fR] [\fB-b\fR ]
+ [\fB-t\fR \fIrouter_addresses\fR] [\fB-y\fR \fINIS-domain\fR]
+ [\fB-a\fR \fINIS_server_addresses\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhcpconfig\fR \fB-C\fR \fB-r\fR \fIresource\fR \fB-p\fR \fIpath\fR [\fB-f\fR] [\fB-k\fR]
+ [\fB-u\fR \fIuninterpreted\fR]
+.fi
+
+.LP
+.nf
+\fBdhcpconfig\fR \fB-X\fR \fIfilename\fR [\fB-m\fR \fImacro_list\fR] [\fB-o\fR \fIoption_list\fR]
+ [\fB-a\fR \fInetwork_addresses\fR] [\fB-f\fR] [\fB-x\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhcpconfig\fR \fB-I\fR \fIfilename\fR [\fB-f\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhcpconfig\fR \fB-P\fR [\fIparameter\fR[=\fIvalue\fR],]...
+.fi
+
+.LP
+.nf
+\fBdhcpconfig\fR \fB-S\fR [\fB-f\fR] [\fB-e\fR | \fB-d\fR | \fB-r\fR | \fB-q\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdhcpconfig\fR command is used to configure and manage the Dynamic Host
+Configuration Protocol (DHCP) service or BOOTP relay services. It is intended
+for use by experienced Solaris system administrators and is designed for ease
+of use in scripts. The \fBdhcpmgr\fR utility is recommended for less
+experienced administrators or those preferring a graphical utility to configure
+and manage the DHCP service or BOOTP relay service.
+.sp
+.LP
+The \fBdhcpconfig\fR command can be run by root, or by other users assigned to
+the DHCP Management profile. See \fBrbac\fR(5) and \fBuser_attr\fR(4).
+.sp
+.LP
+\fBdhcpconfig\fR requires one of the following function flags: \fB-D\fR,
+\fB-R\fR, \fB-U\fR, \fB-N\fR, \fB-C\fR, \fB-X\fR, \fB-I\fR, \fB-P\fR or
+\fB-S\fR.
+.sp
+.LP
+The \fBdhcpconfig\fR menu driven mode is supported in Solaris 8 and previous
+versions of Solaris.
+.SS "Where dhcpconfig Obtains Configuration Information"
+.sp
+.LP
+\fBdhcpconfig\fR scans various configuration files on your Solaris machine for
+information it can use to assign values to options contained in macros it adds
+to the \fBdhcptab\fR configuration table. The following table lists information
+\fBdhcpconfig\fR needs, the source used, and how the information is used:
+.sp
+
+.sp
+.TS
+tab() box;
+lw(1.38i) |lw(2.06i) |lw(2.06i)
+lw(1.38i) |lw(2.06i) |lw(2.06i)
+.
+\fIInformation\fR\fISource\fR\fIWhere Used\fR
+_
+TimezoneSystem date, timezone settings\fBLocale\fR macro
+DNS parameters\fBnsswitch.conf\fR, \fB/etc/resolv.conf\fRServer macro
+NIS parametersSystem domainname, \fBnsswitch.conf\fR, NISNetwork macros
+SubnetmaskT{
+Network interface, \fBnetmasks\fR table in nameservice
+T}Network macros
+.TE
+
+.sp
+.LP
+If you have not set these parameters on your server machine, you should do so
+before configuring the DHCP server with \fBdhcpconfig\fR. Note that if you
+specify options with the \fBdhcpconfig \fR\fB-D\fR command line, the values you
+supply override the values obtained from the system files.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 23n
+.rt
+Convert to using a new data store, recreating the DHCP data tables in a format
+appropriate to the new data store, and setting up the DHCP server to use the
+new data store.
+.sp
+The following sub-options are required:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpath_to_data\fR\fR
+.ad
+.RS 20n
+.rt
+The paths for \fBSUNWfiles\fR and \fBSUNWbinfiles\fR must be absolute
+\fBUNIX\fR pathnames. The path for \fBSUNWnisplus\fR must be a fully specified
+\fBNIS+\fR directory (including the tailing period.) See \fBdhcp_modules\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIdata_resource\fR\fR
+.ad
+.RS 20n
+.rt
+New data store resource. One of the following must be specified:
+\fBSUNWfiles\fR, \fBSUNWbinfiles\fR, or \fBSUNWnisplus\fR. See
+\fBdhcp_modules\fR(5).
+.RE
+
+The following sub-options are optional:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 20n
+.rt
+Do not prompt for confirmation. If \fB-f\fR is not used, a warning and
+confirmation prompt are issued before the conversion starts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 20n
+.rt
+Keep the old DHCP data tables after successful conversion. If any problem
+occurs during conversion, tables are not deleted even if \fB-k\fR sub-option is
+not specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuninterpreted\fR\fR
+.ad
+.RS 20n
+.rt
+Data which is ignored by \fBdhcpconfig\fR, but passed on to the datastore for
+interpretation. The private layer provides for module-specific configuration
+information through the use of the \fBRESOURCE_CONFIG \fR keyword.
+Uninterpreted data is stored within \fBRESOURCE_CONFIG\fR keyword of
+\fBdhcpsvc.conf\fR(4). The \fB-u\fR sub-option is not used with the
+\fBSUNWfiles\fR, \fBSUNWbinfiles\fR, and \fBSUNWnisplus\fR data stores. See
+\fBdhcp_modules\fR(5).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 23n
+.rt
+Configure the \fBDHCP\fR service.
+.sp
+The following sub-options are required:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIdata_resource\fR\fR
+.ad
+.RS 20n
+.rt
+One of the following must be specified: \fBSUNWfiles\fR, \fBSUNWbinfiles\fR, or
+\fBSUNWnisplus\fR. Other data stores may be available.See
+\fBdhcp_modules\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpath\fR\fR
+.ad
+.RS 20n
+.rt
+The paths for \fBSUNWfiles\fR and \fBSUNWbinfiles\fR must be absolute
+\fBUNIX\fR pathnames. The path for \fBSUNWnisplus\fR must be a fully specified
+\fBNIS+\fR directory (including the tailing period.) . See
+\fBdhcp_modules\fR(5).
+.RE
+
+The following sub-options are optional:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIDNS_servers\fR\fR
+.ad
+.RS 21n
+.rt
+IP addresses of DNS servers, separated with commas.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIDNS_domain\fR\fR
+.ad
+.RS 21n
+.rt
+DNS domain name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhosts_resource\fR\fR
+.ad
+.RS 21n
+.rt
+Resource in which to place hosts data. Usually, the name service in use on the
+server. Valid values are \fBnisplus\fR, \fBfiles\fR, or \fBdns\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIseconds\fR\fR
+.ad
+.RS 21n
+.rt
+Lease length used for addresses not having a specified lease length, in
+seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 21n
+.rt
+Non-negotiable leases
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR \fIhosts_domain\fR\fR
+.ad
+.RS 21n
+.rt
+DNS or NIS+ domain name to be used for hosts data. Valid only if \fBdns\fR or
+\fBnisplus\fR is specified for \fB-h\fR sub-option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuninterpreted\fR\fR
+.ad
+.RS 21n
+.rt
+Data which is ignored by \fBdhcpconfig\fR, but passed on to the datastore for
+interpretation. The private layer provides for module-specific configuration
+information through the use of the \fBRESOURCE_CONFIG \fR keyword.
+Uninterpreted data is stored within \fBRESOURCE_CONFIG\fR keyword of
+\fBdhcpsvc.conf\fR(4). The \fB-u\fR sub-option is not used with the
+\fBSUNWfiles\fR, \fBSUNWbinfiles\fR, and \fBSUNWnisplus\fR data stores. See
+\fBdhcp_modules\fR(5).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIfilename\fR\fR
+.ad
+.RS 23n
+.rt
+Import data from \fIfilename\fR, containing data previously exported from a
+Solaris DHCP server. Note that after importing, you may have to edit macros to
+specify the correct domain names, and edit network tables to change the owning
+server of addresses in imported networks. Use \fBdhtadm\fR and \fBpntadm\fR to
+do this.
+.sp
+The following sub-options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Replace any conflicting data with the data being imported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 6n
+.rt
+Signal the daemon to reload the \fBdhcptab\fR once the import has been
+completed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR \fInet_address\fR\fR
+.ad
+.RS 23n
+.rt
+Configure an additional network for DHCP service.
+.sp
+The following sub-options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fINIS_server_addresses\fR\fR
+.ad
+.RS 27n
+.rt
+List of IP addresses of NIS servers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 27n
+.rt
+Network is a point-to-point (PPP) network, therefore no broadcast address
+should be configured. If \fB-\fRb is not used, the network is assumed to be a
+LAN, and the broadcast address is determined using the network address and
+subnet mask.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 27n
+.rt
+Signal the daemon to reload the \fBdhcptab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIxxx.xxx.xxx.xxx\fR\fR
+.ad
+.RS 27n
+.rt
+Subnet mask for the network; if \fB-m\fR is not used, subnet mask is obtained
+from netmasks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIrouter_addresses\fR\fR
+.ad
+.RS 27n
+.rt
+List of router IP addresses; if not specified, router discovery flag is set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR \fINIS_domain_name\fR\fR
+.ad
+.RS 27n
+.rt
+If NIS is used on this network, specify the NIS domain name.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.RS 23n
+.rt
+Configure the DHCP service parameters. Each parameter and value are specified
+by the following pattern:
+.sp
+.in +2
+.nf
+\fIparameter\fR[=\fIvalue\fR],\&.\|.\|.
+.fi
+.in -2
+.sp
+
+Where parameter and value are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIparameter\fR\fR
+.ad
+.RS 13n
+.rt
+One of the DHCP service parameters listed in \fBdhcpsvc.conf\fR(4). If the
+corresponding \fIvalue\fR is not specified, the current parameter value is
+displayed. If \fIparameter\fR is not specified, all parameters and current
+values are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvalue\fR\fR
+.ad
+.RS 13n
+.rt
+Optional string to set the servers parameter to if the value is acceptable. If
+the value is missing or is empty (\fB""\fR), the parameter and its current
+value are deleted.
+.RE
+
+After a parameter has changed the DHCP server requires re-starting before you
+can use new parameter values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIserver_addresses\fR\fR
+.ad
+.RS 23n
+.rt
+Configure the BOOTP relay service. BOOTP or DHCP requests are forwarded to the
+list of servers specified.
+.sp
+\fIserver_addresses\fR is a comma separated list of hostnames and/or IP
+addresses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.RS 23n
+.rt
+Control the DHCP service.
+.sp
+The following sub-options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+ Disable and stop the DHCP service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Enable and start the DHCP service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 6n
+.rt
+Display the state of the DHCP service. The state is encoded into the exit
+status.
+.sp
+.in +2
+.nf
+0 DHCP service disabled and stopped
+1 DHCP service enabled and stopped
+2 DHCP service disabled and running
+3 DHCP service enabled and running
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Enable and restart the DHCP service.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR\fR
+.ad
+.RS 23n
+.rt
+Unconfigure the DHCP service or BOOTP relay service.
+.sp
+The following sub-options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Do not prompt for confirmation. If \fB-f\fR is not used, a warning and
+confirmation prompt is issued.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 6n
+.rt
+Delete hosts entries from name service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 6n
+.rt
+Delete the \fBdhcptab\fR and network tables.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR \fIfilename\fR\fR
+.ad
+.RS 23n
+.rt
+Export data from the DHCP data tables, saving to \fIfilename\fR, to move the
+data to another Solaris DHCP server.
+.sp
+The following sub-options are optional:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fInetworks_to_export\fR\fR
+.ad
+.RS 25n
+.rt
+List of networks whose addresses should be exported, or the keyword ALL to
+specify all networks. If \fB-a\fR is not specified, no networks are exported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fR
+.ad
+.RS 25n
+.rt
+Signal the daemon to reload the \fBdhcptab\fR after the export has been
+completed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImacros_to_export\fR\fR
+.ad
+.RS 25n
+.rt
+List of macros to export, or the keyword \fBALL\fR to specify all macros. If
+\fB-m\fR is not specified, no macros are exported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoptions_to_export\fR\fR
+.ad
+.RS 25n
+.rt
+List of options to export, or the keyword \fBALL\fR to specify all options. If
+\fB-o\fR is not specified, no options are exported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 25n
+.rt
+Delete the data from this server after it is exported. If \fB-x\fR is not
+specified you are in effect copying the data.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConfiguring DHCP Service with Binary Files Data Store
+.sp
+.LP
+The following command configures DHCP service, using the binary files data
+store, in the DNS domain \fBacme.eng\fR, with a lease time of 28800 seconds (8
+hours),
+
+.sp
+.in +2
+.nf
+example# dhcpconfig -D -r SUNWbinfiles -p /var/dhcp -l 28800\e
+ -d acme.eng -a 120.30.33.4 -h dns -y acme.eng
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRConfiguring BOOTP Relay Agent
+.sp
+.LP
+The following command configures the DHCP daemon as a BOOTP relay agent, which
+forwards BOOTP and DHCP requests to the servers having the IP addresses
+120.30.33.7 and 120.30.42.132:
+
+.sp
+.in +2
+.nf
+example# dhcpconfig -R 120.30.33.7,120.30.42.132
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUnconfiguring DHCP Service
+.sp
+.LP
+The following command unconfigures the DHCP service, with confirmation, and
+deletes the DHCP data tables and host table entries:
+
+.sp
+.in +2
+.nf
+example# dhcpconfig -U -x -h
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRConfiguring a Network for DHCP Service
+.sp
+.LP
+The following command configures an additional LAN network for DHCP service,
+specifying that clients should use router discovery and providing the NIS
+domain name and NIS server address:
+
+.sp
+.in +2
+.nf
+example# dhcpconfig -N 120.30.171.0 -y east.acme.eng.com\e
+ -a 120.30.33.4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRConverting to SUNWnisplus Data Store
+.sp
+.LP
+The following command converts a DHCP server from using a text or binary files
+data store to a NIS+ data store, deleting the old data store's DHCP tables:
+
+.sp
+.in +2
+.nf
+example# dhcpconfig -C -r SUNWnisplus -p whatever.com.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRExporting a Network, Macros, and Options from a DHCP Server
+.sp
+.LP
+The following command exports one network (\fB120.30.171.0\fR) and its
+addresses, the macro \fB120.30.171.0\fR, and the options \fBmotd\fR and
+\fBPSptr\fRfrom a DHCP server, saves the exported data in file
+\fB/export/var/120301710_data\fR, and deletes the exported data from the
+server.
+
+.sp
+.in +2
+.nf
+example# dhcpconfig -X /var/dhcp/120301710_export
+ -a 120.30.171.0 -m 120.30.171.0 -o motd,PSptr
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRImporting Data on a DHCP Server
+.sp
+.LP
+The following command imports DHCP data from a file,
+\fB/net/golduck/export/var/120301710_data\fR, containing data previously
+exported from a Solaris DHCP server, overwrites any conflicting data on the
+importing server, and signals the daemon to reload the \fBdhcptab\fR once the
+import is completed:
+
+.sp
+.in +2
+.nf
+example# dhcpconfig -I /net/golduck/export/var/120301710_data -f -g
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRSetting DHCP Server Parameters
+.sp
+.LP
+ The following command sets the number of minutes that the DHCP server waits
+before timing out when updating DNS information on DHCP clients to five
+minutes.
+
+.sp
+.in +2
+.nf
+example# example# dhcpconfig -P UPDATE_TIMEOUT=5
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRRe-starting the DHCP server
+.sp
+.LP
+The following command stops and re-starts the DHCP server.
+
+.sp
+.in +2
+.nf
+example# example# dhcpconfig -S -r
+DHCP server stopped
+DHCP server started
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdhcpmgr\fR(1M), \fBdhtadm\fR(1M), \fBin.dhcpd\fR(1M), \fBpntadm\fR(1M),
+\fBdhcp_network\fR(4), \fBdhcptab\fR(4), \fBdhcpsvc.conf\fR(4),
+\fBnsswitch.conf\fR(4), \fBresolv.conf\fR(4), \fBuser_attr\fR(4),
+\fBattributes\fR(5), \fBdhcp\fR(5), \fBdhcp_modules\fR(5), \fBrbac\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/dhcpmgr.1m b/usr/src/man/man1m/dhcpmgr.1m
new file mode 100644
index 0000000000..0adaedc83c
--- /dev/null
+++ b/usr/src/man/man1m/dhcpmgr.1m
@@ -0,0 +1,177 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dhcpmgr 1M "13 Mar 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dhcpmgr \- graphical interface for managing DHCP service
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sadm/admin/bin/dhcpmgr\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdhcpmgr\fR is a graphical user interface which enables you to manage the
+Dynamic Host Configuration Protocol (\fBDHCP\fR) service on the local system.
+It performs the functions of the \fBdhcpconfig\fR, \fBdhtadm\fR, and
+\fBpntadm\fR command line utilities. You must be \fBroot\fR to use
+\fBdhcpmgr\fR. The \fBdhcpmgr\fR Help, available from the \fBHelp\fR menu,
+contains detailed information about using the tool.
+.SH USAGE
+.sp
+.LP
+You can perform the following tasks using \fBdhcpmgr\fR:
+.sp
+.ne 2
+.mk
+.na
+\fBConfigure DHCP service\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBdhcpmgr\fR to configure the DHCP daemon as a \fBDHCP\fR server, and
+select the data store to use for storing network configuration tables..
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBConfigure BOOTP relay service\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBdhcpmgr\fR to configure the DHCP daemon as a \fBBOOTP\fR relay.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBManage DHCP or BOOTP relay service\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBdhcpmgr\fR to start, stop, enable, disable or unconfigure the \fBDHCP\fR
+service or \fBBOOTP\fR relay service, or change DHCP server parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBManage DHCP addresses\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBdhcpmgr\fR to add, modify, or delete \fBIP\fR addresses leased by the
+\fBDHCP\fR service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBManage DHCP macros\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBdhcpmgr\fR to add, modify or delete macros used to supply configuration
+parameters to \fBDHCP\fR clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBManage DHCP options\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBdhcpmgr\fR to add, modify or delete options used to define parameters
+deliverable through \fBDHCP\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBConvert to a new DHCP data store\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBdhcpmgr\fR to configure the DHCP server to use a different data store,
+and convert the DHCP data to the format used by the new data store.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBMove DHCP data to another server\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBdhcpmgr\fR to export data from one Solaris DHCP server and import data
+onto another Solaris DHCP server.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 13n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR \fR
+.ad
+.RS 13n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdhcpconfig\fR(1M), \fBdhtadm\fR(1M), \fBpntadm\fR(1M), \fBin.dhcpd\fR(1M),
+\fBdhcpsvc.conf\fR(4), \fBdhcp_network\fR(4), \fBdhcptab\fR(4),
+\fBattributes\fR(5), \fBdhcp\fR(5), \fBdhcp_modules\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/dhtadm.1m b/usr/src/man/man1m/dhtadm.1m
new file mode 100644
index 0000000000..4f1f282f34
--- /dev/null
+++ b/usr/src/man/man1m/dhtadm.1m
@@ -0,0 +1,715 @@
+'\" te
+.\" Copyright (c) 2002 by Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dhtadm 1M "28 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dhtadm \- DHCP configuration table management utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBdhtadm\fR \fB-C\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-A\fR \fB-s\fR \fIsymbol_name\fR \fB-d\fR \fIdefinition\fR [\fB-r\fR \fIresource\fR]
+ [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-A\fR \fB-m\fR \fImacro_name\fR \fB-d\fR \fIdefinition\fR [\fB-r\fR \fIresource\fR]
+ [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-M\fR \fB-s\fR \fIsymbol_name\fR \fB-d\fR \fIdefinition\fR [\fB-r\fR \fIresource\fR]
+ [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-M\fR \fB-s\fR \fIsymbol_name\fR \fB-n\fR \fInew_name\fR [\fB-r\fR \fIresource\fR]
+ [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-M\fR \fB-m\fR \fImacro_name\fR \fB-n\fR \fInew_name\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR]
+ [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-M\fR \fB-m\fR \fImacro_name\fR \fB-d\fR \fIdefinition\fR [\fB-r\fR \fIresource\fR]
+ [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-M\fR \fB-m\fR \fImacro_name\fR \fB-e\fR \fIsymbol=value\fR [\fB-r\fR \fIresource\fR]
+ [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-D\fR \fB-s\fR \fIsymbol_name\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR]
+ [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-D\fR \fB-m\fR \fImacro_name\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR]
+ [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-P\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-R\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] [\fB-g\fR]
+.fi
+
+.LP
+.nf
+\fBdhtadm\fR \fB-B\fR [\fB-v\fR] [\fIbatchfile\fR] [\fB-g\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdhtadm\fR manages the Dynamic Host Configuration Protocol (\fBDHCP\fR)
+service configuration table, \fBdhcptab\fR. You can use it to add, delete, or
+modify \fBDHCP\fR configuration macros or options or view the table. For a
+description of the table format, see \fBdhcptab\fR(4).)
+.sp
+.LP
+The \fBdhtadm\fR command can be run by root, or by other users assigned to the
+DHCP Management profile. See \fBrbac\fR(5) and \fBuser_attr\fR(4).
+.sp
+.LP
+After you make changes with \fBdhtadm\fR, you should issue a \fBSIGHUP\fR to
+the DHCP server, causing it to read the \fBdhcptab\fR and pick up the changes.
+Do this using the \fB-g\fR option.
+.SH OPTIONS
+.sp
+.LP
+One of the following function flags must be specified with the \fBdhtadm\fR
+command: \fB-A\fR, \fB-B\fR, \fB-C\fR, \fB-D\fR, \fB-M\fR, \fB-P\fR or
+\fB-R\fR.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fR
+.ad
+.RS 27n
+.rt
+Add a symbol or macro definition to the \fBdhcptab\fR table.
+.sp
+The following sub-options are required:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdefinition\fR\fR
+.ad
+.RS 18n
+.rt
+Specify a macro or symbol definition.
+.sp
+\fIdefinition\fR must be enclosed in single quotation marks. For macros, use
+the form \fB-d\fR
+\fB\&':\fIsymbol\fR=\fIvalue\fR:\fIsymbol\fR=\fIvalue\fR:'\fR. Enclose a
+\fIvalue\fR that contains colons in double quotation marks. For symbols, the
+definition is a series of fields that define a symbol's characteristics. The
+fields are separated by commas. Use the form \fB-d\fR
+\fB\&'\fIcontext\fR,\fIcode\fR,\fItype\fR,\fIgranularity\fR,\fImaximum\fR'\fR.
+See \fBdhcptab\fR(4) for information about these fields.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImacro_name\fR\fR
+.ad
+.RS 18n
+.rt
+Specify the name of the macro to be added.
+.sp
+The \fB-d\fR option must be used with the \fB-m\fR option. The \fB-s\fR option
+cannot be used with the \fB-m\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsymbol_name\fR\fR
+.ad
+.RS 18n
+.rt
+Specify the name of the symbol to be added.
+.sp
+The \fB-d\fR option must be used with the \fB-s\fR option. The \fB-m\fR option
+cannot be used with the \fB-s\fR option.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR\fR
+.ad
+.RS 27n
+.rt
+Batch process \fBdhtadm\fR commands. \fBdhtadm\fR reads from the specified file
+or from standard input a series of \fBdhtadm\fR commands and execute them
+within the same process. Processing many \fBdhtadm\fR commands using this
+method is much faster than running an executable batchfile itself. Batch mode
+is recommended for using \fBdhtadm\fR in scripts.
+.sp
+The following sub-option is optional:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Display commands to standard output as they are processed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fR
+.ad
+.RS 27n
+.rt
+Create the \fBDHCP\fR service configuration table, \fBdhcptab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fR
+.ad
+.RS 27n
+.rt
+Delete a symbol or macro definition.
+.sp
+The following sub-options are required:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImacro_name\fR\fR
+.ad
+.RS 18n
+.rt
+Delete the specified macro.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsymbol_name\fR\fR
+.ad
+.RS 18n
+.rt
+Delete the specified symbol.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fR
+.ad
+.RS 27n
+.rt
+Signal the DHCP daemon to reload the \fBdhcptab\fR after successful completion
+of the operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fR
+.ad
+.RS 27n
+.rt
+Modify an existing symbol or macro definition.
+.sp
+The following sub-options are required:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdefinition\fR\fR
+.ad
+.RS 17n
+.rt
+Specify a macro or symbol definition to modify.
+.sp
+The definition must be enclosed in single quotation marks. For macros, use the
+form \fB-d\fR \fB\&':\fIsymbol\fR=\fIvalue\fR:\fIsymbol\fR=\fIvalue\fR:'\fR.
+Enclose a \fIvalue\fR that contains colons in double quotation marks. For
+symbols, the definition is a series of fields that define a symbol's
+characteristics. The fields are separated by commas. Use the form \fB-d\fR
+\fB\&'\fIcontext\fR,\fIcode\fR,\fItype\fR,\fIgranularity\fR,\fImaximum\fR'\fR.
+See \fBdhcptab\fR(4) for information about these fields.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 17n
+.rt
+This sub-option uses the \fIsymbol\fR \fB=\fR\fIvalue\fR argument. Use it to
+edit a \fIsymbol\fR/\fIvalue\fR pair within a macro. To add a symbol which does
+not have an associate value, enter:
+.sp
+.in +2
+.nf
+\fIsymbol\fR\fB=_NULL_VALUE_\fR
+.fi
+.in -2
+.sp
+
+To delete a symbol definition from a macro, enter:
+.sp
+.in +2
+.nf
+\fIsymbol\fR\fB=\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 17n
+.rt
+This sub-option uses the \fImacro_name\fR argument. The \fB-n\fR, \fB-d\fR, or
+\fB-e\fR sub-options are legal companions for this sub-option..
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 17n
+.rt
+This sub-option uses the \fInew_name\fR argument and modifies the name of the
+object specified by the \fB-m\fR or \fB-s\fR sub-option. It is not limited to
+macros. . Use it to specify a new macro name or symbol name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 17n
+.rt
+This sub-option uses the \fIsymbol_name\fR argument. Use it to specify a
+symbol. The \fB-d\fR sub-option is a legal companion.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fI path\fR \fR
+.ad
+.RS 27n
+.rt
+Override the \fBdhcpsvc.conf\fR(4) configuration value for \fBPATH=\fR with
+\fIpath\fR. See \fBdhcpsvc.conf\fR(4) for more details regarding \fIpath\fR.
+See \fBdhcp_modules\fR(5) for information regarding data storage modules for
+the \fBDHCP\fR service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fR
+.ad
+.RS 27n
+.rt
+Print (display) the \fBdhcptab\fR table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fI data_store_resource\fR \fR
+.ad
+.RS 27n
+.rt
+Override the \fBdhcpsvc.conf\fR(4) configuration value for \fBRESOURCE=\fR with
+the \fIdata_store_resource\fR specified. See \fBdhcpsvc.conf\fR(4) for more
+details on resource type. See\fI\fR for more information about adding support
+for other data stores. See \fBdhcp_modules\fR(5) for information regarding data
+storage modules for the \fBDHCP\fR service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fR
+.ad
+.RS 27n
+.rt
+Remove the \fBdhcptab\fR table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fI uninterpreted\fR\fR
+.ad
+.RS 27n
+.rt
+Data which is ignored by \fBdhtadm\fR, but passed to currently configured
+public module, to be interpreted by the data store. The private layer provides
+for module-specific configuration information through the use of the
+\fBRESOURCE_CONFIG\fR keyword. Uninterpreted data is stored within
+\fBRESOURCE_CONFIG\fR keyword of \fBdhcpsvc.conf\fR(4). See
+\fBdhcp_modules\fR(5) for information regarding data storage modules for the
+DHCP service.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating the \fBDHCP\fR Service Configuration Table
+.sp
+.LP
+The following command creates the \fBDHCP\fR service configuration table,
+\fBdhcptab\fR:
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-C\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding a Symbol Definition
+.sp
+.LP
+The following command adds a \fBVendor\fR option symbol definition for a new
+symbol called \fBMySym\fR to the \fBdhcptab\fR table in the \fBSUNWfiles\fR
+resource in the \fB/var/mydhcp\fR directory:
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-A\fR \fB-s\fR MySym
+ \fB-d\fR 'Vendor=SUNW.PCW.LAN,20,IP,1,0'
+ \fB-r\fR SUNWfiles \fB-p\fR /var/mydhcp
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRAdding a Macro Definition
+.sp
+.LP
+The following command adds the \fBaruba\fR macro definition to the
+\fBdhcptab\fR table. Note that symbol/value pairs are bracketed with colons
+(\fB:\fR).
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-A\fR \fB-m\fR aruba \e
+ \fB-d\fR ':Timeserv=10.0.0.10 10.0.0.11:DNSserv=10.0.0.1:'
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRModifying a Macro Definition
+.sp
+.LP
+The following command modifies the \fBLocale\fR macro definition, setting the
+value of the \fBUTCOffst\fR symbol to 18000 seconds. Note that any macro
+definition which includes the definition of the \fBLocale\fR macro inherits
+this change.
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-M\fR \fB-m\fR Locale \fB-e\fR 'UTCOffst=18000'
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDeleting a Symbol
+.sp
+.LP
+The following command deletes the \fBTimeserv\fR symbol from the \fBaruba\fR
+macro. Any macro definition which includes the definition of the \fBaruba\fR
+macro inherits this change.
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-M\fR \fB-m\fR aruba \fB-e\fR 'Timeserv='
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRAdding a Symbol to a Macro
+.sp
+.LP
+The following command adds the \fBHostname\fR symbol to the \fBaruba\fR macro.
+Note that the \fBHostname\fR symbol takes no value, and thus requires the
+special value \fB_NULL_VALUE_\fR. Note also that any macro definition which
+includes the definition of the \fBaruba\fR macro inherits this change.
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-M\fR \fB-m\fR aruba \fB-e\fR 'Hostname=_NULL_VALUE_'
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRRenaming a Macro
+.sp
+.LP
+The following command renames the \fBLocale\fR macro to \fBMyLocale\fR. Note
+that any \fBInclude\fR statements in macro definitions which include the
+\fBLocale\fR macro also need to be changed.
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-M\fR \fB-m\fR Locale \fB-n\fR MyLocale
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDeleting a Symbol Definition
+.sp
+.LP
+The following command deletes the \fBMySym\fR symbol definition. Note that any
+macro definitions which use \fBMySym\fR needs to be modified.
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-D\fR \fB-s\fR MySym
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRRemoving a dhcptab
+.sp
+.LP
+The following command removes the \fBdhcptab\fR table in the NIS+ directory
+specified.
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-R\fR \fB-r\fR SUNWnisplus \fB-p\fR Test.Nis.Plus.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRPrinting a dhcptab
+.sp
+.LP
+The following command prints to standard output the contents of the
+\fBdhcptab\fR that is located in the data store and path indicated in the
+\fBdhcpsvc.conf\fR file:.
+
+.sp
+.in +2
+.nf
+# dhtadm \fB-P\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRExecuting dhtadm in Batch Mode
+.sp
+.LP
+The following command runs a series of \fBdhtadm\fR commands contained in a
+batch file and signals the daemon to reload the \fBdhcptab\fR once the commands
+have been executed: :
+
+.sp
+.in +2
+.nf
+# dhtadm -B addmacros -g
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR \fR
+.ad
+.RS 6n
+.rt
+Object already exists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR \fR
+.ad
+.RS 6n
+.rt
+Object does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR \fR
+.ad
+.RS 6n
+.rt
+Non-critical error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR \fR
+.ad
+.RS 6n
+.rt
+Critical error.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/dhcpsvc.conf\fR \fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+\fBATTRIBUTE TYPE\fR\fBATTRIBUTE VALUE\fR
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdhcpconfig\fR(1M), \fBdhcpmgr\fR(1M), \fBin.dhcpd\fR(1M),
+\fBdhcpsvc.conf\fR(4), \fBdhcp_network\fR(4), \fBdhcptab\fR(4), \fBhosts\fR(4),
+\fBuser_attr\fR(4), \fBattributes\fR(5), \fBdhcp\fR(5),
+\fBdhcp_modules\fR(5)\fBrbac\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+Alexander, S., and R. Droms, \fIDHCP Options and BOOTP Vendor Extensions\fR,
+RFC 1533, Lachman Technology, Inc., Bucknell University, October 1993.
+.sp
+.LP
+Droms, R., \fIInteroperation Between DHCP and BOOTP\fR, RFC 1534, Bucknell
+University, October 1993.
+.sp
+.LP
+Droms, R., \fIDynamic Host Configuration Protocol\fR, RFC 1541, Bucknell
+University, October 1993.
+.sp
+.LP
+Wimer, W., \fIClarifications and Extensions for the Bootstrap Protocol\fR, RFC
+1542, Carnegie Mellon University, October 1993.
diff --git a/usr/src/man/man1m/disks.1m b/usr/src/man/man1m/disks.1m
new file mode 100644
index 0000000000..99b0d80657
--- /dev/null
+++ b/usr/src/man/man1m/disks.1m
@@ -0,0 +1,326 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH disks 1M "2 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+disks \- creates /dev entries for hard disks attached to the system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/disks\fR [\fB-C\fR] [\fB-r\fR \fIrootdir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevfsadm\fR(1M) is now the preferred command for \fB/dev\fR and should be
+used instead of \fBdisks\fR.
+.sp
+.LP
+\fBdisks\fR creates symbolic links in the \fB/dev/dsk\fR and \fB/dev/rdsk\fR
+directories pointing to the actual disk device special files under the
+\fB/devices\fR directory tree. It performs the following steps:
+.RS +4
+.TP
+1.
+\fBdisks\fR searches the kernel device tree to see what hard disks are
+attached to the system. It notes the \fB/devices\fR pathnames for the slices on
+the drive and determines the physical component of the corresponding
+\fB/dev/dsk\fR or \fB/dev/rdsk\fR name.
+.RE
+.RS +4
+.TP
+2.
+The \fB/dev/dsk\fR and \fB/dev/rdsk\fR directories are checked for disk
+entries \(mi that is, symbolic links with names of the form
+\fBc\fR\fIN\fR[\fBt\fR\fIN\fR]\fBd\fR\fIN\fR\fBs\fR\fIN\fR, or
+\fBc\fR\fIN\fR[\fBt\fR\fIN\fR]\fBd\fRN\fBp\fR\fIN\fR, where \fIN\fR represents
+a decimal number. \fBc\fR\fIN\fR is the logical controller number, an arbitrary
+number assigned by this program to designate a particular disk controller. The
+first controller found on the first occasion this program is run on a system,
+is assigned number \fB0\fR. \fBt\fR\fIN\fR is the bus-address number of a
+subsidiary controller attached to a peripheral bus such as \fBSCSI\fR or
+\fBIPI\fR (the \fBtarget\fR number for \fBSCSI,\fR and the \fBfacility\fR
+number for \fBIPI\fR controllers). \fBd\fR\fIN\fR is the number of the disk
+attached to the controller. \fBs\fR\fIN\fR is the \fIslice\fR number on the
+disk. \fBp\fR\fIN\fR is the FDISK partition number used by \fBfdisk\fR(1M).
+(x86 Only)
+.RE
+.RS +4
+.TP
+3.
+If only some of the disk entries are found in \fB/dev/dsk\fR for a disk that
+has been found under the \fB/devices\fR directory tree, disks creates the
+missing symbolic links. If none of the entries for a particular disk are found
+in \fB/dev/dsk\fR, \fBdisks\fR checks to see if any entries exist for other
+disks attached to the same controller, and if so, creates new entries using the
+same controller number as used for other disks on the same controller. If no
+other \fB/dev/dsk\fR entries are found for slices of disks belonging to the
+same physical controller as the current disk, \fBdisks\fR assigns the
+lowest-unused controller number and creates entries for the disk slices using
+this newly-assigned controller number.
+.RE
+.sp
+.LP
+\fBdisks\fR is run automatically each time a reconfiguration-boot is performed
+or when \fBadd_drv\fR(1M) is executed. When invoking \fBdisks\fR manually,
+first run \fBdrvconfig\fR(1M) to ensure \fB/devices\fR is consistent with the
+current device configuration.
+.SS "Notice to Driver Writers"
+.sp
+.LP
+\fBdisks\fR considers all devices with a node type of \fBDDI_NT_BLOCK,\fR
+\fBDDI_NT_BLOCK_CHAN,\fR \fBDDI_NT_CD,\fR \fBDDI_NT_BLOCK_WWN\fR or
+\fBDDI_NT_CD_CHAN\fR to be disk devices. \fBdisks\fR requires the minor name of
+disk devices obey the following format conventions.
+.sp
+.LP
+The minor name for block interfaces consists of a single lowercase ASCII
+character, \fBa\fR through \fBu\fR, representing the slices and the primary
+partitions. The minor name for logical drive block interfaces consists of the
+strings \fBp5\fR through \fBp36\fR. The minor name for character (raw)
+interfaces consists of a single lowercase ASCII character, \fBa\fR through
+\fBa\fR, followed by the string \fB,raw\fR, representing the slices and the
+primary partitions. The minor name for logical drive character (raw) interfaces
+consists of the string \fBp5\fR through \fBp36\fR followed by \fB,raw\fR.
+.sp
+.LP
+\fBdisks\fR performs the following translations:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBa\fR through \fBp\fR to \fBs0\fR through \fBs15\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBq\fR through \fBu\fR to \fBp0\fR through \fBp4\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBp5\fR through \fBp36\fR to \fBp5\fR through \fBp36\fR
+.RE
+.sp
+.LP
+SPARC drivers should only use the first eight slices: \fBa\fR through \fBh\fR,
+while x86 drivers can use \fBa\fR through \fBu\fR, with \fBq\fR through \fBu\fR
+corresponding to \fBfdisk\fR(1M) primary partitions. \fBq\fR represents the
+entire disk, while \fBr\fR, \fBs\fR, \fBt\fR, and \fBu\fR represent up to four
+additional primary partitions. For logical drives, \fBp5\fR to \fBp36\fR
+correspond to the 32 logical drives that are supported. The device nodes for
+logical drives change dynamically as and when they are created or deleted.
+.sp
+.LP
+To prevent \fBdisks\fR from attempting to automatically generate links for a
+device, drivers must specify a private node type and refrain from using a node
+type: \fBDDI_NT_BLOCK,\fR \fBDDI_NT_BLOCK_CHAN,\fR \fBDDI_NT_CD,\fR or
+\fBDDI_NT_CD_CHAN\fR when calling \fBddi_create_minor_node\fR(9F).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 14n
+.rt
+Causes disks to remove any invalid links after adding any new entries to
+\fB/dev/dsk\fR and \fB/dev/rdsk\fR. Invalid links are links which refer to
+non-existent disk nodes that have been removed, powered off, or are otherwise
+inaccessible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrootdir\fR\fR
+.ad
+.RS 14n
+.rt
+Causes \fBdisks\fR to presume that the \fB/dev/dsk\fR, \fB/dev/rdsk\fR and
+\fB/devices\fR directory trees are found under \fIrootdir\fR, not directly
+under \fB/\fR.
+.RE
+
+.SH ERRORS
+.sp
+.LP
+If disks finds entries of a particular logical controller linked to different
+physical controllers, it prints an error message and exits without making any
+changes to the \fB/dev\fR directory, since it cannot determine which of the two
+alternative logical-to-physical mappings is correct. The links should be
+manually corrected or removed before another reconfiguration-boot is performed.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating Block and Character Minor Devices
+.sp
+.LP
+The following example demonstrates creating the block and character minor
+devices from within the \fBxkdisk\fR driver's \fBattach\fR(9E) function.
+
+.sp
+.in +2
+.nf
+#include <sys/dkio.h>
+/*
+ * Create the minor number by combining the instance number
+ * with the slice number.
+ */
+#define MINOR_NUM(i, s) ((i) << 4 | (s))
+
+int
+xkdiskattach(dev_info_t *dip, ddi_attach_cmd_t cmd)
+{
+ int instance, slice;
+ char name[8];
+
+ /* other stuff in attach... */
+
+ instance = ddi_get_instance(dip);
+ for (slice = 0; slice < V_NUMPAR; slice++) {
+ /*
+ * create block device interface
+ */
+ sprintf(name, "%c", slice + 'a');
+ ddi_create_minor_node(dip, name, S_IFBLK,
+ MINOR_NUM(instance, slice), DDI_NT_BLOCK_CHAN, 0);
+
+ /*
+ * create the raw (character) device interface
+ */
+ sprintf(name,"%c,raw", slice + 'a');
+ ddi_create_minor_node(dip, name, S_IFCHR,
+ MINOR_NUM(instance, slice), DDI_NT_BLOCK_CHAN, 0);
+ }
+}
+.fi
+.in -2
+
+.sp
+.LP
+Installing the \fBxkdisk\fR disk driver on a Sun Fire 4800, with the driver
+controlling a \fBSCSI\fR disk (target 3 attached to an \fBisp\fR(7D) \fBSCSI
+HBA)\fR and performing a reconfiguration-boot (causing disks to be run) creates
+the following special files in \fB/devices\fR.
+
+.sp
+.in +2
+.nf
+# ls -l /devices/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/
+brw-r----- 1 root sys 32, 16 Aug 29 00:02 xkdisk@3,0:a
+crw-r----- 1 root sys 32, 16 Aug 29 00:02 xkdisk@3,0:a,raw
+brw-r----- 1 root sys 32, 17 Aug 29 00:02 xkdisk@3,0:b
+crw-r----- 1 root sys 32, 17 Aug 29 00:02 xkdisk@3,0:b,raw
+brw-r----- 1 root sys 32, 18 Aug 29 00:02 xkdisk@3,0:c
+crw-r----- 1 root sys 32, 18 Aug 29 00:02 xkdisk@3,0:c,raw
+brw-r----- 1 root sys 32, 19 Aug 29 00:02 xkdisk@3,0:d
+crw-r----- 1 root sys 32, 19 Aug 29 00:02 xkdisk@3,0:d,raw
+brw-r----- 1 root sys 32, 20 Aug 29 00:02 xkdisk@3,0:e
+crw-r----- 1 root sys 32, 20 Aug 29 00:02 xkdisk@3,0:e,raw
+brw-r----- 1 root sys 32, 21 Aug 29 00:02 xkdisk@3,0:f
+crw-r----- 1 root sys 32, 21 Aug 29 00:02 xkdisk@3,0:f,raw
+brw-r----- 1 root sys 32, 22 Aug 29 00:02 xkdisk@3,0:g
+crw-r----- 1 root sys 32, 22 Aug 29 00:02 xkdisk@3,0:g,raw
+brw-r----- 1 root sys 32, 23 Aug 29 00:02 xkdisk@3,0:h
+crw-r----- 1 root sys 32, 23 Aug 29 00:02 xkdisk@3,0:h,raw
+.fi
+.in -2
+
+.sp
+.LP
+/dev/dsk will contain the disk entries to the block device nodes in
+\fB/devices\fR
+
+.sp
+.in +2
+.nf
+# ls -l /dev/dsk
+/dev/dsk/c0t3d0s0 -> ../../devices/[...]/xkdisk@3,0:a
+/dev/dsk/c0t3d0s1 -> ../../devices/[...]/xkdisk@3,0:b
+/dev/dsk/c0t3d0s2 -> ../../devices/[...]/xkdisk@3,0:c
+/dev/dsk/c0t3d0s3 -> ../../devices/[...]/xkdisk@3,0:d
+/dev/dsk/c0t3d0s4 -> ../../devices/[...]/xkdisk@3,0:e
+/dev/dsk/c0t3d0s5 -> ../../devices/[...]/xkdisk@3,0:f
+/dev/dsk/c0t3d0s6 -> ../../devices/[...]/xkdisk@3,0:g
+/dev/dsk/c0t3d0s7 -> ../../devices/[...]/xkdisk@3,0:h
+.fi
+.in -2
+
+.sp
+.LP
+and /dev/rdsk will contain the disk entries for the character device nodes in
+\fB/devices\fR
+
+.sp
+.in +2
+.nf
+# ls -l /dev/rdsk
+/dev/rdsk/c0t3d0s0 -> ../../devices/[...]/xkdisk@3,0:a,raw
+/dev/rdsk/c0t3d0s1 -> ../../devices/[...]/xkdisk@3,0:b,raw
+/dev/rdsk/c0t3d0s2 -> ../../devices/[...]/xkdisk@3,0:c,raw
+/dev/rdsk/c0t3d0s3 -> ../../devices/[...]/xkdisk@3,0:d,raw
+/dev/rdsk/c0t3d0s4 -> ../../devices/[...]/xkdisk@3,0:e,raw
+/dev/rdsk/c0t3d0s5 -> ../../devices/[...]/xkdisk@3,0:f,raw
+/dev/rdsk/c0t3d0s6 -> ../../devices/[...]/xkdisk@3,0:g,raw
+/dev/rdsk/c0t3d0s7 -> ../../devices/[...]/xkdisk@3,0:h,raw
+.fi
+.in -2
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/dsk/*\fR\fR
+.ad
+.RS 15n
+.rt
+Disk entries (block device interface)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/rdsk/*\fR\fR
+.ad
+.RS 15n
+.rt
+Disk entries (character device interface)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/devices/*\fR\fR
+.ad
+.RS 15n
+.rt
+Device special files (minor device nodes)
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBadd_drv\fR(1M), \fBdevfsadm\fR(1M), \fBfdisk\fR(1M), \fBattributes\fR(5),
+\fBisp\fR(7D), \fBdevfs\fR(7FS), \fBdkio\fR(7I), \fBattach\fR(9E),
+\fBddi_create_minor_node\fR(9F)
+.sp
+.LP
+\fI\fR
+.SH BUGS
+.sp
+.LP
+\fBdisks\fR silently ignores malformed minor device names.
diff --git a/usr/src/man/man1m/diskscan.1m b/usr/src/man/man1m/diskscan.1m
new file mode 100644
index 0000000000..045f4dacc9
--- /dev/null
+++ b/usr/src/man/man1m/diskscan.1m
@@ -0,0 +1,115 @@
+'\" te
+.\" Copyright (c) 1998, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH diskscan 1M "24 Feb 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+diskscan \- perform surface analysis
+.SH SYNOPSIS
+.LP
+.nf
+\fBdiskscan\fR [\fB-W\fR] [\fB-n\fR] [\fB-y\fR] \fIraw_device\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdiskscan\fR is used by the system administrator to perform surface analysis
+on a portion of a hard disk. The disk portion may be a raw partition or slice;
+it is identified using its raw device name. By default, the specified portion
+of the disk is read (non-destructive) and errors reported on standard error. In
+addition, a progress report is printed on standard out. The list of bad blocks
+should be saved in a file and later fed into \fBaddbadsec\fR(1M), which will
+remap them.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Causes \fBdiskscan\fR to suppress linefeeds when printing progress information
+on standard out.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR\fR
+.ad
+.RS 6n
+.rt
+Causes \fBdiskscan\fR to perform write and read surface analysis. This type of
+surface analysis is destructive and should be invoked with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.RS 6n
+.rt
+Causes \fBdiskscan\fR to suppress the warning regarding destruction of
+existing data that is issued when \fB-W\fR is used.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw_device\fR\fR
+.ad
+.RS 14n
+.rt
+The address of the disk drive (see \fBFILES\fR).
+.RE
+
+.SH FILES
+.sp
+.LP
+The raw device should be \fB/dev/rdsk/c?[t?]d?[ps]?\fR. See \fBdisks\fR(1M) for
+an explanation of \fBSCSI\fR and \fBIDE\fR device naming conventions.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Architecturex86
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBaddbadsec\fR(1M), \fBdisks\fR(1M), \fBfdisk\fR(1M), \fBfmthard\fR(1M),
+\fBformat\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBformat\fR(1M) utility is available to format, label, analyze, and repair
+\fBSCSI\fR disks. This utility is included with the \fBdiskscan\fR,
+\fBaddbadsec\fR(1M), \fBfdisk\fR(1M), and \fBfmthard\fR(1M) commands available
+for x86. To format an \fBIDE\fR disk, use the \fB DOS\fR \fBformat\fR utility;
+however, to label, analyze, or repair \fBIDE\fR disks on x86 systems, use the
+Solaris \fBformat\fR(1M) utility.
diff --git a/usr/src/man/man1m/dispadmin.1m b/usr/src/man/man1m/dispadmin.1m
new file mode 100644
index 0000000000..1d07c16fed
--- /dev/null
+++ b/usr/src/man/man1m/dispadmin.1m
@@ -0,0 +1,261 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dispadmin 1M "7 Oct 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dispadmin \- process scheduler administration
+.SH SYNOPSIS
+.LP
+.nf
+\fBdispadmin\fR \fB-l\fR
+.fi
+
+.LP
+.nf
+\fBdispadmin\fR \fB-c\fR \fIclass\fR {\fB-g\fR [\fB-r\fR \fIres\fR] | \fB-s\fR \fIfile\fR}
+.fi
+
+.LP
+.nf
+\fBdispadmin\fR \fB-d\fR [\fIclass\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdispadmin\fR command displays or changes process scheduler parameters
+while the system is running.
+.sp
+.LP
+\fBdispadmin\fR does limited checking on the values supplied in \fIfile\fR to
+verify that they are within their required bounds. The checking, however, does
+not attempt to analyze the effect that the new values have on the performance
+of the system. Inappropriate values can have a negative effect on system
+performance. (See \fISystem Administration Guide: Advanced Administration\fR.)
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the class whose parameters are to be displayed or changed. Valid
+\fIclass\fR values are: \fBRT\fR for the real-time class, \fBTS\fR for the
+time-sharing class, \fBIA\fR for the inter-active class, \fBFSS\fR for the
+fair-share class, and FX for the fixed-priority class. The time-sharing and
+inter-active classes share the same scheduler, so changes to the scheduling
+parameters of one will change those of the other.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR [\fIclass\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Sets or displays the name of the default scheduling class to be used on reboot
+when starting \fBsvc:/system/scheduler:default\fR. If class name is not
+specified, the name and description of the current default scheduling class is
+displayed. If class name is specified and is a valid scheduling class name,
+then it is saved in \fBdispadmin\fR's private configuration file
+\fB/etc/dispadmin.conf\fR. Only super-users can set the default scheduling
+class.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Gets the parameters for the specified class and writes them to the standard
+output. Parameters for the real-time class are described in \fBrt_dptbl\fR(4).
+Parameters for the time-sharing and inter-active classes are described in
+\fBts_dptbl\fR(4). Parameters for the fair-share class are described in
+\fBFSS\fR(7). Parameters for the fixed-priority class are described in
+\fBfx_dptbl\fR(4).
+.sp
+The \fB-g\fR and \fB-s\fR options are mutually exclusive: you may not retrieve
+the table at the same time you are overwriting it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the scheduler classes currently configured in the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIres\fR\fR
+.ad
+.sp .6
+.RS 4n
+When using the \fB-g\fR option you may also use the \fB-r\fR option to specify
+a resolution to be used for outputting the time quantum values. If no
+resolution is specified, time quantum values are in milliseconds. If \fIres\fR
+is specified it must be a positive integer between 1 and 1000000000 inclusive,
+and the resolution used is the reciprocal of \fIres\fR in seconds. For example,
+a \fIres\fR value of 10 yields time quantum values expressed in tenths of a
+second; a \fIres\fR value of 1000000 yields time quantum values expressed in
+microseconds. If the time quantum cannot be expressed as an integer in the
+specified resolution, it is rounded up to the next integral multiple of the
+specified resolution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets scheduler parameters for the specified class using the values in
+\fIfile\fR. These values overwrite the current values in memory\(emthey become
+the parameters that control scheduling of processes in the specified class. The
+values in \fIfile\fR must be in the format output by the \fB-g\fR option.
+Moreover, the values must describe a table that is the same size (has same
+number of priority levels) as the table being overwritten. Super-user
+privileges are required in order to use the \fB-s\fR option.
+.sp
+Specify time quantum values for scheduling classes in system clock ticks, and
+not in constant-time units. Time quantum values are based on the value of the
+kernel's \fBhz\fR variable. If kernel variable \fBhires_tick\fR is set to
+\fB1\fR to get higher resolution clock behavior, the actual time quanta will be
+reduced by the order of \fB10\fR.
+.sp
+The \fB-g\fR and \fB-s\fR options are mutually exclusive: you may not retrieve
+the table at the same time you are overwriting it.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRetrieving the Current Scheduler Parameters for the real-time
+class
+.sp
+.LP
+The following command retrieves the current scheduler parameters for the
+real-time class from kernel memory and writes them to the standard output. Time
+quantum values are in microseconds.
+
+.sp
+.in +2
+.nf
+dispadmin \fB-c\fR RT \fB-g\fR \fB-r\fR 1000000
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fROverwriting the Current Scheduler Parameters for the Real-time
+Class
+.sp
+.LP
+The following command overwrites the current scheduler parameters for the
+real-time class with the values specified in \fBrt.config\fR.
+
+.sp
+.in +2
+.nf
+dispadmin \fB-c\fR RT \fB-s\fR rt.config
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRetrieving the Current Scheduler Parameters for the
+Time-sharing Class
+.sp
+.LP
+The following command retrieves the current scheduler parameters for the
+time-sharing class from kernel memory and writes them to the standard output.
+Time quantum values are in nanoseconds.
+
+.sp
+.in +2
+.nf
+dispadmin \fB-c\fR TS \fB-g\fR \fB-r\fR 1000000000
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fROverwriting the Current Scheduler Parameters for the
+Time-sharing Class
+.sp
+.LP
+The following command overwrites the current scheduler parameters for the
+time-sharing class with the values specified in \fBts.config\fR.
+
+.sp
+.in +2
+.nf
+dispadmin \fB-c\fR TS \fB-s\fR ts.config
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dispadmin.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Possible location for argument to \fB-s\fR option.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpriocntl\fR(1), \fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBpriocntl\fR(2),
+\fBfx_dptbl\fR(4), \fBrt_dptbl\fR(4), \fBts_dptbl\fR(4), \fBattributes\fR(5),
+\fBsmf\fR(5), \fBFSS\fR(7)
+.sp
+.LP
+\fI\fR \fI\fR
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBdispadmin\fR prints an appropriate diagnostic message if it fails to
+overwrite the current scheduler parameters due to lack of required permissions
+or a problem with the specified input file.
+.SH NOTES
+.sp
+.LP
+The default scheduling class setting facility is managed by the service
+management facility, \fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/scheduler:default
+.fi
+.in -2
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Note that
+disabling the service while it is running will not change anything. The
+service's status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/dladm.1m b/usr/src/man/man1m/dladm.1m
new file mode 100644
index 0000000000..3a7355f91f
--- /dev/null
+++ b/usr/src/man/man1m/dladm.1m
@@ -0,0 +1,5805 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/.
+.\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text
+.\" are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical
+.\" and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
+.\" This notice shall appear on any product containing this material.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dladm 1M "23 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dladm \- administer data links
+.SH SYNOPSIS
+.LP
+.nf
+\fBdladm show-link\fR [\fB-P\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fIlink\fR]
+\fBdladm rename-link\fR [\fB-R\fR \fIroot-dir\fR] \fIlink\fR \fInew-link\fR
+.fi
+
+.LP
+.nf
+\fBdladm delete-phys\fR \fIphys-link\fR
+\fBdladm show-phys\fR [\fB-P\fR] [\fB-m\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fB-H\fR] [\fIphys-link\fR]
+.fi
+
+.LP
+.nf
+\fBdladm create-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-P\fR \fIpolicy\fR] [\fB-L\fR \fImode\fR]
+ [\fB-T\fR \fItime\fR] [\fB-u\fR \fIaddress\fR] \fB-l\fR \fIether-link1\fR [\fB-l\fR \fIether-link2\fR...] \fIaggr-link\fR
+\fBdladm modify-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-P\fR \fIpolicy\fR] [\fB-L\fR \fImode\fR]
+ [\fB-T\fR \fItime\fR] [\fB-u\fR \fIaddress\fR] \fIaggr-link\fR
+\fBdladm delete-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fIaggr-link\fR
+\fBdladm add-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIether-link1\fR [\fB-l\fR \fIether-link2\fR...]
+ \fIaggr-link\fR
+\fBdladm remove-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIether-link1\fR [\fB-l\fR \fIether-link2\fR...]
+ \fIaggr-link\fR
+\fBdladm show-aggr\fR [\fB-PLx\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]]
+ [\fIaggr-link\fR]
+.fi
+
+.LP
+.nf
+\fBdladm create-bridge\fR [\fB-P\fR \fIprotect\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-p\fR \fIpriority\fR]
+ [\fB-m\fR \fImax-age\fR] [\fB-h\fR \fIhello-time\fR] [\fB-d\fR \fIforward-delay\fR] [\fB-f\fR \fIforce-protocol\fR]
+ [\fB-l\fR \fIlink\fR...] \fIbridge-name\fR
+.fi
+
+.LP
+.nf
+\fBdladm modify-bridge\fR [\fB-P\fR \fIprotect\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-p\fR \fIpriority\fR]
+ [\fB-m\fR \fImax-age\fR] [\fB-h\fR \fIhello-time\fR] [\fB-d\fR \fIforward-delay\fR] [\fB-f\fR \fIforce-protocol\fR]
+ \fIbridge-name\fR
+.fi
+
+.LP
+.nf
+\fBdladm delete-bridge\fR [\fB-R\fR \fIroot-dir\fR] \fIbridge-name\fR
+.fi
+
+.LP
+.nf
+\fBdladm add-bridge\fR [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIlink\fR [\fB-l\fR \fIlink\fR...]\fIbridge-name\fR
+.fi
+
+.LP
+.nf
+\fBdladm remove-bridge\fR [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIlink\fR [\fB-l\fR \fIlink\fR...] \fIbridge-name\fR
+.fi
+
+.LP
+.nf
+\fBdladm show-bridge\fR [\fB-flt\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]] [[\fB-p\fR] \fB-o\fR \fIfield\fR,...]
+ [\fIbridge-name\fR]
+.fi
+
+.LP
+.nf
+\fBdladm create-vlan\fR [\fB-ft\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIether-link\fR \fB-v\fR \fIvid\fR [\fIvlan-link\fR]
+\fBdladm delete-vlan\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fIvlan-link\fR
+\fBdladm show-vlan\fR [\fB-P\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fIvlan-link\fR]
+.fi
+
+.LP
+.nf
+\fBdladm scan-wifi\fR [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fIwifi-link\fR]
+\fBdladm connect-wifi\fR [\fB-e\fR \fIessid\fR] [\fB-i\fR \fIbssid\fR] [\fB-k\fR \fIkey\fR,...]
+ [\fB-s\fR none | wep | wpa ] [\fB-a\fR open | shared] [\fB-b\fR bss | ibss] [\fB-c\fR]
+ [\fB-m\fR a | b | g] [\fB-T\fR \fItime\fR] [\fIwifi-link\fR]
+\fBdladm disconnect-wifi\fR [\fB-a\fR] [\fIwifi-link\fR]
+\fBdladm show-wifi\fR [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fIwifi-link\fR]
+.fi
+
+.LP
+.nf
+\fBdladm show-ether\fR [\fB-x\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fIether-link\fR]
+.fi
+
+.LP
+.nf
+\fBdladm set-linkprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-p\fR \fIprop\fR=\fIvalue\fR[,...] \fIlink\fR
+\fBdladm reset-linkprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-p\fR \fIprop\fR[,...]] \fIlink\fR
+\fBdladm show-linkprop\fR [\fB-P\fR] [[\fB-c\fR] \fB-o\fR \fIfield\fR[,...]] [\fB-p\fR \fIprop\fR[,...]] [\fIlink\fR]
+.fi
+
+.LP
+.nf
+\fBdladm create-secobj\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-f\fR \fIfile\fR] \fB-c\fR \fIclass\fR \fIsecobj\fR
+\fBdladm delete-secobj\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fIsecobj\fR[,...]
+\fBdladm show-secobj\fR [\fB-P\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fIsecobj\fR,...]
+.fi
+
+.LP
+.nf
+\fBdladm create-vnic\fR [\fB-t\fR] \fB-l\fR \fIlink\fR [\fB-R\fR \fIroot-dir\fR] [\fB-m\fR \fIvalue\fR | auto |
+ {factory \fB-n\fR \fIslot-identifier\fR]} | {random [\fB-r\fR \fIprefix\fR]}]
+ [\fB-v\fR \fIvlan-id\fR] [\fB-p\fR \fIprop\fR=\fIvalue\fR[,...]] \fIvnic-link\fR
+\fBdladm delete-vnic\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fIvnic-link\fR
+\fBdladm show-vnic\fR [\fB-pP\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]] [\fB-o\fR \fIfield\fR[,...]]
+ [\fB-l\fR \fIlink\fR] [\fIvnic-link\fR]
+.fi
+
+.LP
+.nf
+\fBdladm create-etherstub\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fIetherstub\fR
+\fBdladm delete-etherstub\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fIetherstub\fR
+\fBdladm show-etherstub\fR [\fIetherstub\fR]
+.fi
+
+.LP
+.nf
+\fBdladm create-iptun\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-T\fR \fItype\fR [\fB-s\fR \fItsrc\fR] [\fB-d\fR \fItdst\fR]
+ \fIiptun-link\fR
+\fBdladm modify-iptun\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-s\fR \fItsrc\fR] [\fB-d\fR \fItdst\fR] \fIiptun-link\fR
+\fBdladm delete-iptun\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fIiptun-link\fR
+\fBdladm show-iptun\fR [\fB-P\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fIiptun-link\fR]
+.fi
+
+.LP
+.nf
+\fBdladm show-usage\fR [\fB-a\fR] \fB-f\fR \fIfilename\fR [\fB-p\fR \fIplotfile\fR \fB-F\fR \fIformat\fR] [\fB-s\fR \fItime\fR]
+ [\fB-e\fR \fItime\fR] [\fIlink\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdladm\fR command is used to administer data-links. A data-link is
+represented in the system as a \fBSTREAMS DLPI\fR (v2) interface which can be
+plumbed under protocol stacks such as \fBTCP/IP\fR. Each data-link relies on
+either a single network device or an aggregation of devices to send packets to
+or receive packets from a network.
+.sp
+.LP
+Each \fBdladm\fR subcommand operates on one of the following objects:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+A datalink, identified by a name. In general, the name can use any alphanumeric
+characters (or the underscore, \fB_\fR), but must start with an alphabetic
+character and end with a number. A datalink name can be at most 31 characters,
+and the ending number must be between 0 and 4294967294 (inclusive). The ending
+number must not begin with a zero. Datalink names between 3 and 8 characters
+are recommended.
+.sp
+Some subcommands operate only on certain types or classes of datalinks. For
+those cases, the following object names are used:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBphys-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+A physical datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvlan-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+A VLAN datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaggr-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+An aggregation datalink (or a key; see NOTES).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBether-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+A physical Ethernet datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwifi-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+A WiFi datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvnic-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+A virtual network interface created on a link or an \fBetherstub\fR. It is a
+pseudo device that can be treated as if it were an network interface card on a
+machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBiptun-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+An IP tunnel link.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdev\fR\fR
+.ad
+.sp .6
+.RS 4n
+A network device, identified by concatenation of a driver name and an instance
+number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBetherstub\fR\fR
+.ad
+.sp .6
+.RS 4n
+An Ethernet stub can be used instead of a physical NIC to create VNICs. VNICs
+created on an \fBetherstub\fR will appear to be connected through a virtual
+switch, allowing complete virtual networks to be built without physical
+hardware.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbridge\fR\fR
+.ad
+.sp .6
+.RS 4n
+A bridge instance, identified by an administratively-chosen name. The name may
+use any alphanumeric characters or the underscore, \fB_\fR, but must start and
+end with an alphabetic character. A bridge name can be at most 31 characters.
+The name \fBdefault\fR is reserved, as are all names starting with \fBSUNW\fR.
+.sp
+Note that appending a zero (\fB0\fR) to a bridge name produces a valid link
+name, used for observability.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsecobj\fR\fR
+.ad
+.sp .6
+.RS 4n
+A secure object, identified by an administratively-chosen name. The name can
+use any alphanumeric characters, as well as underscore (\fB_\fR), period
+(\fB\&.\fR), and hyphen (\fB-\fR). A secure object name can be at most 32
+characters.
+.RE
+
+.SS "Options"
+.sp
+.LP
+Each \fBdladm\fR subcommand has its own set of options. However, many of the
+subcommands have the following as a common option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an alternate root directory where the operation-such as creation,
+deletion, or renaming-should apply.
+.RE
+
+.SS "SUBCOMMANDS"
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-link\fR [\fB-P\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]]
+[[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]][\fIlink\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show link configuration information (the default) or statistics, either for all
+datalinks or for the specified link \fIlink\fR. By default, the system is
+configured with one datalink for each known network device.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...], \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. When not
+modified by the \fB-s\fR option (described below), the field name must be one
+of the fields listed below, or the special value \fBall\fR to display all
+fields. By default (without \fB-o\fR), \fBshow-link\fR displays all fields.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLASS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The class of the datalink. \fBdladm\fR distinguishes between the following
+classes:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBphys\fR\fR
+.ad
+.sp .6
+.RS 4n
+A physical datalink. The \fBshow-phys\fR subcommand displays more detail for
+this class of datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaggr\fR\fR
+.ad
+.sp .6
+.RS 4n
+An IEEE 802.3ad link aggregation. The \fBshow-aggr\fR subcommand displays more
+detail for this class of datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvlan\fR\fR
+.ad
+.sp .6
+.RS 4n
+A VLAN datalink. The \fBshow-vlan\fR subcommand displays more detail for this
+class of datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvnic\fR\fR
+.ad
+.sp .6
+.RS 4n
+A virtual network interface. The \fBshow-vnic\fR subcommand displays more
+detail for this class of datalink.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMTU\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum transmission unit size for the datalink being displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The link state of the datalink. The state can be \fBup\fR, \fBdown\fR, or
+\fBunknown\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBRIDGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the bridge to which this link is assigned, if any.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOVER\fR\fR
+.ad
+.sp .6
+.RS 4n
+The physical datalink(s) over which the datalink is operating. This applies to
+\fBaggr\fR, \fBbridge\fR, and \fBvlan\fR classes of datalinks. A VLAN is
+created over a single physical datalink, a bridge has multiple attached links,
+and an aggregation is comprised of one or more physical datalinks.
+.RE
+
+When the \fB-o\fR option is used in conjunction with the \fB-s\fR option, used
+to display link statistics, the field name must be one of the fields listed
+below, or the special value \fBall\fR to display all fields
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIPACKETS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets received on this link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRBYTES\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of bytes received on this link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIERRORS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of input errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOPACKETS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets sent on this link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOBYTES\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of bytes received on this link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOERRORS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of output errors.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the persistent link configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--statistics\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display link statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterval\fR, \fB--interval\fR=\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-s\fR option to specify an interval, in seconds, at which
+statistics should be displayed. If this option is not specified, statistics
+will be displayed only once.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm rename-link\fR [\fB-R\fR \fIroot-dir\fR] \fIlink\fR
+\fInew-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Rename \fIlink\fR to \fInew-link\fR. This is used to give a link a meaningful
+name, or to associate existing link configuration such as link properties of a
+removed device with a new device. See the \fBEXAMPLES\fR section for specific
+examples of how this subcommand is used.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm delete-phys\fR \fIphys-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+This command is used to delete the persistent configuration of a link
+associated with physical hardware which has been removed from the system. See
+the \fBEXAMPLES\fR section.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-phys\fR [\fB-P\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]]
+[\fB-H\fR] [\fIphys-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show the physical device and attributes of all physical links, or of the named
+physical link. Without \fB-P\fR, only physical links that are available on the
+running system are displayed.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show hardware resource usage, as returned by the NIC driver. Output from
+\fB-H\fR displays the following elements:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+A physical device corresponding to a NIC driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGROUP\fR\fR
+.ad
+.sp .6
+.RS 4n
+A collection of rings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGROUPTYPE\fR\fR
+.ad
+.sp .6
+.RS 4n
+RX or TX. All rings in a group are of the same group type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRINGS\fR\fR
+.ad
+.sp .6
+.RS 4n
+A hardware resource used by a data link, subject to assignment by a driver to
+different groups.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLIENTS\fR\fR
+.ad
+.sp .6
+.RS 4n
+MAC clients that are using the rings within a group.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR, \fB--output\fR=\fIfield\fR\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or the special value \fBall\fR, to
+display all fields. For each link, the following fields can be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMEDIA\fR\fR
+.ad
+.sp .6
+.RS 4n
+The media type provided by the physical datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The state of the link. This can be \fBup\fR, \fBdown\fR, or \fBunknown\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSPEED\fR\fR
+.ad
+.sp .6
+.RS 4n
+The current speed of the link, in megabits per second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDUPLEX\fR\fR
+.ad
+.sp .6
+.RS 4n
+For Ethernet links, the full/half duplex status of the link is displayed if the
+link state is \fBup\fR. The duplex is displayed as \fBunknown\fR in all other
+cases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEVICE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the physical device under this link.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option displays persistent configuration for all links, including those
+that have been removed from the system. The output provides a \fBFLAGS\fR
+column in which the \fBr\fR flag indicates that the physical device associated
+with a physical link has been removed. For such links, \fBdelete-phys\fR can be
+used to purge the link's configuration from the system.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm create-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-P\fR
+\fIpolicy\fR] [\fB-L\fR \fImode\fR] [\fB-T\fR \fItime\fR] [\fB-u\fR
+\fIaddress\fR] \fB-l\fR \fIether-link1\fR [\fB-l\fR \fIether-link2\fR...]
+\fIaggr-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Combine a set of links into a single IEEE 802.3ad link aggregation named
+\fIaggr-link\fR. The use of an integer \fIkey\fR to generate a link name for
+the aggregation is also supported for backward compatibility. Many of the
+\fB*\fR\fB-aggr\fR subcommands below also support the use of a \fIkey\fR to
+refer to a given aggregation, but use of the aggregation link name is
+preferred. See the \fBNOTES\fR section for more information on keys.
+.sp
+\fBdladm\fR supports a number of port selection policies for an aggregation of
+ports. (See the description of the \fB-P\fR option, below.) If you do not
+specify a policy, \fBcreate-aggr\fR uses the default, the L4 policy, described
+under the \fB-P\fR option.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIether-link\fR, \fB--link\fR=\fIether-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Each Ethernet link (or port) in the aggregation is specified using an \fB-l\fR
+option followed by the name of the link to be included in the aggregation.
+Multiple links are included in the aggregation by specifying multiple \fB-l\fR
+options. For backward compatibility with previous versions of Solaris, the
+\fBdladm\fR command also supports the using the \fB-d\fR option (or
+\fB--dev\fR) with a device name to specify links by their underlying device
+name. The other \fB*\fR\fB-aggr\fR subcommands that take \fB-l\fRoptions also
+accept \fB-d\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the aggregation is temporary. Temporary aggregations last until
+the next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpolicy\fR, \fB--policy\fR=\fIpolicy\fR\fR
+.ad
+.br
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the port selection policy to use for load spreading of outbound
+traffic. The policy specifies which \fIdev\fR object is used to send packets. A
+policy is a list of one or more layers specifiers separated by commas. A layer
+specifier is one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBL2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select outbound device according to source and destination \fBMAC\fR addresses
+of the packet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBL3\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select outbound device according to source and destination \fBIP\fR addresses
+of the packet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBL4\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select outbound device according to the upper layer protocol information
+contained in the packet. For \fBTCP\fR and \fBUDP\fR, this includes source and
+destination ports. For IPsec, this includes the \fBSPI\fR (Security Parameters
+Index).
+.RE
+
+For example, to use upper layer protocol information, the following policy can
+be used:
+.sp
+.in +2
+.nf
+-P L4
+.fi
+.in -2
+.sp
+
+Note that policy L4 is the default.
+.sp
+To use the source and destination \fBMAC\fR addresses as well as the source and
+destination \fBIP\fR addresses, the following policy can be used:
+.sp
+.in +2
+.nf
+-P L2,L3
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR \fImode\fR, \fB--lacp-mode\fR=\fImode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether \fBLACP\fR should be used and, if used, the mode in which it
+should operate. Supported values are \fBoff\fR, \fBactive\fR or \fBpassive\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fItime\fR, \fB--lacp-timer\fR=\fItime\fR\fR
+.ad
+.br
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fBLACP\fR timer value. The supported values are \fBshort\fR or
+\fBlong\fRjjj.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIaddress\fR, \fB--unicast\fR=\fIaddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a fixed unicast hardware address to be used for the aggregation. If
+this option is not specified, then an address is automatically chosen from the
+set of addresses of the component devices.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm modify-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-P\fR
+\fIpolicy\fR] [\fB-L\fR \fImode\fR] [\fB-T\fR \fItime\fR] [\fB-u\fR
+\fIaddress\fR] \fIaggr-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the parameters of the specified aggregation.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the modification is temporary. Temporary aggregations last until
+the next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpolicy\fR, \fB--policy\fR=\fIpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the port selection policy to use for load spreading of outbound
+traffic. See \fBdladm create-aggr\fR for a description of valid policy values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR \fImode\fR, \fB--lacp-mode\fR=\fImode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether \fBLACP\fR should be used and, if used, the mode in which it
+should operate. Supported values are \fBoff\fR, \fBactive\fR, or \fBpassive\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fItime\fR, \fB--lacp-timer\fR=\fItime\fR\fR
+.ad
+.br
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fBLACP\fR timer value. The supported values are \fBshort\fR or
+\fBlong\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIaddress\fR, \fB--unicast\fR=\fIaddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a fixed unicast hardware address to be used for the aggregation. If
+this option is not specified, then an address is automatically chosen from the
+set of addresses of the component devices.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm delete-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR]
+\fIaggr-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the specified aggregation.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the deletion is temporary. Temporary deletions last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm add-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
+\fIether-link1\fR [\fB--link\fR=\fIether-link2\fR...] \fIaggr-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds links to the specified aggregation.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIether-link\fR, \fB--link\fR=\fIether-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an Ethernet link to add to the aggregation. Multiple links can be
+added by supplying multiple \fB-l\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the additions are temporary. Temporary additions last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm remove-aggr\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
+\fIether-link1\fR [\fB--l\fR=\fIether-link2\fR...] \fIaggr-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes links from the specified aggregation.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIether-link\fR, \fB--link\fR=\fIether-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an Ethernet link to remove from the aggregation. Multiple links can
+be added by supplying multiple \fB-l\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the removals are temporary. Temporary removal last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-aggr\fR [\fB-PLx\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]]
+[[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]] [\fIaggr-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show aggregation configuration (the default), \fBLACP\fR information, or
+statistics, either for all aggregations or for the specified aggregation.
+.sp
+By default (with no options), the following fields can be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the aggregation link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPOLICY\fR\fR
+.ad
+.sp .6
+.RS 4n
+The LACP policy of the aggregation. See the \fBcreate-aggr\fR \fB-P\fR option
+for a description of the possible values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBADDRPOLICY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fBauto\fR, if the aggregation is configured to automatically configure
+its unicast MAC address (the default if the \fB-u\fR option was not used to
+create or modify the aggregation), or \fBfixed\fR, if \fB-u\fR was used to set
+a fixed MAC address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLACPACTIVITY\fR\fR
+.ad
+.sp .6
+.RS 4n
+The LACP mode of the aggregation. Possible values are \fBoff\fR, \fBactive\fR,
+or \fBpassive\fR, as set by the \fB-l\fR option to \fBcreate-aggr\fR or
+\fBmodify-aggr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLACPTIMER\fR\fR
+.ad
+.sp .6
+.RS 4n
+The LACP timer value of the aggregation as set by the \fB-T\fR option of
+\fBcreate-aggr\fR or \fBmodify-aggr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLAGS\fR\fR
+.ad
+.sp .6
+.RS 4n
+A set of state flags associated with the aggregation. The only possible flag is
+\fBf\fR, which is displayed if the administrator forced the creation the
+aggregation using the \fB-f\fR option to \fBcreate-aggr\fR. Other flags might
+be defined in the future.
+.RE
+
+The \fBshow-aggr\fR command accepts the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR, \fB--lacp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays detailed \fBLACP\fR information for the aggregation link and each
+underlying port. Most of the state information displayed by this option is
+defined by IEEE 802.3. With this option, the following fields can be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the aggregation link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPORT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of one of the underlying aggregation ports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAGGREGATABLE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Whether the port can be added to the aggregation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSYNC\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fByes\fR, the system considers the port to be synchronized and part of the
+aggregation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOLL\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fByes\fR, collection of incoming frames is enabled on the associated port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDIST\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fByes\fR, distribution of outgoing frames is enabled on the associated
+port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEFAULTED\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fByes\fR, the port is using defaulted partner information (that is, has not
+received LACP data from the LACP partner).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEXPIRED\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fByes\fR, the receive state of the port is in the \fBEXPIRED\fR state.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR, \fB--extended\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display additional aggregation information including detailed information on
+each underlying port. With \fB-x\fR, the following fields can be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the aggregation link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPORT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of one of the underlying aggregation ports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSPEED\fR\fR
+.ad
+.sp .6
+.RS 4n
+The speed of the link or port in megabits per second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDUPLEX\fR\fR
+.ad
+.sp .6
+.RS 4n
+The full/half duplex status of the link or port is displayed if the link state
+is \fBup\fR. The duplex status is displayed as \fBunknown\fR in all other
+cases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The link state. This can be \fBup\fR, \fBdown\fR, or \fBunknown\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBADDRESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The MAC address of the link or port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPORTSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+This indicates whether the individual aggregation port is in the \fBstandby\fR
+or \fBattached\fR state.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...], \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed above, or the special value \fBall\fR, to
+display all fields. The fields applicable to the \fB-o\fR option are limited to
+those listed under each output mode. For example, if using \fB-L\fR, only the
+fields listed under \fB-L\fR, above, can be used with \fB-o\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the persistent aggregation configuration rather than the state of the
+running system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--statistics\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays aggregation statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterval\fR, \fB--interval\fR=\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-s\fR option to specify an interval, in seconds, at which
+statistics should be displayed. If this option is not specified, statistics
+will be displayed only once.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm create-bridge\fR [ \fB-P\fR \fIprotect\fR] [\fB-R\fR
+\fIroot-dir\fR] [ \fB-p\fR \fIpriority\fR] [ \fB-m\fR \fImax-age\fR] [ \fB-h\fR
+\fIhello-time\fR] [ \fB-d\fR \fIforward-delay\fR] [ \fB-f\fR
+\fIforce-protocol\fR] [\fB-l\fR \fIlink\fR...] \fIbridge-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an 802.1D bridge instance and optionally assign one or more network
+links to the new bridge. By default, no bridge instances are present on the
+system.
+.sp
+In order to bridge between links, you must create at least one bridge instance.
+Each bridge instance is separate, and there is no forwarding connection between
+bridges.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprotect\fR, \fB--protect\fR=\fIprotect\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a protection method. The defined protection methods are \fBstp\fR for
+the Spanning Tree Protocol and trill for \fBTRILL\fR, which is used on
+RBridges. The default value is \fBstp\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpriority\fR, \fB--priority\fR=\fIpriority\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the Bridge Priority. This sets the IEEE STP priority value for
+determining the root bridge node in the network. The default value is
+\fB32768\fR. Valid values are \fB0\fR (highest priority) to \fB61440\fR (lowest
+priority), in increments of 4096.
+.sp
+If a value not evenly divisible by 4096 is used, the system silently rounds
+downward to the next lower value that is divisible by 4096.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImax-age\fR, \fB--max-age\fR=\fImax-age\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the maximum age for configuration information in seconds. This sets
+the STP Bridge Max Age parameter. This value is used for all nodes in the
+network if this node is the root bridge. Bridge link information older than
+this time is discarded. It defaults to 20 seconds. Valid values are from 6 to
+40 seconds. See the \fB-d\fR \fIforward-delay\fR parameter for additional
+constraints.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhello-time\fR, \fB--hello-time\fR=\fIhello-time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the STP Bridge Hello Time parameter. When this node is the root node,
+it sends Configuration BPDUs at this interval throughout the network. The
+default value is 2 seconds. Valid values are from 1 to 10 seconds. See the
+\fB-d\fR \fIforward-delay\fR parameter for additional constraints.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIforward-delay\fR, \fB--forward-delay\fR=\fIforward-delay\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the STP Bridge Forward Delay parameter. When this node is the root
+node, then all bridges in the network use this timer to sequence the link
+states when a port is enabled. The default value is 15 seconds. Valid values
+are from 4 to 30 seconds.
+.sp
+Bridges must obey the following two constraints:
+.sp
+.in +2
+.nf
+2 * (\fIforward-delay\fR - 1.0) >= \fImax-age\fR
+
+\fImax-age\fR >= 2 * (\fIhello-time\fR + 1.0)
+.fi
+.in -2
+.sp
+
+Any parameter setting that would violate those constraints is treated as an
+error and causes the command to fail with a diagnostic message. The message
+provides valid alternatives to the supplied values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIforce-protocol\fR,
+\fB--force-protocol\fR=\fIforce-protocol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the MSTP forced maximum supported protocol. The default value is 3.
+Valid values are non-negative integers. The current implementation does not
+support RSTP or MSTP, so this currently has no effect. However, to prevent MSTP
+from being used in the future, the parameter may be set to \fB0\fR for STP only
+or \fB2\fR for STP and RSTP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies one or more links to add to the newly-created bridge. This is similar
+to creating the bridge and then adding one or more links, as with the
+\fBadd-bridge\fR subcommand. However, if any of the links cannot be added, the
+entire command fails, and the new bridge itself is not created. To add multiple
+links on the same command line, repeat this option for each link. You are
+permitted to create bridges without links. For more information about link
+assignments, see the \fBadd-bridge\fR subcommand.
+.RE
+
+Bridge creation and link assignment require the \fBPRIV_SYS_DL_CONFIG\fR
+privilege. Bridge creation might fail if the optional bridging feature is not
+installed on the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm modify-bridge\fR [ \fB-P\fR \fIprotect\fR] [\fB-R\fR
+\fIroot-dir\fR] [ \fB-p\fR \fIpriority\fR] [ \fB-m\fR \fImax-age\fR] [ \fB-h\fR
+\fIhello-time\fR] [ \fB-d\fR \fIforward-delay\fR] [ \fB-f\fR
+\fIforce-protocol\fR] [\fB-l\fR \fIlink\fR...] \fIbridge-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the operational parameters of an existing bridge. The options are the
+same as for the \fBcreate-bridge\fR subcommand, except that the \fB-l\fR option
+is not permitted. To add links to an existing bridge, use the \fBadd-bridge\fR
+subcommand.
+.sp
+Bridge parameter modification requires the \fBPRIV_SYS_DL_CONFIG\fR privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm delete-bridge\fR [\fB-R\fR \fIroot-dir\fR] \fIbridge-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete a bridge instance. The bridge being deleted must not have any attached
+links. Use the \fBremove-bridge\fR subcommand to deactivate links before
+deleting a bridge.
+.sp
+Bridge deletion requires the \fBPRIV_SYS_DL_CONFIG\fR privilege.
+.sp
+The \fB-R\fR (\fB--root-dir\fR) option is the same as for the
+\fBcreate-bridge\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm add-bridge\fR [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIlink\fR
+[\fB-l\fR \fIlink\fR...] \fIbridge-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add one or more links to an existing bridge. If multiple links are specified,
+and adding any one of them results in an error, the command fails and no
+changes are made to the system.
+.sp
+Link addition to a bridge requires the \fBPRIV_SYS_DL_CONFIG\fR privilege.
+.sp
+A link may be a member of at most one bridge. An error occurs when you attempt
+to add a link that already belongs to another bridge. To move a link from one
+bridge instance to another, remove it from the current bridge before adding it
+to a new one.
+.sp
+The links assigned to a bridge must not also be VLANs, VNICs, or tunnels. Only
+physical Ethernet datalinks, aggregation datalinks, wireless links, and
+Ethernet stubs are permitted to be assigned to a bridge.
+.sp
+Links assigned to a bridge must all have the same MTU. This is checked when the
+link is assigned. The link is added to the bridge in a deactivated form if it
+is not the first link on the bridge and it has a differing MTU.
+.sp
+Note that systems using bridging should not set the \fBeeprom\fR(1M)
+\fBlocal-mac-address?\fR variable to false.
+.sp
+The options are the same as for the \fBcreate-bridge\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm remove-bridge\fR [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIlink\fR
+[\fB-l\fR \fIlink\fR...] \fIbridge-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove one or more links from a bridge instance. If multiple links are
+specified, and removing any one of them would result in an error, the command
+fails and none are removed.
+.sp
+Link removal from a bridge requires the \fBPRIV_SYS_DL_CONFIG\fR privilege.
+.sp
+The options are the same as for the \fBcreate-bridge\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-bridge\fR [\fB-flt\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]]
+[[\fB-p\fR] \fB-o\fR \fIfield\fR,...] [\fIbridge-name\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show the running status and configuration of bridges, their attached links,
+learned forwarding entries, and \fBTRILL\fR nickname databases. When showing
+overall bridge status and configuration, the bridge name can be omitted to show
+all bridges. The other forms require a specified bridge.
+.sp
+The show-bridge subcommand accepts the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterval\fR, \fB--interval\fR=\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-s\fR option to specify an interval, in seconds, at which
+statistics should be displayed. If this option is not specified, statistics
+will be displayed only once.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--statistics\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display statistics for the specified bridges or for a given bridge's attached
+links. This option cannot be used with the \fB-f\fR and \fB-t\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parsable format. See "Parsable Output Format,"
+below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...], \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+names are described below. The special value all displays all fields. Each set
+of fields has its own default set to display when \fB-o\fR is not specified.
+.RE
+
+By default, the \fBshow-bridge\fR subcommand shows bridge configuration. The
+following fields can be shown:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBRIDGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the bridge.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBADDRESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The Bridge Unique Identifier value (MAC address).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPRIORITY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configured priority value; set by \fB-p\fR with \fBcreate-bridge\fR and
+\fBmodify-bridge\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBMAXAGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configured bridge maximum age; set by \fB-m\fR with \fBcreate-bridge\fR and
+\fBmodify-bridge\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBHELLOTIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configured bridge hello time; set by \fB-h\fR with \fBcreate-bridge\fR and
+\fBmodify-bridge\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBFWDDELAY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configured forwarding delay; set by \fB-d\fR with \fBcreate-bridge\fR and
+\fBmodify-bridge\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFORCEPROTO\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configured forced maximum protocol; set by \fB-f\fR with \fBcreate-bridge\fR
+and \fBmodify-bridge\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTCTIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Time, in seconds, since last topology change.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTCCOUNT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Count of the number of topology changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTCHANGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+This indicates that a topology change was detected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDESROOT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bridge Identifier of the root node.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBROOTCOST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cost of the path to the root node.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBROOTPORT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Port number used to reach the root node.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMAXAGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum age value from the root node.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHELLOTIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hello time value from the root node.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFWDDELAY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forward delay value from the root node.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHOLDTIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Minimum BPDU interval.
+.RE
+
+By default, when the \fB-o\fR option is not specified, only the \fBBRIDGE\fR,
+\fBADDRESS\fR, \fBPRIORITY\fR, and \fBDESROOT\fR fields are shown.
+.sp
+When the \fB-s\fR option is specified, the \fBshow-bridge\fR subcommand shows
+bridge statistics. The following fields can be shown:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBRIDGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bridge name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDROPS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets dropped due to resource problems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFORWARDS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets forwarded from one link to another.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMBCAST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of multicast and broadcast packets handled by the bridge.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRECV\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets received on all attached links.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSENT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets sent on all attached links.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUNKNOWN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets handled that have an unknown destination. Such packets are
+sent to all links.
+.RE
+
+By default, when the \fB-o\fR option is not specified, only the \fBBRIDGE\fR,
+\fBDROPS\fR, and \fBFORWARDS\fR fields are shown.
+.sp
+The \fBshow-bridge\fR subcommand also accepts the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR, \fB--link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays link-related status and statistics information for all links attached
+to a single bridge instance. By using this option and without the \fB-s\fR
+option, the following fields can be displayed for each link:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The link name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINDEX\fR\fR
+.ad
+.sp .6
+.RS 4n
+Port (link) index number on the bridge.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+State of the link. The state can be \fBdisabled\fR, \fBdiscarding\fR,
+\fBlearning\fR, \fBforwarding\fR, \fBnon-stp\fR, or \fBbad-mtu\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUPTIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of seconds since the last reset or initialization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOPERCOST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Actual cost in use (1-65535).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOPERP2P\fR\fR
+.ad
+.sp .6
+.RS 4n
+This indicates whether point-to-point (\fBP2P\fR) mode been detected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOPEREDGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+This indicates whether edge mode has been detected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDESROOT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The Root Bridge Identifier that has been seen on this port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDESCOST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path cost to the network root node through the designated port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDESBRIDGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bridge Identifier for this port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDESPORT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The ID and priority of the port used to transmit configuration messages for
+this port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTCACK\fR\fR
+.ad
+.sp .6
+.RS 4n
+This indicates whether Topology Change Acknowledge has been seen.
+.RE
+
+When the \fB-l\fR option is specified without the \fB-o\fR option, only the
+\fBLINK\fR, \fBSTATE\fR, \fBUPTIME\fR, and \fBDESROOT\fR fields are shown.
+.sp
+When the \fB-l\fR option is specified, the \fB-s\fR option can be used to
+display the following fields for each link:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+Link name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCFGBPDU\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of configuration BPDUs received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTCNBPDU\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of topology change BPDUs received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRSTPBPDU\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of Rapid Spanning Tree BPDUs received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTXBPDU\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of BPDUs transmitted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDROPS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets dropped due to resource problems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRECV\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets received by the bridge.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXMIT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of packets sent by the bridge.
+.RE
+
+When the \fB-o\fR option is not specified, only the \fBLINK\fR, \fBDROPS\fR,
+\fBRECV\fR, and \fBXMIT\fR fields are shown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--forwarding\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays forwarding entries for a single bridge instance. With this option, the
+following fields can be shown for each forwarding entry:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Destination MAC address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Age of entry in seconds and milliseconds. Omitted for local entries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLAGS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBL\fR (local) flag is shown if the MAC address belongs to an attached
+link or to a VNIC on one of the attached links.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOUTPUT\fR\fR
+.ad
+.sp .6
+.RS 4n
+For local entries, this is the name of the attached link that has the MAC
+address. Otherwise, for bridges that use Spanning Tree Protocol, this is the
+output interface name. For RBridges, this is the output \fBTRILL\fR nickname.
+.RE
+
+When the \fB-o\fR option is not specified, the \fBDEST\fR, \fBAGE\fR,
+\fBFLAGS\fR, and \fBOUTPUT\fR fields are shown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--trill\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays \fBTRILL\fR nickname entries for a single bridge instance. With this
+option, the following fields can be shown for each \fBTRILL\fR nickname entry:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNICK\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBTRILL\fR nickname for this RBridge, which is a number from 1 to 65535.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLAGS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBL\fR flag is shown if the nickname identifies the local system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+Link name for output when sending messages to this RBridge.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNEXTHOP\fR\fR
+.ad
+.sp .6
+.RS 4n
+MAC address of the next hop RBridge that is used to reach the RBridge with this
+nickname.
+.RE
+
+When the \fB-o\fR option is not specified, the \fBNICK\fR, \fBFLAGS\fR,
+\fBLINK\fR, and \fBNEXTHOP\fR fields are shown.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm create-vlan\fR [\fB-ft\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
+\fIether-link\fR \fB-v\fR \fIvid\fR [\fIvlan-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Create a tagged VLAN link with an ID of \fIvid\fR over Ethernet link
+\fIether-link\fR. The name of the VLAN link can be specified as
+\fIvlan\fR-\fIlink\fR. If the name is not specified, a name will be
+automatically generated (assuming that \fIether-link\fR is \fIname\fR\fIPPA\fR)
+as:
+.sp
+.in +2
+.nf
+<\fIname\fR><1000 * \fIvlan-tag\fR + \fIPPA\fR>
+.fi
+.in -2
+.sp
+
+For example, if \fIether-link\fR is \fBbge1\fR and \fIvid\fR is 2, the name
+generated is \fBbge2001\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force the creation of the VLAN link. Some devices do not allow frame sizes
+large enough to include a VLAN header. When creating a VLAN link over such a
+device, the \fB-f\fR option is needed, and the MTU of the IP interfaces on the
+resulting VLAN must be set to 1496 instead of 1500.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIether-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies Ethernet link over which VLAN is created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the VLAN link is temporary. Temporary VLAN links last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm delete-vlan\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR]
+\fIvlan-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the VLAN link specified.
+.sp
+The \fBdelete-vlan\fRsubcommand accepts the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the deletion is temporary. Temporary deletions last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-vlan\fR [\fB-P\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]]
+[\fIvlan-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display VLAN configuration for all VLAN links or for the specified VLAN link.
+.sp
+The \fBshow-vlan\fRsubcommand accepts the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...], \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or the special value \fBall\fR, to
+display all fields. For each VLAN link, the following fields can be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the VLAN link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVID\fR\fR
+.ad
+.sp .6
+.RS 4n
+The ID associated with the VLAN.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOVER\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the physical link over which this VLAN is configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLAGS\fR\fR
+.ad
+.sp .6
+.RS 4n
+A set of flags associated with the VLAN link. Possible flags are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.sp .6
+.RS 4n
+The VLAN was created using the \fB-f\fR option to \fBcreate-vlan\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.sp .6
+.RS 4n
+The VLAN was implicitly created when the DLPI link was opened. These VLAN links
+are automatically deleted on last close of the DLPI link (for example, when the
+IP interface associated with the VLAN link is unplumbed).
+.RE
+
+Additional flags might be defined in the future.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the persistent VLAN configuration rather than the state of the running
+system.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm scan-wifi\fR [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]]
+[\fIwifi-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Scans for \fBWiFi\fR networks, either on all \fBWiFi\fR links, or just on the
+specified \fIwifi-link\fR.
+.sp
+By default, currently all fields but \fBBSSTYPE\fR are displayed.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...], \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or the special value \fBall\fR to
+display all fields. For each \fBWiFi\fR network found, the following fields can
+be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the link the \fBWiFi\fR network is on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESSID\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBESSID\fR (name) of the \fBWiFi\fR network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBSSID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either the hardware address of the \fBWiFi\fR network's Access Point (for
+\fBBSS\fR networks), or the \fBWiFi\fR network's randomly generated unique
+token (for \fBIBSS\fR networks).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSEC\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fBnone\fR for a \fBWiFi\fR network that uses no security, \fBwep\fR for
+a \fBWiFi\fR network that requires WEP (Wired Equivalent Privacy), or \fBwpa\fR
+for a WiFi network that requires WPA (Wi-Fi Protected Access).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMODE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The supported connection modes: one or more of \fBa\fR, \fBb\fR, or \fBg\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTRENGTH\fR\fR
+.ad
+.sp .6
+.RS 4n
+The strength of the signal: one of \fBexcellent\fR, \fBvery good\fR,
+\fBgood\fR, \fBweak\fR, or \fBvery weak\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSPEED\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum speed of the \fBWiFi\fR network, in megabits per second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBSSTYPE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fBbss\fR for \fBBSS\fR (infrastructure) networks, or \fBibss\fR for
+\fBIBSS\fR (ad-hoc) networks.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm connect-wifi\fR [\fB-e\fR \fIessid\fR] [\fB-i\fR \fIbssid\fR]
+[\fB-k\fR \fIkey\fR,...] [\fB-s\fR \fBnone\fR | \fBwep\fR | \fBwpa\fR]
+[\fB-a\fR \fBopen\fR|\fBshared\fR] [\fB-b\fR \fBbss\fR|\fBibss\fR] [\fB-c\fR]
+[\fB-m\fR \fBa\fR|\fBb\fR|\fBg\fR] [\fB-T\fR \fItime\fR] [\fIwifi-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Connects to a \fBWiFi\fR network. This consists of four steps: \fIdiscovery\fR,
+\fIfiltration\fR, \fIprioritization\fR, and \fIassociation\fR. However, to
+enable connections to non-broadcast \fBWiFi\fR networks and to improve
+performance, if a \fBBSSID\fR or \fBESSID\fR is specified using the \fB-e\fR or
+\fB-i\fR options, then the first three steps are skipped and \fBconnect-wifi\fR
+immediately attempts to associate with a \fBBSSID\fR or \fBESSID\fR that
+matches the rest of the provided parameters. If this association fails, but
+there is a possibility that other networks matching the specified criteria
+exist, then the traditional discovery process begins as specified below.
+.sp
+The discovery step finds all available \fBWiFi\fR networks on the specified
+WiFi link, which must not yet be connected. For administrative convenience, if
+there is only one \fBWiFi\fR link on the system, \fIwifi-link\fR can be
+omitted.
+.sp
+Once discovery is complete, the list of networks is filtered according to the
+value of the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIessid,\fR \fB--essid\fR=\fIessid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Networks that do not have the same \fIessid\fR are filtered out.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fBbss\fR|\fBibss\fR, \fB--bsstype\fR=\fBbss\fR|\fBibss\fR\fR
+.ad
+.sp .6
+.RS 4n
+Networks that do not have the same \fBbsstype\fR are filtered out.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fBa\fR|\fBb\fR|\fBg\fR, \fB--mode\fR=\fBa\fR|\fBb\fR|\fBg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Networks not appropriate for the specified 802.11 mode are filtered out.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIkey,...\fR, \fB--key\fR=\fIkey, ...\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use the specified \fBsecobj\fR named by the key to connect to the network.
+Networks not appropriate for the specified keys are filtered out.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fBnone\fR|\fBwep\fR|\fBwpa\fR,
+\fB--sec\fR=\fBnone\fR|\fBwep\fR|\fBwpa\fR\fR
+.ad
+.sp .6
+.RS 4n
+Networks not appropriate for the specified security mode are filtered out.
+.RE
+
+Next, the remaining networks are prioritized, first by signal strength, and
+then by maximum speed. Finally, an attempt is made to associate with each
+network in the list, in order, until one succeeds or no networks remain.
+.sp
+In addition to the options described above, the following options also control
+the behavior of \fBconnect-wifi\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fBopen\fR|\fBshared\fR, \fB--auth\fR=\fBopen\fR|\fBshared\fR\fR
+.ad
+.sp .6
+.RS 4n
+Connect using the specified authentication mode. By default, \fBopen\fR and
+\fBshared\fR are tried in order.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB--create-ibss\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with \fB-b ibss\fR to create a new ad-hoc network if one matching the
+specified \fBESSID\fR cannot be found. If no \fBESSID\fR is specified, then
+\fB-c -b ibss\fR always triggers the creation of a new ad-hoc network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fItime\fR, \fB--timeout\fR=\fItime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of seconds to wait for association to succeed. If
+\fItime\fR is \fBforever\fR, then the associate will wait indefinitely. The
+current default is ten seconds, but this might change in the future. Timeouts
+shorter than the default might not succeed reliably.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIkey,...\fR, \fB--key\fR=\fIkey,...\fR\fR
+.ad
+.sp .6
+.RS 4n
+In addition to the filtering previously described, the specified keys will be
+used to secure the association. The security mode to use will be based on the
+key class; if a security mode was explicitly specified, it must be compatible
+with the key class. All keys must be of the same class.
+.sp
+For security modes that support multiple key slots, the slot to place the key
+will be specified by a colon followed by an index. Therefore, \fB-k mykey:3\fR
+places \fBmykey\fR in slot 3. By default, slot 1 is assumed. For security modes
+that support multiple keys, a comma-separated list can be specified, with the
+first key being the active key.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm disconnect-wifi\fR [\fB-a\fR] [\fIwifi-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Disconnect from one or more \fBWiFi\fR networks. If \fIwifi-link\fR specifies a
+connected \fBWiFi\fR link, then it is disconnected. For administrative
+convenience, if only one \fBWiFi\fR link is connected, \fIwifi-link\fR can be
+omitted.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB--all-links\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disconnects from all connected links. This is primarily intended for use by
+scripts.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-wifi\fR [[\fB-p\fR] \fB-o\fR \fIfield\fR,...]
+[\fIwifi-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Shows \fBWiFi\fR configuration information either for all \fBWiFi\fR links or
+for the specified link \fIwifi-link\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield,...\fR, \fB--output\fR=\fIfield\fR\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or the special value \fBall\fR, to
+display all fields. For each \fBWiFi\fR link, the following fields can be
+displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the link being displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATUS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fBconnected\fR if the link is connected, or \fBdisconnected\fR if it is
+not connected. If the link is disconnected, all remaining fields have the value
+\fB--\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESSID\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBESSID\fR (name) of the connected \fBWiFi\fR network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBSSID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either the hardware address of the \fBWiFi\fR network's Access Point (for
+\fBBSS\fR networks), or the \fBWiFi\fR network's randomly generated unique
+token (for \fBIBSS\fR networks).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSEC\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fBnone\fR for a \fBWiFi\fR network that uses no security, \fBwep\fR for
+a \fBWiFi\fR network that requires WEP, or \fBwpa\fR for a WiFi network that
+requires WPA.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMODE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The supported connection modes: one or more of \fBa\fR, \fBb\fR, or \fBg\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTRENGTH\fR\fR
+.ad
+.sp .6
+.RS 4n
+The connection strength: one of \fBexcellent\fR, \fBvery good\fR, \fBgood\fR,
+\fBweak\fR, or \fBvery weak\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSPEED\fR\fR
+.ad
+.sp .6
+.RS 4n
+The connection speed, in megabits per second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAUTH\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fBopen\fR or \fBshared\fR (see \fBconnect-wifi\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBSSTYPE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fBbss\fR for \fBBSS\fR (infrastructure) networks, or \fBibss\fR for
+\fBIBSS\fR (ad-hoc) networks.
+.RE
+
+By default, currently all fields but \fBAUTH\fR, \fBBSSID\fR, \fBBSSTYPE\fR are
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-ether\fR [\fB-x\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR,...]
+[\fIether-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Shows state information either for all physical Ethernet links or for a
+specified physical Ethernet link.
+.sp
+The \fBshow-ether\fR subcommand accepts the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR,..., \fB--output\fR=\fIfield\fR\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or the special value \fBall\fR to
+display all fields. For each link, the following fields can be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the link being displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPTYPE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Parameter type, where \fBcurrent\fR indicates the negotiated state of the link,
+\fBcapable\fR indicates capabilities supported by the device, \fBadv\fR
+indicates the advertised capabilities, and \fBpeeradv\fR indicates the
+capabilities advertised by the link-partner.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The state of the link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAUTO\fR\fR
+.ad
+.sp .6
+.RS 4n
+A \fByes\fR/\fBno\fR value indicating whether auto-negotiation is advertised.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSPEED-DUPLEX\fR\fR
+.ad
+.sp .6
+.RS 4n
+Combinations of speed and duplex values available. The units of speed are
+encoded with a trailing suffix of \fBG\fR (Gigabits/s) or \fBM\fR (Mb/s).
+Duplex values are encoded as \fBf\fR (full-duplex) or \fBh\fR (half-duplex).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPAUSE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Flow control information. Can be \fBno\fR, indicating no flow control is
+available; \fBtx\fR, indicating that the end-point can transmit pause frames,
+but ignores any received pause frames; \fBrx\fR, indicating that the end-point
+receives and acts upon received pause frames; or \fBbi\fR, indicating
+bi-directional flow-control.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBREM_FAULT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Fault detection information. Valid values are \fBnone\fR or \fBfault\fR.
+.RE
+
+By default, all fields except \fBREM_FAULT\fR are displayed for the "current"
+\fBPTYPE\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR, \fB--extended\fR\fR
+.ad
+.sp .6
+.RS 4n
+Extended output is displayed for \fBPTYPE\fR values of \fBcurrent\fR,
+\fBcapable\fR, \fBadv\fR and \fBpeeradv\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm set-linkprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-p\fR
+\fIprop\fR=\fIvalue\fR[,...] \fIlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the values of one or more properties on the link specified. The list of
+properties and their possible values depend on the link type, the network
+device driver, and networking hardware. These properties can be retrieved using
+\fBshow-linkprop\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the changes are temporary. Temporary changes last until the next
+reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprop\fR=\fIvalue\fR[,...], \fB--prop\fR
+\fIprop\fR=\fIvalue\fR[,...]\fR
+.ad
+.br
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to set to the specified values.
+.RE
+
+Note that when the persistent value is set, the temporary value changes to the
+same value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm reset-linkprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-p\fR
+\fIprop\fR,...] \fIlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Resets one or more properties to their values on the link specified. Properties
+are reset to the values they had at startup. If no properties are specified,
+all properties are reset. See \fBshow-linkprop\fR for a description of
+properties.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the resets are temporary. Values are reset to default values.
+Temporary resets last until the next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprop, ...\fR, \fB--prop\fR=\fIprop, ...\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to reset.
+.RE
+
+Note that when the persistent value is reset, the temporary value changes to
+the same value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-linkprop\fR [\fB-P\fR] [[\fB-c\fR] \fB-o\fR
+\fIfield\fR[,...]][\fB-p\fR \fIprop\fR[,...]] [\fIlink\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show the current or persistent values of one or more properties, either for all
+datalinks or for the specified link. By default, current values are shown. If
+no properties are specified, all available link properties are displayed. For
+each property, the following fields are displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...], \fB--output\fR=\fIfield\fR\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or the special value \fBall\fR to
+display all fields. For each link, the following fields can be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the datalink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPROPERTY\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPERM\fR\fR
+.ad
+.sp .6
+.RS 4n
+The read/write permissions of the property. The value shown is one of \fBro\fR
+or \fBrw\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVALUE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The current (or persistent) property value. If the value is not set, it is
+shown as \fB--\fR. If it is unknown, the value is shown as \fB?\fR. Persistent
+values that are not set or have been reset will be shown as \fB--\fR and will
+use the system \fBDEFAULT\fR value (if any).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEFAULT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The default value of the property. If the property has no default value,
+\fB--\fR is shown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPOSSIBLE\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of the values the property can have. If the values span
+a numeric range, \fImin\fR - \fImax\fR might be shown as shorthand. If the
+possible values are unknown or unbounded, \fB--\fR is shown.
+.RE
+
+The list of properties depends on the link type and network device driver, and
+the available values for a given property further depends on the underlying
+network hardware and its state. General link properties are documented in the
+\fBLINK PROPERTIES\fR section. However, link properties that begin with
+"\fB_\fR" (underbar) are specific to a given link or its underlying network
+device and subject to change or removal. See the appropriate network device
+driver man page for details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The \fB-o\fR option is
+required with this option. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display persistent link property information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprop, ...\fR, \fB--prop\fR=\fIprop, ...\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to show. See the sections on link
+properties following subcommand descriptions.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm create-secobj\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-f\fR
+\fIfile\fR] \fB-c\fR \fIclass\fR \fIsecobj\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a secure object named \fIsecobj\fR in the specified \fIclass\fR to be
+later used as a WEP or WPA key in connecting to an encrypted network. The value
+of the secure object can either be provided interactively or read from a file.
+The sequence of interactive prompts and the file format depends on the class of
+the secure object.
+.sp
+Currently, the classes \fBwep\fR and \fBwpa\fR are supported. The \fBWEP\fR
+(Wired Equivalent Privacy) key can be either 5 or 13 bytes long. It can be
+provided either as an \fBASCII\fR or hexadecimal string -- thus, \fB12345\fR
+and \fB0x3132333435\fR are equivalent 5-byte keys (the \fB0x\fR prefix can be
+omitted). A file containing a \fBWEP\fR key must consist of a single line using
+either \fBWEP\fR key format. The WPA (Wi-Fi Protected Access) key must be
+provided as an ASCII string with a length between 8 and 63 bytes.
+.sp
+This subcommand is only usable by users or roles that belong to the "Network
+Link Security" \fBRBAC\fR profile.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass\fR, \fB--class\fR=\fIclass\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIclass\fR can be \fBwep\fR or \fBwpa\fR. See preceding discussion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the creation is temporary. Temporary creation last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfile\fR, \fB--file\fR=\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a file that should be used to obtain the secure object's value. The
+format of this file depends on the secure object class. See the \fBEXAMPLES\fR
+section for an example of using this option to set a \fBWEP\fR key.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm delete-secobj\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR]
+\fIsecobj\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+Delete one or more specified secure objects. This subcommand is only usable by
+users or roles that belong to the "Network Link Security" \fBRBAC\fR profile.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the deletions are temporary. Temporary deletions last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-secobj\fR [\fB-P\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]]
+[\fIsecobj\fR,...]\fR
+.ad
+.sp .6
+.RS 4n
+Show current or persistent secure object information. If one or more secure
+objects are specified, then information for each is displayed. Otherwise, all
+current or persistent secure objects are displayed.
+.sp
+By default, current secure objects are displayed, which are all secure objects
+that have either been persistently created and not temporarily deleted, or
+temporarily created.
+.sp
+For security reasons, it is not possible to show the value of a secure object.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...] , \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below. For displayed secure object, the
+following fields can be shown:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOBJECT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the secure object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLASS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The class of the secure object.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display persistent secure object information
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm create-vnic\fR [\fB-t\fR] \fB-l\fR \fIlink\fR [\fB-R\fR
+\fIroot-dir\fR] [\fB-m\fR \fIvalue\fR | auto | {factory [\fB-n\fR
+\fIslot-identifier\fR]} | {random [\fB-r\fR \fIprefix\fR]}] [\fB-v\fR
+\fIvlan-id\fR] [\fB-p\fR \fIprop\fR=\fIvalue\fR[,...]] \fIvnic-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a VNIC with name \fIvnic-link\fR over the specified link.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the VNIC is temporary. Temporary VNICs last until the next
+reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIlink\fR can be a physical link or an \fBetherstub\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIvalue\fR | \fIkeyword\fR, \fB--mac-address\fR=\fIvalue\fR |
+\fIkeyword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the VNIC's MAC address based on the specified value or keyword. If
+\fIvalue\fR is not a keyword, it is interpreted as a unicast MAC address, which
+must be valid for the underlying NIC. The following special keywords can be
+used:
+.sp
+.ne 2
+.mk
+.na
+\fBfactory [\fB-n\fR \fIslot-identifier\fR],\fR
+.ad
+.br
+.na
+\fBfactory [\fB--slot\fR=\fIslot-identifier\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Assign a factory MAC address to the VNIC. When a factory MAC address is
+requested, \fB-m\fR can be combined with the \fB-n\fR option to specify a MAC
+address slot to be used. If \fB-n\fR is not specified, the system will choose
+the next available factory MAC address. The \fB-m\fR option of the
+\fBshow-phys\fR subcommand can be used to display the list of factory MAC
+addresses, their slot identifiers, and their availability.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.br
+.na
+\fBrandom [\fB-r\fR \fIprefix\fR],\fR
+.ad
+.br
+.na
+\fBrandom [\fB--mac-prefix\fR=\fIprefix\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Assign a random MAC address to the VNIC. A default prefix consisting of a valid
+IEEE OUI with the local bit set will be used. That prefix can be overridden
+with the \fB-r\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBauto\fR
+.ad
+.sp .6
+.RS 4n
+Try and use a factory MAC address first. If none is available, assign a random
+MAC address. \fBauto\fR is the default action if the \fB-m\fR option is not
+specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fIvlan-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable VLAN tagging for this VNIC. The VLAN tag will have id \fIvlan-id\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprop\fR=\fIvalue\fR,..., \fB--prop\fR
+\fIprop\fR=\fIvalue\fR,...\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to set to the specified values.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm delete-vnic\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR]
+\fIvnic-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the specified VNIC.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the deletion is temporary. Temporary deletions last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-vnic\fR [\fB-pP\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]]
+[\fB-o\fR \fIfield\fR[,...]] [\fB-l\fR \fIlink\fR] [\fIvnic-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show VNIC configuration information (the default) or statistics, for all VNICs,
+all VNICs on a link, or only the specified \fIvnic-link\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...] , \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below. The field name must be one of the
+fields listed below, or the special value \fBall\fR to display all fields. By
+default (without \fB-o\fR), \fBshow-vnic\fR displays all fields.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the VNIC.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOVER\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the physical link over which this VNIC is configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSPEED\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum speed of the VNIC, in megabits per second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMACADDRESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+MAC address of the VNIC.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMACADDRTYPE\fR\fR
+.ad
+.sp .6
+.RS 4n
+MAC address type of the VNIC. \fBdladm\fR distinguishes among the following MAC
+address types:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrandom\fR\fR
+.ad
+.sp .6
+.RS 4n
+A random address assigned to the VNIC.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfactory\fR\fR
+.ad
+.sp .6
+.RS 4n
+A factory MAC address used by the VNIC.
+.RE
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The \fB-o\fR option is
+required with \fB-p\fR. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the persistent VNIC configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--statistics\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays VNIC statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterval\fR, \fB--interval\fR=\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-s\fR option to specify an interval, in seconds, at which
+statistics should be displayed. If this option is not specified, statistics
+will be displayed only once.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display information for all VNICs on the named link.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.br
+.na
+\fB\fBdladm create-etherstub\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR]
+\fIetherstub\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an etherstub with the specified name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the etherstub is temporary. Temporary etherstubs do not persist
+across reboots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+VNICs can be created on top of etherstubs instead of physical NICs. As with
+physical NICs, such a creation causes the stack to implicitly create a virtual
+switch between the VNICs created on top of the same etherstub.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.br
+.na
+\fB\fBdladm delete-etherstub\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR]
+\fIetherstub\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the specified etherstub.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the deletion is temporary. Temporary deletions last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-etherstub\fR [\fIetherstub\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show all configured etherstubs by default, or the specified etherstub if
+\fIetherstub\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm create-iptun\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-T\fR
+\fItype\fR [\fB-s\fR \fItsrc\fR] [\fB-d\fR \fItdst\fR] \fIiptun-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an IP tunnel link named \fIiptun-link\fR. Such links can additionally be
+protected with IPsec using \fBipsecconf\fR(1M).
+.sp
+An IP tunnel is conceptually comprised of two parts: a virtual link between two
+or more IP nodes, and an IP interface above this link that allows the system to
+transmit and receive IP packets encapsulated by the underlying link. This
+subcommand creates a virtual link. The \fBifconfig\fR(1M) command is used to
+configure IP interfaces above the link.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the IP tunnel link is temporary. Temporary tunnels last until
+the next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fItype\fR, \fB--tunnel-type\fR=\fItype\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the type of tunnel to be created. The type must be one of the
+following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv4\fR\fR
+.ad
+.sp .6
+.RS 4n
+A point-to-point, IP-over-IP tunnel between two IPv4 nodes. This type of tunnel
+requires IPv4 source and destination addresses to function. IPv4 and IPv6
+interfaces can be plumbed above such a tunnel to create IPv4-over-IPv4 and
+IPv6-over-IPv4 tunneling configurations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6\fR\fR
+.ad
+.sp .6
+.RS 4n
+A point-to-point, IP-over-IP tunnel between two IPv6 nodes as defined in IETF
+RFC 2473. This type of tunnel requires IPv6 source and destination addresses to
+function. IPv4 and IPv6 interfaces can be plumbed above such a tunnel to create
+IPv4-over-IPv6 and IPv6-over-IPv6 tunneling configurations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6to4\fR\fR
+.ad
+.sp .6
+.RS 4n
+A 6to4, point-to-multipoint tunnel as defined in IETF RFC 3056. This type of
+tunnel requires an IPv4 source address to function. An IPv6 interface is
+plumbed on such a tunnel link to configure a 6to4 router.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fItsrc\fR, \fB--tunnel-src\fR=\fItsrc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Literal IP address or hostname corresponding to the tunnel source. If a
+hostname is specified, it will be resolved to IP addresses, and one of those IP
+addresses will be used as the tunnel source. Because IP tunnels are created
+before naming services have been brought online during the boot process, it is
+important that any hostname used be included in \fB/etc/hosts\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fItdst\fR, \fB--tunnel-dst\fR=\fItdst\fR\fR
+.ad
+.sp .6
+.RS 4n
+Literal IP address or hostname corresponding to the tunnel destination.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm modify-iptun\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-s\fR
+\fItsrc\fR] [\fB-d\fR \fItdst\fR] \fIiptun-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the parameters of the specified IP tunnel.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the modification is temporary. Temporary modifications last
+until the next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fItsrc\fR, \fB--tunnel-src\fR=\fItsrc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a new tunnel source address. See \fBcreate-iptun\fR for a
+description.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fItdst\fR, \fB--tunnel-dst\fR=\fItdst\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a new tunnel destination address. See \fBcreate-iptun\fR for a
+description.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm delete-iptun\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR]
+\fIiptun-link\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the specified IP tunnel link.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the deletion is temporary. Temporary deletions last until the
+next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Options," above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-iptun\fR [\fB-P\fR] [[\fB-p\fR] \fB-o\fR \fIfield\fR[,...]]
+[\fIiptun-link\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show IP tunnel link configuration for a single IP tunnel or all IP tunnels.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the persistent IP tunnel configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format. The -o option is required with
+-p. See "Parseable Output Format", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...], \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or the special value \fBall\fR, to
+display all fields. By default (without \fB-o\fR), \fBshow-iptun\fR displays
+all fields.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the IP tunnel link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTYPE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Type of tunnel as specified by the \fB-T\fR option of \fBcreate-iptun\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLAGS\fR\fR
+.ad
+.sp .6
+.RS 4n
+A set of flags associated with the IP tunnel link. Possible flags are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IP tunnel link is protected by IPsec policy. To display the IPsec policy
+associated with the tunnel link, enter:
+.sp
+.in +2
+.nf
+# \fBipsecconf -ln -i \fItunnel-link\fR\fR
+.fi
+.in -2
+.sp
+
+See \fBipsecconf\fR(1M) for more details on how to configure IPsec policy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IP tunnel link was implicitly created with \fBifconfig\fR(1M), and will be
+automatically deleted when it is no longer referenced (that is, when the last
+IP interface over the tunnel is unplumbed). See \fBifconfig\fR(1M) for details
+on implicit tunnel creation.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSOURCE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The tunnel source address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDESTINATION\fR\fR
+.ad
+.sp .6
+.RS 4n
+The tunnel destination address.
+.RE
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdladm show-usage\fR [\fB-a\fR] \fB-f\fR \fIfilename\fR [\fB-p\fR
+\fIplotfile\fR \fB-F\fR \fIformat\fR] [\fB-s\fR \fItime\fR] [\fB-e\fR
+\fItime\fR] [\fIlink\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show the historical network usage from a stored extended accounting file.
+Configuration and enabling of network accounting through \fBacctadm\fR(1M) is
+required. The default output will be the summary of network usage for the
+entire period of time in which extended accounting was enabled.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display all historical network usage for the specified period of time during
+which extended accounting is enabled. This includes the usage information for
+the links that have already been deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR, \fB--file\fR=\fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read extended accounting records of network usage from \fIfilename\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIformat\fR, \fB--format\fR=\fIformat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the format of \fIplotfile\fR that is specified by the \fB-p\fR
+option. As of this release, \fBgnuplot\fR is the only supported format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIplotfile\fR, \fB--plot\fR=\fIplotfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write network usage data to a file of the format specified by the \fB-F\fR
+option, which is required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fItime\fR, \fB--start\fR=\fItime\fR\fR
+.ad
+.br
+.na
+\fB\fB-e\fR \fItime\fR, \fB--stop\fR=\fItime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start and stop times for data display. Time is in the format
+\fIMM\fR/\fIDD\fR/\fIYYYY\fR,\fIhh\fR:\fImm\fR:\fIss\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+If specified, display the network usage only for the named link. Otherwise,
+display network usage for all links.
+.RE
+
+.RE
+
+.SS "Parseable Output Format"
+.sp
+.LP
+Many \fBdladm\fR subcommands have an option that displays output in a
+machine-parseable format. The output format is one or more lines of colon
+(\fB:\fR) delimited fields. The fields displayed are specific to the subcommand
+used and are listed under the entry for the \fB-o\fR option for a given
+subcommand. Output includes only those fields requested by means of the
+\fB-o\fR option, in the order requested.
+.sp
+.LP
+When you request multiple fields, any literal colon characters are escaped by a
+backslash (\fB\e\fR) before being output. Similarly, literal backslash
+characters will also be escaped (\fB\e\e\fR). This escape format is parseable
+by using shell \fBread\fR(1) functions with the environment variable
+\fBIFS=:\fR (see \fBEXAMPLES\fR, below). Note that escaping is not done when
+you request only a single field.
+.SS "General Link Properties"
+.sp
+.LP
+The following general link properties are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBautopush\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the set of STREAMS modules to push on the stream associated with a
+link when its DLPI device is opened. It is a space-delimited list of modules.
+.sp
+The optional special character sequence \fB[anchor]\fR indicates that a STREAMS
+anchor should be placed on the stream at the module previously specified in the
+list. It is an error to specify more than one anchor or to have an anchor first
+in the list.
+.sp
+The \fBautopush\fR property is preferred over the more general
+\fBautopush\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcpus\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bind the processing of packets for a given data link to a processor or a set of
+processors. The value can be a comma-separated list of one or more processor
+ids. If the list consists of more than one processor, the processing will
+spread out to all the processors. Connection to processor affinity and packet
+ordering for any individual connection will be maintained.
+.sp
+The processor or set of processors are not exclusively reserved for the link.
+Only the kernel threads and interrupts associated with processing of the link
+are bound to the processor or the set of processors specified. In case it is
+desired that processors be dedicated to the link, \fBpsrset\fR(1M) can be used
+to create a processor set and then specifying the processors from the processor
+set to bind the link to.
+.sp
+If the link was already bound to processor or set of processors due to a
+previous operation, the binding will be removed and the new set of processors
+will be used instead.
+.sp
+The default is no CPU binding, which is to say that the processing of packets
+is not bound to any specific processor or processor set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlearn_limit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits the number of new or changed MAC sources to be learned over a bridge
+link. When the number exceeds this value, learning on that link is temporarily
+disabled. Only non-VLAN, non-VNIC type links have this property.
+.sp
+The default value is \fB1000\fR. Valid values are greater or equal to 0.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlearn_decay\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the decay rate for source changes limited by \fBlearn_limit\fR. This
+number is subtracted from the counter for a bridge link every 5 seconds. Only
+non-VLAN, non-VNIC type links have this property.
+.sp
+The default value is \fB200\fR. Valid values are greater or equal to 0.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxbw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the full duplex bandwidth for the link. The bandwidth is specified as an
+integer with one of the scale suffixes (\fBK\fR, \fBM\fR, or \fBG\fR for Kbps,
+Mbps, and Gbps). If no units are specified, the input value will be read as
+Mbps. The default is no bandwidth limit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpriority\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the relative priority for the link. The value can be given as one of the
+tokens \fBhigh\fR, \fBmedium\fR, or \fBlow\fR. The default is \fBhigh\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables or disables Spanning Tree Protocol on a bridge link. Setting this value
+to \fB0\fR disables Spanning Tree, and puts the link into forwarding mode with
+BPDU guarding enabled. This mode is appropriate for point-to-point links
+connected only to end nodes. Only non-VLAN, non-VNIC type links have this
+property. The default value is \fB1\fR, to enable STP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBforward\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables or disables forwarding for a VLAN. Setting this value to \fB0\fR
+disables bridge forwarding for a VLAN link. Disabling bridge forwarding removes
+that VLAN from the "allowed set" for the bridge. The default value is \fB1\fR,
+to enable bridge forwarding for configured VLANs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefault_tag\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the default VLAN ID that is assumed for untagged packets sent to and
+received from this link. Only non-VLAN, non-VNIC type links have this property.
+Setting this value to \fB0\fR disables the bridge forwarding of untagged
+packets to and from the port. The default value is \fBVLAN ID 1\fR. Valid
+values values are from 0 to 4094.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstp_priority\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the STP and RSTP Port Priority value, which is used to determine the
+preferred root port on a bridge. Lower numerical values are higher priority.
+The default value is \fB128\fR. Valid values range from 0 to 255.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstp_cost\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the STP and RSTP cost for using the link. The default value is \fBauto\fR,
+which sets the cost based on link speed, using \fB100\fR for 10Mbps, \fB19\fR
+for 100Mbps, \fB4\fR for 1Gbps, and \fB2\fR for 10Gbps. Valid values range from
+1 to 65535.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstp_edge\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables or disables bridge edge port detection. If set to \fB0\fR (false), the
+system assumes that the port is connected to other bridges even if no bridge
+PDUs of any type are seen. The default value is \fB1\fR, which detects edge
+ports automatically.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstp_p2p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets bridge point-to-point operation mode. Possible values are \fBtrue\fR,
+\fBfalse\fR, and \fBauto\fR. When set to \fBauto\fR, point-to-point connections
+are automatically discovered. When set to \fBtrue\fR, the port mode is forced
+to use point-to-point. When set to \fBfalse\fR, the port mode is forced to use
+normal multipoint mode. The default value is \fBauto\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstp_mcheck\fR\fR
+.ad
+.sp .6
+.RS 4n
+Triggers the system to run the RSTP \fBForce BPDU Migration Check\fR procedure
+on this link. The procedure is triggered by setting the property value to
+\fB1\fR. The property is automatically reset back to \fB0\fR. This value cannot
+be set unless the following are true:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The link is bridged
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The bridge is protected by Spanning Tree
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The bridge \fBforce-protocol\fR value is at least 2 (RSTP)
+.RE
+The default value is 0.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the zone to which the link belongs. This property can be modified
+only temporarily through \fBdladm\fR, and thus the \fB-t\fR option must be
+specified. To modify the zone assignment such that it persists across reboots,
+please use \fBzonecfg\fR(1M). Possible values consist of any exclusive-IP zone
+currently running on the system. By default, the zone binding is as per
+\fBzonecfg\fR(1M).
+.RE
+
+.SS "Wifi Link Properties"
+.sp
+.LP
+The following \fBWiFi\fR link properties are supported. Note that the ability
+to set a given property to a given value depends on the driver and hardware.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchannel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the channel to use. This property can be modified only by certain
+\fBWiFi\fR links when in \fBIBSS\fR mode. The default value and allowed range
+of values varies by regulatory domain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpowermode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the power management mode of the \fBWiFi\fR link. Possible values are
+\fBoff\fR (disable power management), \fBmax\fR (maximum power savings), and
+\fBfast\fR (performance-sensitive power management). Default is \fBoff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBradio\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the radio mode of the \fBWiFi\fR link. Possible values are \fBon\fR
+or \fBoff\fR. Default is \fBon\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBspeed\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a fixed speed for the \fBWiFi\fR link, in megabits per second. The
+set of possible values depends on the driver and hardware (but is shown by
+\fBshow-linkprop\fR); common speeds include 1, 2, 11, and 54. By default, there
+is no fixed speed.
+.RE
+
+.SS "Ethernet Link Properties"
+.sp
+.LP
+The following MII Properties, as documented in \fBieee802.3\fR(5), are
+supported in read-only mode:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBduplex\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBstate\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBadv_autoneg_cap\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBadv_10gfdx_cap\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBadv_1000fdx_cap\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBadv_1000hdx_cap\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBadv_100fdx_cap\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBadv_100hdx_cap\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBadv_10fdx_cap\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBadv_10hdx_cap\fR
+.RE
+.sp
+.LP
+Each \fBadv_\fR property (for example, \fBadv_10fdx_cap\fR) also has a
+read/write counterpart \fBen_\fR property (for example, \fBen_10fdx_cap\fR)
+controlling parameters used at auto-negotiation. In the absence of Power
+Management, the \fBadv\fR* speed/duplex parameters provide the values that are
+both negotiated and currently effective in hardware. However, with Power
+Management enabled, the speed/duplex capabilities currently exposed in hardware
+might be a subset of the set of bits that were used in initial link parameter
+negotiation. Thus the MII \fBadv_\fR* parameters are marked read-only, with an
+additional set of \fBen_\fR* parameters for configuring speed and duplex
+properties at initial negotiation.
+.sp
+.LP
+Note that the \fBadv_autoneg_cap\fR does not have an \fBen_autoneg_cap\fR
+counterpart: the \fBadv_autoneg_cap\fR is a 0/1 switch that turns off/on
+autonegotiation itself, and therefore cannot be impacted by Power Management.
+.sp
+.LP
+In addition, the following Ethernet properties are reported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBspeed\fR\fR
+.ad
+.sp .6
+.RS 4n
+(read-only) The operating speed of the device, in Mbps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmtu\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum client SDU (Send Data Unit) supported by the device. Valid range is
+68-65536.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflowctrl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Establishes flow-control modes that will be advertised by the device. Valid
+input is one of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBno\fR\fR
+.ad
+.sp .6
+.RS 4n
+No flow control enabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrx\fR\fR
+.ad
+.sp .6
+.RS 4n
+Receive, and act upon incoming pause frames.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtx\fR\fR
+.ad
+.sp .6
+.RS 4n
+Transmit pause frames to the peer when congestion occurs, but ignore received
+pause frames.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bidirectional flow control.
+.RE
+
+Note that the actual settings for this value are constrained by the
+capabilities allowed by the device and the link partner.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtagmode\fR\fR
+.ad
+.sp .6
+.RS 4n
+This link property controls the conditions in which 802.1Q VLAN tags will be
+inserted in packets being transmitted on the link. Two mode values can be
+assigned to this property:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnormal\fR\fR
+.ad
+.RS 12n
+.rt
+Insert a VLAN tag in outgoing packets under the following conditions:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The packet belongs to a VLAN.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The user requested priority tagging.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvlanonly\fR\fR
+.ad
+.RS 12n
+.rt
+Insert a VLAN tag only when the outgoing packet belongs to a VLAN. If a tag is
+being inserted in this mode and the user has also requested a non-zero
+priority, the priority is honored and included in the VLAN tag.
+.RE
+
+The default value is \fBvlanonly\fR.
+.RE
+
+.SS "IP Tunnel Link Properties"
+.sp
+.LP
+The following IP tunnel link properties are supported.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhoplimit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the IPv4 TTL or IPv6 hop limit for the encapsulating outer IP header
+of a tunnel link. This property exists for all tunnel types. The default value
+is 64.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencaplimit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the IPv6 encapsulation limit for an IPv6 tunnel as defined in RFC
+2473. This value is the tunnel nesting limit for a given tunneled packet. The
+default value is 4. A value of 0 disables the encapsulation limit.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConfiguring an Aggregation
+.sp
+.LP
+To configure a data-link over an aggregation of devices \fBbge0\fR and
+\fBbge1\fR with key 1, enter the following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm create-aggr -d bge0 -d bge1 1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRConnecting to a WiFi Link
+.sp
+.LP
+To connect to the most optimal available unsecured network on a system with a
+single \fBWiFi\fR link (as per the prioritization rules specified for
+\fBconnect-wifi\fR), enter the following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm connect-wifi\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating a WiFi Key
+.sp
+.LP
+To interactively create the \fBWEP\fR key \fBmykey\fR, enter the following
+command:
+
+.sp
+.in +2
+.nf
+# \fBdladm create-secobj -c wep mykey\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Alternatively, to non-interactively create the \fBWEP\fR key \fBmykey\fR using
+the contents of a file:
+
+.sp
+.in +2
+.nf
+# \fBumask 077\fR
+ # \fBcat >/tmp/mykey.$$ <<EOF\fR
+ \fB12345\fR
+ \fBEOF\fR
+ # \fBdladm create-secobj -c wep -f /tmp/mykey.$$ mykey\fR
+ # \fBrm /tmp/mykey.$$\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRConnecting to a Specified Encrypted WiFi Link
+.sp
+.LP
+To use key \fBmykey\fR to connect to \fBESSID\fR \fBwlan\fR on link \fBath0\fR,
+enter the following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm connect-wifi -k mykey -e wlan ath0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRChanging a Link Property
+.sp
+.LP
+To set \fBpowermode\fR to the value \fBfast\fR on link \fBpcwl0\fR, enter the
+following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm set-linkprop -p powermode=fast pcwl0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRConnecting to a WPA-Protected WiFi Link
+.sp
+.LP
+Create a WPA key \fBpsk\fR and enter the following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm create-secobj -c wpa psk\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To then use key \fBpsk\fR to connect to ESSID \fBwlan\fR on link \fBath0\fR,
+enter the following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm connect-wifi -k psk -e wlan ath0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRRenaming a Link
+.sp
+.LP
+To rename the \fBbge0\fR link to \fBmgmt0\fR, enter the following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm rename-link bge0 mgmt0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRReplacing a Network Card
+.sp
+.LP
+Consider that the \fBbge0\fR device, whose link was named \fBmgmt0\fR as shown
+in the previous example, needs to be replaced with a \fBce0\fR device because
+of a hardware failure. The \fBbge0\fR NIC is physically removed, and replaced
+with a new \fBce0\fR NIC. To associate the newly added \fBce0\fR device with
+the \fBmgmt0\fR configuration previously associated with \fBbge0\fR, enter the
+following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm rename-link ce0 mgmt0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRRemoving a Network Card
+.sp
+.LP
+Suppose that in the previous example, the intent is not to replace the
+\fBbge0\fR NIC with another NIC, but rather to remove and not replace the
+hardware. In that case, the \fBmgmt0\fR datalink configuration is not slated to
+be associated with a different physical device as shown in the previous
+example, but needs to be deleted. Enter the following command to delete the
+datalink configuration associated with the \fBmgmt0\fR datalink, whose physical
+hardware (\fBbge0\fR in this case) has been removed:
+
+.sp
+.in +2
+.nf
+# \fBdladm delete-phys mgmt0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRUsing Parseable Output to Capture a Single Field
+.sp
+.LP
+The following assignment saves the MTU of link \fBnet0\fR to a variable named
+\fBmtu\fR.
+
+.sp
+.in +2
+.nf
+# \fBmtu=`dladm show-link -p -o mtu net0`\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRUsing Parseable Output to Iterate over Links
+.sp
+.LP
+The following script displays the state of each link on the system.
+
+.sp
+.in +2
+.nf
+# \fBdladm show-link -p -o link,state | while IFS=: read link state; do
+ print "Link $link is in state $state"
+ done\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRConfiguring VNICs
+.sp
+.LP
+Create two VNICs with names \fBhello0\fR and \fBtest1\fR over a single physical
+link \fBbge0\fR:
+
+.sp
+.in +2
+.nf
+# \fBdladm create-vnic -l bge0 hello0\fR
+# \fBdladm create-vnic -l bge0 test1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRConfiguring VNICs and Allocating Bandwidth and Priority
+.sp
+.LP
+Create two VNICs with names \fBhello0\fR and \fBtest1\fR over a single physical
+link \fBbge0\fR and make \fBhello0\fR a high priority VNIC with a
+factory-assigned MAC address with a maximum bandwidth of 50 Mbps. Make
+\fBtest1\fR a low priority VNIC with a random MAC address and a maximum
+bandwidth of 100Mbps.
+
+.sp
+.in +2
+.nf
+# \fBdladm create-vnic -l bge0 -m factory -p maxbw=50,priority=high hello0\fR
+# \fBdladm create-vnic -l bge0 -m random -p maxbw=100M,priority=low test1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRConfiguring a VNIC with a Factory MAC Address
+.sp
+.LP
+First, list the available factory MAC addresses and choose one of them:
+
+.sp
+.in +2
+.nf
+# \fBdladm show-phys -m bge0\fR
+LINK SLOT ADDRESS INUSE CLIENT
+bge0 primary 0:e0:81:27:d4:47 yes bge0
+bge0 1 8:0:20:fe:4e:a5 no
+bge0 2 8:0:20:fe:4e:a6 no
+bge0 3 8:0:20:fe:4e:a7 no
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Create a VNIC named \fBhello0\fR and use slot 1's address:
+
+.sp
+.in +2
+.nf
+# \fBdladm create-vnic -l bge0 -m factory -n 1 hello0\fR
+# \fBdladm show-phys -m bge0\fR
+LINK SLOT ADDRESS INUSE CLIENT
+bge0 primary 0:e0:81:27:d4:47 yes bge0
+bge0 1 8:0:20:fe:4e:a5 yes hello0
+bge0 2 8:0:20:fe:4e:a6 no
+bge0 3 8:0:20:fe:4e:a7 no
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 15 \fRCreating a VNIC with User-Specified MAC Address, Binding it to
+Set of Processors
+.sp
+.LP
+Create a VNIC with name \fBhello0\fR, with a user specified MAC address, and a
+processor binding \fB0, 1, 2, 3\fR.
+
+.sp
+.in +2
+.nf
+# \fBdladm create-vnic -l bge0 -m 8:0:20:fe:4e:b8 -p cpus=0,1,2,3 hello0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 16 \fRCreating a Virtual Network Without a Physical NIC
+.sp
+.LP
+First, create an etherstub with name \fBstub1\fR:
+
+.sp
+.in +2
+.nf
+# \fBdladm create-etherstub stub1\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Create two VNICs with names \fBhello0\fR and \fBtest1\fR on the etherstub. This
+operation implicitly creates a virtual switch connecting \fBhello0\fR and
+\fBtest1\fR.
+
+.sp
+.in +2
+.nf
+# \fBdladm create-vnic -l stub1 hello0\fR
+# \fBdladm create-vnic -l stub1 test1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 17 \fRShowing Network Usage
+.sp
+.LP
+Network usage statistics can be stored using the extended accounting facility,
+\fBacctadm\fR(1M).
+
+.sp
+.in +2
+.nf
+# \fBacctadm -e basic -f /var/log/net.log net\fR
+# \fBacctadm net\fR
+ Network accounting: active
+ Network accounting file: /var/log/net.log
+ Tracked Network resources: basic
+ Untracked Network resources: src_ip,dst_ip,src_port,dst_port,protocol,
+ dsfield
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The saved historical data can be retrieved in summary form using the
+\fBshow-usage\fR subcommand:
+
+.sp
+.in +2
+.nf
+# \fBdladm show-usage -f /var/log/net.log\fR
+LINK DURATION IPACKETS RBYTES OPACKETS OBYTES BANDWIDTH
+e1000g0 80 1031 546908 0 0 2.44 Kbps
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 18 \fRDisplaying Bridge Information
+.sp
+.LP
+The following commands use the \fBshow-bridge\fR subcommand with no and various
+options.
+
+.sp
+.in +2
+.nf
+# \fBdladm show-bridge\fR
+BRIDGE PROTECT ADDRESS PRIORITY DESROOT
+foo stp 32768/8:0:20:bf:f 32768 8192/0:d0:0:76:14:38
+bar stp 32768/8:0:20:e5:8 32768 8192/0:d0:0:76:14:38
+
+# \fBdladm show-bridge -l foo\fR
+LINK STATE UPTIME DESROOT
+hme0 forwarding 117 8192/0:d0:0:76:14:38
+qfe1 forwarding 117 8192/0:d0:0:76:14:38
+
+# \fBdladm show-bridge -s foo\fR
+BRIDGE DROPS FORWARDS
+foo 0 302
+
+# \fBdladm show-bridge -ls foo\fR
+LINK DROPS RECV XMIT
+hme0 0 360832 31797
+qfe1 0 322311 356852
+
+# \fBdladm show-bridge -f foo\fR
+DEST AGE FLAGS OUTPUT
+8:0:20:bc:a7:dc 10.860 -- hme0
+8:0:20:bf:f9:69 -- L hme0
+8:0:20:c0:20:26 17.420 -- hme0
+8:0:20:e5:86:11 -- L qfe1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 19 \fRCreating an IPv4 Tunnel
+.sp
+.LP
+The following sequence of commands creates and then displays a persistent IPv4
+tunnel link named \fBmytunnel0\fR between 66.1.2.3 and 192.4.5.6:
+
+.sp
+.in +2
+.nf
+# \fBdladm create-iptun -T ipv4 -s 66.1.2.3 -d 192.4.5.6 mytunnel0\fR
+# \fBdladm show-iptun mytunnel0\fR
+LINK TYPE FLAGS SOURCE DESTINATION
+mytunnel0 ipv4 -- 66.1.2.3 192.4.5.6
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A point-to-point IP interface can then be created over this tunnel link:
+
+.sp
+.in +2
+.nf
+# \fBifconfig mytunnel0 plumb 10.1.0.1 10.1.0.2 up\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+As with any other IP interface, configuration persistence for this IP interface
+is achieved by placing the desired \fBifconfig\fR commands (in this case, the
+command for "\fB10.1.0.1 10.1.0.2\fR") into \fB/etc/hostname.mytunnel0\fR.
+
+.LP
+\fBExample 20 \fRCreating a 6to4 Tunnel
+.sp
+.LP
+The following command creates a 6to4 tunnel link. The IPv4 address of the 6to4
+router is 75.10.11.12.
+
+.sp
+.in +2
+.nf
+# \fBdladm create-iptun -T 6to4 -s 75.10.11.12 sitetunnel0\fR
+# \fBdladm show-iptun sitetunnel0\fR
+LINK TYPE FLAGS SOURCE DESTINATION
+sitetunnel0 6to4 -- 75.10.11.12 --
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command plumbs an IPv6 interface on this tunnel:
+
+.sp
+.in +2
+.nf
+# \fBifconfig sitetunnel0 inet6 plumb up\fR
+# \fBifconfig sitetunnel0 inet6\fR
+sitetunnel0: flags=2200041 <UP,RUNNING,NONUD,IPv6> mtu 65515 index 3
+ inet tunnel src 75.10.11.12
+ tunnel hop limit 64
+ inet6 2002:4b0a:b0c::1/16
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that the system automatically configures the IPv6 address on the 6to4 IP
+interface. See \fBifconfig\fR(1M) for a description of how IPv6 addresses are
+configured on 6to4 tunnel links.
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+.LP
+\fB/usr/sbin\fR
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.sp
+.LP
+\fB/sbin\fR
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctadm\fR(1M), \fBautopush\fR(1M), \fBifconfig\fR(1M), \fBipsecconf\fR(1M),
+\fBndd\fR(1M), \fBpsrset\fR(1M), \fBwpad\fR(1M), \fBzonecfg\fR(1M),
+\fBattributes\fR(5), \fBieee802.3\fR(5), \fBdlpi\fR(7P)
+.SH NOTES
+.sp
+.LP
+The preferred method of referring to an aggregation in the aggregation
+subcommands is by its link name. Referring to an aggregation by its integer
+\fIkey\fR is supported for backward compatibility, but is not necessary. When
+creating an aggregation, if a \fIkey\fR is specified instead of a link name,
+the aggregation's link name will be automatically generated by \fBdladm\fR as
+\fBaggr\fR\fIkey\fR.
diff --git a/usr/src/man/man1m/dlmgmtd.1m b/usr/src/man/man1m/dlmgmtd.1m
new file mode 100644
index 0000000000..203d882c2a
--- /dev/null
+++ b/usr/src/man/man1m/dlmgmtd.1m
@@ -0,0 +1,63 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dlmgmtd 1M "30 Jul 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dlmgmtd \- datalink management daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/dlmgmtd\fR
+.fi
+
+.LP
+.nf
+svc:/network/datalink-management:default
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdlmgmtd\fR is a system daemon that handles administrative events for network
+datalink interfaces. It is controlled through the service management facility
+(SMF) service instance:
+.sp
+.in +2
+.nf
+svc:/network/datalink-management:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The daemon should not be invoked directly. It does not constitute an
+administrative nor a programming interface. The administrative interface for
+managing datalinks is \fBdladm\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The daemon has no options.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityPrivate
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdladm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dmesg.1m b/usr/src/man/man1m/dmesg.1m
new file mode 100644
index 0000000000..0df737796d
--- /dev/null
+++ b/usr/src/man/man1m/dmesg.1m
@@ -0,0 +1,30 @@
+'\" te
+.\" Copyright (c) 1980 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution.
+.\" Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.TH dmesg 1M "9 Jul 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dmesg \- collect system diagnostic messages to form error log
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/dmesg\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/dmesg\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdmesg\fR is made obsolete by \fBsyslogd\fR(1M) for maintenance of the system
+error log.
+.sp
+.LP
+\fBdmesg\fR looks in a system buffer for recently printed diagnostic messages
+and prints them on the standard output.
+.SH SEE ALSO
+.sp
+.LP
+\fBsyslogd\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dminfo.1m b/usr/src/man/man1m/dminfo.1m
new file mode 100644
index 0000000000..148b7a0ed7
--- /dev/null
+++ b/usr/src/man/man1m/dminfo.1m
@@ -0,0 +1,182 @@
+'\" te
+.\" Copyright (c) 1993, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dminfo 1M "16 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dminfo \- report information about a device entry in a device maps file
+.SH SYNOPSIS
+.LP
+.nf
+\fBdminfo\fR [\fB-v\fR] [\fB-a\fR] [\fB-f\fR \fIpathname\fR]
+.fi
+
+.LP
+.nf
+\fBdminfo\fR [\fB-v\fR] [\fB-a\fR] [\fB-f\fR \fIpathname\fR] \fB-n\fR \fIdev\fR \fB-\fIname\fR\fR...
+.fi
+
+.LP
+.nf
+\fBdminfo\fR [\fB-v\fR] [\fB-a\fR] [\fB-f\fR \fIpathname\fR] \fB-d\fR \fIdev\fR \fB-\fIpath\fR\fR...
+.fi
+
+.LP
+.nf
+\fBdminfo\fR [\fB-v\fR] [\fB-a\fR] [\fB-f\fR \fIpathname\fR] \fB-t\fR \fIdev\fR \fB-\fItype\fR\fR...
+.fi
+
+.LP
+.nf
+\fBdminfo\fR [\fB-v\fR] [\fB-f\fR \fIpathname\fR] \fB-u\fR \fIdm\fR -\fIentry\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdminfo\fR reports and updates information about the \fBdevice_maps\fR(4)
+file.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 18n
+.rt
+Succeed if any of the requested entries are found. If used with \fB-v\fR, all
+entries that match the requested case(s) are printed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdev\(mipath\fR\fR
+.ad
+.RS 18n
+.rt
+Search by \fIdev\(mipath\fR. Search \fBdevice_maps\fR(4) for a device special
+pathname in the \fIdevice_list\fR field matching the \fIdev\(mipath\fR
+argument. This option cannot be used with \fB-n\fR, \fB-t\fR or \fB-u\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIpathname\fR\fR
+.ad
+.RS 18n
+.rt
+Use a device_maps file with \fIpathname\fR instead of
+\fB/etc/security/device_maps\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIdev\(miname\fR\fR
+.ad
+.RS 18n
+.rt
+Search by \fIdev\(miname\fR. Search \fBdevice_maps\fR(4) for a
+\fIdevice_name\fR field matching \fIdev\(miname\fR. This option cannot be used
+with \fB-d\fR, \fB-t\fR or \fB-u\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIdev\(mitype\fR\fR
+.ad
+.RS 18n
+.rt
+Search by \fIdev\(mitype\fR. Search \fBdevice_maps\fR(4) for a
+\fIdevice_type\fR field matching the given \fIdev\(mitype\fR. This option
+cannot be used with \fB-d\fR, \fB-n\fR or \fB-u\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIdm\(mientry\fR\fR
+.ad
+.RS 18n
+.rt
+Update the \fBdevice_maps\fR(4) file. This option is provided to add entries to
+the \fBdevice_maps\fR(4) file. The \fIdm\(mientry\fR must be a complete
+\fBdevice_maps\fR(4) file entry. The \fIdm\(mientry\fR has fields, as in the
+\fBdevice_maps\fR file. It uses the colon (\fB:\fR) as a field separator, and
+white space as the \fIdevice_list\fR subfield separators. The \fIdm\(mientry\fR
+is not made if any fields are missing, or if the \fIdm\(mientry\fR would be a
+duplicate. The default device maps file can be updated only by the super user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 18n
+.rt
+Verbose. Print the requested entry or entries, one line per entry, on the
+standard output. If no entries are specified, all are printed.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.RS 5n
+.rt
+Request failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.RS 5n
+.rt
+Incorrect syntax.
+.RE
+
+.SH FILES
+.sp
+.LP
+\fB/etc/security/device_maps\fR
+.SH SEE ALSO
+.sp
+.LP
+\fBbsmconv\fR(1M), \fBdevice_maps\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The functionality described in this man page is available only if the Solaris
+Auditing feature has been enabled. See \fBbsmconv\fR(1M) for more information.
diff --git a/usr/src/man/man1m/dns-sd.1m b/usr/src/man/man1m/dns-sd.1m
new file mode 100644
index 0000000000..f6b6c709ba
--- /dev/null
+++ b/usr/src/man/man1m/dns-sd.1m
@@ -0,0 +1,350 @@
+'\" te
+.\" Copyright (c) 2003-2004 Apple Computer, Inc. All Rights Reserved.
+.\" Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing,
+.\" software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
+.\" Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.TH dns-sd 1M "21 Aug 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dns-sd \- Multicast DNS (mDNS) & DNS Service Discovery (DNS-SD) Test Tool
+.SH SYNOPSIS
+.LP
+.nf
+\fBdns-sd\fR \fB-R\fR \fIname\fR \fItype\fR \fIdomain\fR \fIport\fR [\fIkey\fR=\fIvalue\fR ...]
+.fi
+
+.LP
+.nf
+\fBdns-sd\fR \fB-B\fR \fItype\fR \fIdomain\fR
+.fi
+
+.LP
+.nf
+\fBdns-sd\fR \fB-L\fR \fIname\fR \fItype\fR \fIdomain\fR
+.fi
+
+.LP
+.nf
+\fBdns-sd\fR \fB-Q\fR \fIFQDN\fR \fIrrtype\fR \fIrrclass\fR
+.fi
+
+.LP
+.nf
+\fBdns-sd\fR \fB-C\fR \fIFQDN\fR \fIrrtype\fR \fIrrclass\fR
+.fi
+
+.LP
+.nf
+\fBdns-sd\fR \fB-P\fR \fIname\fR \fItype\fR \fIdomain\fR \fIport\fR \fIhost\fR \fIIP\fR [\fIkey\fR=\fIvalue\fR ...]
+.fi
+
+.LP
+.nf
+\fBdns-sd\fR \fB-E\fR | \fB-F\fR | \fB-A\fR | \fB-U\fR | \fB-N\fR | \fB-T\fR | \fB-M\fR | \fB-I\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdns-sd\fR command is a network diagnostic tool, much like \fBping\fR(1M)
+or \fBtraceroute\fR(1M). However, unlike those tools, most of its functionality
+is not implemented in the \fBdns-sd\fR executable itself, but in library code
+that is available to any application. The library \fBAPI\fR that \fBdns-sd\fR
+uses is documented in \fB/usr/include/dns_sd.h\fR.
+.sp
+.LP
+The \fBdns-sd\fR command is primarily intended for interactive use. Because its
+command-line arguments and output format are subject to change, invoking it
+from a shell script can be unpredictable. Additionally, the asynchronous nature
+of \fBDNS\fR Service Discovery does not easily lend itself to script-oriented
+programming. This style of asynchronous interaction works best with
+applications that are either multi-threaded, or use a main event-handling loop
+to receive keystrokes, network data, and other asynchronous event notifications
+as they happen.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIname\fR \fItype\fR \fIdomain\fR \fIport\fR
+[\fIkey\fR=\fIvalue\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Register (advertise) a service in the specified domain with the given
+\fIname\fR and \fItype\fR as listening (on the current machine) on the
+specified \fIport\fR.
+.sp
+\fIname\fR can be any arbitrary unicode text, containing any legal unicode
+characters (including dots, spaces, slashes, colons, and so on without any
+restrictions), up to 63 \fBUTF-8\fR bytes long.
+.sp
+\fItype\fR must be of the form "_app-proto._tcp" or "_app-proto._udp", where
+"app-proto" is an application protocol name registered at
+http://www.dns-sd.org/ServiceTypes.html.
+.sp
+\fIdomain\fR is the domain in which to register the service. In current
+implementations, only the local multicast domain "local" is supported. In the
+future, registering will be supported in any arbitrary domain that has a
+working \fBDNS\fR Update server [\fBRFC\fR 2136]. The domain "." is a synonym
+for "pick a sensible default", which currently means "local".
+.sp
+\fIport\fR is a number from 0 to 65535, and is the \fBTCP\fR or \fBUDP\fR port
+number upon which the service is listening. Registering a service on port 0
+allows an application to explicitly advertise the non-availability of a
+service.
+.sp
+Additional attributes of the service may optionally be described by
+\fIkey/value\fR pairs, which are stored in the advertised service's \fBDNS\fR
+\fBTXT\fR record. Allowable keys and values are listed with the service
+registration at http://www.dns-sd.org/ServiceTypes.html
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR \fItype\fR \fIdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Browse for instances of service \fItype\fR in \fIdomain\fR.
+.sp
+For valid types, see http://www.dns-sd.org/ServiceTypes.html. Omitting the
+domain name or using "." means "pick a sensible default."
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR \fIname\fR \fItype\fR \fIdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Look up and display the information necessary to contact and use the named
+service. This information includes the hostname of the machine where that
+service is available, the port number on which the service is listening, and
+(if present) \fBTXT\fR record attributes describing properties of the service.
+.sp
+In a typical application, browsing happens rarely, while lookup (or
+"resolving") happens every time the service is used. For example, a user does
+not browse the network to pick a default printer that often, but once a default
+printer has been picked, that named service is resolved to its current IP
+address and port number every time the user presses Cmd-P to print.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR \fIFQDN\fR \fIrrtype\fR \fIrrclass\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generic query for any resource record type and class.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIFQDN\fR \fIrrtype\fR \fIrrclass\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generic query for any resource record type and class. This option also
+reconfirms each result from the query. Reconfirming the record instructs
+\fBmdnsd\fR(1M) to verify the validity of the record. If the record is not
+valid \fBmdnsd\fR(1M) flushes the record from the daemon's cache and also from
+other \fBmdnsd\fR(1M) caches on the network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIname\fR \fItype\fR \fIdomain\fR \fIport\fR \fIhost\fR \fIIP\fR
+[\fIkey\fR=\fIvalue\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Register (advertise) a service in the specified domain with the given
+\fIname\fR and \fItype\fR listening on the specified port and accessible on
+another host. This option should be used to advertise by proxy a service
+accessible on another host. The host name and \fBIPv4\fR address to access the
+service must be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.sp .6
+.RS 4n
+Discover recommended registration domains. This option returns the recommended
+domains to register a service. The recommended registration domains are
+returned by querying the name servers in \fBresolv.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Discover recommended browsing domains. This option returns the recommended
+domains for browsing services. The recommended browsing domains are returned by
+querying the name servers in \fBresolv.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+Test registering service with Multicast \fBDNS\fR and test the add, update and
+delete operations of \fBDNS\fR records with Multicast \fBDNS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR\fR
+.ad
+.sp .6
+.RS 4n
+Test registering service with Multicast \fBDNS\fR and test updating of
+\fBDNS\fR \fBTXT\fR records for a service registered with Multicast \fBDNS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.sp .6
+.RS 4n
+Test adding a large \fBNULL\fR record for a service registered with Multicast
+\fBDNS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.sp .6
+.RS 4n
+Test adding a large \fBTXT\fR record for a service registered with Multicast
+\fBDNS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.sp .6
+.RS 4n
+Test creating a registration with multiple \fBTXT\fR records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.sp .6
+.RS 4n
+Test registering and then immediately updating a \fBTXT\fR record.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdvertising a printing service
+.sp
+.LP
+The following command advertises the existence of \fBLPR\fR printing service on
+port 515 on this machine, so that it will be available to \fBDNS-SD\fR
+compatible printing clients:
+
+.sp
+.in +2
+.nf
+dns-sd -R "My Test" _printer._tcp. . 515 pdl=application/postscript
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For this registration to be useful, the LPR service should be available on port
+515. Advertising a service that does not exist is not very useful.
+.LP
+\fBExample 2 \fRAdvertising a web page
+.sp
+.LP
+The following command advertises a web page being served by an \fBHTTP\fR
+server on port 80 on this machine, so that it will appear on the Bonjour list
+in Safari and other DNS-SD compatible Web clients:
+
+.sp
+.in +2
+.nf
+dns-sd -R "My Test" _http._tcp . 80 path=/path-to-page.html
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRFinding the advertised web pages on the local network
+.sp
+.LP
+The following command finds the advertised web pages on the local network (the
+same list that Safari shows):
+
+.sp
+.in +2
+.nf
+dns-sd -B _http._tcp
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdnsd\fR(1M), \fBping\fR(1M), \fBtraceroute\fR(1M), \fBresolv.conf\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/domainname.1m b/usr/src/man/man1m/domainname.1m
new file mode 100644
index 0000000000..35080451d2
--- /dev/null
+++ b/usr/src/man/man1m/domainname.1m
@@ -0,0 +1,120 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH domainname 1M "8 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+domainname \- set or display name of the current domain
+.SH SYNOPSIS
+.LP
+.nf
+\fBdomainname\fR [\fIname-of-domain\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Without an argument, \fBdomainname\fR displays the name of the current domain
+name used in RPC exchanges, usually referred to as the NIS or NIS+ domain name.
+This name typically encompasses a group of \fBhosts\fR or \fBpasswd\fR entries
+under the same administration. The \fBdomainname\fR command is used by various
+components of Solaris to resolve names for entries such as are found in
+\fBpasswd\fR, \fBhosts\fR and \fBaliases\fR. By default, naming services such
+as \fBNIS\fR and \fBNIS+\fR use \fBdomainname\fR to resolve names.
+.sp
+.LP
+With appropriate privileges (root or an equivalent role [see \fBrbac\fR(5)]),
+you can set the name of the domain by specifying the name as an argument to the
+\fBdomainname\fR command.
+.sp
+.LP
+The domain name for various naming services can also be set by other means. For
+example, \fBypinit\fR can be used to specify a different domain for all
+\fBNIS\fR calls. The domain name of the machine is usually set during boot time
+through the \fBdomainname\fR command by the \fBsvc:/system/identity:domain\fR
+service. If the new domain name is not saved in the \fB/etc/defaultdomain\fR
+file, the machine reverts to the old domain after it reboots.
+.sp
+.LP
+The \fBsendmail\fR(1M) daemon, as shipped with Solaris, and the \fBsendmail\fR
+implementation provided by \fBsendmail.org\fR (formerly referred to as
+"Berkeley 8.x sendmail") both attempt to determine a local host's fully
+qualified host name at startup and both pursue follow-up actions if the initial
+search fails. It is in these follow-up actions that the two implementations
+differ.
+.sp
+.LP
+Both implementations use a standard Solaris or Unix system call to determine
+its fully qualified host name at startup, following the name service priorities
+specified in \fBnsswitch.conf\fR(4). To this point, the Solaris and
+\fBsendmail.org\fR versions behave identically.
+.sp
+.LP
+If the request for a fully qualified host name fails, the \fBsendmail.org\fR
+\fBsendmail\fR sleeps for 60 seconds, tries again, and, upon continuing
+failure, resorts to a short name. The Solaris version of \fBsendmail\fR makes
+the same initial request, but then, following initial failure, calls
+\fBdomainname\fR. If successful, the sleep is avoided.
+.sp
+.LP
+On a Solaris machine, if you run the \fBsendmail.org\fR version of sendmail,
+you get the startup behavior (omitting the \fBdomainname\fR call) described
+above. If you run the Solaris \fBsendmail\fR, the \fBdomainname\fR call is made
+if needed.
+.sp
+.LP
+If the Solaris \fBsendmail\fR cannot determine the fully qualified host name,
+use \fBcheck-hostname\fR(1M) as a troubleshooting aid. This script can offer
+guidance as to appropriate corrective action.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/defaultdomain\fR\fR
+.ad
+.RS 22n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.conf\fR\fR
+.ad
+.RS 22n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBNIS+\fR(1), \fBnischown\fR(1), \fBnispasswd\fR(1), \fBsvcs\fR(1),
+\fBcheck-hostname\fR(1M), \fBhostconfig\fR(1M), \fBnamed\fR(1M),
+\fBnisaddcred\fR(1M), \fBsendmail\fR(1M), \fBsvcadm\fR(1M), \fBypinit\fR(1M),
+\fBsys-unconfig\fR(1M), \fBaliases\fR(4), \fBdefaultdomain\fR(4),
+\fBhosts\fR(4), \fBnsswitch.conf\fR(4), \fBpasswd\fR(4), \fBattributes\fR(5),
+\fBrbac\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBdomainname\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/identity:domain
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/drd.1m b/usr/src/man/man1m/drd.1m
new file mode 100644
index 0000000000..bee498958b
--- /dev/null
+++ b/usr/src/man/man1m/drd.1m
@@ -0,0 +1,73 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH drd 1M "10 Jul 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+drd \- Logical Domain Dynamic Reconfiguration daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/ldoms/drd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdrd\fR daemon is part of the framework that enables the addition and
+removal of resources from a Logical Domain. This framework is collectively
+called Dynamic Reconfiguration (DR).
+.sp
+.LP
+\fBdrd\fR is responsible for various aspects of DR on a Logical Domain and must
+be enabled to ensure proper DR functionality. It is started at boot time and
+has no configuration options.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBsyslog\fR(3C), \fBsyslog.conf\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH ERRORS
+.sp
+.LP
+\fBdrd\fR uses \fBsyslog\fR(3C) to report status and error messages. All of the
+messages are logged with the \fBLOG_DAEMON\fR facility. Error messages are
+logged with the \fBLOG_ERR\fR and \fBLOG_NOTICE\fR priorities, and
+informational messages are logged with the \fBLOG_INFO\fR priority. The default
+entries in the \fB/etc/syslog.conf\fR file log all the \fBdrd\fR error messages
+to the \fB/var/adm/messages\fR log.
+.SH NOTES
+.sp
+.LP
+The \fBdrd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/platform/sun4v/drd:default
+.fi
+.in -2
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/drvconfig.1m b/usr/src/man/man1m/drvconfig.1m
new file mode 100644
index 0000000000..07ab4e571a
--- /dev/null
+++ b/usr/src/man/man1m/drvconfig.1m
@@ -0,0 +1,194 @@
+'\" te
+.\" Copyright (c) 2002 Sun Microsystems, Inc. All
+.\" Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH drvconfig 1M "9 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+drvconfig \- apply permission and ownership changes to devices
+.SH SYNOPSIS
+.LP
+.nf
+\fBdrvconfig\fR [\fB-bn\fR] [\fB-a\fR \fIalias_name\fR] [\fB-c\fR \fIclass_name\fR]
+ [\fB-i\fR \fIdrivername\fR] [\fB-m\fR \fImajor_num\fR] [\fB-r\fR \fIroot_dir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevfsadm\fR(1M) is now the preferred command and should be used instead of
+\fBdrvconfig\fR.
+.sp
+.LP
+The default operation of \fBdrvconfig\fR is to apply permission and ownership
+changes to devices. Normally, this command is run automatically after a new
+driver has been installed (with \fBadd_drv\fR(1M)) and the system has been
+rebooted.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fIalias_name\fR\fR
+.ad
+.RS 16n
+.rt
+Add the name \fIalias_name\fR to the list of aliases that this driver is known
+by. This option, if used, must be used with the \fB-m\fR \fImajor_num\fR, the
+\fB-b\fR and the \fB-i\fR \fIdrivername\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 16n
+.rt
+Add a new major number to name binding into the kernel's internal
+\fBname_to_major\fR tables. This option is not normally used directly, but is
+used by other utilities such as \fBadd_drv\fR(1M). Use of the \fB-b\fR option
+requires that \fB-i\fR and \fB-m\fR be used also. No \fB/devices\fR entries are
+created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fIclass_name\fR\fR
+.ad
+.RS 16n
+.rt
+The driver being added to the system exports the class \fIclass_name\fR. This
+option is not normally used directly, but is used by other utilities. It is
+only effective when used with the \fB-b\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fIdrivername\fR\fR
+.ad
+.RS 16n
+.rt
+Only configure the devices for the named driver. The following options are used
+by the implementation of \fBadd_drv\fR(1M) and \fBrem_drv\fR(1M), and may not
+be supported in future versions of Solaris:
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fImajor_num\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the major number \fImajor_num\fR for this driver to add to the kernel's
+\fBname_to_major\fR binding tables.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 16n
+.rt
+Do not try to load and attach any drivers, or if the \fB-i\fR option is given,
+do not try to attach the driver named \fIdrivername\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fIroot_dir\fR\fR
+.ad
+.RS 16n
+.rt
+Perform operations under \fIroot_dir\fR, rather than directly under \fBroot\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/devices\fR\fR
+.ad
+.RS 23n
+.rt
+Device nodes directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/minor_perm\fR\fR
+.ad
+.RS 23n
+.rt
+Minor mode permissions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/name_to_major\fR\fR
+.ad
+.RS 23n
+.rt
+Major number binding
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/driver_classes\fR\fR
+.ad
+.RS 23n
+.rt
+Driver class binding file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsh\fR(1), \fBadd_drv\fR(1M), \fBmodinfo\fR(1M), \fBmodload\fR(1M),
+\fBmodunload\fR(1M), \fBrem_drv\fR(1M), \fBupdate_drv\fR(1M),
+\fBpath_to_inst\fR(4), \fBattributes\fR(5), \fBdevfs\fR(7FS)
diff --git a/usr/src/man/man1m/dsbitmap.1m b/usr/src/man/man1m/dsbitmap.1m
new file mode 100644
index 0000000000..a0d8a51055
--- /dev/null
+++ b/usr/src/man/man1m/dsbitmap.1m
@@ -0,0 +1,196 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dsbitmap 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dsbitmap \- size Availability Suite bitmap volumes
+.SH SYNOPSIS
+.LP
+.nf
+\fBdsbitmap\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fBdsbitmap\fR \fB-p\fR \fIdata_volume\fR [\fIbitmap_volume\fR]
+.fi
+
+.LP
+.nf
+\fBdsbitmap\fR \fB-r\fR \fIdata_volume\fR [\fIbitmap_volume\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdsbitmap\fR command calculates the size of the Availability Suite bitmap
+volume required for use with the specified data volume.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the usage message for the \fBdsbitmap\fR command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fB\fIdata_volume\fR\fR \fB[\fIbitmap_volume\fR]\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the given \fIdata_volume\fR, \fBdsbitmap\fR calculates and display the
+required size for the associated Availability Suite Point in Time bitmap
+volume. The bitmap volume sizes for all possible Availability Suite Point in
+Time set configurations are displayed. These configurations include Independent
+shadow, Full size dependent shadow, and Compact dependent shadow. If the
+optional \fIbitmap_volume\fR argument is supplied, \fBdsbitmap\fR determines if
+this volume is large enough to be used as the bitmap volume for
+\fIdata_volume\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fB\fIdata_volume\fR\fR \fB[\fIbitmap_volume\fR]\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the given \fIdata_volume\fR, \fBdsbitmap\fR calculates and displays the
+required size for the associated Availability Suite Remote Mirror bitmap
+volume. The bitmap volume sizes for all possible Availability Suite Remote
+Mirror set configurations are displayed. These configurations include Sync
+replication, Async replication with memory queue, disk queue and 32 bit
+refcount. If the optional \fIbitmap_volume\fR argument is supplied,
+\fBdsbitmap\fR determines if this volume is large enough to be used as the
+bitmap volume for \fIdata_volume\fR.
+.RE
+
+.SH USAGE
+.sp
+.LP
+\fBdsbitmap\fR is typically used by the system administrator during the initial
+stages of configuring Sun StorageTek Availability Suite software in order to
+determine the required bitmap volume sizes, and then to check if the bitmap
+volumes that have been created are suitable.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Successful completion. If the name of a bitmap volume was specified, that
+volume is sufficiently large for all potential uses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 13n
+.rt
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 13n
+.rt
+An invalid option was supplied on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 13n
+.rt
+The specified bitmap volume is not large enough to be used as an Availability
+Suite Remote Mirror bitmap for an asynchronous set with a disk queue, but is
+large enough to be used for all other Remote Mirror set configurations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 13n
+.rt
+The specified bitmap volume is not large enough to be used as an Availability
+Suite Remote Mirror bitmap for any Remote Mirror set configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.RS 13n
+.rt
+The specified bitmap volume is not large enough to be used as an Availability
+Suite Remote Mirror bitmap for any Remote Mirror set configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 13n
+.rt
+The specified bitmap volume is not large enough to be used as an Availability
+Suite Point in Time bitmap for a compact dependent shadow, but is large enough
+to be used for all other Point in Time set configurations.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBiiadm\fR(1M), \fBsndradm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dscfg.1m b/usr/src/man/man1m/dscfg.1m
new file mode 100644
index 0000000000..c87b84d3ef
--- /dev/null
+++ b/usr/src/man/man1m/dscfg.1m
@@ -0,0 +1,333 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dscfg 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dscfg \- configuration tool for Sun StorageTek Availability Suite software
+.SH SYNOPSIS
+.LP
+.nf
+\fBdscfg\fR
+.fi
+
+.LP
+.nf
+\fBdscfg\fR \fB-L\fR
+.fi
+
+.LP
+.nf
+\fBdscfg\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fBdscfg\fR [\fB-C\fR \fIgroup\fR]
+.fi
+
+.LP
+.nf
+\fBdscfg\fR [\fB-C\fR \fIgroup\fR] \fB-i\fR [\fB-p\fR \fIparser_config_file\fR]
+.fi
+
+.LP
+.nf
+\fBdscfg\fR [\fB-C\fR \fIgroup\fR] \fB-a\fR \fIconfig_file\fR
+.fi
+
+.LP
+.nf
+\fBdscfg\fR [\fB-C\fR \fIgroup\fR] [\fB-l\fR]
+.fi
+
+.LP
+.nf
+\fBdscfg\fR [\fB-C\fR \fIgroup\fR] [\fB-l\fR] \fB-s\fR \fIconfig_location\fR
+.fi
+
+.LP
+.nf
+\fBdscfg\fR \fB-D\fR \fIdgname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdscfg\fR command controls the Availability Suite configuration by
+providing facilities to initialize, list, format, restore the configuration
+database.
+.SH OPTIONS
+.sp
+.LP
+If no options are specified, \fBdscfg\fR displays the current local
+configuration location. The \fBdscfg\fR command supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the status of the lock controlling access to the configuration
+database. If the configuration database is locked, the type of lock (read or
+write) is displayed along with the process id of the process that holds the
+lock.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the usage message for the \fBdscfg\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Initializes the configuration database. As it deletes previous or current
+configuration information, this option prompts you to confirm the deletion
+before proceeding.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIparser_config_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+When used with the \fB-i\fR option, \fBdscfg\fR loads the parser configuration
+file into the persistent configuration, it reformats the configuration
+database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIconfig_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Restore the specified \fIconfig_file\fR into the configuration. This option
+does not do any error checking of the file. Use of this option invalidates the
+configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the contents of current configuration database in a format that is
+suitable for the \fB-a\fR option. When used in combination with the \fB-s\fR
+option, it displays the contents stored in the location passed to the \fB-s\fR
+option, but does not set the configuration location.
+.RE
+
+.sp
+.LP
+The options below are for Sun Cluster-configured systems only. \fIgroup\fR can
+be either Sun Cluster device group or as '-' as local devices.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the location of cluster configuration database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\ \fIgroup\fR\ \fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Initializes the configuration database entries that only associated with group
+specified. As it deletes previous or current configuration information, this
+options prompts you to confirm the deletion before proceeding.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\ \fIgroup\fR\ \fB-p\fR\ \fIparser_config_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+When used with the \fB-i\fR option, \fBdscfg\fR loads the parser configuration
+file into the persistent configuration, it reformats the configuration database
+entries that only associated with group specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \ \fIgroup\fR\ \fB-a\fR\ \fIconfig_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Restore the specified \fIconfig_file\fR into the configuration database entries
+that only associated with group specified. This option does not do any error
+checking of the file. Use of this option invalidates the configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\ \fIgroup\fR\ \fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the contents of current configuration database that is associated with
+resource group specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \ \fIgroup\fR\ \fB-s\fR\ \fIconfig_file_location\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies where the Sun Cluster configuration database resides, the location
+has to be DID device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIdevice_group\fR\fR
+.ad
+.sp .6
+.RS 4n
+Checks whether the specified \fIdevice_group\fR is known by Sun Cluster and
+whether it is available on this node. It displays a information that indicates
+the device group's status and return values are as follows,
+.sp
+(use echo $? to retrieve the return value):
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 13n
+.rt
+Device group is in Sun Cluster and is active on this node;
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Device group is in Sun Cluster but active on another node;
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-1\fR\fR
+.ad
+.RS 13n
+.rt
+Device group is not in Sun Cluster.
+.RE
+
+.RE
+
+.SH USAGE
+.sp
+.LP
+The \fBdscfg\fR command is typically run from other scripts, such as package
+installation scripts, and from \fBdscfgadm\fR(1M). It is not intended for
+general use. For uses of \fBdscfg\fR not covered by \fBdscfgadm\fR, please
+refer to the \fIAvailability Suite Troubleshooting Guide\fR.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dscfg_format\fR\fR
+.ad
+.sp .6
+.RS 4n
+parser configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dscfg_local\fR\fR
+.ad
+.sp .6
+.RS 4n
+configuration location for all entries with no cluster tags
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dscfg_cluster\fR\fR
+.ad
+.sp .6
+.RS 4n
+reference file specifying the location of the Sun Cluster configuration
+database.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdscfgadm\fR(1M), \fBiiadm\fR(1M), \fBscmadm\fR(1M), \fBsndradm\fR(1M),
+\fBsvadm\fR(1M), \fBds.log\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dscfgadm.1m b/usr/src/man/man1m/dscfgadm.1m
new file mode 100644
index 0000000000..2177e43d02
--- /dev/null
+++ b/usr/src/man/man1m/dscfgadm.1m
@@ -0,0 +1,168 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dscfgadm 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dscfgadm \- administration command for the Availability Suite configuration
+location and services
+.SH SYNOPSIS
+.LP
+.nf
+\fBdscfgadm\fR \fB-i\fR
+.fi
+
+.LP
+.nf
+\fBdscfgadm\fR \fB-e\fR [\fB-r\fR] [\fB-p\fR]
+.fi
+
+.LP
+.nf
+\fBdscfgadm\fR \fB-d\fR [\fB-r\fR]
+.fi
+
+.LP
+.nf
+\fBdscfgadm\fR \fB-s\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdscfgadm\fR command controls the Availability Suite configuration
+location and services by providing facilities to set the configuration
+location, and to enable and disable the Availability Suite services.
+.SH OPTIONS
+.sp
+.LP
+If you do not specify any arguments to a \fBdscfgadm\fR command, the utility
+interactively steps you through setting the configuration location and starting
+the services. The configuration location is validated to ensure it meets
+criteria such as size and file type before it is initialized for use.
+.sp
+.LP
+The \fBdscfgadm\fR command supports the following options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR [\fB-r\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Disables the Availability Suite SMF services. This includes stopping daemons
+and suspending any Point-in-Time Copy or Remote Mirror sets that are currently
+enabled under the Availability Suite software. When executed with no additional
+options, the \fB-d\fR option disables all Availability Suite services. This
+setting is persistent across system boots.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+When passed to the \fB-d\fR or \fB-e\fR option, acts only on the Remote Mirror
+services.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR [\fB-r\fR ] [\fB-p\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Enables the Availability Suite SMF services. This includes starting daemons and
+resuming any Point-in-Time Copy or Remote Mirror sets that have been previously
+configured under the Availability Suite software. When executed with no
+additional options, the \fB-e\fR option enables all Availability Suite
+services. This setting is persistent across system boots.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+When passed to the \fB-d\fR or \fB-e\fR option, acts only on the Remote Mirror
+services.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+When passed to the \fB-e\fR option, enables only the Point-in-Time Copy
+service.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays information on the Availability Suite SMF services.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows you to set the location of the configuration database containing
+information specific to Sun Cluster configurations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays verbose debugging information as the program is executing.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdscfg\fR(1M), \fBiiadm\fR(1M), \fBscmadm\fR(1M), \fBsndradm\fR(1M),
+\fBsvadm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dscfglockd.1m b/usr/src/man/man1m/dscfglockd.1m
new file mode 100644
index 0000000000..72021214e0
--- /dev/null
+++ b/usr/src/man/man1m/dscfglockd.1m
@@ -0,0 +1,108 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dscfglockd 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dscfglockd \- Availability Suite Services lock daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/dscfglockd\fR [\fB-e\fR \fIprogram\fR | \fB-f\fR \fIfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdscfglockd\fR daemon coordinates StorageTek configuration database lock
+requests between nodes within a cluster.
+.SH OPTIONS
+.sp
+.LP
+The \fBdscfglockd\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIprogram\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executes the script and arguments in \fIprogram\fR. The executable and any
+arguments it needs must be supplied with suitable quoting as a single argument
+to this option. This argument is processed by \fBsh\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reads the list of names for peer hosts from \fIfile\fR.
+.RE
+
+.sp
+.LP
+If no arguments are specified, \fBdscfglockd\fR acts as a local lock daemon,
+but coordinates lock requests with any other daemons that might contact the
+local host as part of their own configuration process.
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Daemon started successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 13n
+.rt
+Daemon failed to start.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/lib/svc/method/svc-scm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shell script for starting and stopping \fBdscfglockd\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsh\fR(1), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dsstat.1m b/usr/src/man/man1m/dsstat.1m
new file mode 100644
index 0000000000..4fbf3c0b55
--- /dev/null
+++ b/usr/src/man/man1m/dsstat.1m
@@ -0,0 +1,1308 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dsstat 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dsstat \- report Sun StorageTek Availability Suite I/O statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBdsstat\fR \fB-m\fR \fImode\fR [\fB-r\fR \fIreport-options\fR] [\fB-d\fR \fIdisplay-options\fR]
+ [\fB-s\fR \fIvolume-sets\fR] [\fB-f\fR | \fB-F\fR] [\fB-z\fR] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdsstat\fR command collects and reports I/O statistics for the Sun
+StorageTek Availability Suite products.
+.SH OPTIONS
+.sp
+.LP
+The \fBdsstat\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fB\fImode\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the mode(s) of operation. Valid modes are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcache\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cache statistics
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBii\fR\fR
+.ad
+.sp .6
+.RS 4n
+Point-in-Time Copy statistics
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsndr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remote Mirror statistics
+.RE
+
+To display statistics for multiple services simultaneously, use the \fB-m\fR
+switch to specify each of the modes required. For example:
+.sp
+.in +2
+.nf
+% \fBdsstat -m ii -m sndr\fR
+% \fBdsstat -m ii -m sndr -m cache\fR
+.fi
+.in -2
+.sp
+
+To determine which statistics are being reported from which service, use the
+\fIrole\fR field, described below. When cache statistics are requested as one
+of the multiple services, the \fBrkps\fR and \fBwkps\fR statistics is further
+divided into \fBcrkps\fR, \fBdrkps\fR, \fBcwkps\fR, and \fBdwkps\fR. If no
+\fB-m\fR switch is specified, then \fBdsstat\fR displays default statistics for
+all of the valid modes as described above. See "Field Descriptions," below for
+descriptions of these fields.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fB\fIreport-options\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the volume components to be displayed. Each item is represented by a
+single character, and multiple items can be selected. The \fIreport-options\fR
+vary based on the mode(s) specified above. This option is not used for
+\fBcache\fR mode.
+.sp
+Valid \fIreport-options\fR for \fBii\fR mode are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 13n
+.rt
+Master volume statistics.
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For the "report-options for ii mode": \fBm\fR, \fBs\fR, \fBb\fR, \fBo\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For the "report-options for sndr mode": \fBb\fR, \fBn\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For the "display-options for cache mode": \fBr\fR, \fBw\fR, \fBd\fR, \fBc\fR,
+\fBs\fR, \fBf\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For the "display-options for ii mode": \fBr\fR, \fBw\fR, \fBt\fR, \fBs\fR,
+\fBp\fR, \fBf\fR
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 13n
+.rt
+Shadow volume statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 13n
+.rt
+Bitmap volume statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo\fR\fR
+.ad
+.RS 13n
+.rt
+Overflow volume statistics, if attached.
+.RE
+
+Valid \fIreport-options\fR for \fBsndr\fR mode are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 13n
+.rt
+Bitmap volume statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBn\fR\fR
+.ad
+.RS 13n
+.rt
+Network volume statistics.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdisplay-options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the statistics to be displayed. The types of statistics are
+represented by a single character; multiple types can be specified.
+.sp
+For \fBcache\fR mode, the valid \fIdisplay-options\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 13n
+.rt
+Detailed read statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 13n
+.rt
+Detailed write statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 13n
+.rt
+Summary statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.RS 13n
+.rt
+Cache behavior flags.
+.RE
+
+The following \fIdisplay-options\fR are available only for cache mode, they
+need to be combined with the mode options (\fB-m\fR)
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 13n
+.rt
+Destaged data statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 13n
+.rt
+Write cancellation statistics.
+.RE
+
+The default \fIdisplay-options\fR for \fBcache\fR are \fBsf\fR.
+.sp
+For \fBii\fR mode, the valid \fIdisplay-options\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Detailed read statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Detailed write statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Timing statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Summary statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Percentage of volume requiring sync.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Volume type/status flags.
+.RE
+
+The default \fIdisplay-options\fR for \fBii\fR are \fBspf\fR. For \fBsndr\fR
+mode, the valid \fIdisplay-options\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 13n
+.rt
+Detailed read statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 13n
+.rt
+Detailed write statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 13n
+.rt
+Timing statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 13n
+.rt
+Summary statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 13n
+.rt
+Percentage of volume requiring sync.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.RS 13n
+.rt
+Volume type/status flags.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBq\fR\fR
+.ad
+.RS 13n
+.rt
+Asynchronous queue statistics.
+.RE
+
+The following \fIdisplay-option\fR is only available for \fBsndr\fR mode, and
+needs to be combined with the mode options (\fB-m\fR).
+.sp
+.ne 2
+.mk
+.na
+\fB\fBq\fR\fR
+.ad
+.RS 13n
+.rt
+Asynchronous queue statistics.
+.RE
+
+The default \fIdisplay-options\fR for \fBsndr\fR are \fBspf\fR.
+.sp
+Specifying the summary \fIdisplay-option\fR causes \fBr\fR \fBw\fR \fBt\fR
+\fIdisplay-options\fR to be ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIvolume-sets\fR\fR\fR
+.ad
+.RS 20n
+.rt
+Filters the output to include only the specified \fIvolume-sets\fR, where
+\fIvolume-sets\fR is a comma-delimited list of volume names. When displaying
+Remote Mirror statistics, the name specified is compared to the Remote Mirror
+primary volume to determine if they match. Additionally, an Remote Mirror
+volume should be specified as \fI<host>\fR:\fI<volume>\fR where \fI<host>\fR is
+the primary or secondary host and \fI<volume>\fR is the volume name by which
+that host recognizes the volume set. When specifying multiple Remote Mirror
+volumes sets, be aware that each volume set specified is evaluated
+individually, using the rules above. When displaying Point-in-Time Copy
+statistics, the volume name specified is compared to the Point-in-Time Copy
+shadow volume to determine if they match.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 20n
+.rt
+Output field headers at every reporting cycle.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 20n
+.rt
+Output field headers once, when reporting begins.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fR
+.ad
+.RS 20n
+.rt
+Suppress report lines that have zero values or no activity.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBdsstat\fR command line supports the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIinterval\fR for each report, in seconds. If no \fIinterval\fR
+is specified, a single report with a one second \fIinterval\fR is output.
+.sp
+Due to the varying number of entries in a given set and the varying number of
+sets, header information might appear in the middle of a set being reported. To
+avoid this, use the \fB-f\fR or \fB-F\fR options to display the header
+information at the desired time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of reports to generate. If no \fIcount\fR is specified,
+output continues until interrupted.
+.RE
+
+.SS "Field Descriptions"
+.sp
+.LP
+Unless otherwise specified, all fields are per-second averages based on the
+data collected during the specified \fIinterval\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBname\fR\fR
+.ad
+.RS 13n
+.rt
+Name of the entity being reported
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 13n
+.rt
+Volume type
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 13n
+.rt
+Volume status
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 13n
+.rt
+Cache read behavior
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 13n
+.rt
+Cache write behavior
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpct\fR\fR
+.ad
+.RS 13n
+.rt
+Percentage of volume requiring sync
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrole\fR\fR
+.ad
+.RS 13n
+.rt
+Role of the item being reported
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtps\fR\fR
+.ad
+.RS 13n
+.rt
+Total number of reads + writes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrtps\fR\fR
+.ad
+.RS 13n
+.rt
+Number of reads
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwtps\fR\fR
+.ad
+.RS 13n
+.rt
+Number of writes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkps\fR\fR
+.ad
+.RS 13n
+.rt
+Total kilobytes read + written
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrkps\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes read
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwkps\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes written
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcrkps\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes read from cache
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdrkps\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes read from disk
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcwkps\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes written to cache
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdwkps\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes written to disk
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBckps\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes transferred to or from cache
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdkps\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes transferred to or from disk
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsvt\fR\fR
+.ad
+.RS 13n
+.rt
+Service time per operation
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhit\fR\fR
+.ad
+.RS 13n
+.rt
+Read hits during \fIinterval\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBds/s\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes destaged from cache
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcn/s\fR\fR
+.ad
+.RS 13n
+.rt
+Number of write cancellations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBq\fR\fR
+.ad
+.RS 13n
+.rt
+Type of asynchronous queuing being used
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqi\fR\fR
+.ad
+.RS 13n
+.rt
+Number of items currently queued
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqk\fR\fR
+.ad
+.RS 13n
+.rt
+Kilobytes currently queued
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqhwi\fR\fR
+.ad
+.RS 13n
+.rt
+High water mark of queued items
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqhwk\fR\fR
+.ad
+.RS 13n
+.rt
+High water mark of queued kilobytes
+.RE
+
+.sp
+.LP
+The \fBname\fR field displays only the last 16 characters of the name.
+.sp
+.LP
+Valid cache behaviors for \fBcache\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBC\fR\fR
+.ad
+.RS 13n
+.rt
+Cache reads/writes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBD\fR\fR
+.ad
+.RS 13n
+.rt
+Disk reads/writes
+.RE
+
+.sp
+.LP
+Valid volume types for \fBii\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBI\fR\fR
+.ad
+.RS 13n
+.rt
+Independent shadow volume
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBD\fR\fR
+.ad
+.RS 13n
+.rt
+Dependent shadow volume
+.RE
+
+.sp
+.LP
+Valid volume status for \fBii\fR is:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBC\fR\fR
+.ad
+.RS 13n
+.rt
+Copy in progress
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-\fR\fR
+.ad
+.RS 13n
+.rt
+No copy in progress
+.RE
+
+.sp
+.LP
+Valid volume types for \fBsndr\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBP\fR\fR
+.ad
+.RS 13n
+.rt
+This is the primary host of this volume set
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR\fR
+.ad
+.RS 13n
+.rt
+This is the secondary host of this volume set
+.RE
+
+.sp
+.LP
+Valid volume status for \fBsndr\fR is:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBL\fR\fR
+.ad
+.RS 13n
+.rt
+Changes to this volume are being logged
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQ\fR\fR
+.ad
+.RS 13n
+.rt
+Volume are in queuing mode
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBR\fR\fR
+.ad
+.RS 13n
+.rt
+Replicating changes to secondary
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSY\fR\fR
+.ad
+.RS 13n
+.rt
+Synchronization in progress. Sending data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRS\fR\fR
+.ad
+.RS 13n
+.rt
+Reverse synchronization in progress. Receiving data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSN\fR\fR
+.ad
+.RS 13n
+.rt
+Synchronization needed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRN\fR\fR
+.ad
+.RS 13n
+.rt
+Reverse synchronization needed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVF\fR\fR
+.ad
+.RS 13n
+.rt
+Volume failed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBF\fR\fR
+.ad
+.RS 13n
+.rt
+Bitmap failed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQF\fR\fR
+.ad
+.RS 13n
+.rt
+Queue failed
+.RE
+
+.sp
+.LP
+Valid queue types for \fBsndr\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBD\fR\fR
+.ad
+.RS 13n
+.rt
+Disk-based queuing enabled
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBM\fR\fR
+.ad
+.RS 13n
+.rt
+Memory-based queuing enabled
+.RE
+
+.sp
+.LP
+Volume roles for \fBsndr\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnet\fR\fR
+.ad
+.RS 13n
+.rt
+Network volume statistics
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbmp\fR\fR
+.ad
+.RS 13n
+.rt
+Bitmap volume statistics
+.RE
+
+.sp
+.LP
+Volume roles for \fBii\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmst\fR\fR
+.ad
+.RS 13n
+.rt
+Master volume statistics
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshd\fR\fR
+.ad
+.RS 13n
+.rt
+Shadow volume statistics
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbmp\fR\fR
+.ad
+.RS 13n
+.rt
+Bitmap volume statistics
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBovr\fR\fR
+.ad
+.RS 13n
+.rt
+Overflow volume statistics
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRReport Cache Statistics
+.sp
+.LP
+The following example shows the display of Report Cache statistics, with
+detailed breakdowns of read and writes to cache/disk. Reports are generated at
+five second intervals. Reporting is limited to the set
+\fB/dev/rdsk/c1t1d0s0\fR.
+
+.sp
+.in +2
+.nf
+ # dsstat -m cache -d rw -s /dev/rdsk/c1t1d0s0 5
+- read - - write -
+name ckps dkps hit ckps dkps hit
+dev/rdsk/c1t1d0s0 0 0 0.00 0 0 0.00
+dev/rdsk/c1t1d0s0 3 2396 0.13 983 763 100.00
+dev/rdsk/c1t1d0s0 2399 799 75.00 2815 2686 100.00
+dev/rdsk/c1t1d0s0 3200 800 80.00 2755 2908 100.00
+dev/rdsk/c1t1d0s0 3999 799 83.33 2809 2868 100.00
+dev/rdsk/c1t1d0s0 4800 800 85.71 2867 2931 100.00
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRReport Master, Shadow and Bitmap Statistics
+.sp
+.LP
+Report master, shadow and bitmap statistics for Point-in-Time Copy, using
+default output. Generate reports at two second intervals.
+
+.sp
+.in +2
+.nf
+# dsstat -m ii -r msb 2
+name t s pct role kps tps svt
+dev/rdsk/c0t1d0s5 I C 96.15 mst 19921 38 22
+dev/rdsk/c0t1d0s6 shd 9960 19 20
+dev/rdsk/c0t1d0s7 bmp 39 77 2
+dev/rdsk/c0t1d0s5 I C 94.24 mst 19623 38 22
+dev/rdsk/c0t1d0s6 shd 9939 19 20
+dev/rdsk/c0t1d0s7 bmp 39 77 2
+dev/rdsk/c0t1d0s5 I C 92.34 mst 19969 39 22
+dev/rdsk/c0t1d0s6 shd 9984 19 20
+dev/rdsk/c0t1d0s7 bmp 39 78 2
+.fi
+.in -2
+
+.LP
+\fBExample 3 \fRReport Network Statistics for Remote Mirror
+.sp
+.LP
+Report network statistics for Remote Mirror, using detailed read, write
+statistics. Report includes volume type/status flags and percentages. Generate
+reports at two second intervals. Limit reporting to the set
+\fB/dev/rdsk/c0t1d0s0\fR.
+
+.sp
+.in +2
+.nf
+# dsstat -m sndr -r n -d rwpf -s /dev/rdsk/c0t1d0s0 2
+name t s pct role rkps rtps wkps wtps
+dev/rdsk/c0t1d0s0 P L 100.00 sec 0 0 0 0
+dev/rdsk/c0t1d0s0 P SY 99.90 sec 0 0 288 9
+dev/rdsk/c0t1d0s0 P SY 97.90 sec 0 0 5296 165
+dev/rdsk/c0t1d0s0 P SY 95.81 sec 0 0 5184 161
+dev/rdsk/c0t1d0s0 P SY 93.81 sec 0 0 5280 164
+dev/rdsk/c0t1d0s0 P SY 91.71 sec 0 0 5198 162
+.fi
+.in -2
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 13n
+.rt
+Successful completion, no statistics to report.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 13n
+.rt
+An invalid argument has been encountered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 13n
+.rt
+No memory is available to create \fBkstat\fR statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 13n
+.rt
+An unknown error has occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdscfg\fR(1M), \fBsvadm\fR(1M), \fBds.log\fR(4), \fBrdc.cf\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dsvclockd.1m b/usr/src/man/man1m/dsvclockd.1m
new file mode 100644
index 0000000000..d1c787fbc6
--- /dev/null
+++ b/usr/src/man/man1m/dsvclockd.1m
@@ -0,0 +1,89 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dsvclockd 1M "3 Dec 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dsvclockd \- DHCP service lock daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/dsvclockd\fR [\fB-d\fR 1 | 2] [\fB-f\fR ] [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdsvclockd\fR daemon is a lock manager that works in conjunction with the
+Dynamic Host Configuration Protocol (\fBDHCP\fR) Data Service Library
+(\fBlibdhcpsvc\fR). It provides shared or exclusive access to the
+\fBdhcp_network\fR(4) and \fBdhcptab\fR(4) tables. This service is used by the
+\fBSUNWbinfiles\fR and \fBSUNWfiles\fR \fBDHCP\fR data store modules. See
+\fBdhcp_modules\fR(5).
+.sp
+.LP
+\fBdsvclockd\fR is started on demand by \fBlibdhcpsvc\fR. The \fBdsvclockd\fR
+daemon should be started manually only if command line options need to be
+specified.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fB1\fR | \fB2\fR\fR
+.ad
+.RS 12n
+.rt
+Set debug level. Two levels of debugging are currently available, \fB1\fR and
+\fB2\fR. Level \fB2\fR is more verbose.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 12n
+.rt
+Run in the foreground instead of as a daemon process. When this option is used,
+messages are sent to standard error instead of to \fBsyslog\fR(3C).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 12n
+.rt
+Provide verbose output.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsyslog\fR(3C), \fBdhcp_network\fR(4), \fBdhcptab\fR(4),
+\fBdhcp_modules\fR(5), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/dtrace.1m b/usr/src/man/man1m/dtrace.1m
new file mode 100644
index 0000000000..1381044fe4
--- /dev/null
+++ b/usr/src/man/man1m/dtrace.1m
@@ -0,0 +1,815 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dtrace 1M "4 Aug 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dtrace \- DTrace dynamic tracing compiler and tracing utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBdtrace\fR [\fB-32\fR | \fB-64\fR] [\fB-aACeFGHhlqSvVwZ\fR] [\fB-b\fR \fIbufsz\fR] [\fB-c\fR \fIcmd\fR]
+ [\fB-D\fR \fIname\fR [\fI=value\fR]] [\fB-I\fR \fIpath\fR] [\fB-L\fR \fIpath\fR] [\fB-o\fR \fIoutput\fR]
+ [\fB-s\fR \fIscript\fR] [\fB-U\fR \fIname\fR] [\fB-x\fR \fIarg\fR [\fI=val\fR]]
+ [\fB-X\fR a | c | s | t] [\fB-p\fR \fIpid\fR]
+ [\fB-P\fR \fIprovider\fR [[\fIpredicate\fR] \fIaction\fR]]
+ [\fB-m\fR [\fIprovider:\fR] \fImodule\fR [[\fIpredicate\fR] \fIaction\fR]]
+ [\fB-f\fR [[\fIprovider:\fR] \fImodule:\fR] \fIfunction\fR [[\fIpredicate\fR] \fIaction\fR]]
+ [\fB-n\fR [[[\fIprovider:\fR] \fImodule:\fR] \fIfunction:\fR] \fIname\fR [[\fIpredicate\fR] \fIaction\fR]]
+ [\fB-i\fR \fIprobe-id\fR [[\fIpredicate\fR] \fIaction\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+DTrace is a comprehensive dynamic tracing framework for the Solaris Operating
+System. DTrace provides a powerful infrastructure that permits administrators,
+developers, and service personnel to concisely answer arbitrary questions about
+the behavior of the operating system and user programs.
+.sp
+.LP
+The \fISolaris Dynamic Tracing Guide\fR describes how to use DTrace to observe,
+debug, and tune system behavior. Refer to this book for a detailed description
+of DTrace features, including the bundled DTrace observability tools,
+instrumentation providers, and the D programming language.
+.sp
+.LP
+The \fBdtrace\fR command provides a generic interface to the essential services
+provided by the DTrace facility, including:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Options that list the set of probes and providers currently published by DTrace
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Options that enable probes directly using any of the probe description
+specifiers (provider, module, function, name)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Options that run the D compiler and compile one or more D program files or
+programs written directly on the command line
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Options that generate anonymous tracing programs
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Options that generate program stability reports
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Options that modify DTrace tracing and buffering behavior and enable additional
+D compiler features
+.RE
+.sp
+.LP
+You can use \fBdtrace\fR to create D scripts by using it in a \fB#!\fR
+declaration to create an interpreter file. You can also use \fBdtrace\fR to
+attempt to compile D programs and determine their properties without actually
+enabling tracing using the \fB-e\fR option. See \fBOPTIONS\fR. See the
+\fISolaris Dynamic Tracing Guide\fR for detailed examples of how to use the
+\fBdtrace\fR utility to perform these tasks.
+.SH OPTIONS
+.sp
+.LP
+The arguments accepted by the \fB-P\fR, \fB-m\fR, \fB-f\fR, \fB-n\fR, and
+\fB-i\fR options can include an optional D language \fIpredicate\fR enclosed in
+slashes \fB//\fR and optional D language \fIaction\fR statement list enclosed
+in braces \fB{}\fR. D program code specified on the command line must be
+appropriately quoted to avoid interpretation of meta-characters by the shell.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-32\fR | \fB-64\fR\fR
+.ad
+.sp .6
+.RS 4n
+The D compiler produces programs using the native data model of the operating
+system kernel. You can use the \fBisainfo\fR \fB-b\fR command to determine the
+current operating system data model. If the \fB-32\fR option is specified,
+\fBdtrace\fR forces the D compiler to compile a D program using the 32-bit data
+model. If the \fB-64\fR option is specified, \fBdtrace\fR forces the D compiler
+to compile a D program using the 64-bit data model. These options are typically
+not required as \fBdtrace\fR selects the native data model as the default. The
+data model affects the sizes of integer types and other language properties. D
+programs compiled for either data model can be executed on both 32-bit and
+64-bit kernels. The \fB-32\fR and \fB-64\fR options also determine the ELF file
+format (ELF32 or ELF64) produced by the \fB-G\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Claim anonymous tracing state and display the traced data. You can combine the
+\fB-a\fR option with the \fB-e\fR option to force \fBdtrace\fR to exit
+immediately after consuming the anonymous tracing state rather than continuing
+to wait for new data. See the \fISolaris Dynamic Tracing Guide\fR for more
+information about anonymous tracing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate \fBdriver.conf\fR(4) directives for anonymous tracing. This option
+constructs a set of \fBdtrace\fR(7D) configuration file directives to enable
+the specified probes for anonymous tracing and then exits. By default,
+\fBdtrace\fR attempts to store the directives to the file
+\fB/kernel/drv/dtrace.conf\fR. You can modify this behavior if you use the
+\fB-o\fR option to specify an alternate output file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbufsz\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set principal trace buffer size (\fIbufsz\fR). The trace buffer size can
+include any of the size suffixes \fBk\fR, \fBm\fR, \fBg\fR, or \fBt\fR. If the
+buffer space cannot be allocated, \fBdtrace\fR attempts to reduce the buffer
+size or exit depending on the setting of the \fBbufresize\fR property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcmd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run the specified command \fIcmd\fR and exit upon its completion. If more than
+one \fB-c\fR option is present on the command line, \fBdtrace\fR exits when all
+commands have exited, reporting the exit status for each child process as it
+terminates. The process-ID of the first command is made available to any D
+programs specified on the command line or using the \fB-s\fR option through the
+\fB$target\fR macro variable. Refer to the \fISolaris Dynamic Tracing Guide\fR
+for more information on macro variables.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run the C preprocessor \fBcpp\fR(1) over D programs before compiling them. You
+can pass options to the C preprocessor using the \fB-D\fR, \fB-U\fR, \fB-I\fR,
+and \fB-H\fR options. You can select the degree of C standard conformance if
+you use the \fB-X\fR option. For a description of the set of tokens defined by
+the D compiler when invoking the C preprocessor, see \fB-X\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIname\fR \fB[=\fR\fIvalue\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Define \fIname\fR when invoking \fBcpp\fR(1) (enabled using the \fB-C\fR
+option). If you specify the equals sign (\fB=\fR) and additional \fIvalue\fR,
+the name is assigned the corresponding value. This option passes the \fB-D\fR
+option to each \fBcpp\fR invocation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Exit after compiling any requests and consuming anonymous tracing state
+(\fB-a\fR option) but prior to enabling any probes. You can combine this option
+with the \fB-a\fR option to print anonymous tracing data and exit. You can also
+combine this option with D compiler options. This combination verifies that the
+programs compile without actually executing them and enabling the corresponding
+instrumentation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fB[[\fR\fIprovider\fR\fB:]\fR\fImodule\fR\fB:]\fR\fIfunction\fR\fB[
+[\fR\fIpredicate\fR\fB]\fR\fIaction\fR\fB]]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify function name to trace or list (\fB-l\fR option). The corresponding
+argument can include any of the probe description forms
+\fIprovider:module:function\fR, \fImodule:function\fR, or \fIfunction\fR.
+Unspecified probe description fields are left blank and match any probes
+regardless of the values in those fields. If no qualifiers other than
+\fIfunction\fR are specified in the description, all probes with the
+corresponding \fIfunction\fR are matched. The \fB-f\fR argument can be suffixed
+with an optional D probe clause. You can specify more than one \fB-f\fR option
+on the command line at a time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Coalesce trace output by identifying function entry and return. Function entry
+probe reports are indented and their output is prefixed with \fB->\fR. Function
+return probe reports are unindented and their output is prefixed with
+\fB<-\fR\&. System call entry probe reports are indented and their output is
+prefixed with \fB=>\fR. System call return probe reports are unindented and
+their output is prefixed with \fB<=\fR\&.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate an ELF file containing an embedded DTrace program. The DTrace probes
+specified in the program are saved inside of a relocatable ELF object which can
+be linked into another program. If the \fB-o\fR option is present, the ELF file
+is saved using the pathname specified as the argument for this operand. If the
+\fB-o\fR option is not present and the DTrace program is contained with a file
+whose name is \fB\fIfilename\fR.d\fR, then the ELF file is saved using the name
+\fB\fIfilename\fR.o\fR. Otherwise the ELF file is saved using the name
+\fBd.out\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print the pathnames of included files when invoking \fBcpp\fR(1) (enabled using
+the \fB-C\fR option). This option passes the \fB-H\fR option to each \fBcpp\fR
+invocation, causing it to display the list of pathnames, one for each line, to
+\fBstderr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate a header file containing macros that correspond to probes in the
+specified provider definitions. This option should be used to generate a header
+file that is included by other source files for later use with the \fB-G\fR
+option. If the \fB-o\fR option is present, the header file is saved using the
+pathname specified as the argument for that option. If the \fB-o\fR option is
+not present and the DTrace program is contained with a file whose name is
+\fIfilename\fR\fB\&.d\fR, then the header file is saved using the name
+\fIfilename\fR\fB\&.h\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIprobe-id\fR\fB[[\fR\fIpredicate\fR] \fIaction\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify probe identifier (\fIprobe-id\fR) to trace or list (\fB-l\fR option).
+You can specify probe IDs using decimal integers as shown by \fBdtrace\fR
+\fB-l\fR. The \fB-i\fR argument can be suffixed with an optional D probe
+clause. You can specify more than one \fB-i\fR option at a time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add the specified directory \fIpath\fR to the search path for \fB#include\fR
+files when invoking \fBcpp\fR(1) (enabled using the \fB-C\fR option). This
+option passes the \fB-I\fR option to each \fBcpp\fR invocation. The specified
+\fIpath\fR is inserted into the search path ahead of the default directory
+list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add the specified directory \fIpath\fR to the search path for DTrace libraries.
+DTrace libraries are used to contain common definitions that can be used when
+writing D programs. The specified \fIpath\fR is added after the default library
+search path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List probes instead of enabling them. If the \fB-l\fR option is specified,
+\fBdtrace\fR produces a report of the probes matching the descriptions given
+using the \fB-P\fR, \fB-m\fR, \fB-f\fR, \fB-n\fR, \fB-i\fR, and \fB-s\fR
+options. If none of these options are specified, this option lists all probes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR [[\fIprovider:\fR] \fImodule:\fR [[\fIpredicate\fR]
+\fIaction\fR]]\fR
+.ad
+.sp .6
+.RS 4n
+Specify module name to trace or list (\fB-l\fR option). The corresponding
+argument can include any of the probe description forms \fIprovider:module\fR
+or \fImodule\fR. Unspecified probe description fields are left blank and match
+any probes regardless of the values in those fields. If no qualifiers other
+than \fImodule\fR are specified in the description, all probes with a
+corresponding \fImodule\fR are matched. The \fB-m\fR argument can be suffixed
+with an optional D probe clause. More than one \fB-m\fR option can be specified
+on the command line at a time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR [[[\fIprovider:\fR] \fImodule:\fR] \fIfunction:\fR] \fIname\fR
+[[\fIpredicate\fR] \fIaction\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Specify probe name to trace or list (\fB-l\fR option). The corresponding
+argument can include any of the probe description forms
+\fIprovider:module:function:name\fR, \fImodule:function:name\fR,
+\fIfunction:name\fR, or \fIname\fR. Unspecified probe description fields are
+left blank and match any probes regardless of the values in those fields. If no
+qualifiers other than \fIname\fR are specified in the description, all probes
+with a corresponding \fIname\fR are matched. The \fB-n\fR argument can be
+suffixed with an optional D probe clause. More than one \fB-n\fR option can be
+specified on the command line at a time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoutput\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the \fIoutput\fR file for the \fB-A\fR , \fB-G\fR, \fB-h\fR, and
+\fB-l\fR options, or for the traced data itself. If the \fB-A\fR option is
+present and \fB-o\fR is not present, the default output file is
+\fB/kernel/drv/dtrace.conf\fR. If the \fB-G\fR option is present and the
+\fB-s\fR option's argument is of the form \fB\fIfilename\fR.d\fR and \fB-o\fR
+is not present, the default output file is \fB\fIfilename\fR.o\fR. Otherwise
+the default output file is \fBd.out\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Grab the specified process-ID \fIpid\fR, cache its symbol tables, and exit upon
+its completion. If more than one \fB-p\fR option is present on the command
+line, \fBdtrace\fR exits when all commands have exited, reporting the exit
+status for each process as it terminates. The first process-ID is made
+available to any D programs specified on the command line or using the \fB-s\fR
+option through the \fB$target\fR macro variable. Refer to the \fISolaris
+Dynamic Tracing Guide\fR for more information on macro variables.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprovider\fR \fB[[\fR\fIpredicate\fR\fB]\fR \fIaction\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Specify provider name to trace or list (\fB-l\fR option). The remaining probe
+description fields module, function, and name are left blank and match any
+probes regardless of the values in those fields. The \fB-P\fR argument can be
+suffixed with an optional D probe clause. You can specify more than one
+\fB-P\fR option on the command line at a time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set quiet mode. \fBdtrace\fR suppresses messages such as the number of probes
+matched by the specified options and D programs and does not print column
+headers, the CPU ID, the probe ID, or insert newlines into the output. Only
+data traced and formatted by D program statements such as \fBtrace()\fR and
+\fBprintf()\fR is displayed to \fBstdout\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Compile the specified D program source file. If the \fB-e\fR option is present,
+the program is compiled but instrumentation is not enabled. If the \fB-l\fR
+option is present, the program is compiled and the set of probes matched by it
+is listed, but instrumentation is not enabled. If none of \fB-e\fR, \fB-l\fR,
+\fB-G\fR, or \fB-A\fR are present, the instrumentation specified by the D
+program is enabled and tracing begins.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show D compiler intermediate code. The D compiler produces a report of the
+intermediate code generated for each D program to \fBstderr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Undefine the specified \fIname\fR when invoking \fBcpp\fR(1) (enabled using the
+\fB-C\fR option). This option passes the \fB-U\fR option to each \fBcpp\fR
+invocation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set verbose mode. If the \fB-v\fR option is specified, \fBdtrace\fR produces a
+program stability report showing the minimum interface stability and dependency
+level for the specified D programs. DTrace stability levels are explained in
+further detail in the \fISolaris Dynamic Tracing Guide\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report the highest D programming interface version supported by \fBdtrace\fR.
+The version information is printed to \fBstdout\fR and the \fBdtrace\fR command
+exits. Refer to the \fISolaris Dynamic Tracing Guide\fR for more information
+about DTrace versioning features.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.sp .6
+.RS 4n
+Permit destructive actions in D programs specified using the \fB-s\fR,
+\fB-P\fR, \fB-m\fR, \fB-f\fR, \fB-n\fR, or \fB-i\fR options. If the \fB-w\fR
+option is not specified, \fBdtrace\fR does not permit the compilation or
+enabling of a D program that contains destructive actions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIarg\fR [\fI=val\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Enable or modify a DTrace runtime option or D compiler option. The list of
+options is found in the \fISolaris Dynamic Tracing Guide\fR. Boolean options
+are enabled by specifying their name. Options with values are set by separating
+the option name and value with an equals sign (\fB=\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR \fBa | c | s | t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the degree of conformance to the ISO C standard that should be selected
+when invoking \fBcpp\fR(1) (enabled using the \fB-C\fR option). The \fB-X\fR
+option argument affects the value and presence of the \fB__STDC__\fR macro
+depending upon the value of the argument letter.
+.sp
+The \fB-X\fR option supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBa\fR\fR
+.ad
+.RS 5n
+.rt
+Default. ISO C plus K&R compatibility extensions, with semantic changes
+required by ISO C. This is the default mode if \fB-X\fR is not specified. The
+predefined macro \fB__STDC__\fR has a value of 0 when \fBcpp\fR is invoked in
+conjunction with the \fB-Xa\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 5n
+.rt
+Conformance. Strictly conformant ISO C, without K&R C compatibility extensions.
+The predefined macro \fB__STDC__\fR has a value of 1 when \fBcpp\fR is invoked
+in conjunction with the \fB-Xc\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+K&R C only. The macro \fB__STDC__\fR is not defined when \fBcpp\fR is invoked
+in conjunction with the \fB-Xs\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+.rt
+Transition. ISO C plus K&R C compatibility extensions, without semantic changes
+required by ISO C. The predefined macro \fB__STDC__\fR has a value of 0 when
+\fBcpp\fR is invoked in conjunction with the \fB-Xt\fR option.
+.RE
+
+As the \fB-X\fR option only affects how the D compiler invokes the C
+preprocessor, the \fB-Xa\fR and \fB-Xt\fR options are equivalent from the
+perspective of D and both are provided only to ease re-use of settings from a C
+build environment.
+.sp
+Regardless of the \fB-X\fR mode, the following additional C preprocessor
+definitions are always specified and valid in all modes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__sun\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__unix\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__SVR4\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__sparc\fR (on SPARC systems only)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__sparcv9\fR (on SPARC systems only when 64-bit programs are compiled)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__i386\fR (on x86 systems only when 32-bit programs are compiled)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__amd64\fR (on x86 systems only when 64-bit programs are compiled)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__\fI`uname -s`\fR_\fI`uname -r`\fR\fR (for example, \fB__SunOS_5_10\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__SUNW_D=1\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB__SUNW_D_VERSION=0x\fIMMmmmuuu\fR\fR
+.sp
+Where \fIMM\fR is the major release value in hexadecimal, \fImmm\fR is the
+minor release value in hexadecimal, and \fIuuu\fR is the micro release value in
+hexadecimal. Refer to the \fISolaris Dynamic Tracing Guide\fR for more
+information about DTrace versioning.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Z\fR\fR
+.ad
+.sp .6
+.RS 4n
+Permit probe descriptions that match zero probes. If the \fB-Z\fR option is not
+specified, \fBdtrace\fR reports an error and exits if any probe descriptions
+specified in D program files (\fB-s\fR option) or on the command line
+(\fB-P\fR, \fB-m\fR, \fB-f\fR, \fB-n\fR, or \fB-i\fR options) contain
+descriptions that do not match any known probes.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+You can specify zero or more additional arguments on the \fBdtrace\fR command
+line to define a set of macro variables (\fB$1\fR, \fB$2\fR, and so forth). The
+additional arguments can be used in D programs specified using the \fB-s\fR
+option or on the command line. The use of macro variables is described further
+in the \fISolaris Dynamic Tracing Guide\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.sp
+For D program requests, an exit status of \fB0\fR indicates that programs were
+successfully compiled, probes were successfully enabled, or anonymous state was
+successfully retrieved. \fBdtrace\fR returns \fB0\fR even if the specified
+tracing requests encountered errors or drops.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.sp
+For D program requests, an exit status of \fB1\fR indicates that program
+compilation failed or that the specified request could not be satisfied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line options or arguments were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command-line syntax is Committed. The human-readable output is Uncommitted.
+.SH SEE ALSO
+.sp
+.LP
+\fBcpp\fR(1), \fBisainfo\fR(1), \fBssh\fR(1), \fBlibdtrace\fR(3LIB),
+\fBdriver.conf\fR(4), \fBattributes\fR(5), \fBdtrace\fR(7D)
+.sp
+.LP
+\fISolaris Dynamic Tracing Guide\fR
+.SH USAGE
+.sp
+.LP
+When using the \fB-p\fR flag, \fBdtrace\fR stops the target processes while it
+is inspecting them and reporting results. A process can do nothing while it is
+stopped. This means that, if , for example, the X server is inspected by
+\fBdtrace\fR running in a window under the X server's control, the whole window
+system can become deadlocked, because the \fBproc\fR tool would be attempting
+to display its results to a window that cannot be refreshed. In such a case,
+logging in from another system using \fBssh\fR(1) and killing the offending
+\fBproc\fR tool clears the deadlock.
diff --git a/usr/src/man/man1m/dumpadm.1m b/usr/src/man/man1m/dumpadm.1m
new file mode 100644
index 0000000000..776e11d262
--- /dev/null
+++ b/usr/src/man/man1m/dumpadm.1m
@@ -0,0 +1,472 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH dumpadm 1M "10 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+dumpadm \- configure operating system crash dump
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/dumpadm\fR [\fB-nuy\fR] [\fB-c\fR \fIcontent-type\fR] [\fB-d\fR \fIdump-device\fR]
+ [\fB-m\fR \fImin\fRk | \fImin\fRm | \fImin\fR%] [\fB-s\fR \fIsavecore-dir\fR]
+ [\fB-r\fR \fIroot-dir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBdumpadm\fR program is an administrative command that manages the
+configuration of the operating system crash dump facility. A crash dump is a
+disk copy of the physical memory of the computer at the time of a fatal system
+error. When a fatal operating system error occurs, a message describing the
+error is printed to the console. The operating system then generates a crash
+dump by writing the contents of physical memory to a predetermined dump device,
+which is typically a local disk partition. The dump device can be configured by
+way of \fBdumpadm\fR. Once the crash dump has been written to the dump device,
+the system will reboot.
+.sp
+.LP
+Fatal operating system errors can be caused by bugs in the operating system,
+its associated device drivers and loadable modules, or by faulty hardware.
+Whatever the cause, the crash dump itself provides invaluable information to
+your support engineer to aid in diagnosing the problem. As such, it is vital
+that the crash dump be retrieved and given to your support provider. Following
+an operating system crash, the \fBsavecore\fR(1M) utility is executed
+automatically during boot to retrieve the crash dump from the dump device, and
+write it to a pair of files in your file system named \fIunix.X\fR and
+\fIvmcore.X\fR, where X is an integer identifying the dump. Together, these
+data files form the \fIsaved crash dump\fR. The directory in which the crash
+dump is saved on reboot can also be configured using \fBdumpadm\fR.
+.sp
+.LP
+For systems with a UFS root file system, the default dump device is configured
+to be an appropriate swap partition. Swap partitions are disk partitions
+reserved as virtual memory backing store for the operating system. Thus, no
+permanent information resides in swap to be overwritten by the dump. See
+\fBswap\fR(1M). For systems with a ZFS root file system, dedicated ZFS volumes
+are used for swap and dump areas. For further information about setting up a
+dump area with ZFS, see the \fIZFS Administration Guide\fR. To view the
+current dump configuration, use the \fBdumpadm\fR command with no arguments:
+.sp
+.in +2
+.nf
+example# \fBdumpadm\fR
+
+ Dump content: kernel pages
+ Dump device: /dev/dsk/c0t0d0s1 (swap)
+Savecore directory: /var/crash/saturn
+ Savecore enabled: yes
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When no options are specified, \fBdumpadm\fR prints the current crash dump
+configuration. The example shows the set of default values: the dump content is
+set to kernel memory pages only, the dump device is a swap disk partition, the
+directory for \fBsavecore\fR files is set to
+\fB/var/crash/\fR\fBhostname\fR\fB,\fR and \fBsavecore\fR is set to run
+automatically on reboot.
+.sp
+.LP
+When one or more options are specified, \fBdumpadm\fR verifies that your
+changes are valid, and if so, reconfigures the crash dump parameters and
+displays the resulting configuration. You must be \fBroot\fR to view or change
+dump parameters.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcontent-type\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the dump configuration so that the crash dump consists of the specified
+dump content. The content should be one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkernel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kernel memory pages only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.sp .6
+.RS 4n
+All memory pages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcurproc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kernel memory pages, and the memory pages of the process whose thread was
+currently executing on the CPU on which the crash dump was initiated. If the
+thread executing on that CPU is a kernel thread not associated with any user
+process, only kernel pages will be dumped.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdump-device\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the dump configuration to use the specified dump device. The dump device
+may one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdump-device\fR\fR
+.ad
+.sp .6
+.RS 4n
+A specific dump device specified as an absolute pathname, such as
+\fB/dev/dsk/\fR\fIcNtNdNsN\fR when the system is running a UFS root file
+system. Or, specify a ZFS volume, such as \fB/dev/zvol/dsk/rpool/dump\fR, when
+the system is running a ZFS root file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBswap\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the special token \fBswap\fR is specified as the dump device, \fBdumpadm\fR
+examines the active swap entries and selects the most appropriate entry to
+configure as the dump device. See \fBswap\fR(1M). Refer to the \fBNOTES\fR
+below for details of the algorithm used to select an appropriate swap entry.
+When the system is first installed with a UFS root file system, \fBdumpadm\fR
+uses the value for \fBswap\fR to determine the initial dump device setting. A
+given ZFS volume cannot be configured for both the swap area and the dump
+device.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImin\fR\fBk\fR | \fImin\fR\fBm\fR | \fImin\fR\fB%\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a \fBminfree\fR file in the current savecore directory indicating that
+\fBsavecore\fR should maintain at least the specified amount of free space in
+the file system where the savecore directory is located. The \fBmin\fR argument
+can be one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBk\fR\fR
+.ad
+.sp .6
+.RS 4n
+A positive integer suffixed with the unit \fBk\fR specifying kilobytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.sp .6
+.RS 4n
+A positive integer suffixed with the unit \fBm\fR specifying megabytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%\fR\fR
+.ad
+.sp .6
+.RS 4n
+A % symbol, indicating that the \fBminfree\fR value should be computed as the
+specified percentage of the total current size of the file system containing
+the savecore directory.
+.RE
+
+The \fBsavecore\fR command will consult the \fBminfree\fR file, if present,
+prior to writing the dump files. If the size of these files would decrease the
+amount of free disk space below the \fBminfree\fR threshold, no dump files are
+written and an error message is logged. The administrator should immediately
+clean up the savecore directory to provide adequate free space, and re-execute
+the \fBsavecore\fR command manually. The administrator can also specify an
+alternate directory on the \fBsavecore\fR command-line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the dump configuration to not run \fBsavecore\fR automatically on
+reboot. This is not the recommended system configuration; if the dump device is
+a swap partition, the dump data will be overwritten as the system begins to
+swap. If \fBsavecore\fR is not executed shortly after boot, crash dump
+retrieval may not be possible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternate root directory relative to which \fBdumpadm\fR should
+create files. If no \fB-r\fR argument is specified, the default root directory
+\fB/\fR is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsavecore-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the dump configuration to use the specified directory to save files
+written by \fBsavecore\fR. The directory should be an absolute path and exist
+on the system. If upon reboot the directory does not exist, it will be created
+prior to the execution of \fBsavecore\fR. See the \fBNOTES\fR section below for
+a discussion of security issues relating to access to the savecore directory.
+The default savecore directory is \fB/var/crash/\fIhostname\fR\fR where
+\fIhostname\fR is the output of the \fB-n\fR option to the \fBuname\fR(1)
+command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forcibly update the kernel dump configuration based on the contents of
+\fB/etc/dumpadm.conf\fR. Normally this option is used only on reboot when
+starting \fBsvc:/system/dumpadm:default\fR, when the \fBdumpadm\fR settings
+from the previous boot must be restored. Your dump configuration is saved in
+the configuration file for this purpose. If the configuration file is missing
+or contains invalid values for any dump properties, the default values are
+substituted. Following the update, the configuration file is resynchronized
+with the kernel dump configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the dump configuration to automatically run \fBsavecore\fR on reboot.
+This is the default for this dump setting.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRReconfiguring The Dump Device To A Dedicated Dump Device:
+.sp
+.LP
+The following command reconfigures the dump device to a dedicated dump device:
+
+.sp
+.in +2
+.nf
+example# dumpadm -d /dev/dsk/c0t2d0s2
+
+ Dump content: kernel pages
+ Dump device: /dev/dsk/c0t2d0s2 (dedicated)
+ Savecore directory: /var/crash/saturn
+ Savecore enabled: yes
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Dump configuration is valid and the specified modifications, if any, were made
+successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+A fatal error occurred in either obtaining or modifying the dump configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command line options were specified.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/dump\fR\fR
+.ad
+.sp .6
+.RS 4n
+Dump device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dumpadm.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains configuration parameters for \fBdumpadm\fR. Modifiable only through
+that command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsavecore-directory\fR\fB/minfree\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains minimum amount of free space for \fIsavecore-directory\fR. See
+\fBsavecore\fR(1M).
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBuname\fR(1), \fBsavecore\fR(1M), \fBsvcadm\fR(1M),
+\fBswap\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The system crash dump service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/dumpadm:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.SS "Dump Device Selection"
+.sp
+.LP
+When the special \fBswap\fR token is specified as the argument to \fBdumpadm\fR
+\fB-d\fR the utility will attempt to configure the most appropriate swap device
+as the dump device. \fBdumpadm\fR configures the largest swap block device as
+the dump device; if no block devices are available for swap, the largest swap
+entry is configured as the dump device. If no swap entries are present, or none
+can be configured as the dump device, a warning message will be displayed.
+While local and remote swap files can be configured as the dump device, this is
+not recommended.
+.SS "Dump Device/Swap Device Interaction (UFS File Systems Only)"
+.sp
+.LP
+In the event that the dump device is also a swap device, and the swap device is
+deleted by the administrator using the \fBswap\fR \fB-d\fR command, the
+\fBswap\fR command will automatically invoke \fBdumpadm\fR \fB-d\fR \fBswap\fR
+in order to attempt to configure another appropriate swap device as the dump
+device. If no swap devices remain or none can be configured as the dump device,
+the crash dump will be disabled and a warning message will be displayed.
+Similarly, if the crash dump is disabled and the administrator adds a new swap
+device using the \fBswap\fR \fB-a\fR command, \fBdumpadm\fR \fB-d\fR \fBswap\fR
+will be invoked to re-enable the crash dump using the new swap device.
+.sp
+.LP
+Once \fBdumpadm\fR \fB-d\fR \fBswap\fR has been issued, the new dump device is
+stored in the configuration file for subsequent reboots. If a larger or more
+appropriate swap device is added by the administrator, the dump device is not
+changed; the administrator must re-execute \fBdumpadm\fR \fB-d\fR \fBswap\fR to
+reselect the most appropriate device fom the new list of swap devices.
+.SS "Minimum Free Space"
+.sp
+.LP
+If the \fBdumpadm\fR \fB-m\fR option is used to create a \fBminfree\fR file
+based on a percentage of the total size of the file system containing the
+savecore directory, this value is not automatically recomputed if the file
+system subsequently changes size. In this case, the administrator must
+re-execute \fBdumpadm\fR \fB-m\fR to recompute the \fBminfree\fR value. If no
+such file exists in the savecore directory, \fBsavecore\fR will default to a
+free space threshold of one megabyte. If no free space threshold is desired, a
+minfree file containing size 0 can be created.
+.SS "Security Issues"
+.sp
+.LP
+If, upon reboot, the specified savecore directory is not present, it will be
+created prior to the execution of \fBsavecore\fR with permissions 0700 (read,
+write, execute by owner only) and owner \fBroot\fR. It is recommended that
+alternate savecore directories also be created with similar permissions, as the
+operating system crash dump files themselves may contain secure information.
diff --git a/usr/src/man/man1m/editmap.1m b/usr/src/man/man1m/editmap.1m
new file mode 100644
index 0000000000..1586ec2955
--- /dev/null
+++ b/usr/src/man/man1m/editmap.1m
@@ -0,0 +1,237 @@
+'\" te
+.\" Copyright (c) 1983 Eric P. Allman
+.\" Copyright (c) 1988, 1993 The Regents of the University of California. All rights reserved.
+.\" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display
+.\" the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific
+.\" prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\" Copyright (c) 1998-2006, 2008 Sendmail, Inc. and its suppliers. All rights reserved.
+.\" The following license terms and conditions apply, unless a different license is obtained from Sendmail, Inc., 6425 Christie Ave, Fourth Floor, Emeryville, CA 94608, USA, or by electronic mail at license@sendmail.com. License Terms: Use, Modification and Redistribution
+.\" (including distribution of any modified or derived work) in source and binary forms is permitted only if each of the following conditions is met: 1. Redistributions qualify as "freeware" or "Open Source Software" under one of the following terms: (a) Redistributions are made at no charge
+.\" beyond the reasonable cost of materials and delivery. (b) Redistributions are accompanied by a copy of the Source Code or by an irrevocable offer to provide a copy of the Source Code for up to three years at the cost of materials and delivery. Such redistributions
+.\" must allow further use, modification, and redistribution of the Source Code under substantially the same terms as this license. For the purposes of redistribution "Source Code" means the complete compilable and linkable source code of sendmail including all modifications.
+.\" 2. Redistributions of source code must retain the copyright notices as they appear in each source code file, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below. 3. Redistributions in binary form must reproduce the Copyright Notice, these license
+.\" terms, and the disclaimer/limitation of liability set forth as paragraph 6 below, in the documentation and/or other materials provided with the distribution. For the purposes of binary distribution the "Copyright Notice" refers to the following language: "Copyright (c) 1998-2004 Sendmail,
+.\" Inc. All rights reserved." 4. Neither the name of Sendmail, Inc. nor the University of California nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. The name "sendmail" is a trademark
+.\" of Sendmail, Inc. 5. All redistributions must comply with the conditions imposed by the University of California on certain embedded code, whose copyright notice and conditions for redistribution are as follows: (a) Copyright (c) 1988, 1993 The Regents of the University of California.
+.\" All rights reserved. (b) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: (i) Redistributions of source code must retain the above copyright notice, this list of
+.\" conditions and the following disclaimer. (ii) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.\" (iii) Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY SENDMAIL,
+.\" INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF CALIFORNIA OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.TH editmap 1M "14 Sep 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+editmap \- query and edit single records in database maps for sendmail
+.SH SYNOPSIS
+.LP
+.nf
+\fBeditmap\fR \fB-C\fR \fIfile\fR [\fB-N\fR] [\fB-f\fR] [\fB-q\fR | \fB-u\fR | \fB-x\fR] \fImaptype\fR \fImapname\fR \fIkey\fR
+ ["\fIvalue\fR"]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBeditmap\fR command queries or edits one record in a database maps used
+by the keyed map lookups in \fBsendmail\fR(1M). Arguments are passed on the
+command line and output (for queries) is directed to standard output.
+.sp
+.LP
+Depending on how it is compiled, \fBeditmap\fR handles up to three different
+database formats, selected using the \fImaptype\fR parameter. See
+\fBOPERANDS\fR.
+.sp
+.LP
+ If the \fBTrustedUser\fR option is set in the \fBsendmail\fR configuration
+file and \fBeditmap\fR is invoked as root, the generated files are owned by the
+specified \fBTrustedUser\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIfile\fR\fR
+.ad
+.RS 11n
+.rt
+Use the specified \fBsendmail\fR configuration file (\fIfile\fR) to look up the
+\fBTrustedUser\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 11n
+.rt
+Disable the folding of all upper case letters in the key to lower case.
+Normally, all upper case letters in the key are folded to upper case. This is
+intended to mesh with the \fB-f\fR flag in the \fBK\fR line in
+\fBsendmail.cf\fR. The value is never case folded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.RS 11n
+.rt
+ Include the null byte that terminates strings in the map (for alias maps).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 11n
+.rt
+Query the map for the specified key. If found, print value to standard output
+and exit with \fB0\fR. If not found then print an error message to \fBstdout\fR
+and exit with \fBEX_UNAVAILABLE\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 11n
+.rt
+Update the record for key with value or inserts a new record if one doesn't
+exist. Exits with \fB0\fR on success or \fBEX_IOERR\fR on failure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 11n
+.rt
+ Delete the specific key from the map. Exit with \fB0\fR on success or
+\fBEX_IOERR\fR on failure.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIkey\fR\fR
+.ad
+.RS 12n
+.rt
+The left hand side of a record.
+.sp
+Each record is of the form:
+.sp
+.in +2
+.nf
+\fIkey\fR \fIvalue\fR
+.fi
+.in -2
+.sp
+
+\fIkey\fR and \fIvalue\fR are separated by white space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImapname\fR \fR
+.ad
+.RS 12n
+.rt
+File name of the database map being created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImaptype\fR \fR
+.ad
+.RS 12n
+.rt
+Specifies the database format. The following \fImaptype\fR parameters are
+available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdbm\fR \fR
+.ad
+.RS 10n
+.rt
+Specifies \fBDBM\fR format maps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbtree\fR \fR
+.ad
+.RS 10n
+.rt
+Specifies B-Tree format maps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhash\fR \fR
+.ad
+.RS 10n
+.rt
+Specifies hash format maps.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvalue\fR\fR
+.ad
+.RS 12n
+.rt
+The right hand side of a record.
+.sp
+Each record is of the form:
+.sp
+.in +2
+.nf
+\fIkey\fR \fIvalue\fR
+.fi
+.in -2
+.sp
+
+\fIkey\fR and \fIvalue\fR are separated by white space.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmakemap\fR(1M), \fBsendmail\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/edquota.1m b/usr/src/man/man1m/edquota.1m
new file mode 100644
index 0000000000..cb9d2e57d0
--- /dev/null
+++ b/usr/src/man/man1m/edquota.1m
@@ -0,0 +1,140 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH edquota 1M "14 Feb 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+edquota \- edit user quotas for ufs file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBedquota\fR [\fB-p\fR \fIproto_user\fR] \fIusername\fR...
+.fi
+
+.LP
+.nf
+\fBedquota\fR \fB-t\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBedquota\fR is a quota editor. One or more users may be specified on the
+command line. For each user a temporary file is created with an \fBASCII\fR
+representation of the current disk quotas for that user for each mounted ufs
+file system that has a \fBquotas\fR file, and an editor is then invoked on the
+file. The quotas may then be modified, new quotas added, etc. Upon leaving the
+editor, \fBedquota\fR reads the temporary file and modifies the binary quota
+files to reflect the changes made.
+.sp
+.LP
+The editor invoked is \fBvi\fR(1) unless the \fBEDITOR\fR environment variable
+specifies otherwise.
+.sp
+.LP
+Only the super-user may edit quotas. In order for quotas to be established on
+a file system, the root directory of the file system must contain a file, owned
+by root, called \fBquotas\fR. (See \fBquotaon\fR(1M).)
+.sp
+.LP
+\fIproto_user\fR and \fIusername\fR can be numeric, corresponding to the
+\fBUID\fR of a user. Unassigned UIDs may be specified; unassigned names may
+not. In this way, default quotas can be established for users who are later
+assigned a UID.
+.sp
+.LP
+If no options are specified, the temporary file created will have one or more
+lines of the format, where a block is considered to be a 1024 byte (1K) block:
+.sp
+.in +2
+.nf
+fs\fI mount_point\fR blocks (soft =\fInumber\fR, \e
+ hard =\fInumber\fR ) inodes (soft =\fInumber\fR, \e
+ hard =\fInumber\fR)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fInumber\fR fields may be modified to reflect desired values.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Duplicate the quotas of the \fIproto_user\fR specified for each \fIusername\fR
+specified. This is the normal mechanism used to initialize quotas for groups of
+users.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 6n
+.rt
+Edit the soft time limits for each file system. If the time limits are zero,
+the default time limits in \fB/usr/include/sys/fs/ufs_quota.h\fR are used. The
+temporary file created will have one or more lines of the form
+.sp
+fs \fImount_point\fR blocks time limit = \fInumber tmunit\fR, files time limit
+= \fInumber tmunit\fR
+.RE
+
+.sp
+.LP
+\fItmunit\fR may be one of ``month'', ``week'', ``day'', ``hour'', ``min'' or
+``sec''; characters appended to these keywords are ignored, so you may write
+``months'' or ``minutes'' if you prefer. The \fInumber\fR and\fI tmunit\fR
+fields may be modified to set desired values. Time limits are printed in the
+greatest possible time unit such that the value is greater than or equal to
+one. If ``default'' is printed after the \fItmunit\fR, this indicates that the
+value shown is zero (the default).
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBedquota\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquotas\fR\fR
+.ad
+.RS 15n
+.rt
+quota file at the file system root
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.RS 15n
+.rt
+table of mounted file systems
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBvi\fR(1), \fBquota\fR(1M), \fBquotacheck\fR(1M), \fBquotaon\fR(1M),
+\fBrepquota\fR(1M), \fBattributes\fR(5), \fBlargefile\fR(5), \fBquotactl\fR(7I)
+.SH NOTES
+.sp
+.LP
+All \fBUID\fRs can be assigned quotas.
diff --git a/usr/src/man/man1m/eeprom.1m b/usr/src/man/man1m/eeprom.1m
new file mode 100644
index 0000000000..e6c773c453
--- /dev/null
+++ b/usr/src/man/man1m/eeprom.1m
@@ -0,0 +1,1407 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH eeprom 1M "28 Mar 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+eeprom \- EEPROM display and load utility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/eeprom\fR [\fB-\fR] [\fB-f\fR \fIdevice\fR] [\fIparameter\fR[=\fIvalue\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBeeprom\fR displays or changes the values of parameters in the \fBEEPROM.\fR
+It processes parameters in the order given. When processing a \fIparameter\fR
+accompanied by a \fIvalue\fR, \fBeeprom\fR makes the indicated alteration to
+the \fBEEPROM;\fR otherwise, it displays the \fIparameter\fR's value. When
+given no parameter specifiers, \fBeeprom\fR displays the values of all
+\fBEEPROM\fR parameters. A `\|\(mi\fB\&'\fR (hyphen) flag specifies that
+parameters and values are to be read from the standard input (one
+\fIparameter\fR or \fIparameter\fR\fB=\fR\fIvalue\fR per line).
+.sp
+.LP
+Only the super-user may alter the \fBEEPROM\fR contents.
+.sp
+.LP
+\fBeeprom\fR verifies the \fBEEPROM\fR checksums and complains if they are
+incorrect.
+.sp
+.LP
+\fIplatform-name\fR is the name of the platform implementation and can be found
+using the \fB-i\fR option of \fBuname\fR(1).
+.SS "SPARC"
+.sp
+.LP
+\fBSPARC\fR based systems implement firmware password protection with
+\fBeeprom\fR, using the \fBsecurity-mode\fR, \fBsecurity-password\fR and
+\fBsecurity-#badlogins\fR properties.
+.SS "x86"
+.sp
+.LP
+\fBEEPROM\fR storage is simulated using a file residing in the
+platform-specific boot area. The \fB/boot/solaris/bootenv.rc\fR file simulates
+\fBEEPROM\fR storage.
+.sp
+.LP
+Because x86 based systems typically implement password protection in the system
+\fBBIOS,\fR there is no support for password protection in the \fBeeprom\fR
+program. While it is possible to set the \fBsecurity-mode\fR,
+\fBsecurity-password\fR and \fBsecurity-#badlogins\fR properties on x86 based
+systems, these properties have no special meaning or behavior on x86 based
+systems.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIdevice\fR as the \fBEEPROM\fR device.
+.RE
+
+.SH OPERANDS
+.SS "x86 Only"
+.sp
+.ne 2
+.mk
+.na
+\fB\fIacpi-user-options\fR\fR
+.ad
+.sp .6
+.RS 4n
+A configuration variable that controls the use of Advanced Configuration and
+Power Interface (ACPI), a power management specification. The acceptable values
+for this variable depend on the release of the Solaris operating system you are
+using.
+.sp
+For all releases of Solaris 10 and Solaris 11, a value of of \fB0x0\fR means
+that there will be an attempt to use ACPI if it is available on the system. A
+value of \fB0x2\fR disables the use of ACPI.
+.sp
+For the Solaris 10 1/06 release, a value of \fB0x8\fR means that there will be
+an attempt to use ACPI in a mode compatible with previous releases of Solaris
+10 if it is available on the system. The default for Solaris 10 1/06 is
+\fB0x8\fR.
+.sp
+For releases of Solaris 10 after the 1/06 release and for Solaris 11, the
+default is \fB0x0\fR.
+.sp
+Most users can safely accept the default value, which enables ACPI if
+available. If issues related to the use of ACPI are suspected on releases of
+Solaris after Solaris 1/06, it is suggested to first try a value of \fB0x8\fR
+and then, if you do not obtain satisfactory results, \fB0x02\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIconsole\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the console device. Possible values are \fBttya\fR, \fBttyb\fR, and
+\fBtext\fR. In \fBtext\fR mode, console output goes to the frame buffer and
+input comes from the keyboard. When this property is not present, the console
+device falls back to the device specified by \fBinput-device\fR and
+\fBoutput-device\fR. When neither the console property or the
+\fBinput-device\fR and \fBoutput-device\fR property pair are present, the
+console defaults to the frame buffer and keyboard.
+.RE
+
+.SH NVRAM CONFIGURATION PARAMETERS
+.sp
+.LP
+Not all OpenBoot systems support all parameters. Defaults vary depending on the
+system and the \fBPROM\fR revision. See the output in the "Default Value"
+column of the \fBprintenv\fR command, as entered at the \fBok\fR (OpenBoot)
+prompt, to determine the default for your system.
+.sp
+.ne 2
+.mk
+.na
+\fBauto-boot?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, boots automatically after power-on or reset. Defaults to
+\fBtrue\fR. On x86, this parameter is controlled by the grub menu file. See
+\fBinstallgrub\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBansi-terminal?\fR
+.ad
+.sp .6
+.RS 4n
+Configuration variable used to control the behavior of the terminal emulator.
+The value \fBfalse\fR makes the terminal emulator stop interpreting \fBANSI\fR
+escape sequences; instead, echoes them to the output device. Defaults to
+\fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboot-args\fR
+.ad
+.sp .6
+.RS 4n
+Holds a string of arguments that are passed to the boot subsystem. For example,
+you can use \fBboot-args=' - install dhcp'\fR to request a customer jumpstart
+installation. See \fBboot\fR(1M), \fBkadb\fR(1M) and \fBkernel\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboot-command\fR
+.ad
+.sp .6
+.RS 4n
+Command executed if \fBauto-boot?\fR is \fBtrue\fR. Defaults to \fBboot\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboot-device\fR
+.ad
+.sp .6
+.RS 4n
+Device from which to boot. \fIboot-device\fR may contain 0 or more device
+specifiers separated by spaces. Each device specifier may be either a prom
+device alias or a prom device path. The boot prom will attempt to open each
+successive device specifier in the list beginning with the first device
+specifier. The first device specifier that opens successfully will be used as
+the device to boot from. Defaults to \fBdisk net\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboot-file\fR
+.ad
+.sp .6
+.RS 4n
+File to boot (an empty string lets the secondary booter choose default).
+Defaults to empty string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboot-from\fR
+.ad
+.sp .6
+.RS 4n
+Boot device and file (OpenBoot PROM version 1.\fIx\fR only). Defaults to
+\fBvmunix\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboot-from-diag\fR
+.ad
+.sp .6
+.RS 4n
+Diagnostic boot device and file (OpenBoot PROM version 1.\fIx\fR only).
+Defaults to \fBle(\|)unix\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboot-ncpus\fR
+.ad
+.sp .6
+.RS 4n
+Configuration variable that controls the number of processors with which the
+system should boot. By default, the system boots with maximum supported number
+of processors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcom\fIX\fR-noprobe\fR
+.ad
+.sp .6
+.RS 4n
+Where \fIX\fR is the number of the serial port, prevents device probe on serial
+port \fIX.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdiag-device\fR
+.ad
+.sp .6
+.RS 4n
+Diagnostic boot source device. Defaults to \fBnet\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdiag-file\fR
+.ad
+.sp .6
+.RS 4n
+File from which to boot in diagnostic mode. Defaults to empty string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdiag-level\fR
+.ad
+.sp .6
+.RS 4n
+Diagnostics level. Values include \fBoff\fR, \fBmin\fR, \fBmax\fR and
+\fBmenus\fR. There may be additional platform-specific values. When set to
+\fBoff\fR, \fBPOST\fR is not called. If \fBPOST\fR is called, the value is made
+available as an argument to, and is interpreted by \fBPOST.\fR Defaults to
+\fBplatform-dependent\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdiag-switch?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, run in diagnostic mode. Defaults to \fBfalse\fR on most desktop
+systems, \fBtrue\fR on most servers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBerror-reset-recovery\fR
+.ad
+.sp .6
+.RS 4n
+Recover after an error reset trap. Defaults to platform-specific setting.
+.sp
+On platforms supporting this variable, it replaces the \fBwatchdog-reboot?\fR,
+\fBwatchdog-sync?\fR, \fBredmode-reboot?\fR, \fBredmode-sync?\fR,
+\fBsir-sync?\fR, and \fBxir-sync?\fR parameters.
+.sp
+The options are:
+.sp
+.ne 2
+.mk
+.na
+\fBnone\fR
+.ad
+.sp .6
+.RS 4n
+Print a message describing the reset trap and go to OpenBoot PROM's user
+interface, \fBaka\fR \fBOK\fR prompt.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsync\fR
+.ad
+.sp .6
+.RS 4n
+Invoke OpenBoot PROM's \fBsync\fR word after the reset trap. Some platforms may
+treat this as \fBnone\fR after an externally initiated reset (\fBXIR\fR) trap.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBboot\fR
+.ad
+.sp .6
+.RS 4n
+Reboot after the reset trap. Some platforms may treat this as \fBnone\fR after
+an \fBXIR\fR trap.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfcode-debug?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, include name parameter for plug-in device FCodes. Defaults to
+\fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhardware-revision\fR
+.ad
+.sp .6
+.RS 4n
+System version information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinput-device\fR
+.ad
+.sp .6
+.RS 4n
+Input device used at power-on (usually \fBkeyboard\fR, \fBttya\fR, or
+\fBttyb\fR). Defaults to \fBkeyboard\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBkeyboard-click?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, enable keyboard click. Defaults to \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBkeyboard-layout\fR
+.ad
+.sp .6
+.RS 4n
+A string that specifies the layout name for non-self-identifying keyboards
+(type 7c). Invoke \fBkbd\fR \fB-s\fR to obtain a list of acceptable layout
+names. See \fBkbd\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBkeymap\fR
+.ad
+.sp .6
+.RS 4n
+Keymap for custom keyboard.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlast-hardware-update\fR
+.ad
+.sp .6
+.RS 4n
+System update information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBload-base\fR
+.ad
+.sp .6
+.RS 4n
+Default load address for client programs. Default value is \fB16384\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlocal-mac-address?\fR
+.ad
+.sp .6
+.RS 4n
+If true, network drivers use their own MAC address, not the system's. Defaults
+to \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmfg-mode\fR
+.ad
+.sp .6
+.RS 4n
+Manufacturing mode argument for \fBPOST.\fR Possible values include \fBoff\fR
+or \fBchamber\fR. The value is passed as an argument to \fBPOST.\fR Defaults to
+\fBoff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmfg-switch?\fR
+.ad
+.sp .6
+.RS 4n
+If true, repeat system self-tests until interrupted with STOP-A. Defaults to
+\fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnvramrc\fR
+.ad
+.sp .6
+.RS 4n
+Contents of NVRAMRC. Defaults to empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnetwork-boot-arguments\fR
+.ad
+.sp .6
+.RS 4n
+Arguments to be used by the PROM for network booting. Defaults to an empty
+string. \fBnetwork-boot-arguments\fR can be used to specify the boot protocol
+(RARP/DHCP) to be used and a range of system knowledge to be used in the
+process.
+.sp
+The syntax for arguments supported for network booting is:
+.sp
+.in +2
+.nf
+[\fIprotocol\fR,] [\fIkey\fR=\fIvalue\fR,]*
+.fi
+.in -2
+.sp
+
+All arguments are optional and can appear in any order. Commas are required
+unless the argument is at the end of the list. If specified, an argument takes
+precedence over any default values, or, if booting using DHCP, over
+configuration information provided by a DHCP server for those parameters.
+.sp
+\fIprotocol\fR, above, specifies the address discovery protocol to be used.
+.sp
+Configuration parameters, listed below, are specified as \fIkey\fR=\fIvalue\fR
+attribute pairs.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtftp-server\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the TFTP server
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+file to download using TFTP or URL for WAN boot
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhost-ip\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the client (in dotted-decimal notation)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrouter-ip\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the default router (in dotted-decimal notation)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsubnet-mask\fR\fR
+.ad
+.sp .6
+.RS 4n
+subnet mask (in dotted-decimal notation)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclient-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+DHCP client identifier
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhostname\fR\fR
+.ad
+.sp .6
+.RS 4n
+hostname to use in DHCP transactions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhttp-proxy\fR\fR
+.ad
+.sp .6
+.RS 4n
+HTTP proxy server specification (IPADDR[:PORT])
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtftp-retries\fR\fR
+.ad
+.sp .6
+.RS 4n
+maximum number of TFTP retries
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdhcp-retries\fR\fR
+.ad
+.sp .6
+.RS 4n
+maximum number of DHCP retries
+.RE
+
+If no parameters are specified (that is, \fBnetwork-boot-arguments\fR is an
+empty string), the PROM will use the platform-specific default address
+discovery protocol.
+.sp
+Absence of the protocol parameter when other configuration parameters are
+specified implies manual configuration.
+.sp
+Manual configuration requires that the client be provided with all the
+information necessary for boot. If using manual configuration, information
+required by the PROM to load the second-stage boot program must be provided in
+\fBnetwork-boot-arguments\fR while information required for the second-stage
+boot program can be specified either as arguments to the \fBboot\fR program or
+by means of the \fBboot\fR program's interactive command interpreter.
+.sp
+Information required by the PROM when using manual configuration includes the
+booting client's IP address, name of the boot file, and the address of the
+server providing the boot file image. Depending on network configuration, it
+might be required that the subnet mask and address of the default router to use
+also be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoem-banner\fR
+.ad
+.sp .6
+.RS 4n
+Custom OEM banner (enabled by setting \fBoem-banner?\fR to \fBtrue\fR).
+Defaults to empty string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoem-banner?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, use custom \fBOEM\fR banner. Defaults to \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoem-logo\fR
+.ad
+.sp .6
+.RS 4n
+Byte array custom OEM logo (enabled by setting \fBoem-logo?\fR to \fBtrue\fR).
+Displayed in hexadecimal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoem-logo?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, use custom OEM logo (else, use Sun logo). Defaults to
+\fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpci-mem64?\fR
+.ad
+.sp .6
+.RS 4n
+If true, the OpenBoot PROM allocates 64-bit PCI memory addresses to a PCI
+device that can support 64-bit addresses.
+.sp
+This variable is available on SPARC platforms only and is optional. Some
+versions of SunOS do not support PCI \fBMEM64\fR addresses and will fail in
+unexpected ways if the OpenBoot PROM allocates PCI \fBMEM64\fR addresses.
+.sp
+The default value is system-dependent. If the variable exists, the default
+value is appropriate to the lowest version of the SunOS that shipped with a
+specific platform.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoutput-device\fR
+.ad
+.sp .6
+.RS 4n
+Output device used at power-on (usually \fBscreen\fR, \fBttya\fR, or
+\fBttyb\fR). Defaults to \fBscreen\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBredmode-reboot?\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBtrue\fR to reboot after a redmode reset trap. Defaults to
+\fBtrue\fR. (Sun Enterprise 10000 only.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBredmode-sync?\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBtrue\fR to invoke OpenBoot PROM's \fBsync\fR word after a redmode
+reset trap. Defaults to \fBfalse\fR. (Sun Enterprise 10000 only.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrootpath\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the root device of the operating system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsbus-probe-list\fR
+.ad
+.sp .6
+.RS 4n
+Designate which SBus slots are probed and in what order. Defaults to
+\fB0123\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscreen-#columns\fR
+.ad
+.sp .6
+.RS 4n
+Number of on-screen columns (characters/line). Defaults to \fB80\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscreen-#rows\fR
+.ad
+.sp .6
+.RS 4n
+Number of on-screen rows (lines). Defaults to \fB34\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscsi-initiator-id\fR
+.ad
+.sp .6
+.RS 4n
+\fBSCSI\fR bus address of host adapter, range 0-7. Defaults to \fB7\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsd-targets\fR
+.ad
+.sp .6
+.RS 4n
+Map \fBSCSI\fR disk units (OpenBoot PROM version 1.\fIx\fR only). Defaults to
+\fB31204567\fR, which means that unit 0 maps to target \fB3\fR, unit 1 maps to
+target \fB1\fR, and so on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsecurity-#badlogins\fR
+.ad
+.sp .6
+.RS 4n
+Number of incorrect security password attempts.This property has no special
+meaning or behavior on x86 based systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsecurity-mode\fR
+.ad
+.sp .6
+.RS 4n
+Firmware security level (options: \fBnone\fR, \fBcommand\fR, or \fBfull\fR). If
+set to \fBcommand\fR or \fBfull\fR, system will prompt for \fBPROM\fR security
+password. Defaults to \fBnone\fR.This property has no special meaning or
+behavior on x86 based systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsecurity-password\fR
+.ad
+.sp .6
+.RS 4n
+Firmware security password (never displayed). Can be set only when
+\fBsecurity-mode\fR is set to \fBcommand\fR or \fBfull\fR.This property has no
+special meaning or behavior on x86 based systems.
+.sp
+.in +2
+.nf
+example# eeprom security-password=
+Changing PROM password:
+New password:
+Retype new password:
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBselftest-#megs\fR
+.ad
+.sp .6
+.RS 4n
+Megabytes of \fBRAM\fR to test. Ignored if \fBdiag-switch?\fR is \fBtrue\fR.
+Defaults to \fB1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsir-sync?\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBtrue\fR to invoke OpenBoot PROM's \fBsync\fR word after a
+software-initiated reset (\fBSIR\fR) trap. Defaults to \fBfalse\fR. (Sun
+Enterprise 10000 only.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBskip-vme-loopback?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, POST does not do VMEbus loopback tests. Defaults to \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBst-targets\fR
+.ad
+.sp .6
+.RS 4n
+Map \fBSCSI\fR tape units (OpenBoot PROM version 1.\fIx\fR only). Defaults to
+\fB45670123\fR, which means that unit 0 maps to target \fB4\fR, unit 1 maps to
+target \fB5\fR, and so on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsunmon-compat?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, display Restricted Monitor prompt (\|>). Defaults to
+\fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtestarea\fR
+.ad
+.sp .6
+.RS 4n
+One-byte scratch field, available for read/write test. Defaults to \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtpe-link-test?\fR
+.ad
+.sp .6
+.RS 4n
+Enable 10baseT link test for built-in twisted pair Ethernet. Defaults to
+\fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBttya-mode\fR
+.ad
+.sp .6
+.RS 4n
+\fBTTYA\fR (baud rate, #bits, parity, #stop, handshake). Defaults to
+\fB9600,8,n,1,\(mi\fR.
+.sp
+Fields, in left-to-right order, are:
+.sp
+.ne 2
+.mk
+.na
+\fBBaud rate:\fR
+.ad
+.sp .6
+.RS 4n
+110, 300, 1200, 4800, 9600\|.\|.\|.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBData bits:\fR
+.ad
+.sp .6
+.RS 4n
+5, 6, 7, 8
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBParity:\fR
+.ad
+.sp .6
+.RS 4n
+n(none), e(even), o(odd), m(mark), s(space)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBStop bits:\fR
+.ad
+.sp .6
+.RS 4n
+1, 1.5, 2
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBHandshake:\fR
+.ad
+.sp .6
+.RS 4n
+\(mi(none), h(hardware:rts/cts), s(software:xon/xoff)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBttyb-mode\fR
+.ad
+.sp .6
+.RS 4n
+\fBTTYB\fR (baud rate, #bits, parity, #stop, handshake). Defaults to
+\fB9600,8,n,1,\(mi\fR.
+.sp
+Fields, in left-to-right order, are:
+.sp
+.ne 2
+.mk
+.na
+\fBBaud rate:\fR
+.ad
+.sp .6
+.RS 4n
+110, 300, 1200, 4800, 9600\|.\|.\|.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBData bits:\fR
+.ad
+.sp .6
+.RS 4n
+5, 6, 7, 8
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBStop bits:\fR
+.ad
+.sp .6
+.RS 4n
+1, 1.5, 2
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBParity:\fR
+.ad
+.sp .6
+.RS 4n
+n(none), e(even), o(odd), m(mark), s(space)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBHandshake:\fR
+.ad
+.sp .6
+.RS 4n
+\(mi(none), h(hardware:rts/cts), s(software:xon/xoff)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBttya-ignore-cd\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, operating system ignores carrier-detect on TTYA. Defaults to
+\fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBttyb-ignore-cd\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, operating system ignores carrier-detect on TTYB. Defaults to
+\fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBttya-rts-dtr-off\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, operating system does not assert DTR and RTS on TTYA. Defaults
+to \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBttyb-rts-dtr-off\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, operating system does not assert DTR and RTS on TTYB. Defaults
+to \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuse-nvramrc?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, execute commands in \fBNVRAMRC\fR during system start-up.
+Defaults to \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBverbosity\fR
+.ad
+.sp .6
+.RS 4n
+Controls the level of verbosity of PROM messages. Can be one of \fBdebug\fR,
+\fBmax\fR, \fBnormal\fR, \fBmin\fR, or \fBnone\fR. Defaults to \fBnormal\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBversion2?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, hybrid (1.\fIx\fR/2.\fIx\fR) PROM comes up in version 2.\fIx\fR.
+Defaults to \fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwatchdog-reboot?\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, reboot after watchdog reset. Defaults to \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwatchdog-sync?\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBtrue\fR to invoke OpenBoot PROM's \fBsync\fR word after a watchdog
+reset trap. Defaults to \fBfalse\fR. ( Sun Enterprise 10000 only.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBxir-sync?\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBtrue\fR to invoke OpenBoot PROM's \fBsync\fR word after an \fBXIR\fR
+trap. Defaults to \fBfalse\fR. (Sun Enterprise 10000 only.)
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRChanging the Number of Megabytes of RAM.
+.sp
+.LP
+The following example demonstrates the method for changing from one to two the
+number of megabytes of \fBRAM\fR that the system will test.
+
+.sp
+.in +2
+.nf
+example# \fBeeprom selftest-#megs\fR
+selftest-#megs=1
+
+example# eeprom selftest-#megs=2
+
+example# \fBeeprom selftest-#megs\fR
+selftest-#megs=2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSetting the \fBauto-boot?\fR Parameter to \fBtrue\fR.
+.sp
+.LP
+The following example demonstrates the method for setting the \fBauto-boot?\fR
+parameter to \fBtrue\fR.
+
+.sp
+.in +2
+.nf
+example# \fBeeprom auto-boot?=true\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When the \fBeeprom\fR command is executed in user mode, the parameters with a
+trailing question mark (?) need to be enclosed in double quotation marks (" ")
+to prevent the shell from interpreting the question mark. Preceding the
+question mark with an escape character (\fB\e\fR) will also prevent the shell
+from interpreting the question mark.
+
+.sp
+.in +2
+.nf
+\fBexample% eeprom "auto-boot?"=true\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing \fBnetwork-boot-arguments\fR
+.sp
+.LP
+To use DHCP as the boot protocol and a hostname of \fBabcd.example.com\fR for
+network booting, set these values in \fBnetwork-boot-arguments\fR as:
+
+.sp
+.in +2
+.nf
+example# \fBeeprom network-boot-arguments="dhcp,hostname=abcd.example.com"\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...then boot using the command:
+
+.sp
+.in +2
+.nf
+ok \fBboot net\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that network boot arguments specified from the PROM command line cause the
+contents of \fBnetwork-boot-arguments\fR to be ignored. For example, with
+\fBnetwork-boot-arguments\fR set as shown above, the \fBboot\fR command:
+
+.sp
+.in +2
+.nf
+ok \fBboot net:dhcp\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...causes DHCP to be used, but the \fBhostname\fR specified in
+\fBnetwork-boot-arguments\fR will not be used during network boot.
+
+.LP
+\fBExample 4 \fRSetting System Console to Auxiliary Device
+.sp
+.LP
+The command below assigns the device \fB/dev/term/a\fR as the system console
+device. You would make such an assignment prior to using \fBtip\fR(1) to
+establish a \fBtip\fR connection to a host.
+
+.sp
+.LP
+On a SPARC machine:
+
+.sp
+.in +2
+.nf
+# \fBeeprom output-device=/dev/term/a\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+On an x86 machine:
+
+.sp
+.in +2
+.nf
+# \fBeeprom console=ttya\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+On a SPARC machine, the preceding command would be sufficient for assigning the
+console to an auxiliary device. For an x86 machine, you might, in addition,
+need to set the characteristics of the serial line, for which you would have to
+consult the BIOS documentation for that machine. Also, on some x86 machines,
+you might use a device other than device \fBa\fR, as shown above. For example,
+you could set console to \fBttyb\fR if the second serial port is present.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/boot/solaris/bootenv.rc\fR\fR
+.ad
+.sp .6
+.RS 4n
+File storing \fBeeprom\fR values on x86 machines.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/openprom\fR\fR
+.ad
+.sp .6
+.RS 4n
+Device file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/platform/\fR\fIplatform-name\fR\fB/sbin/eeprom\fR\fR
+.ad
+.sp .6
+.RS 4n
+Platform-specific version of \fBeeprom\fR. Use \fBuname\fR \fB-i\fR to obtain
+\fIplatform-name\fR.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpasswd\fR(1), \fBsh\fR(1), \fBsvcs\fR(1), \fBtip\fR(1), \fBuname\fR(1),
+\fBboot\fR(1M), \fBkadb\fR(1M), \fBkernel\fR(1M), \fBinit\fR(1M),
+\fBsvcadm\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fIOpenBoot 3.x Command Reference Manual\fR
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/efdaemon.1m b/usr/src/man/man1m/efdaemon.1m
new file mode 100644
index 0000000000..75c3c4635c
--- /dev/null
+++ b/usr/src/man/man1m/efdaemon.1m
@@ -0,0 +1,110 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH efdaemon 1M "10 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+efdaemon \- embedded FCode interpreter daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/efcode/sparcv9/efdaemon\fR [\fB-d\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBefdaemon\fR, the embedded \fBFCode\fR interpreter daemon, invokes the
+embedded \fBFCode\fR interpreter when the daemon receives an interpretation
+request. A new session of the interpreter is started for each unique request by
+invoking the script \fB/usr/lib/efcode/efcode\fR.
+.sp
+.LP
+\fBefdaemon\fR is used on selected platforms as part of the processing of some
+dynamic reconfiguration events.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Set debug output. Log debug messages as \fBLOG_DEBUG\fR level messages by using
+\fBsyslog()\fR. See \fBsyslog\fR(3C).
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/fcode\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBFCode\fR interpreter pseudo device, which is a portal for receipt of
+\fBFCode\fR interpretation requests
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/efcode/efcode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shell script that invokes the embedded \fBFCode\fR interpreter
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/efcode/interpreter\fR\fR
+.ad
+.sp .6
+.RS 4n
+Embedded \fBFCode\fR interpreter
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/efcode/sparcv9/interpreter\fR\fR
+.ad
+.sp .6
+.RS 4n
+Embedded \fBFCode\fR interpreter
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBprtconf\fR(1M), \fBsvcadm\fR(1M), \fBsyslog\fR(3C),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBefdaemon\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/platform/sun4u/efdaemon:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/embedded_su.1m b/usr/src/man/man1m/embedded_su.1m
new file mode 100644
index 0000000000..2ab96a902e
--- /dev/null
+++ b/usr/src/man/man1m/embedded_su.1m
@@ -0,0 +1,335 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH embedded_su 1M "10 Feb 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+embedded_su \- allow an application to prompt for credentials and execute
+commands as the super user or another user
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/embedded_su\fR [\fB-\fR] [\fIusername\fR [arg...]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBembedded_su\fR command allows an application to prompt the user for
+security credentials and then use those credentials to execute a program as
+another user or role (see \fBrbac\fR(5) for information on role-based access
+control). The default \fIusername\fR is \fBroot\fR (super user).
+.sp
+.LP
+\fBembedded_su\fR is identical to \fBsu\fR(1M), except that the user
+interaction is packaged in a form suitable for another program to interpret and
+display. Typically, \fBembedded_su\fR would be used to allow a graphical
+program to prompt for the super user password and execute a command as the
+super user, without requiring that the requesting program be run as the super
+user.
+.SS "PROTOCOL"
+.sp
+.LP
+\fBembedded_su\fR implements a simple protocol over standard input, standard
+output, and standard error. This protocol consists of three phases, roughly
+corresponding to \fBPAM\fR initialization, the \fBPAM\fR dialog, and \fBPAM\fR
+completion.
+.SS "Phase 1: Initialization"
+.sp
+.LP
+After starting \fBembedded_su\fR, the application must send an initialization
+block on \fBembedded_su\fR's standard input. This block is a text block, as
+described under "Text Blocks". There are currently no initialization parameters
+defined; the application should send an empty block by sending a line
+consisting solely of a period (.).
+.SS "Phase 2: Conversation"
+.sp
+.LP
+\fBembedded_su\fR then emits zero or more conversation blocks on its standard
+output. Each conversation block may require zero or more responses.
+.sp
+.LP
+A conversation block starts with a line consisting of the word \fBCONV\fR,
+followed by whitespace, followed by the number of messages in the conversation
+block as a decimal integer. The number of messages may be followed by
+whitespace and additional data. This data, if present, must be ignored.
+.sp
+.LP
+Each message consists of a line containing a header followed by a text block,
+as described under "Text Blocks". A single newline is appended to each message,
+allowing the message to end with a line that does not end with a newline.
+.sp
+.LP
+A message header line consists of a \fBPAM\fR message style name, as described
+in \fBpam_start\fR(3PAM). The message header values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPAM_PROMPT_ECHO_OFF\fR\fR
+.ad
+.RS 23n
+.rt
+The application is to prompt the user for a value, with echoing disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPAM_PROMPT_ECHO_ON\fR\fR
+.ad
+.RS 23n
+.rt
+The application is to prompt the user for a value, with echoing enabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPAM_ERROR_MSG\fR\fR
+.ad
+.RS 23n
+.rt
+The application is to display the message in a form appropriate for displaying
+an error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPAM_TEXT_INFO\fR\fR
+.ad
+.RS 23n
+.rt
+The application is to display the message in a form appropriate for general
+information.
+.RE
+
+.sp
+.LP
+The \fBPAM\fR message style may be followed by whitespace and additional data.
+This data, if present, must be ignored.
+.sp
+.LP
+After writing all of the messages in the conversation block, if any of them
+were \fBPAM_PROMPT_ECHO_OFF\fR or \fBPAM_PROMPT_ECHO_ON\fR, \fBembedded_su\fR
+waits for the response values. It expects the response values one per line, in
+the order the messages were given.
+.SS "Phase 3: Completion"
+.sp
+.LP
+After zero or more conversation blocks, \fBembedded_su\fR emits a result block
+instead of a conversation block.
+.sp
+.LP
+Upon success, \fBembedded_su\fR emits a single line containing the word
+"\fBSUCCESS\fR". The word \fBSUCCESS\fR may be followed by whitespace and
+additional data. This data, if present, must be ignored.
+.sp
+.LP
+Upon failure, \fBembedded_su\fR emits a single line containing the word
+"\fBERROR\fR", followed by a text block as described under "Text Bocks". The
+text block gives an error message. The word \fBERROR\fR may be followed by
+whitespace and additional data. This data, if present, must be ignored.
+.SS "Text Blocks"
+.sp
+.LP
+Initialization blocks, message blocks, and error blocks are all text blocks.
+These are blocks of text that are terminated by a line containing a single
+period (.). Lines in the block that begin with a "." have an extra "."
+prepended to them.
+.SS "Internationalization"
+.sp
+.LP
+All messages are localized to the current locale; no further localization is
+required.
+.SS "SECURITY"
+.sp
+.LP
+\fBembedded_su\fR uses \fBpam\fR(3PAM) for authentication, account management,
+and session management. Its primary function is to export the \fBPAM\fR
+conversation mechanism to an unprivileged program. Like \fBsu\fR(1M), the
+\fBPAM\fR configuration policy can be used to control \fBembedded_su\fR. The
+\fBPAM\fR service name used is "embedded_su".
+.sp
+.LP
+\fBembedded_su\fR is almost exactly equivalent to \fBsu\fR(1M) for security
+purposes. The only exception is that it is slightly easier to use
+\fBembedded_su\fR in writing a malicious program that might trick a user into
+providing secret data. For those sites needing maximum security, potentially at
+the expense of application functionality, the EXAMPLES section shows how to
+disable \fBembedded_su\fR.
+.SH EXAMPLES
+.sp
+.LP
+In the following examples, left angle brackets (<<<) indicate a line written by
+\fBembedded_su\fR and read by the invoking application. Right angle brackets
+(>>>) indicate a line written by the application and read by \fBembedded_su\fR.
+.LP
+\fBExample 1 \fRExecuting a command with the Correct Password
+.sp
+.LP
+The following example shows an attempt to execute "somecommand" as "someuser",
+with the correct password supplied:
+
+.sp
+.in +2
+.nf
+ /usr/lib/embedded_su someuser -c somecommand
+ >>>.
+ <<<CONV 1
+ <<<PAM_PROMPT_ECHO_OFF
+ <<<Password:
+ <<<.
+ >>>[ correct password ]
+ <<<SUCCESS
+ [ somecommand executes ]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRExecuting a command with the Incorrect Password
+.sp
+.LP
+The following example shows an attempt to execute "somecommand" as "someuser",
+with the incorrect password supplied:
+
+.sp
+.in +2
+.nf
+ /usr/lib/embedded_su someuser -c somecommand
+ >>>.
+ <<<CONV 1
+ <<<PAM_PROMPT_ECHO_OFF
+ <<<Password:
+ <<<.
+ >>>[ incorrect password ]
+ [ delay ]
+ <<<ERROR
+ <<<embedded_su:Sorry
+ <<<.
+ [ exit ]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRMessage Examples
+.sp
+.LP
+A \fBpam_message\fR structure with \fImsg_style\fR equal to \fBPAM_TEXT_INFO\fR
+and \fBmsg\fR equal to "foo" produces:
+
+.sp
+.in +2
+.nf
+PAM_TEXT_INFO
+foo
+\&.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A \fBpam_message\fR structure with \fImsg_style\fR equal to
+\fBPAM_ERROR_MESSAGE\fR and \fBmsg\fR equal to "bar\en" produces:
+
+.sp
+.in +2
+.nf
+PAM_ERROR_MESSAGE
+bar
+[ blank line ]
+\&.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A \fBpam_message\fR structure with \fImsg_style\fR equal to
+\fBPAM_ERROR_MESSAGE\fR and \fBmsg\fR equal to "aaa\enbbb" produces:
+
+.sp
+.in +2
+.nf
+PAM_ERROR_MESSAGE
+aaa
+bbb
+\&.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A \fBpam_message\fR structure with \fImsg_style\fR equal to \fBPAM_TEXT_INFO\fR
+and \fBmsg\fR equal to "" produces:
+
+.sp
+.in +2
+.nf
+PAM_TEXT_INFO
+[ blank line ]
+\&.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A \fBpam_message\fR structure with \fImsg_style\fR equal to \fBPAM_TEXT_INFO\fR
+and \fBmsg\fR equal to NULL produces:
+
+.sp
+.in +2
+.nf
+PAM_TEXT_INFO
+\&.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisabling embedded_su
+.sp
+.LP
+To disable \fBembedded_su\fR, add a line to the \fB/etc/pam.conf\fR file
+similar to:
+
+.sp
+.in +2
+.nf
+embedded_su auth requisite pam_deny.so.1
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsu\fR(1M), \fBpam\fR(3PAM), \fBpam_start\fR(3PAM), \fBattributes\fR(5),
+\fBrbac\fR(5)
diff --git a/usr/src/man/man1m/etrn.1m b/usr/src/man/man1m/etrn.1m
new file mode 100644
index 0000000000..d2cde6abb6
--- /dev/null
+++ b/usr/src/man/man1m/etrn.1m
@@ -0,0 +1,207 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH etrn 1M "10 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+etrn \- start mail queue run
+.SH SYNOPSIS
+.LP
+.nf
+\fBetrn\fR [\fB-b\fR] [\fB-v\fR] \fIserver-host\fR [\fIclient-hosts\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+SMTP's \fBETRN\fR command allows an SMTP client and server to interact, giving
+the server an opportunity to start the processing of its queues for messages to
+go to a given host. This is meant to be used in start-up conditions, as well as
+for mail nodes that have transient connections to their service providers.
+.sp
+.LP
+The \fBetrn\fR utility initiates an SMTP session with the host
+\fIserver-host\fR and sends one or more \fBETRN\fR commands as follows: If no
+\fIclient-hosts\fR are specified, \fBetrn\fR looks up every host name for which
+\fBsendmail\fR(1M) accepts email and, for each name, sends an \fBETRN\fR
+command with that name as the argument. If any \fIclient-hosts\fR are
+specified, \fBetrn\fR uses each of these as arguments for successive \fBETRN\fR
+commands.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 6n
+.rt
+System boot special case. Make sure localhost is accepting SMTP connections
+before initiating the SMTP session with server-host.
+.sp
+This option is useful because it prevents race conditions between
+\fBsendmail\fR(1M) accepting connections and \fIserver-host\fR attempting to
+deliver queued mail. This check is performed automatically if no
+\fIclient-hosts\fR are specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+The normal mode of operation for \fBetrn\fR is to do all of its work silently.
+The \fB-v\fR option makes it verbose, which causes \fBetrn\fR to display its
+conversations with the remote SMTP server.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+No environment variables are used. However, at system start-up,
+\fBsvc:/network/smtp:sendmail\fR reads \fB/etc/default/sendmail\fR. In this
+file, if the variable \fBETRN_HOSTS\fR is set, \fBsvc:/network/smtp:sendmail\fR
+parses this variable and invokes \fBetrn\fR appropriately. \fBETRN_HOSTS\fR
+should be of the form:
+.sp
+.in +2
+.nf
+"s1:c1.1,c1.2 s2:c2.1 s3:c3.1,c3.2,c3.3"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+That is, white-space separated groups of \fIserver:client\fR where \fIclient\fR
+can be one or more comma-separated names. The \fI:client\fR part is optional.
+\fIserver\fR is the name of the server to prod; a mail queue run is requested
+for each \fIclient\fR name. This is comparable to running:
+.sp
+.in +2
+.nf
+/usr/lib/sendmail -qR \fIclient\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+on the host \fIserver\fR.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBetrn\fR
+.sp
+.LP
+Inserting the line:
+
+.sp
+.in +2
+.nf
+ETRN_HOSTS="s1.domain.com:clnt.domain.com s2.domain.com:clnt.domain.com"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+in \fB/etc/default/sendmail\fR results in \fBsvc:/network/smtp:sendmail\fR
+invoking \fBetrn\fR such that \fBETRN\fR commands are sent to both
+\fBs1.domain.com\fR and \fBs2.domain.com\fR, with both having
+\fBclnt.domain.com\fR as the \fBETRN\fR argument.
+
+.sp
+.LP
+The line:
+
+.sp
+.in +2
+.nf
+ETRN_HOSTS="server.domain.com:client1.domain.com,client2.domain.com"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+results in two \fBETRN\fR commands being sent to \fBserver.domain.com\fR, one
+with the argument \fBclient1.domain.com\fR, the other with the argument
+\fBclient2.domain.com\fR.
+
+.sp
+.LP
+The line:
+
+.sp
+.in +2
+.nf
+ETRN_HOSTS="server1.domain.com server2.domain.com"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+results in set of a \fBETRN\fR commands being sent to both
+\fBserver1.domain.com\fR and \fBserver2.domain.com\fR; each set contains one
+\fBETRN\fR command for each host name for which \fBsendmail\fR(1M) accepts
+email, with that host name as the argument.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/sendmail.cf\fR\fR
+.ad
+.RS 25n
+.rt
+\fBsendmail\fR configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/sendmail\fR\fR
+.ad
+.RS 25n
+.rt
+Variables used by \fBsvc:/network/smtp:sendmail\fR
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsendmail\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+RFC 1985
+.SH NOTES
+.sp
+.LP
+Not all SMTP servers support \fBETRN\fR.
diff --git a/usr/src/man/man1m/fbconf_xorg.1m b/usr/src/man/man1m/fbconf_xorg.1m
new file mode 100644
index 0000000000..a38b13d799
--- /dev/null
+++ b/usr/src/man/man1m/fbconf_xorg.1m
@@ -0,0 +1,809 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fbconf_xorg 1M "26 Jan 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fbconf_xorg \- configure frame buffer devices for Xorg
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/fbconfig/fbconf_xorg\fR [\fB-dev\fR \fIdevice-file\fR]
+ [\fB-file\fR machine | system | \fIconfig-path\fR]
+ [\fB-res\fR \fIvideo-mode\fR [nocheck | noconfirm]]
+ [\fIdevice-specific-options\fR]
+ [\fB-defaults\fR] [\fB-prconf\fR] [\fB-predid\fR [raw] [parsed]] [\fB-propt\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/fbconfig/fbconf_xorg\fR [\fB-dev\fR \fIdevice-file\fR] [\fB-prconf\fR] [\fB-propt\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/fbconfig/fbconf_xorg\fR [\fB-dev\fR \fIdevice-file\fR] [\fB-help\fR] [\fB-res\fR ?]
+.fi
+
+.LP
+.nf
+For \fBkfb\fR devices:
+.fi
+
+.LP
+.nf
+\fB/usr/lib/fbconfig/fbconf_xorg\fR [\fB-dev\fR \fIdevice-file\fR]
+ [\fB-file\fR machine | system | \fIconfig-path\fR]
+ [\fB-res\fR \fIvideo-mode\fR [nocheck | noconfirm]]
+ [\fB-deflinear\fR true | false] [\fB-defoverlay\fR true | false]
+ [\fB-deftransparent\fR true | false]
+ [\fB-doublehigh\fR enable | disable]
+ [\fB-g\fR \fIgamma-correction-value\fR]
+ [\fB-multisample\fR available | disable | forceon]
+ [-\fBoffset\fR \fIx-val\fR \fIy-val\fR] [\fB-samples\fR 1 | 2 | 4 | 8 | 16 ]
+ [\fB-slave\fR disable | multiview] [\fB-stereo\fR true | false]
+ [\fB-defaults\fR] [\fB-prconf\fR] [\fB-predid\fR [raw] [parsed]] [\fB-propt\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfbconf_xorg\fR utility configures Frame Buffer devices and some of the
+X11 window system defaults for Xorg by updating the \fBxorg.conf\fR
+configuration file.
+.sp
+.LP
+The first \fBfbconf_xorg\fR command form shown in the \fBSYNOPSIS\fR section
+stores the specified option values in the \fBxorg.conf\fR configuration file.
+These settings are used to initialize the frame buffer device the next time the
+window system is run on that device. The persistence of these settings across
+window system sessions and system reboots is determined by the \fBxorg.conf\fR
+file.
+.sp
+.LP
+The second and third command forms display information, and do not alter the
+\fBxorg.conf\fR file. The presence of the \fB-help\fR and/or \fB-res\fR \fB?\fR
+options will cause any other option (not shown in the third form) to be
+ignored.
+.sp
+.LP
+You can configure only one frame buffer device at a time. To configure multiple
+devices, invoke the \fBfbconf_xorg\fR utility separately for each device.
+.sp
+.LP
+Only frame buffer device options can be specified with \fBfbconf_xorg\fR. Use
+the normal window system options to specify default depth (see
+\fBsvccfg\fR(1M)), default visual class, and so forth. Specify these as device
+modifiers on the command line. See\fI Xserver(1)\fR, part of the OpenWindows,
+not the SunOS, man page collection.
+.sp
+.LP
+You can specify which \fBxorg.conf\fR file to open. By default,
+\fBfbconf_xorg\fR opens the machine-specific file, \fB/etc/X11/xorg.conf\fR.
+Use the \fB-file\fR option to specify an alternate file. For example, the
+system-global file, \fB/usr/X11/xorg.conf\fR, can be opened instead.
+.sp
+.LP
+These standard \fBxorg.conf\fR files can be written only by the superuser or
+someone with the Primary Administrator role. Consequently, the
+\fBfbconf_xorg\fR program is run with setuid root permission.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported for all frame buffer devices:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-defaults\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets configuration options for the specified device to their default values.
+This does not affect the \fB-res\fR video mode setting. See the device-specific
+portions of the \fBDEFAULTS\fR section below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-dev\fR \fIdevice-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the frame buffer device by either its full pathname or simple
+filename (for example, \fB/dev/fbs/kfb0\fR or \fBkfb0\fR). Pathnames of
+installed devices can be displayed using the \fB-list\fR option to
+\fBfbconfig\fR(1M). If the \fB-dev\fR option is omitted, the default device,
+\fB/dev/fb\fR, is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-file\fR \fBmachine\fR | \fBsystem\fR | \fIconfig-path\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies which \fBxorg.conf\fR file to open. If \fBmachine\fR is specified,
+the machine-specific \fB/etc/X11/xorg.conf\fR file is opened. If system is
+specified, the global \fB/usr/X11/xorg.conf\fR file is opened. The absolute
+pathname of a configuration file can be used instead. If the specified file
+does not exist and is to be updated, it will be created. The file system that
+will contain the \fBxorg.conf\fR file must be writeable by someone with
+superuser-like privileges. This option has no effect unless other options are
+specified. The default is \fBmachine\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the \fBfbconf_xorg\fR command line options that are supported in
+conjunction with the frame buffer device, along with a brief explanation of
+each option. The frame buffer device can be specified using the \fB-dev\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-prconf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the current configuration for the frame buffer device and attached
+display device(s). The frame buffer device can be specified using the
+\fB-dev\fR option.
+.sp
+The \fB-prconf\fR output might resemble:
+.sp
+.in +2
+.nf
+Monitor/Resolution Information:
+ Monitor manufacturer: SUN
+ Product Code: 4
+ Serial Number: 12212555
+ Manufacture date: 2000, week 9
+ EDID Version: 1.1
+ Monitor dimensions: 36x29 cm
+ Default Gamma: 2.62
+ Monitor preferred resolution: SUNW_STD_1280x1024x60
+ Monitor supported resolutions from EDID: SUNW_STD_1280x1024x60,
+ SUNW_STD_1280x1024x76, 1152x900x66, VESA_STD_1280x1024x75,
+ VESA_STD_1280x1024x60, SUNW_STD_1152x900x66,
+ VESA_STD_720x400x70, VESA_STD_640x480x60,
+ VESA_STD_640x480x67, VESA_STD_640x480x72,
+ VESA_STD_640x480x75, VESA_STD_800x600x56,
+ VESA_STD_800x600x60, VESA_STD_800x600x72,
+ VESA_STD_800x600x75, VESA_STD_832x624x75,
+ VESA_STD_1024x768x60, VESA_STD_1024x768x70, 1024x768x75
+ Current resolution setting: FALLBACK_1152x900x66
+
+Framelock Configuration:
+ Slave Mode: Disabled
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-predid\fR [\fBraw\fR] [\fBparsed\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display the E-EDID (Enhanced Extended Display Identification Data) information
+obtained from the display device(s), which must be online, connected to the
+frame buffer. The frame buffer device can be specified using the \fB-dev\fR
+option. The output will be raw hexadecimal and/or human-readable (parsed) text.
+The default is parsed.
+.sp
+The \fB-predid\fR raw output might resemble:
+.sp
+.in +2
+.nf
+--- EDID Data for /dev/fbs/kfb0 ---
+
+Block 0: EDID Base Block
+ 0x00: 00 FF FF FF FF FF FF 00 04 43 06 F2 01 00 00 00
+ 0x10: 01 11 01 04 0F 2B 20 78 2B 9C 68 A0 57 4A 9B 26
+ 0x20: 12 48 4C FF FF 80 A9 59 A9 4F A9 4A A9 45 81 99
+ 0x30: 81 80 61 59 45 59 48 3F 40 30 62 B0 32 40 40 C0
+ 0x40: 13 00 AB 40 11 00 00 1E 00 00 00 FD 00 32 5A 1E
+ 0x50: 6E 17 04 11 00 C8 90 00 50 3C 00 00 00 F7 00 0A
+ 0x60: F7 0F 03 87 C0 00 00 00 00 00 00 00 00 00 00 FC
+ 0x70: 00 41 42 43 20 4C 43 44 32 31 0A 20 20 20 00 0B
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-propt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display all option settings for the frame buffer device, either as they
+currently are or as they will be represented in the \fBxorg.conf\fR
+configuration file when \fBfbconf_xorg\fR completes. The device can be
+specified using the \fB-dev\fR option, and the file using the \fB-file\fR
+option.
+.sp
+The \fB-propt\fR output might resemble:
+.sp
+.in +2
+.nf
+ --- Graphics Configuration for /dev/fbs/kfb0 ---
+
+ xorg.conf: machine -- /etc/X11/xorg.conf
+ Screen section: "kfb0"
+ Device section: "kfb0"
+ Monitor section: "kfb0"
+
+ Video Mode: SUNW_STD_1280x1024x76
+ StereoEnable: False
+
+ Multisample Information:
+ Multisample Mode: Disable
+ Samples Per Pixel: 4
+
+ Screen Information:
+ DoubleWide: Disabled
+ DoubleHigh: Disabled
+ Offset/Overlap: [0, 0]
+
+ Visual Information:
+ Default Visual: Non-Linear Normal Visual
+ Gamma Correction Value: Using gamma value 2.22
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-res\fR \fB?\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a list of video modes that can be used with the \fB-res\fR
+\fIvideo-mode\fR option.
+.sp
+The \fB?\fR argument may need to be escaped or placed in quotes (\e?, "?",
+or '?'), to protect it from misinterpretation by the shell.
+.sp
+The \fB-res\fR \fB?\fR output might resemble:
+.sp
+.in +2
+.nf
+ Video modes accepted by the -res option:
+ AUTO [1][2]
+ NONE [1][2]
+ SUNW_STD_1920x1200x75
+ SUNW_STD_1920x1200x70
+ SUNW_DIG_1920x1200x60
+ SUNW_STD_1920x1080x72
+ SUNW_DIG_1920x1080x60
+ ...
+ ...
+ VESA_STD_640x480x75 [1]
+ VESA_STD_640x480x72 [1]
+ VESA_STD_640x480x60 [1]
+
+ [1] Resolution is supported by monitor
+ [2] Preferred resolution for monitor
+.fi
+.in -2
+.sp
+
+Abbreviations such as "\fB1280x1024x75\fR" might also be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-res\fR \fIvideo-mode\fR [\fBnocheck\fR | \fBnoconfirm\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Set the video mode for the display device that is connected to the frame buffer
+device.
+.sp
+A list of video modes can be displayed using the \fB-res\fR \fB?\fR option.
+.sp
+The basic format of a video-mode is \fIwidth\fRx\fIheight\fRx\fIrate\fR, where:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIwidth\fR is the screen width in pixels.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIheight\fR is the screen height in pixels.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIrate\fR is the vertical frequency of the screen refresh.
+.RE
+A video-mode argument may have an \fB@\fR (at sign) instead of \fBx\fR
+preceding the refresh rate. For instance, \fB1280x1024x76\fR and
+\fB1280x1024@76\fR are equivalent.
+.sp
+A video-mode name may carry additional information, as with
+\fBSUNW_STD_1280x1024x76\fR.
+.sp
+The \fB-res\fR argument, \fBauto\fR, represents the video mode that is
+currently programmed into the device. The argument, \fBnone\fR, is a synonym
+for \fBauto\fR.
+.sp
+Note that some video modes might be inappropriate for certain frame buffer
+devices and/or display devices.
+.sp
+The \fB-res\fR option accepts suboption keywords following the video-mode
+specification.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnocheck\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBnocheck\fR suboption causes the video-mode argument to be accepted,
+regardless of whether it is supported by the currently attached monitor,
+whether it is known within the current configuration, and so forth. Note that
+using an unchecked, inappropriate video mode can leave the system without
+usable video output. This suboption is useful if a different monitor is to be
+connected to the frame buffer device. This suboption also implies
+\fBnoconfirm\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoconfirm\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the video-mode argument is unable to be validated, the default action is to
+display a warning message and ask the user whether to continue. The
+\fBnoconfirm\fR suboption suppresses this confirmation request. This suboption
+is useful when \fBfbconf_xorg\fR is being run from a shell script.
+.RE
+
+.RE
+
+.sp
+.LP
+The following device-specific options are supported for certain frame buffer
+devices. Unless specified otherwise, these options do not take effect until the
+user logs out and back in.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-deflinear\fR \fBtrue\fR | \fBfalse\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option selects the default X visual. Two types of visuals are supported,
+linear and nonlinear. Linear visuals are gamma corrected. Nonlinear visuals are
+not.
+.sp
+If the value of this option is \fBtrue\fR, the default visual is set to default
+depth 24 and the default class is \fBTrueColor\fR with gamma correction
+enabled. If \fBfalse\fR, a nonlinear visual that satisfies the other default
+visual selection options, such as the default depth and default class, is
+chosen as the default visual.
+.sp
+The \fB-deflinear\fR, \fB-defoverlay\fR, and \fB-deftransparent\fR options each
+select the default X visual. Only one of these may be enabled at a time.
+Enabling one causes the others to be disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-defoverlay\fR \fBtrue\fR | \fBfalse\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option selects the default X visual. The \fBkfb\fR device provides an
+8-bit PseudoColor visual whose pixels are disjoint from the rest of the
+visuals. This is called the overlay visual. Windows created in this visual will
+not damage windows created in other visuals. The converse, however, is not
+true: Windows created in other visuals will damage overlay windows.
+.sp
+If the value of this option is \fBtrue\fR, the overlay visual is the default
+visual. The default depth is 8-bit and the default class is PseudoColor. If
+\fBfalse\fR, the non-overlay visual that satisfies the other default visual
+selection options, such as the default depth and the default class, is chosen
+as the default visual.
+.sp
+The \fB-deflinear\fR, \fB-defoverlay\fR, and \fB-deftransparent\fR options each
+select the default X visual. Only one of these may be enabled at a time.
+Enabling one causes the others to be disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-deftransparent\fR \fBtrue\fR | \fBfalse\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option selects the default X visual. The \fBkfb\fR device provides an
+8-bit PseudoColor visual whose pixels are disjoint from the rest of the
+visuals. This is called the overlay visual. Windows created in this visual will
+not damage windows created in other visuals.
+.sp
+If the value of this option is \fBtrue\fR, the overlay visual used as the
+default is a transparent overlay visual. A visual with transparency supports a
+colormap with 255 colors and one transparent pixel. The default depth is 8-bit
+and the default class is PseudoColor. If \fBfalse\fR, the nonoverlay visual
+that satisfies the other default visual selection options, such as the default
+depth and the default class, is chosen as the default visual.
+.sp
+The \fB-deflinear\fR, \fB-defoverlay\fR, and \fB-deftransparent\fR options each
+select the default X visual. Only one of these may be enabled at a time.
+Enabling one causes the others to be disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-doublehigh\fR \fBenable\fR | \fBdisable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configures the two outputs of the frame buffer device into one vertical virtual
+display. The default is \fBdisable\fR. The \fB-doublewide\fR and
+\fB-doublehigh\fR options are mutually exclusive. Enabling one causes the other
+to be disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-doublewide\fR \fBenable\fR | \fBdisable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configures the two outputs of the frame buffer device into one horizontal
+virtual display. The default is \fBdisable\fR. The \fB-doublewide\fR and
+\fB-doublehigh\fR options are mutually exclusive. Enabling one causes the other
+to be disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgamma-correction-value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the gamma correction value. All linear visuals provide gamma correction.
+The gamma correction value should be in the range, \fB0.1\fR to \fB10.0\fR. The
+default is \fB2.22\fR. This option can be used while the window system is
+running. Changing the gamma correction value affects all of the windows
+displayed by linear visuals.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-gfile\fR \fIgamma-correction-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Loads the gamma correction table from the file specified by
+\fIgamma-correction-file\fR. This text file specifies the gamma correction
+values for the R, G, and B channels. Three consecutive values form an RGB
+triplet. For a \fBkfb\fR device, there must be exactly 256 RGB triplets. A
+value may be represented in hexadecimal, decimal, or octal format (for example,
+\fB0x3FF\fR, \fB1023\fR, or \fB01777\fR, respectively). Values are separated by
+one or more whitespace or new line characters. Comments begin with a hash sign
+character (\fB#\fR) and end at the end of the line.
+.sp
+You can load the gamma correction table with this option while the window
+system is running. The new gamma correction affects all the windows being
+displayed using the linear visuals. When gamma correction is done using a
+user-specified table, the gamma correction value (\fB-g\fR) is undefined. By
+default, the window system assumes a gamma correction value of \fB2.22\fR and
+loads the gamma table it creates corresponding to this value.
+.sp
+The following is an example of a \fIgamma-correction-file\fR file:
+.sp
+.in +2
+.nf
+ # Gamma Correction Table
+ 0x00 0x00 0x00
+ 0x01 0x01 0x01
+ 0x02 0x02 0x02
+ ... ... ...
+ ... ... ...
+ 0xFF 0xFF 0xFF
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-multisample\fR \fBavailable\fR | \fBdisable\fR | \fBforceon\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set to disable, no multisample is possible. If set to available, multisample
+is possible but is selected on a per-window basis using a library interface. If
+set to \fBforceon\fR, all Sun OpenGL windows are rendered using multisampling.
+To query the number of samples used, specify the \fB-propt\fR option or run the
+\fBxglinfo\fR utility. The \fBxglinfo\fR utility can return the number of
+multisamples if \fB-multisample\fR is set to available. The default is
+\fBdisable\fR. \fBxglinfo\fR is described in the \fBxglinfo(1)\fR man page, in
+the Sun OpenGL man page collection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-offset\fR \fIx-val\fR \fIy-val\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adjusts the position of the specified stream by the value specified. This
+option is only implemented in \fB-doublewide\fR and \fB-doublehigh\fR modes.
+For \fB-doublewide\fR, use the \fIx-val\fR to position the rightmost stream.
+Negative is left (overlaps with the left stream). For \fB-doublehigh\fR, use
+the \fIy-val\fR to position the bottom stream. Negative is up (overlaps with
+top stream). The default is \fB[0,0]\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-samples\fR \fB1\fR | \fB2\fR | \fB4\fR | \fB8\fR | \fB16\fR\fR
+.ad
+.sp .6
+.RS 4n
+Requests the number of samples to compute per display pixel. The requested
+number of samples per pixel is used if \fB-multisample\fR is not disabled and
+resources exist for the request. To query the number of samples used, specify
+the \fB-propt\fR option or run the \fBxglinfo\fR utility. The \fBxglinfo\fR
+utility can return the number of multisamples after you specify the option
+\fB-multisample\fR available. The default is \fB4\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-slave\fR \fBdisable\fR | \fBmultiview\fR\fR
+.ad
+.sp .6
+.RS 4n
+If you set the \fBmultiview\fR argument for the \fB-slave\fR option, the device
+synchronizes video with a master through the multiview genlock ribbon cable.
+The system should be powered off whenever connecting or disconnecting this
+cable. Both devices should be running the same resolution and the option should
+be issued when the window system is running. The default is \fBdisable\fR.
+.RE
+
+.SH DEFAULTS
+.sp
+.LP
+Certain options have implied default arguments. The default argument is used
+when the option is not present on the \fBfbconf_xorg\fR command line. For
+instance, a default argument for \fB-dev\fR is \fB/dev/fb\fR.
+.sp
+.LP
+Options that set configuration state do not have implied defaults. The
+\fB-res\fR option is one example. If a configuration option is omitted from the
+\fBfbconf_xorg\fR command line, the corresponding \fBxorg.conf\fR configuration
+setting will remain unchanged. The exception is that if configuration options
+are mutually exclusive, setting one will automatically unset each of the
+others. An example is \fB-deflinear\fR, \fB-defoverlay\fR, and
+\fB-deftransparent\fR.
+.sp
+.LP
+If a configuration setting is not present in the configura tion file when the
+window system is run, a default value will be used. For instance, the default
+state associated with \fB-res\fR is \fBauto\fR. A setting might not be present
+in the file, or the file itself might not exist, until \fBfbconf_xorg\fR has
+been invoked with the corresponding command line option.
+.sp
+.LP
+The \fB-defaults\fR option sets the default values for most configuration
+settings.
+.sp
+.LP
+Options and their defaults are shown below.
+.sp
+.LP
+Device-independent defaults:
+.sp
+.in +2
+.nf
+ Option Default Argument
+ -dev /dev/fb
+ -file machine
+
+ Option Default State
+ -res auto
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBkfb\fR-specific defaults:
+.sp
+.in +2
+.nf
+ Option Default State or -defaults Value
+ -deflinear false
+ -defoverlay false
+ -deftransparent false
+ -doublehigh disable
+ -doublewide disable
+ -g 2.22
+ -multisample disable
+ -offset 0 0
+ -samples 4
+ -slave disable
+ -stereo false
+.fi
+.in -2
+.sp
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSwitching the Resolution of the Monitor Type
+.sp
+.LP
+The following example sets the video mode for the monitor on the
+\fB/dev/fbs/kfb0\fR device to 1280 x 1024 at 76 Hz:
+
+.sp
+.in +2
+.nf
+example% \fBfbconf_xorg -dev kfb0 -res 1280x1024x76\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Execution completed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command line usage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/fb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Symbolic link to the default frame buffer device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/fbs/kfb\fIn\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Device special file for a \fBkfb\fR frame buffer
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/fbconfig/SunModes_xorg.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Video mode definitions included in new configuration files.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfbconfig\fR(1M), \fBsvccfg\fR(1M), \fBattributes\fR(5), \fBkfb\fR(7D),
+\fBfbio\fR(7I)
+.sp
+.LP
+See the \fIXorg(1)\fR and \fIXserver(1)\fR man pages in the X Server man page
+collection and the \fIxglinfo(1)\fR man page in the Sun OpenGL man page
+collection.
diff --git a/usr/src/man/man1m/fcinfo.1m b/usr/src/man/man1m/fcinfo.1m
new file mode 100644
index 0000000000..ac68c49cee
--- /dev/null
+++ b/usr/src/man/man1m/fcinfo.1m
@@ -0,0 +1,1281 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fcinfo 1M "26 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fcinfo, fcadm \- Fibre Channel HBA Port Command Line Interface
+.SH SYNOPSIS
+.LP
+.nf
+\fBfcinfo\fR hba-port [\fB-lite\fR] [\fIHBA_port_WWN\fR]...
+.fi
+
+.LP
+.nf
+\fBfcadm\fR hba-port [\fB-lite\fR] [\fIHBA_port_WWN\fR]...
+.fi
+
+.LP
+.nf
+\fBfcinfo\fR remote-port [\fB-ls\fR] [\fB-p\fR \fIHBA_port_WWN\fR]
+ [\fIREMOTE_port_WWN\fR]...
+.fi
+
+.LP
+.nf
+\fBfcadm\fR remote-port [\fB-ls\fR] [\fB-p\fR \fIHBA_port_WWN\fR]
+ [\fIREMOTE_port_WWN\fR]...
+.fi
+
+.LP
+.nf
+\fBfcinfo\fR logical-unit | lu [\fB-v\fR] [OS \fIdevice_path\fR]
+.fi
+
+.LP
+.nf
+\fBfcadm\fR logical-unit | lu [\fB-v\fR] [OS \fIdevice_path\fR]
+.fi
+
+.LP
+.nf
+\fBfcadm\fR create-npiv-port \fB-p\fR \fIVirtual_Port_WWN\fR [\fB-n\fR \fIVirtual_Node_WWN\fR]
+ \fIPhysicalPort_port_WWN\fR
+.fi
+
+.LP
+.nf
+\fBfcadm\fR delete-npiv-port \fB-p\fR \fIVirtual_Port_WWN\fR [\fB-n\fR \fIVirtual_Node_WWN\fR]
+ \fIPhysicalPort_port_WWN\fR
+.fi
+
+.LP
+.nf
+\fBfcadm\fR create-fcoe-port [\fB-tf\fR] \fB-p\fR \fIPort_WWN\fR [\fB-n\fR \fINode_WWN\fR]
+ \fIMAC_Interface\fR
+.fi
+
+.LP
+.nf
+\fBfcadm\fR delete-fcoe-port \fIMAC_Interface\fR
+.fi
+
+.LP
+.nf
+\fBfcadm\fR list-fcoe-ports \fIMAC_Interface\fR
+.fi
+
+.LP
+.nf
+\fBfcadm\fR force-lip \fIPort_WWN\fR
+.fi
+
+.LP
+.nf
+\fBfcinfo\fR [\fB-V\fR]
+.fi
+
+.LP
+.nf
+\fBfcadm\fR [\fB-V\fR]
+.fi
+
+.LP
+.nf
+\fBfcinfo\fR [\fB-?\fR]
+.fi
+
+.LP
+.nf
+\fBfcadm\fR [\fB-?\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfcinfo\fR and \fBfcadm\fR are command line interfaces that collect
+administrative information on fibre channel host bus adapter (\fBHBA\fR) ports
+on a host. They also collect data on any fibre channel targets that might be
+connected to those ports in a Storage Area Network (\fBSAN\fR).
+.sp
+.LP
+A port can be either in initiator mode or target mode. The same FC attribute
+information and remote port information are applied to both the initiator and
+the target modes port except that SCSI-related operations described below do
+not apply for the target mode port.
+.SS "SUBCOMMANDS"
+.sp
+.LP
+The following subcommands are supported by both \fBfcinfo\fR and \fBfcadm\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhba-port\fR\fR
+.ad
+.RS 21n
+.rt
+Lists information for the \fBHBA\fR port referenced by the specified
+\fIHBA_port_WWN\fR. If \fIHBA_port_WWN\fR is not specified, all initiator mode
+and target mode fibre channel \fBHBA\fR ports on the host will be listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremote-port\fR\fR
+.ad
+.RS 21n
+.rt
+Lists the \fIremote-port\fR information for those remote ports that are
+specified. If no \fIREMOTE_port_WWN\fR is specified, all remote ports that are
+visible through \fIHBA_port_WWN\fR are listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogical-unit\fR | \fBlu\fR\fR
+.ad
+.RS 21n
+.rt
+Lists the logical unit referenced by the specified \fIdevice_path\fR. If
+\fIdevice_path\fR is not specified, all fibre channel logical units will be
+listed. This subcommand applies only to the initiator mode.
+.RE
+
+.sp
+.LP
+The following subcommands, which administer N_Port ID Virtualization (NPIV) HBA
+ports, are supported only by \fBfcadm\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate-npiv-port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an NPIV virtual port on the specified adapter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete-npiv-port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete an NPIV virtual port. This delete only ports create by \fBfcadm\fR.
+.RE
+
+.sp
+.LP
+The following subcommands, which administer Fibre Channel over Ethernet (FCoE)
+ports, are supported only by \fBfcadm\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate-fcoe-port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a FCoE port associated with the given MAC interface and the given
+\fIPort_WWN\fR/\fINode_WWN\fR. If \fB-p\fR or \fB-n\fR is not specified, the
+Port WWN or Node WWN will be generated automatically. If the specified MAC
+interface does not support multiple unicast address, no FCoE port will be
+created and you receive a message indicating that you can add an \fB-f\fR
+option to force enabling promiscuous mode on the specified MAC interface to
+enable FCoE.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete-fcoe-port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the FCoE port associated with the specified MAC interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-fcoe-ports\fR\fR
+.ad
+.sp .6
+.RS 4n
+List information of FCoE ports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBforce-lip\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force the link to reinitialize. When issuing this subcommand on the target
+port side, causes a reset of the target port. When issuing it from the host
+port side, resets the host port. When an FC switch is connected, other FC ports
+in the SAN will get a RSCN (Remote State Change Notification). Furthermore,
+other initiators will always rediscover the port after this, and the FC login
+session will be established or reused. Also, I/Os will be continued. This
+command is disruptive to I/Os, but it is not destructive, as it does not cause
+any data loss.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR, \fB--fcoe\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the information for all FCoE ports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--fcoe-promiscuous\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with \fBcreate-fcoe-port\fR to create an FCoE port on a MAC interface
+associated with a NIC that does not support multiple unicast address.
+Promiscuous mode will be enabled for the specified MAC interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR, \fB--linkstat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the link error statistics information for the port referenced by the
+specified \fIHBA_port_WWN\fR or \fIREMOTE_port_WWN\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIHBA_node_WWN\fR, \fB--node\fR \fIHBA_node_WWN\fR\fR
+.ad
+.sp .6
+.RS 4n
+When used with NPIV options, specify a virtual node WWN. If used with
+\fBcreate-npiv-port\fR, it can be omitted, and a random based WWN will be used.
+It is mandatory for \fBdelete-npiv-port\fR.
+.sp
+When used with \fBcreate-fcoe-port\fR subcommand, specify the node WWN for the
+FCoE port. It can be omitted, in which case a WWN will be generated based on
+the MAC address of the specified MAC interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIHBA_port_WWN\fR, \fB--port\fR \fIHBA_port_WWN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Retrieve remote port information from the \fIHBA_port_WWN\fR of the local
+\fBHBA\fR port on the host. When used with the \fBremote-port\fR subcommand,
+the \fB-p\fR option is mandatory.
+.sp
+When used with NPIV options, specify a virtual port WWN. If used with
+\fBcreate-npiv-port\fR, it can be omitted, and a random based WWN will be used.
+It is mandatory for \fBdelete-npiv-port\fR.
+.sp
+When used with \fBcreate-fcoe-port\fR subcommand, specify the port WWN for the
+FCoE port. It can be omitted, in which case a WWN will be generated based on
+the MAC address of the specified MAC interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--scsi-target\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the \fBSCSI\fR target information for all remote ports the user has asked
+for. The \fB-p\fR, \fB--port\fR option must always be specified and must be a
+valid \fBHBA\fR port on the host. This \fBHBA\fR port will be used as the
+initiator for which to retrieve the \fBSCSI\fR level target information. Note
+that this will only function on remote port fibre channel World-Wide Names that
+support an FC4 type of \fBSCSI\fR. This option applies only to an initiator
+mode port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR [\fIHBA_node_WWN\fR], \fB-target\fR [\fIHBA_node_WWN\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Lists the information for the port with the target mode referenced by the
+specified \fIHBA_node_WWN\fR or all target mode ports discovered in the host.
+.sp
+When used with \fBcreate-fcoe-port\fR, create a FCoE target mode port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+When used with the \fBlogical-unit\fR subcommand, the \fB-v\fR displays
+additional information for the logical unit, including \fBSCSI\fR vendor and
+product information and device type as well as the \fBFC\fR World-Wide names
+for the local and remote fibre channel ports to which this device is attached.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the version information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the usage information.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRListing All HBA Ports
+.sp
+.LP
+The following command lists all initiator mode fibre channel \fBHBA\fR ports on
+the host:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo hba-port\fR
+
+HBA Port WWN: 210000e08b074cb5
+ Port Mode: Initiator
+ OS Device Name: /dev/cfg/c1
+ Manufacturer: QLogic Corp.
+ Model: 375-3108-xx
+ Firmware Version: 3.3.116
+ FCode/BIOS Version: 1.13.08
+ Serial Number: not available
+ Driver Name: qlc
+ Driver Version: 20070212-2.19
+ Type: N-port
+ State: online
+ Supported Speeds: 1Gb 2Gb
+ Current Speed: 2Gb
+ Node WWN: 200000e08b074cb5
+NPIV Port List:
+ Virtual Port 1:
+ Port WWN: 200000e08b074cb1
+ Node WWN: 200000e08b074cb3
+HBA Port WWN: 210100e08b274cb5
+ Port Mode: Initiator
+ OS Device Name: /dev/cfg/c2
+ Manufacturer: QLogic Corp.
+ Model: 375-3108-xx
+ Firmware Version: 3.3.116
+ FCode/BIOS Version: 1.13.08
+ Serial Number: not available
+ Driver Name: qlc
+ Driver Version: 20070212-2.19
+ Type: N-port
+ State: online
+ Supported Speeds: 1Gb 2Gb
+ Current Speed: 2Gb
+ Node WWN: 200100e08b274cb5
+HBA Port WWN: 210000e08b072ab5
+ Port Mode: Initiator
+ OS Device Name: /dev/cfg/c3
+ Manufacturer: QLogic Corp.
+ Firmware Version: 3.3.116
+ FCode/BIOS Version: 1.13.08
+ Model: 375-3108-xx
+ Serial Number: not available
+ Driver Name: qlc
+ Driver Version: 20070212-2.19
+ Type: L-port
+ State: online
+ Supported Speeds: 1Gb 2Gb
+ Current Speed: 2Gb
+ Node WWN: 200000e08b072ab5
+HBA Port WWN: 210100e08b272ab5
+ Port Mode: Initiator
+ OS Device Name: /dev/cfg/c4
+ Manufacturer: QLogic Corp.
+ Model: 375-3108-xx
+ Firmware Version: 3.3.116
+ FCode/BIOS Version: 1.13.08
+ Serial Number: 0402F00-0549112808
+ Driver Name: qlc
+ Driver Version: 20070212-2.19
+ Type: N-port
+ State: online
+ Supported Speeds: 1Gb 2Gb
+ Current Speed: 2Gb
+ Node WWN: 200100e08b272ab5
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRListing Target Mode HBA Ports
+.sp
+.LP
+The following command lists all target mode fibre channel HBA ports on the
+host:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo hba-port -t\fR
+ HBA Port WWN: 210100e08bb09221
+ Port Mode: Target
+ Port ID: 10700
+ OS Device Name: Not Applicable
+ Manufacturer: QLogic Corp.
+ Model: d30ac7e0
+ Firmware Version: 4.0.109
+ FCode/BIOS Version: N/A
+ Type: F-port
+ State: online
+ Supported Speeds: not established
+ Current Speed: 2Gb
+ Node WWN: 200100e08bb09221
+ HBA Port WWN: 210000e08b909221
+ Port Mode: Target
+ Port ID: 10900
+ OS Device Name: Not Applicable
+ Manufacturer: QLogic Corp.
+ Model: d37ad1e0
+ Firmware Version: 4.0.109
+ FCode/BIOS Version: N/A
+ Type: F-port
+ State: online
+ Supported Speeds: not established
+ Current Speed: 2Gb
+ Node WWN: 200000e08b909221
+ HBA Port WWN: 200000144fc2d508
+ Port Mode: Target
+ Port ID: 9a0025
+ OS Device Name: Not Applicable
+ Manufacturer: Sun Microsystems, Inc.
+ Model: FCoE Virtual FC HBA
+ Firmware Version: N/A
+ FCode/BIOS Version: N/A
+ Serial Number: N/A
+ Driver Name: COMSTAR FCOET
+ Driver Version: 1.0
+ Type: F-port
+ State: online
+ Supported Speeds: 1Gb 10Gb
+ Current Speed: 10Gb
+ Node WWN: 100000144fc2d508
+ HBA Port WWN: 200000144fc2d509
+ Port Mode: Target
+ Port ID: 9a0023
+ OS Device Name: Not Applicable
+ Manufacturer: Sun Microsystems, Inc.
+ Model: FCoE Virtual FC HBA
+ Firmware Version: N/A
+ FCode/BIOS Version: N/A
+ Serial Number: N/A
+ Driver Name: COMSTAR FCOET
+ Driver Version: 1.0
+ Type: F-port
+ State: online
+ Supported Speeds: 1Gb 10Gb
+ Current Speed: 10Gb
+ Node WWN: 100000144fc2d509
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing HBA Ports and Link Statistics
+.sp
+.LP
+The following command lists information for the \fBHBA\fR ports and the link
+statistics for those ports:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo hba-port -l 210000e08b074cb5 210100e08b274cb5\fR
+
+HBA Port WWN: 210000e08b074cb5
+ Port Mode: Initiator
+ OS Device Name: /dev/cfg/c1
+ Manufacturer: QLogic Corp.
+ Model: 375-3108-xx
+ Firmware Version: 3.3.116
+ FCode/BIOS Version: 1.13.08
+ Serial Number: 0402F00-0549112808
+ Driver Name: qlc
+ Driver Version: 20070212-2.19
+ Type: N-port
+ State: online
+ Supported Speeds: 1Gb 2Gb
+ Current Speed: 2Gb
+ Node WWN: 200000e08b074cb5
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+HBA Port WWN: 210100e08b274cb5
+ Port Mode: Initiator
+ OS Device Name: /dev/cfg/c2
+ Manufacturer: QLogic Corp.
+ Model: 375-3108-xx
+ Firmware Version: 3.3.116
+ FCode/BIOS Version: 1.13.08
+ Serial Number: 0402F00-0549112808
+ Driver Name: qlc
+ Driver Version: 20070212-2.19
+ Type: N-port
+ State: online
+ Supported Speeds: 1Gb 2Gb
+ Current Speed: 2Gb
+ Node WWN: 200100e08b274cb5
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRListing All Remote Ports
+.sp
+.LP
+The following command lists all remote ports that are visible through the given
+\fBHBA\fR port:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo remote-port -p 210100e08b274cb5\fR
+
+Remote Port WWN: 50020f230000b4af
+ Active FC4 Types: SCSI
+ SCSI Target: yes
+ Port Symbolic Name: unknown
+ Node WWN: 50020f200000b4af
+Remote Port WWN: 210000e08b07daa6
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200000e08b07daa6
+Remote Port WWN: 20030003ba27c788
+ Active FC4 Types: SCSI
+ SCSI Target: yes
+ Port Symbolic Name: unknown
+ Node WWN: 10000003ba27c788
+Remote Port WWN: 210000e08b096a60
+ Active FC4 Types: SCSI,IP
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200000e08b096a60
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRListing Remote Ports and Link Statistics
+.sp
+.LP
+The following command lists information for the remote ports and the link
+statistics for those ports:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo remote-port -l -p 210100e08b272ab5\fR
+
+Remote Port WWN: 210100e08b296a60
+ Active FC4 Types: SCSI,IP
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b296a60
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 20030003ba27d56d
+ Active FC4 Types: SCSI
+ SCSI Target: yes
+ Port Symbolic Name: unknown
+ Node WWN: 10000003ba27d56d
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 4765165
+ Loss of Signal Count: 4765165
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 210100e08b27f7a6
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b27f7a6
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 50020f230000b897
+ Active FC4 Types: SCSI
+ SCSI Target: yes
+ Port Symbolic Name: unknown
+ Node WWN: 50020f200000b897
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 7
+ Loss of Signal Count: 7
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 210100e08b27daa6
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b27daa6
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 210000e08b074cb5
+ Active FC4 Types: SCSI,IP
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200000e08b074cb5
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 210100e08b296060
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b296060
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRListing All SCSI Targets and Link Statistics
+.sp
+.LP
+The following command lists all remote ports as well as the link statistics and
+\fIscsi-target\fR information:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo remote-port -sl -p 210100e08b272ab5\fR
+
+Remote Port WWN: 210100e08b296a60
+ Active FC4 Types: SCSI,IP
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b296a60
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 20030003ba27d56d
+ Active FC4 Types: SCSI
+ SCSI Target: yes
+ Port Symbolic Name: unknown
+ Node WWN: 10000003ba27d56d
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 4765165
+ Loss of Signal Count: 4765165
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+ LUN: 0
+ Vendor: SUN
+ Product: T4
+ OS Device Name: /dev/rdsk/c4t20030003BA27D56Dd0s2
+ LUN: 1
+ Vendor: SUN
+ Product: T4
+ OS Device Name: /dev/rdsk/c4t20030003BA27D56Dd1s2
+Remote Port WWN: 210100e08b27f7a6
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b27f7a6
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 50020f230000b897
+ Active FC4 Types: SCSI
+ SCSI Target: yes
+ Port Symbolic Name: unknown
+ Node WWN: 50020f200000b897
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 7
+ Loss of Signal Count: 7
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+ LUN: 0
+ Vendor: SUN
+ Product: T300
+ OS Device Name: Unknown
+ LUN: 1
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d1s2
+ LUN: 2
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d2s2
+ LUN: 3
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d3s2
+ LUN: 4
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d4s2
+ LUN: 5
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d5s2
+ LUN: 6
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d6s2
+ LUN: 7
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d7s2
+ LUN: 8
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d8s2
+ LUN: 9
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d9s2
+ LUN: 10
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d10s2
+ LUN: 11
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d11s2
+ LUN: 12
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d12s2
+ LUN: 13
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d13s2
+ LUN: 14
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d14s2
+ LUN: 15
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d15s2
+Remote Port WWN: 210100e08b27daa6
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b27daa6
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 210000e08b074cb5
+ Active FC4 Types: SCSI,IP
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200000e08b074cb5
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+Remote Port WWN: 210100e08b296060
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b296060
+ Link Error Statistics:
+ Link Failure Count: 0
+ Loss of Sync Count: 0
+ Loss of Signal Count: 0
+ Primitive Seq Protocol Error Count: 0
+ Invalid Tx Word Count: 0
+ Invalid CRC Count: 0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRListing SCSI Target Information
+.sp
+.LP
+The following command lists all remote ports as well as the \fIscsi-target\fR
+information:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo remote-port -s -p 210100e08b272ab5\fR
+
+Remote Port WWN: 210100e08b296a60
+ Active FC4 Types: SCSI,IP
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b296060
+Remote Port WWN: 20030003ba27d56d
+ Active FC4 Types: SCSI
+ SCSI Target: yes
+ Port Symbolic Name: unknown
+ Node WWN: 10000003ba27d56d
+ LUN: 0
+ Vendor: SUN
+ Product: T4
+ OS Device Name: /dev/rdsk/c4t20030003BA27D56Dd0s2
+ LUN: 1
+ Vendor: SUN
+ Product: T4
+ OS Device Name: /dev/rdsk/c4t20030003BA27D56Dd1s2
+Remote Port WWN: 210100e08b27f7a6
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b27f7a6
+Remote Port WWN: 50020f230000b897
+ Active FC4 Types: SCSI
+ SCSI Target: yes
+ Port Symbolic Name: unknown
+ Node WWN: 50020f200000b897
+ LUN: 0
+ Vendor: SUN
+ Product: T300
+ OS Device Name: Unknown
+ LUN: 1
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d1s2
+ LUN: 2
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d2s2
+ LUN: 3
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d3s2
+ LUN: 4
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d4s2
+ LUN: 5
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d5s2
+ LUN: 6
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d6s2
+ LUN: 7
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d7s2
+ LUN: 8
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d8s2
+ LUN: 9
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d9s2
+ LUN: 10
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d10s2
+ LUN: 11
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d11s2
+ LUN: 12
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d12s2
+ LUN: 13
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d13s2
+ LUN: 14
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d14s2
+ LUN: 15
+ Vendor: SUN
+ Product: T300
+ OS Device Name: /dev/rdsk/c4t50020F230000B897d15s2
+Remote Port WWN: 210100e08b27daa6
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b27daa6
+Remote Port WWN: 210000e08b074cb5
+ Active FC4 Types: SCSI,IP
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200000e08b074cb5
+Remote Port WWN: 210100e08b296060
+ Active FC4 Types: SCSI
+ SCSI Target: no
+ Port Symbolic Name: unknown
+ Node WWN: 200100e08b296060
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRListing the Logical Unit
+.sp
+.LP
+The following command lists the logical unit:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo logical-unit\fR
+
+/dev/rdsk/c0t600C0FF0000000000036223AE73EB705d0s2
+/dev/rdsk/c0t600C0FF00000000000362272539E5B03d0s2
+/dev/rmt/0n
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRDisplaying Additional Information for the Logical Unit
+.sp
+.LP
+The following command displays additional information about the logical unit
+using the \fB-v\fR option for device \fB/dev/rmt/On\fR:
+
+.sp
+.in +2
+.nf
+# \fBfcinfo lu -v /dev/rmt/On\fR
+
+ OS Device Name: /dev/rmt/0n
+ HBA Port WWN: 210000e07c030b91
+ Remote Port WWN: 21010003b7830a6
+ LUN: 0
+ Vendor: STK
+ Product: 9940A
+ Device Type: Tape device
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command displays additional information about the logical unit
+using the \fB-v\fR option for device
+\fB/dev/rdsk/c0t600C0FF0000000000036223AE73EB705d0s2\fR
+
+.sp
+.in +2
+.nf
+# \fBfcinfo logical-unit -v \e\fR
+ \fB/dev/rdsk/c0t600C0FF0000000000036223AE73EB705d0s2\fR
+
+ OS Device Name: /dev/rdsk/c0t600C0FF0000000000036223AE73EB705d0s2
+ HBA Port WWN: 210100e08b27a8a1
+ Remote Port WWN: 256000c0ffc03622
+ LUN: 0
+ Remote Port WWN: 216000c0ff803622
+ LUN: 0
+ HBA Port WWN: 210000e08b07a8a1
+ Remote Port WWN: 256000c0ffc03622
+ LUN: 0
+ Remote Port WWN: 216000c0ff803622
+ LUN: 0
+ Vendor: SUN
+ Product: StorEdge 3510
+ Device Type: Disk device
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRAdding an NIPV Port
+.sp
+.LP
+The following command adds an NPIV port to the HBA with a port name:
+
+.sp
+.in +2
+.nf
+210000e08b170f1c
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The NPIV port has a port name of \fB2000000000000001\fR and a node name of
+\fB2100000000000001\fR.
+
+.sp
+.in +2
+.nf
+# \fBfcadm create-npiv-port -p 2000000000000001 -n 2100000000000001 \e
+210000e08b170f1c\fR
+
+Created NPIV Port:
+ HBA Port WWN: 2000000000000001
+ Node WWN: 2100000000000001
+ Physical HBA Port WWN: 210000e08b170f1c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRAdding an NIPV Port with Random WWN
+.sp
+.LP
+The following command adds an NPIV port to the HBA with a randomly assigned
+port name of \fB210000e08b170f1c\fR.
+
+.sp
+.in +2
+.nf
+# \fBfcadm create-npiv-port 210000e08b170f1c\fR
+
+Created NPIV Port:
+ HBA Port WWN: 2038295824942801
+ Node WWN: 2100392849248001
+ Physical HBA Port WWN: 210000e08b170f1c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRDeleting an NIPV Port
+.sp
+.LP
+The following command deletes an NPIV port.
+
+.sp
+.in +2
+.nf
+# \fBfcadm delete-npiv-port -p 2000000000000001 -w 2100000000000001 \e
+210000e08b170f1c\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRCreating an FCoE Target Port
+.sp
+.LP
+The following command creates an FCoE port associated with the MAC interface
+\fBnxge0\fR.
+
+.sp
+.in +2
+.nf
+# \fBfcadm create-fcoe-port -t nxge0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRDeleting an FCoE Port
+.sp
+.LP
+The following command deletes the FCoE port associated with the MAC interface
+\fBnxge0\fR.
+
+.sp
+.in +2
+.nf
+# \fBfcadm delete-fcoe-port -t nxge0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 15 \fRListing Information for an FCoE Port
+.sp
+.LP
+The following command lists information for FCoE ports.
+
+.sp
+.in +2
+.nf
+# \fBfcadm list-fcoe-ports\fR
+HBA Port WWN: 200000144fc2d508
+ Port Type: Target
+ MAC Name: nxge0
+ MTU Size: 9194
+ MAC Factory Address: 00144fc2d508
+ MAC Current Address: 00144fc2d508
+HBA Port WWN: 200000144fc2d509
+ Port Type: Target
+ MAC Name: nxge1
+ MTU Size: 9194
+ MAC Factory Address: 00144fc2d509
+ MAC Current Address: 00144fc2d509
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 16 \fRReinitializing the Link of an FC Port
+.sp
+.LP
+The following command forces the link connected with the port
+\fB200000144fc2d508\fR to reinitialize.
+
+.sp
+.in +2
+.nf
+# \fBfcadm force-lip 200000144fc2d508\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
+.SH ERROR MESSAGES
+.sp
+.LP
+Errors that can occur in addition to the errors normally associated with system
+administration commands:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB\fIHBA_port_WWN\fR: not found\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB\fIRemote_port_WWN\fR: not found\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB\fIHBA_port_WWN\fR: NPIV not supported on this HBA\fR
+.RE
diff --git a/usr/src/man/man1m/fdetach.1m b/usr/src/man/man1m/fdetach.1m
new file mode 100644
index 0000000000..e3780fe149
--- /dev/null
+++ b/usr/src/man/man1m/fdetach.1m
@@ -0,0 +1,51 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fdetach 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fdetach \- detach a name from a STREAMS-based file descriptor
+.SH SYNOPSIS
+.LP
+.nf
+\fBfdetach\fR \fIpath\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfdetach\fR command detaches a \fBSTREAMS-based\fR file descriptor from a
+name in the file system. Use the \fIpath\fR operand to specify the path name of
+the object in the file system name space, which was previously attached. See
+\fBfattach\fR(3C).
+.sp
+.LP
+The user must be the owner of the file or a user with the appropriate
+privileges. All subsequent operations on \fIpath\fR will operate on the
+underlying file system entry and not on the \fBSTREAMS\fR file. The permissions
+and status of the entry are restored to the state they were in before the
+\fBSTREAMS\fR file was attached to the entry.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpath\fR\fR
+.ad
+.RS 8n
+.rt
+Specifies the path name of the object in the file system name space, which was
+previously attached.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfattach\fR(3C), \fBfdetach\fR(3C), \fBattributes\fR(5), \fBstreamio\fR(7I)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/fdisk.1m b/usr/src/man/man1m/fdisk.1m
new file mode 100644
index 0000000000..a78ce22214
--- /dev/null
+++ b/usr/src/man/man1m/fdisk.1m
@@ -0,0 +1,918 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fdisk 1M "2 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fdisk \- create or modify fixed disk partition table
+.SH SYNOPSIS
+.LP
+.nf
+\fBfdisk\fR [\fB-o\fR \fIoffset\fR] [\fB-s\fR \fIsize\fR] [\fB-P\fR \fIfill_patt\fR] [\fB-S\fR \fIgeom_file\fR]
+ [\fB-w\fR | \fB-r\fR | \fB-d\fR | \fB-n\fR | \fB-I\fR | \fB-B\fR | \fB-t\fR | \fB-T\fR | \fB-g\fR | \fB-G\fR | \fB-R\fR | \fB-E\fR]
+ [-\fB-F\fR \fIfdisk_file\fR] [ [\fB-v\fR] \fB-W\fR {\fIfdisk_file\fR | \(mi}]
+ [\fB-h\fR] [\fB-b\fR \fImasterboot\fR]
+ [\fB-A\fR \fIid\fR : \fIact\fR : \fIbhead\fR : \fIbsect\fR : \fIbcyl\fR : \fIehead\fR : \fIesect\fR :
+ \fIecyl\fR : \fIrsect\fR : \fInumsect\fR]
+ [\fB-D\fR \fIid\fR : \fIact\fR : \fIbhead:\fR \fIbsect\fR : \fIbcyl\fR : \fIehead:\fR \fIesect\fR :
+ \fIecyl\fR : \fIrsect\fR : \fInumsect\fR] \fIrdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+This command is used to do the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Create and modify an \fBfdisk\fR partition table on x86 systems
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Create and modify an \fBfdisk\fR partition table on removable media on SPARC or
+x86 systems
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Install the master boot record that is put in the first sector of the fixed
+disk on x86 systems only
+.RE
+.sp
+.LP
+This table is used by the first-stage bootstrap (or firmware) to identify parts
+of the disk reserved for different operating systems, and to identify the
+partition containing the second-stage bootstrap (the \fIactive\fR Solaris
+partition). The \fIrdevice\fR argument must be used to specify the raw device
+associated with the fixed disk, for example, \fB/dev/rdsk/c0t0d0p0\fR.
+.sp
+.LP
+The program can operate in three different modes. The first is interactive
+mode. In interactive mode, the program displays the partition table as it
+exists on the disk, and then presents a menu allowing the user to modify the
+table. The menu, questions, warnings, and error messages are intended to be
+self-explanatory.
+.sp
+.LP
+In interactive mode, if there is no partition table on the disk, the user is
+given the options of creating a default partitioning or specifying the initial
+table values. The default partitioning allocates the entire disk for the
+Solaris system and makes the Solaris system partition active. In either case,
+when the initial table is created, \fBfdisk\fR also writes out the first-stage
+bootstrap (x86 only) code along with the partition table. In this mode, (x86
+only) when creating an entry for a non-EFI partition on a disk that is larger
+than 2 TB (terabytes), \fBfdisk\fR warns that the maximum size of the partition
+is 2 TB. Under these conditions percentages displayed by \fBfdisk\fR are based
+on 2 TB.
+.sp
+.LP
+The second mode of operation is used for automated entry addition, entry
+deletion, or replacement of the entire \fBfdisk\fR table. This mode can add or
+delete an entry described on the command line. In this mode the entire
+\fBfdisk\fR table can be read in from a file replacing the original table.
+\fBfdisk\fR can also be used to create this file. There is a command line
+option that will cause \fBfdisk\fR to replace any \fBfdisk\fR table with the
+default of the whole disk for the Solaris system.
+.sp
+.LP
+The third mode of operation is used for disk diagnostics. In this mode, a
+section of the disk can be filled with a user-specified pattern and mode
+sections of the disk can also be read or written.
+.LP
+Note -
+.sp
+.RS 2
+The third mode of operation is not currently supported for extended partitions
+.RE
+.sp
+.LP
+When \fBfdisk\fR creates a partition, the space is allocated in the \fBfdisk\fR
+partition table, but the allocated disk space is not initialized.
+\fBnewfs\fR(1M) is required to create and write file system metadata to the new
+partition, and \fBformat\fR(1M) is required to write the VTOC or EFI/GPT
+metadata.
+.SS "Menu Options"
+.sp
+.LP
+The menu options for interactive mode given by the \fBfdisk\fR program are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCreate a partition\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option allows the user to create a new partition. The maximum number of
+partitions is 4. The program will ask for the type of the partition (SOLARIS,
+MS-DOS, UNIX, or other). It will then ask for the size of the partition as a
+percentage of the disk. The user may also enter the letter \fBc\fR at this
+point, in which case the program will ask for the starting cylinder number and
+size of the partition in cylinders. If a \fBc\fR is not entered, the program
+will determine the starting cylinder number where the partition will fit. In
+either case, if the partition would overlap an existing partition or will not
+fit, a message is displayed and the program returns to the original menu.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBChange Active (Boot from) partition\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option allows the user to specify the partition where the first-stage
+bootstrap will look for the second-stage bootstrap, otherwise known as the
+\fIactive\fR partition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDelete a partition\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option allows the user to delete a previously created partition. Note that
+this will destroy all data in that partition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBChange between Solaris and Solaris2 Partition IDs\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option allows the user to switch between the current \fBfdisk\fR operating
+system partition identifier and the previous one. This does not affect any data
+in the disk partition and is provided for compatibility with older software.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEdit/View extended partitions\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option provides the extended partition menu to the user. Use the extended
+partition menu to add and delete logical drives, change the sysid of the
+logical drives, and display logical drive information. To commit the changes
+made in the extended partition, you must return to the main menu using the
+extended partition submenu option \fBr\fR. There is also an option to display
+the list of options that the extended partition submenu supports. Given below
+is the list:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBa\fR\fR
+.ad
+.RS 5n
+.rt
+Add a logical drive.
+.sp
+Use this submenu option to add a logical drive. There are three pieces of
+information that are required: The beginning cylinder, the size (in cylinders
+or in human readable form - KB, MB, or GB), and the partition ID. While
+specifying the partition ID, there is an option (\fBI\fR) that you can use to
+list the supported partitions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 5n
+.rt
+Delete a logical drive.
+.sp
+Use this submenu option to delete a logical drive. The only input required is
+the number of the logical drive that is to be deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBh\fR\fR
+.ad
+.RS 5n
+.rt
+Display the help menu.
+.sp
+This submenu option displays the supported operations in the extended partition
+submenu.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.RS 5n
+.rt
+Change the id of the logical drive.
+.sp
+Use this submenu option to change the system ID of the existing logical drives.
+A list of supported system IDs is displayed when you use the \fBI\fR option
+when in this submenu.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+Display the logical drive layout.
+.sp
+Displays the logical drive information to stdout. This output reflects any
+changes made during the current run of the \fBfdisk\fR program. The changes are
+not committed to the disk until return to the main menu (using the submenu
+\fBr\fR) and choose the option to commit the changes to the disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 5n
+.rt
+Return to the main \fBfdisk\fR menu.
+.sp
+Exit the extended partition submenu and return to the main menu.
+.RE
+
+.RE
+
+.sp
+.LP
+Use the following options to include your modifications to the partition table
+at this time or to cancel the session without modifying the table:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBExit\fR\fR
+.ad
+.RS 10n
+.rt
+This option writes the new version of the table created during this session
+with \fBfdisk\fR out to the fixed disk, and exits the program.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCancel\fR\fR
+.ad
+.RS 10n
+.rt
+This option exits without modifying the partition table.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options apply to \fBfdisk\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIid:act:bhead:bsect:bcyl:ehead:esect:ecyl:rsect:numsect\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add a partition as described by the argument (see the \fB-F\fR option below for
+the format). Use of this option will zero out the \fBVTOC\fR on the Solaris
+partition if the \fBfdisk\fR table changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fImaster_boot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the file \fImaster_boot\fR as the master boot program. The default
+master boot program is \fB/usr/lib/fs/ufs/mboot\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default to one Solaris partition that uses the whole disk. On an x86 machine,
+if the disk is larger than 2 TB (terabytes), the default size of the Solaris
+partition will be limited to 2 TB.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn on verbose \fIdebug\fR mode. This will cause \fBfdisk\fR to print its
+state on stderr as it is used. The output from this option should not be used
+with \fB-F\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIid:act:bhead:bsect:bcyl:ehead:esect:ecyl:rsect:numsect\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete a partition as described by the argument (see the \fB-F\fR option below
+for the format). Note that the argument must be an exact match or the entry
+will not be deleted! Use of this option will zero out the \fBVTOC\fR on the
+Solaris partition if the \fBfdisk\fR table changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an \fBEFI\fR partition that uses the entire disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIfdisk_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use fdisk file \fIfdisk_file\fR to initialize table. Use of this option will
+zero out the \fBVTOC\fR on the Solaris partition if the \fBfdisk\fR table
+changes.
+.sp
+The \fIfdisk_file\fR contains four specification lines for the primary
+partitions followed by specification lines for the logical drives. You must
+have four lines for the primary partitions if there is at least one logical
+drive. In this case, if the number of primary partitions to be configured is
+less than four, the remaining lines should be filled with zeros.
+.sp
+Each line is composed of entries that are position-dependent, are separated by
+whitespace or colons, and have the following format:
+.sp
+\fIid act bhead bsect bcyl ehead esect ecyl rsect numsect\fR
+.sp
+\&...where the entries have the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIid\fR\fR
+.ad
+.RS 11n
+.rt
+This is the type of partition and the correct numeric values may be found in
+\fBfdisk.h\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIact\fR\fR
+.ad
+.RS 11n
+.rt
+This is the active partition flag; \fB0\fR means not active and \fB128\fR means
+active. For logical drives, this flag will always be set to 0 even if specified
+as 128 by the user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIbhead\fR\fR
+.ad
+.RS 11n
+.rt
+This is the head where the partition starts. If this is set to \fB0\fR,
+\fBfdisk\fR will correctly fill this in from other information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIbsect\fR\fR
+.ad
+.RS 11n
+.rt
+This is the sector where the partition starts. If this is set to \fB0\fR,
+\fBfdisk\fR will correctly fill this in from other information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIbcyl\fR\fR
+.ad
+.RS 11n
+.rt
+This is the cylinder where the partition starts. If this is set to \fB0\fR,
+\fBfdisk\fR will correctly fill this in from other information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIehead\fR\fR
+.ad
+.RS 11n
+.rt
+This is the head where the partition ends. If this is set to \fB0\fR,
+\fBfdisk\fR will correctly fill this in from other information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIesect\fR\fR
+.ad
+.RS 11n
+.rt
+This is the sector where the partition ends. If this is set to \fB0\fR,
+\fBfdisk\fR will correctly fill this in from other information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIecyl\fR\fR
+.ad
+.RS 11n
+.rt
+This is the cylinder where the partition ends. If this is set to \fB0\fR,
+\fBfdisk\fR will correctly fill this in from other information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrsect\fR\fR
+.ad
+.RS 11n
+.rt
+The relative sector from the beginning of the disk where the partition starts.
+This must be specified and can be used by \fBfdisk\fR to fill in other fields.
+For logical drives, you must make sure that there are at least 63 free sectors
+before the \fIrsect\fR specified for a logical drive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInumsect\fR\fR
+.ad
+.RS 11n
+.rt
+The size in sectors of this disk partition. This must be specified and can be
+used by \fBfdisk\fR to fill in other fields.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get the label geometry for disk and display on stdout (see the \fB-S\fR option
+for the format).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get the physical geometry for disk and display on stdout (see the \fB-S\fR
+option for the format).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Issue verbose message; message will list all options and supply an explanation
+for each.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forgo device checks. This is used to generate a file image of what would go on
+a disk without using the device. Note that you must use \fB-S\fR with this
+option (see above).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Don't update \fBfdisk\fR table unless explicitly specified by another option.
+If no other options are used, \fB-n\fR will only write the master boot record
+to the disk. In addition, note that \fBfdisk\fR will not come up in interactive
+mode if the \fB-n\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoffset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Block offset from start of disk. This option is used for \fB-P\fR, \fB-r\fR,
+and \fB-w\fR. Zero is assumed when this option is not used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIfill_patt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Fill disk with pattern \fIfill_patt\fR. \fIfill_patt\fR can be decimal or hex
+and is used as number for constant long word pattern. If \fIfill_patt\fR is
+\fB#\fR, then pattern is block # for each block. Pattern is put in each block
+as long words and fills each block (see \fB-o\fR and \fB-s\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read from disk and write to stdout. See \fB-o\fR and \fB-s\fR, which specify
+the starting point and size of the operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Treat disk as read-only. This is for testing purposes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of blocks to perform operation on (see \fB-o\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIgeom_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the label geometry to the content of the \fIgeom_file\fR. The
+\fIgeom_file\fR contains one specification line. Each line is delimited by a
+new-line character (\fB\n\fR). If the first character of a line is an asterisk
+(*), the line is treated as a comment. Each line is composed of entries that
+are position-dependent, are separated by white space, and have the following
+format:
+.sp
+.in +2
+.nf
+\fIpcyl ncyl acyl bcyl nheads nsectors sectsiz\fR
+.fi
+.in -2
+.sp
+
+where the entries have the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpcyl\fR\fR
+.ad
+.RS 12n
+.rt
+This is the number of physical cylinders for the drive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIncyl\fR\fR
+.ad
+.RS 12n
+.rt
+This is the number of usable cylinders for the drive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIacyl\fR\fR
+.ad
+.RS 12n
+.rt
+This is the number of alt cylinders for the drive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIbcyl\fR\fR
+.ad
+.RS 12n
+.rt
+This is the number of offset cylinders for the drive (should be zero).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInheads\fR\fR
+.ad
+.RS 12n
+.rt
+The number of heads for this drive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInsectors\fR\fR
+.ad
+.RS 12n
+.rt
+The number of sectors per track.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsectsiz\fR\fR
+.ad
+.RS 12n
+.rt
+The size in bytes of a sector.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adjust incorrect slice table entries so that they will not cross partition
+table boundaries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove incorrect slice table entries that span partition table boundaries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Output the HBA (virtual) geometry dimensions. This option must be used in
+conjunction with the \fB-W\fR flag. This option will work for platforms which
+support virtual geometry. (x86 only)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write to disk and read from stdin. See \fB-o\fR and \fB-s\fR, which specify the
+starting point and size of the operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR \fB\(mi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Output the disk table to \fBstdout\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR \fIfdisk_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an \fBfdisk\fR file \fIfdisk_file\fR from disk table. This can be used
+with the \fB-F\fR option below.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/rdsk/c0t0d0p0\fR\fR
+.ad
+.RS 25n
+.rt
+Raw device associated with the fixed disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/fs/ufs/mboot\fR\fR
+.ad
+.RS 25n
+.rt
+Default master boot program.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Architecturex86 and SPARC
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuname\fR(1), \fBfmthard\fR(1M), \fBformat\fR(1M), \fBnewfs\fR(1M),
+\fBprtvtoc\fR(1M), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+Most messages will be self-explanatory. The following may appear immediately
+after starting the program:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFdisk\fR: \fBcannot open\fR <\fBdevice\fR>\fR
+.ad
+.sp .6
+.RS 4n
+This indicates that the device name argument is not valid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFdisk\fR: \fBunable to get device parameters for device\fR
+<\fBdevice\fR>\fR
+.ad
+.sp .6
+.RS 4n
+This indicates a problem with the configuration of the fixed disk, or an error
+in the fixed disk driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFdisk\fR: \fBerror reading partition table\fR\fR
+.ad
+.sp .6
+.RS 4n
+This indicates that some error occurred when trying initially to read the fixed
+disk. This could be a problem with the fixed disk controller or driver, or with
+the configuration of the fixed disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFdisk\fR: \fBerror writing boot record\fR\fR
+.ad
+.sp .6
+.RS 4n
+This indicates that some error occurred when trying to write the new partition
+table out to the fixed disk. This could be a problem with the fixed disk
+controller, the disk itself, the driver, or the configuration of the fixed
+disk.
+.RE
+
diff --git a/usr/src/man/man1m/ff.1m b/usr/src/man/man1m/ff.1m
new file mode 100644
index 0000000000..757955064f
--- /dev/null
+++ b/usr/src/man/man1m/ff.1m
@@ -0,0 +1,272 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ff 1M "10 Feb 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ff \- list file names and statistics for a file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBff\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR] \fIspecial\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBff\fR prints the pathnames and inode numbers of files in the file system
+which resides on the special device \fIspecial\fR. Other information about the
+files may be printed using options described below. Selection criteria may be
+used to instruct \fBff\fR to only print information for certain files. If no
+selection criteria are specified, information for all files considered will be
+printed (the default); the \fB-i\fR option may be used to limit files to those
+whose inodes are specified.
+.sp
+.LP
+Output is sorted in ascending inode number order. The default line produced
+by \fBff\fR is:
+.sp
+.LP
+\fIpath-name\fR \|i-number
+.sp
+.LP
+The maximum information the command will provide is:
+.sp
+.LP
+\fIpath-name\fR \|i-number \|size \|uid
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 19n
+.rt
+Specify the \fIFSType\fR on which to operate. The \fIFSType\fR should either
+be specified here or be determinable from \fB/etc/vfstab\fR by matching the
+\fIspecial\fR with an entry in the table, or by consulting
+\fB/etc/default/fs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 19n
+.rt
+Echo the complete command line, but do not execute the command. The command
+line is generated by using the options and arguments provided by the user and
+adding to them information derived from \fB/etc/vfstab\fR. This option may be
+used to verify and validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 19n
+.rt
+Options that are supported by most FSType-specific modules of the command. The
+following options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.RS 18n
+.rt
+Do not print the i-node number after each path name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 18n
+.rt
+Generate a supplementary list of all path names for multiply-linked files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fI prefix\fR\fR
+.ad
+.RS 18n
+.rt
+The specified \fIprefix\fR will be added to each generated path name. The
+default is `.' (dot).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 18n
+.rt
+Print the file size, in bytes, after each path name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 18n
+.rt
+Print the owner's login name after each path name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fB-\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+Select if the file has been accessed in \fIn\fR days.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fB-\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+Select if the file has been written or created in \fIn\fR days.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fB-\fR\fIn\fR\fR
+.ad
+.RS 18n
+.rt
+Select if file's status has been changed in \fIn\fR days.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fI file\fR\fR
+.ad
+.RS 18n
+.rt
+Select if the file has been modified more recently than the argument
+\fBfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI i-node-list\fR\fR
+.ad
+.RS 18n
+.rt
+Generate names for only those i-nodes specified in \fIi-node-list\fR.
+\fIi-node-list\fR is a list of numbers separated by commas (with no intervening
+spaces).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 19n
+.rt
+Specify \fIFSType\fR-specific options in a comma separated (without spaces)
+list of suboptions and keyword-attribute pairs for interpretation by the
+\fIFSType\fR-specific module of the command.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIspecial\fR\fR
+.ad
+.RS 11n
+.rt
+A special device.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBff\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.RS 19n
+.rt
+default local file system type. Default values can be set for the following
+flags in \fB/etc/default/fs\fR. For example: \fBLOCAL=ufs\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOCAL\fR\fR
+.ad
+.RS 9n
+.rt
+The default partition for a command if no FSType is specified.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 19n
+.rt
+list of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfind\fR(1), \fBncheck\fR(1M), \fBstat\fR(2), \fBvfstab\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5) Manual pages for the
+\fIFSType\fR-specific modules of \fBff\fR.
+.SH NOTES
+.sp
+.LP
+This command may not be supported for all \fIFSTypes\fR.
+.sp
+.LP
+The \fB-a\fR, \fB-m\fR, and \fB-c\fR flags examine the \fBst_atime\fR,
+\fBst_mtime\fR, and \fBst_ctime\fR fields of the \fBstat\fR structure
+respectively. (See \fBstat\fR(2).)
diff --git a/usr/src/man/man1m/ff_ufs.1m b/usr/src/man/man1m/ff_ufs.1m
new file mode 100644
index 0000000000..d1e9da2f9d
--- /dev/null
+++ b/usr/src/man/man1m/ff_ufs.1m
@@ -0,0 +1,77 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ff_ufs 1M "10 Feb 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ff_ufs \- list file names and statistics for a ufs file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBff\fR \fB-F\fR ufs [\fIgeneric_options\fR] [\fB-o\fR a,m,s] \fIspecial\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBff\fR prints the pathnames and inode numbers of files in the file system
+which resides on the special device \fIspecial\fR.
+.sp
+.LP
+See \fBff\fR(1M) for information regarding the \fBff\fR command. See
+\fBOPTIONS\fR for information regarding the ufs-specific options.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Specify \fBufs\fR file system specific options. The following options available
+are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBa\fR\fR
+.ad
+.RS 5n
+.rt
+Print the `\fI\&.\fR' and `\fI\&.\|.\fR' directory entries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+.rt
+Print mode information. This option must be specified in conjunction with the
+\fB\fR\fB-i\fR\fB \fR\fIi-node-list\fR option (see \fBff\fR(1M)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+Print only special files and files with set-user-ID mode.
+.RE
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfind\fR(1), \fBff\fR(1M), \fBncheck\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/fiocompress.1m b/usr/src/man/man1m/fiocompress.1m
new file mode 100644
index 0000000000..4c013cc706
--- /dev/null
+++ b/usr/src/man/man1m/fiocompress.1m
@@ -0,0 +1,134 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fiocompress 1M "10 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fiocompress \- file compression utility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/fiocompress\fR \fB-c\fR [\fB-m\fR] [\fB-b\fR \fIblock_size\fR] \fIinput_file\fR \fIoutput_file\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/fiocompress\fR \fB-d\fR \fIinput_file\fR \fIoutput_file\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfiocompress\fR utility is a file compression tool that works together
+with the \fBdcfs\fR(7FS) file system to perform per-file compression. You can
+use \fBfiocompress\fR to decompress a compressed file or mark a compressed file
+as compressed, causing automatic decompression on read. The primary use of
+\fBfiocompress\fR is to compress files in the boot archive.
+.sp
+.LP
+Note that this utility is not a Committed interface. See \fBattributes\fR(5).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIblock_size\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a block size for compression. The default block size is 8192.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Compress the specified file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Decompress the specified file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mark the compressed file for automatic decompression on read. Can be used only
+in conjunction with \fB-c\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+The command completed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-1\fR\fR
+.ad
+.sp .6
+.RS 4n
+The command exited due to an error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityPrivate
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBboot\fR(1M), \fBbootadm\fR(1M), \fBdcfs\fR(7FS), \fBufs\fR(7FS),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+This compression/decompression utility works only with files stored in a UFS
+file system.
+.sp
+.LP
+There is no obvious way to determine whether a given file is compressed, other
+than copying the file and comparing the number of disk blocks of the copy
+against the original.
diff --git a/usr/src/man/man1m/flowadm.1m b/usr/src/man/man1m/flowadm.1m
new file mode 100644
index 0000000000..a0d2e936f6
--- /dev/null
+++ b/usr/src/man/man1m/flowadm.1m
@@ -0,0 +1,1079 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH flowadm 1M "14 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+flowadm \- administer bandwidth resource control and priority for protocols,
+services, containers, and virtual machines
+.SH SYNOPSIS
+.LP
+.nf
+\fBflowadm show-flow\fR [\fB-pP\fR] [\fB-S\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]] [\fB-l\fR \fIlink\fR]
+ [\fB-o\fR \fIfield\fR[,...]] [\fIflow\fR]
+.fi
+
+.LP
+.nf
+\fBflowadm add-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIlink\fR \fB-a\fR \fIattr\fR=\fIvalue\fR[,...]
+ \fB-p\fR \fIprop\fR=\fIvalue\fR[,...] \fIflow\fR
+\fBflowadm remove-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] {\fB-l\fR \fIlink\fR | \fIflow\fR}
+.fi
+
+.LP
+.nf
+\fBflowadm set-flowprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-p\fR \fIprop\fR=\fIvalue\fR[,...] \fIflow\fR
+\fBflowadm reset-flowprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-p\fR \fIprop\fR[,...]] \fIflow\fR
+\fBflowadm show-flowprop\fR [\fB-cP\fR] [\fB-l\fR \fIlink\fR] [\fB-o\fR \fIfield\fR[,...]]
+ [\fB-p\fR \fIprop\fR[,...]] [\fIflow\fR]
+.fi
+
+.LP
+.nf
+\fBflowadm show-usage\fR [\fB-a\fR] [\fB-d\fR | {\fB-p\fR \fIplotfile\fR \fB-F\fR \fIformat\fR}] [\fB-s\fR \fItime\fR]
+ [\fB-e\fR \fItime\fR] \fB-f\fR \fIfilename\fR [\fIflow\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBflowadm\fR command is used to create, modify, remove, and show
+networking bandwidth and associated resources for a type of traffic on a
+particular link.
+.sp
+.LP
+The \fBflowadm\fR command allows users to manage networking bandwidth resources
+for a transport, service, or a subnet. The service is specified as a
+combination of transport and local port. The subnet is specified by its IP
+address and subnet mask. The command can be used on any type of data link,
+including physical links, virtual NICs, and link aggregations.
+.sp
+.LP
+A flow is defined as a set of attributes based on Layer 3 and Layer 4 headers,
+which can be used to identify a protocol, service, or a virtual machine. When a
+flow is identified based on flow attributes, separate kernel resources
+including layer 2, 3, and 4 queues, their processing threads, and other
+resources are uniquely created for it, such that other traffic has minimal or
+zero impact on it.
+.sp
+.LP
+Inbound and outbound packet are matched to flows in a very fast and scalable
+way, so that limits can be enforced with minimal performance impact.
+.sp
+.LP
+The \fBflowadm\fR command can be used to identify a flow without imposing any
+bandwidth resource control. This would result in the traffic type getting its
+own resources and queues so that it is isolated from rest of the networking
+traffic for more observable and deterministic behavior.
+.sp
+.LP
+\fBflowadm\fR is implemented as a set of subcommands with corresponding
+options. Options are described in the context of each subcommand.
+.SH SUB-COMMANDS
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflowadm show-flow\fR [\fB-pP\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]]
+[\fB-o\fR \fIfield\fR[,...]] [\fB-l\fR \fIlink\fR] [\fIflow\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show flow configuration information (the default) or statistics, either for all
+flows, all flows on a link, or for the specified \fIflow\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or a special value \fBall\fR, to
+display all fields. For each flow found, the following fields can be displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the flow.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the link the flow is on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipaddr\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP address of the flow. This can be either local or remote depending on how the
+flow was defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtransport\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the layer for protocol to be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBport\fR\fR
+.ad
+.sp .6
+.RS 4n
+Local port of service for flow.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdsfield\fR\fR
+.ad
+.sp .6
+.RS 4n
+Differentiated services value for flow and mask used with \fBDSFIELD\fR value
+to state the bits of interest in the differentiated services field of the IP
+header.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display persistent flow property information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR, \fB--continuous\fR\fR
+.ad
+.sp .6
+.RS 4n
+Continuously display network utilization by flow in a manner similar to the way
+that \fBprstat\fR(1M) displays CPU utilization by process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--statistics\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays flow statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterval\fR, \fB--interval\fR=\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-s\fR option to specify an interval, in seconds, at which
+statistics should be displayed. If this option is not specified, statistics are
+displayed once.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR | \fIflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display information for all flows on the named link or information for the
+named flow.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflowadm add-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
+\fIlink\fR \fB-a\fR \fIattr\fR=\fIvalue\fR[,...] \fB-p\fR
+\fIprop\fR=\fIvalue\fR[,...] \fIflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a flow to the system. The flow is identified by its flow attributes and
+properties.
+.sp
+As part of identifying a particular flow, its bandwidth resource can be limited
+and its relative priority to other traffic can be specified. If no bandwidth
+limit or priority is specified, the traffic still gets its unique layer 2, 3,
+and 4 queues and processing threads, including NIC hardware resources (when
+supported), so that the selected traffic can be separated from others and can
+flow with minimal impact from other traffic.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+The changes are temporary and will not persist across reboots. Persistence is
+the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an alternate root directory where \fBflowadm\fR should apply
+persistent creation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the link to which the flow will be added.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIattr\fR=\fIvalue\fR[,...], \fB--attr\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of attributes to be set to the specified values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprop\fR=\fIvalue\fR[,...], \fB--prop\fR=\fIvalue\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to be set to the specified values.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflowadm remove-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
+{\fIlink\fR | \fIflow\fR}\fR
+.ad
+.sp .6
+.RS 4n
+Remove an existing flow identified by its link or name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+The changes are temporary and will not persist across reboots. Persistence is
+the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an alternate root directory where \fBflowadm\fR should apply
+persistent removal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlink\fR | \fIflow\fR, \fB--link\fR=\fIlink\fR | \fIflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+If a link is specified, remove all flows from that link. If a single flow is
+specified, remove only that flow.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflowadm set-flowprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-p\fR
+\fIprop\fR=\fIvalue\fR[,...] \fIflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set values of one or more properties on the flow specified by name. The
+complete list of properties can be retrieved using the \fBshow-flow\fR
+subcommand.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+The changes are temporary and will not persist across reboots. Persistence is
+the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an alternate root directory where \fBflowadm\fR should apply
+persistent setting of properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprop\fR=\fIvalue\fR[,...], \fB--prop\fR=\fIvalue\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to be set to the specified values.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflowadm reset-flowprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-p\fR
+[\fIprop\fR=\fIvalue\fR[,...]] \fIflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+Resets one or more properties to their default values on the specified flow. If
+no properties are specified, all properties are reset. See the
+\fBshow-flowprop\fR subcommand for a description of properties, which includes
+their default values.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--temporary\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the resets are temporary. Temporary resets last until the next
+reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an alternate root directory where \fBflowadm\fR should apply
+persistent setting of properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprop\fR=\fIvalue\fR[,...], \fB--prop\fR=\fIvalue\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to be reset.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflowadm show-flowprop\fR [\fB-cP\fR] [\fB-l\fR \fIlink\fR] [\fB-p\fR
+\fIprop\fR[,...]] [\fIflow\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show the current or persistent values of one or more properties, either for all
+flows, flows on a specified link, or for the specified flow.
+.sp
+By default, current values are shown. If no properties are specified, all
+available flow properties are displayed. For each property, the following
+fields are displayed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLOW\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the flow.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPROPERTY\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVALUE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The current (or persistent) property value. The value is shown as \fB--\fR
+(double hyphen), if it is not set, and \fB?\fR (question mark), if the value is
+unknown. Persistent values that are not set or have been reset will be shown as
+\fB--\fR and will use the system \fBDEFAULT\fR value (if any).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEFAULT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The default value of the property. If the property has no default value,
+\fB--\fR (double hyphen), is shown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPOSSIBLE\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of the values the property can have. If the values span
+a numeric range, the minimum and maximum values might be shown as shorthand. If
+the possible values are unknown or unbounded, \fB--\fR (double hyphen), is
+shown.
+.RE
+
+Flow properties are documented in the "Flow Properties" section, below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB--parseable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a stable machine-parseable format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--persistent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display persistent flow property information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprop\fR[,...], \fB--prop\fR=\fIprop\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to show.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflowadm show-usage\fR [\fB-a\fR] [\fB-d\fR | {\fB-p\fR \fIplotfile\fR
+\fB-F\fR \fIformat\fR}] [\fB-s\fR \fItime\fR] [\fB-e\fR \fItime\fR]
+[\fIflow\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Show the historical network flow usage from a stored extended accounting file.
+Configuration and enabling of network accounting through \fBacctadm\fR(1M) is
+required. The default output will be the summary of flow usage for the entire
+period of time in which extended accounting was enabled.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display all historical network usage for the specified period of time during
+which extended accounting is enabled. This includes the usage information for
+the flows that have already been deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the dates for which there is logging information. The date is in the
+format \fIDD\fR/\fIMM\fR/\fIYYYY\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIformat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the format of \fIplotfile\fR that is specified by the \fB-p\fR
+option. As of this release, \fBgnuplot\fR is the only supported format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIplotfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+When specified with \fB-s\fR or \fB-e\fR (or both), outputs flow usage data to
+a file of the format specified by the \fB-F\fR option, which is required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fItime\fR, \fB-e\fR \fItime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start and stop times for data display. Time is in the format
+\fIYYYY\fR.\fIMM\fR.\fIDD\fR,\fIhh\fR:\fImm\fR:\fIss\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read extended accounting records of network flow usage from \fIfilename\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+If specified, display the network flow usage only from the named flow.
+Otherwise, display network usage from all flows.
+.RE
+
+.RE
+
+.SS "Flow Attributes"
+.sp
+.LP
+The flow operand that identify a flow in a \fBflowadm\fR command is a
+comma-separated list of one or more keyword, value pairs from the list below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlocal_ip\fR[\fB/\fR\fIprefix_len\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Identifies a network flow by the local IP address. \fIvalue\fR must be a IPv4
+address in dotted-decimal notation or an IPv6 address in colon-separated
+notation. \fIprefix_len\fR is optional.
+.sp
+If \fIprefix_len\fR is specified, it describes the netmask for a subnet
+address, following the same notation convention of \fBifconfig\fR(1M) and
+\fBroute\fR(1M) addresses. If unspecified, the given IP address will be
+considered as a host address for which the default prefix length for a IPv4
+address is \fB/32\fR and for IPv6 is \fB/128\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremote_ip\fR[\fB/\fR\fIprefix_len\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Identifies a network flow by the remote IP address. The syntax is the same as
+\fBlocal_ip\fR attributes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtransport\fR={\fBtcp\fR|\fBudp\fR|\fBsctp\fR|\fBicmp\fR|\fBicmpv6\fR}\fR
+.ad
+.sp .6
+.RS 4n
+Identifies a layer 4 protocol to be used. It is typically used in combination
+with local_port to identify the service that needs special attention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlocal_port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies a service specified by the local port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdsfield\fR[\fB:\fR\fIdsfield_mask\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the 8-bit differentiated services field (as defined in RFC 2474).
+.sp
+The optional \fIdsfield_mask\fR is used to state the bits of interest in the
+differentiated services field when comparing with the \fBdsfield\fR value. A
+\fB0\fR in a bit position indicates that the bit value needs to be ignored and
+a \fB1\fR indicates otherwise. The mask can range from \fB0x01\fR to
+\fB0xff\fR. If \fIdsfield_mask\fR is not specified, the default mask \fB0xff\fR
+is used. Both the \fBdsfield\fR value and mask must be in hexadecimal.
+.RE
+
+.sp
+.LP
+The following five types of combinations of attributes are supported:
+.sp
+.in +2
+.nf
+local_ip[/\fIprefixlen\fR]=\fIaddress\fR
+remote_ip[/\fIprefixlen\fR]=\fIaddress\fR
+transport={tcp|udp|sctp|icmp|icmpv6}
+transport={tcp|udp|sctp},local_port=\fIport\fR
+dsfield=\fIval\fR[:\fIdsfield_mask\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+On a given link, the combinations above are mutually exclusive. An attempt to
+create flows of different combinations will fail.
+.SS "Restrictions"
+.sp
+.LP
+There are individual flow restrictions and flow restrictions per zone.
+.SS "Individual Flow Restrictions"
+.sp
+.LP
+Restrictions on individual flows do not require knowledge of other flows that
+have been added to the link.
+.sp
+.LP
+An attribute can be listed only once for each flow. For example, the following
+command is not valid:
+.sp
+.in +2
+.nf
+# \fBflowadm add-flow -l vnic1 -a local_port=80,local_port=8080 httpflow\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBtransport\fR and \fBlocal_port\fR:
+.sp
+.LP
+TCP, UDP, or SCTP flows can be specified with a local port. An ICMP or ICMPv6
+flow that specifies a port is not allowed. The following commands are valid:
+.sp
+.in +2
+.nf
+# \fBflowadm add-flow -l e1000g0 -a transport=udp udpflow\fR
+# \fBflowadm add-flow -l e1000g0 -a transport=tcp,local_port=80 \e
+udp80flow\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following commands are not valid:
+.sp
+.in +2
+.nf
+# \fBflowadm add-flow -l e1000g0 -a local_port=25 flow25\fR
+# \fBflowadm add-flow -l e1000g0 -a transport=icmpv6,local_port=16 \e
+flow16\fR
+.fi
+.in -2
+.sp
+
+.SS "Flow Restrictions Per Zone"
+.sp
+.LP
+Within a zone, no two flows can have the same name. After adding a flow with
+the link specified, the link will not be required for display, modification, or
+deletion of the flow.
+.SS "Flow Properties"
+.sp
+.LP
+The following flow properties are supported. Note that the ability to set a
+given property to a given value depends on the driver and hardware.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxbw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the full duplex bandwidth for the flow. The bandwidth is specified as an
+integer with one of the scale suffixes(\fBK\fR, \fBM\fR, or \fBG\fR for Kbps,
+Mbps, and Gbps). If no units are specified, the input value will be read as
+Mbps. The default is no bandwidth limit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpriority\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the relative priority for the flow. The value can be given as one of the
+tokens \fBhigh\fR, \fBmedium\fR, or \fBlow\fR. The default is \fBmedium\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Policy Around a Mission-Critical Port
+.sp
+.LP
+The command below creates a policy around inbound HTTPS traffic on an HTTPS
+server so that HTTPS obtains dedicated NIC hardware and kernel TCP/IP
+resources. The name specified, \fBhttps-1\fR, can be used later to modify or
+delete the policy.
+
+.sp
+.in +2
+.nf
+# \fBflowadm add-flow -l bge0 -a transport=TCP,local_port=443 https-1\fR
+# \fBflowadm show-flow -l bge0\fR
+FLOW LINK IP ADDR PROTO PORT DSFLD
+https1 bge0 -- tcp 443 --
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRModifying an Existing Policy to Add Bandwidth Resource Control
+.sp
+.LP
+The following command modifies the \fBhttps-1\fR policy from the preceding
+example. The command adds bandwidth control and give the policy a high
+priority.
+
+.sp
+.in +2
+.nf
+# \fBflowadm set-flowprop -p maxbw=500M,priority=high https-1\fR
+# \fBflowadm show-flow https-1\fR
+FLOW LINK IP ADDR PROTO PORT DSFLD
+https1 bge0 -- tcp 443 --
+
+# \fBflowadm show-flowprop https-1\fR
+FLOW PROPERTY VALUE DEFAULT POSSIBLE
+https-1 maxbw 500 -- --
+https-1 priority HIGH -- LOW,NORMAL,HIGH
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRLimiting the UDP Bandwidth Usage
+.sp
+.LP
+The following command creates a policy for UDP protocol so that it cannot
+consume more than 100Mbps of available bandwidth. The flow is named
+\fBlimit-udp-1\fR.
+
+.sp
+.in +2
+.nf
+# \fBflowadm add-flow -l bge0 -a transport=UDP -p maxbw=100M, \e
+priority=low limit-udp-1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRShowing Flow Usage
+.sp
+.LP
+Flow usage statistics can be stored using the extended accounting facility,
+\fBacctadm\fR(1M).
+
+.sp
+.in +2
+.nf
+# \fBacctadm -e extended -f /var/log/net.log net\fR
+
+# \fBacctadm net\fR
+Network accounting: active
+Network accounting file: /var/log/net.log
+Tracked Network resources: extended
+Untracked Network resources: none
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The historical data that was saved can be retrieved in summary form using the
+\fBshow-usage\fR subcommand of \fBflowadm\fR.
+
+.LP
+\fBExample 5 \fRSetting Policy, Making Use of \fBdsfield\fR Attribute
+.sp
+.LP
+The following command sets a policy for EF PHB (DSCP value of 101110 from RFC
+2598) with a bandwidth of 500 Mbps and a high priority. The \fBdsfield\fR value
+for this flow will be \fB0x2e\fR (101110) with the \fBdsfield_mask\fR being
+\fB0xfc\fR (because we want to ignore the 2 least significant bits).
+
+.sp
+.in +2
+.nf
+# \fBflowadm add-flow -l bge0 -a dsfield=0x2e:0xfc \e
+-p maxbw=500M,priority=high efphb-flow\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Display summary information:
+
+.sp
+.in +2
+.nf
+# \fBflowadm show-usage -f /var/log/net.log\fR
+FLOW DURATION IPACKETS RBYTES OPACKETS OBYTES BANDWIDTH
+flowtcp 100 1031 546908 0 0 43.76 Kbps
+flowudp 0 0 0 0 0 0.00 Mbps
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Display dates for which logging information is available:
+
+.sp
+.in +2
+.nf
+# \fBflowadm show-usage -d -f /var/log/net.log\fR
+02/19/2008
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Display logging information for \fBflowtcp\fR starting at 02/19/2008, 10:38:46
+and ending at 02/19/2008, 10:40:06:
+
+.sp
+.in +2
+.nf
+# \fBflowadm show-usage -s 02/19/2008,10:39:06 -e 02/19/2008,10:40:06 \e
+-f /var/log/net.log flowtcp\fR
+FLOW TIME IPACKETS RBYTES OPACKETS OBYTES BANDWIDTH
+flowtcp 10:39:06 1 1546 4 6539 3.23 Kbps
+flowtcp 10:39:26 2 3586 5 9922 5.40 Kbps
+flowtcp 10:39:46 1 240 1 216 182.40 bps
+flowtcp 10:40:06 0 0 0 0 0.00 bps
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Output the same information as above as a plotfile:
+
+.sp
+.in +2
+.nf
+# \fBflowadm show-usage -s 02/19/2008,10:39:06 -e 02/19/2008,10:40:06 \e
+-p /home/plot/myplot -F gnuplot -f /var/log/net.log flowtcp\fR
+# \fBTime tcp-flow\fR
+10:39:06 3.23
+10:39:26 5.40
+10:39:46 0.18
+10:40:06 0.00
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+All actions were performed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctadm\fR(1M), \fBdladm\fR(1M), \fBifconfig\fR(1M), \fBprstat\fR(1M),
+\fBroute\fR(1M), \fBattributes\fR(5), \fBdlpi\fR(7P)
diff --git a/usr/src/man/man1m/fmadm.1m b/usr/src/man/man1m/fmadm.1m
new file mode 100644
index 0000000000..36fa029db3
--- /dev/null
+++ b/usr/src/man/man1m/fmadm.1m
@@ -0,0 +1,533 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fmadm 1M "22 Oct 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fmadm \- fault management configuration tool
+.SH SYNOPSIS
+.LP
+.nf
+\fBfmadm\fR [\fB-q\fR] [\fIsubcommand\fR [\fIarguments\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfmadm\fR utility can be used by administrators and service personnel to
+view and modify system configuration parameters maintained by the Solaris Fault
+Manager, \fBfmd\fR(1M). \fBfmd\fR receives telemetry information relating to
+problems detected by the system software, diagnoses these problems, and
+initiates proactive self-healing activities such as disabling faulty
+components.
+.sp
+.LP
+\fBfmadm\fR can be used to:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+view the set of diagnosis engines and agents that are currently participating
+in fault management,
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+view the list of system components that have been diagnosed as faulty, and
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+perform administrative tasks related to these entities.
+.RE
+.sp
+.LP
+The Fault Manager attempts to automate as many activities as possible, so use
+of \fBfmadm\fR is typically not required. When the Fault Manager needs help
+from a human administrator, service repair technician, or Sun, it produces a
+message indicating its needs. It also refers you to a knowledge article on
+Sun's web site, http://www.sun.com/msg/. The web site might ask you to use
+\fBfmadm\fR or one of the other fault management utilities to gather more
+information or perform additional tasks. The documentation for \fBfmd\fR(1M),
+\fBfmdump\fR(1M), and \fBfmstat\fR(1M) describe more about tools to observe
+fault management activities.
+.sp
+.LP
+The \fBfmadm\fR utility requires the user to possess the \fBSYS_CONFIG\fR
+privilege. Refer to the \fI\fR for more information about how to configure
+Solaris privileges. The \fBfmadm\fR \fBload\fR subcommand requires that the
+user possess all privileges.
+.SS "SUBCOMMANDS"
+.sp
+.LP
+\fBfmadm\fR accepts the following subcommands. Some of the subcommands accept
+or require additional options and operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm acquit\fR \fIfmri\fR \fB|\fR \fIlabel\fR [\fIuuid\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Notify the Fault Manager that the specified resource is not to be considered to
+be a suspect in the fault event identified by \fIuuid\fR, or if no UUID is
+specified, then in any fault or faults that have been detected. The \fBfmadm
+acquit\fR subcommand should be used only at the direction of a documented Sun
+repair procedure. Administrators might need to apply additional commands to
+re-enable a previously faulted resource.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm acquit\fR \fIuuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Notify the Fault Manager that the fault event identified by \fIuuid\fR can be
+safely ignored. The \fBfmadm acquit\fR subcommand should be used only at the
+direction of a documented Sun repair procedure. Administrators might need to
+apply additional commands to re-enable any previously faulted resources.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm config\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the configuration of the Fault Manager itself, including the module
+name, version, and description of each component module. Fault Manager modules
+provide services such as automated diagnosis, self-healing, and messaging for
+hardware and software present on the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm faulty\fR [\fB-afgiprsv\fR] [\fB-n\fR \fImax\fR] [\fB-u\fR
+\fIuid\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display status information for resources that the Fault Manager currently
+believes to be faulty.
+.sp
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 10n
+.rt
+Display all faults. By default, the \fBfmadm faulty\fR command only lists
+output for resources that are currently present and faulty. If you specify the
+\fB-a\fR option, all resource information cached by the Fault Manager is
+listed, including faults which have been automatically corrected or where no
+recovery action is needed. The listing includes information for resources that
+might no longer be present in the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 10n
+.rt
+Display faulty \fBfru's\fR (Field replaceable units).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 10n
+.rt
+Group together faults which have the same fru, class and fault message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 10n
+.rt
+Display persistent cache identifier for each resource in the Fault Manager.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fImax\fR\fR
+.ad
+.RS 10n
+.rt
+If faults or resources are grouped together with the \fB-a\fR or \fB-g\fR
+options, limit the output to \fImax\fR entries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 10n
+.rt
+Pipe output through pager with form feed between each fault.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 10n
+.rt
+Display Fault Management Resource with their Identifier (FMRI) and their fault
+management state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 10n
+.rt
+Display 1 line fault summary for each fault event.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuid\fR\fR
+.ad
+.RS 10n
+.rt
+Only display fault with given \fBuid\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 10n
+.rt
+Display full output.
+.RE
+
+The percentage certainty is displayed if a fault has multiple suspects, either
+of different classes or on different \fBfru\fR's. If more than one resource is
+on the same \fBfru\fR and it is not 100% certain that the fault is associated
+with the \fBfru\fR, the maximum percentage certainty of the possible suspects
+on the \fBfru\fR is displayed.
+.RE
+
+.sp
+.LP
+The Fault Manager associates the following states with every resource for which
+telemetry information has been received:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBok\fR\fR
+.ad
+.sp .6
+.RS 4n
+The resource is present and in use and has no known problems so far as the
+Fault Manager is concerned.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunknown\fR\fR
+.ad
+.sp .6
+.RS 4n
+The resource is not present or not usable but has no known problems. This might
+indicate the resource has been disabled or deconfigured by an administrator.
+Consult appropriate management tools for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfaulted\fR\fR
+.ad
+.sp .6
+.RS 4n
+The resource is present but is not usable because one or more problems have
+been diagnosed by the Fault Manager. The resource has been disabled to prevent
+further damage to the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdegraded\fR\fR
+.ad
+.sp .6
+.RS 4n
+The resource is present and usable, but one or more problems have been
+diagnosed in the resource by the Fault Manager.
+.sp
+If all affected resources are in the same state, this is reflected in the
+message at the end of the list. Otherwise the state is given after each
+affected resource.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm flush\fR \fIfmri\fR\fR
+.ad
+.sp .6
+.RS 4n
+Flush the information cached by the Fault Manager for the specified resource,
+named by its FMRI. This subcommand should only be used when indicated by a
+documented Sun repair procedure. Typically, the use of this command is not
+necessary as the Fault Manager keeps its cache up-to-date automatically. If a
+faulty resource is flushed from the cache, administrators might need to apply
+additional commands to enable the specified resource.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm load\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Load the specified Fault Manager module. \fIpath\fR must be an absolute path
+and must refer to a module present in one of the defined directories for
+modules. Typically, the use of this command is not necessary as the Fault
+Manager loads modules automatically when Solaris initially boots or as needed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm unload\fR \fImodule\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unload the specified Fault Manager module. Specify \fImodule\fR using the
+basename listed in the \fBfmadm config\fR output. Typically, the use of this
+command is not necessary as the Fault Manager loads and unloads modules
+automatically based on the system configuration
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm repaired\fR \fIfmri\fR \fB|\fR \fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Notify the Fault Manager that a repair procedure has been carried out on the
+specified resource. The \fBfmadm repaired\fR subcommand should be used only at
+the direction of a documented Sun repair procedure. Administrators might need
+to apply additional commands to re-enable a previously faulted resource.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm replaced\fR \fIfmri\fR \fB|\fR \fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Notify the Fault Manager that the specified resource has been replaced. This
+command should be used in those cases where the Fault Manager is unable to
+automatically detect the replacement. The \fBfmadm replaced\fR subcommand
+should be used only at the direction of a documented Sun repair procedure.
+Administrators might need to apply additional commands to re-enable a
+previously faulted resource.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm reset\fR [\fB-s\fR \fIserd\fR\fB]\fR \fImodule\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reset the specified Fault Manager module or module subcomponent. If the
+\fB-s\fR option is present, the specified Soft Error Rate Discrimination (SERD)
+engine is reset within the module. If the \fB-s\fR option is not present, the
+entire module is reset and all persistent state associated with the module is
+deleted. The \fBfmadm reset\fR subcommand should only be used at the direction
+of a documented Sun repair procedure. The use of this command is typically not
+necessary as the Fault Manager manages its modules automatically.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmadm rotate\fR \fBerrlog | fltlog\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBrotate\fR subcommand is a helper command for \fBlogadm\fR(1M), so that
+\fBlogadm\fR can rotate live log files correctly. It is not intended to be
+invoked directly. Use one of the following commands to cause the appropriate
+logfile to be rotated, if the current one is not zero in size:
+.sp
+.in +2
+.nf
+# \fBlogadm -p now -s 1b /var/fm/fmd/errlog\fR
+# \fBlogadm -p now -s 1b /var/fm/fmd/fltlog\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 6n
+.rt
+Set quiet mode. \fBfmadm\fR does not produce messages indicating the result of
+successful operations to standard output.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcmd\fR\fR
+.ad
+.RS 8n
+.rt
+The name of a subcommand listed in \fBSUBCOMMANDS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIargs\fR\fR
+.ad
+.RS 8n
+.rt
+One or more options or arguments appropriate for the selected \fIsubcommand\fR,
+as described in \fBSUBCOMMANDS\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred. Errors include a failure to communicate with \fBfmd\fR or
+insufficient privileges to perform the requested operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command-line options are Committed. The human-readable output is
+not-an-interface.
+.SH SEE ALSO
+.sp
+.LP
+\fBfmd\fR(1M), \fBfmdump\fR(1M), \fBfmstat\fR(1M), \fBlogadm\fR(1M),
+\fBsyslogd\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+http://www.sun.com/msg/
diff --git a/usr/src/man/man1m/fmd.1m b/usr/src/man/man1m/fmd.1m
new file mode 100644
index 0000000000..e43ce725c8
--- /dev/null
+++ b/usr/src/man/man1m/fmd.1m
@@ -0,0 +1,205 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fmd 1M "17 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fmd \- fault manager daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/fm/fmd/fmd\fR [\fB-V\fR] [\fB-f\fR \fIfile\fR] [\fB-o\fR \fIopt\fR=\fIval\fR] [\fB-R\fR \fIdir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfmd\fR is a daemon that runs in the background on each Solaris system.
+\fBfmd\fR receives telemetry information relating to problems detected by the
+system software, diagnoses these problems, and initiates proactive self-healing
+activities such as disabling faulty components. When appropriate, the fault
+manager also sends a message to the \fBsyslogd\fR(1M) service to notify an
+administrator that a problem has been detected. The message directs
+administrators to a knowledge article on Sun's web site,
+http://www.sun.com/msg/, which explains more about the problem impact and
+appropriate responses.
+.sp
+.LP
+Each problem diagnosed by the fault manager is assigned a Universal Unique
+Identifier (\fBUUID\fR). The \fBUUID\fR uniquely identifes this particular
+problem across any set of systems. The \fBfmdump\fR(1M) utility can be used to
+view the list of problems diagnosed by the fault manager, along with their
+\fBUUID\fRs and knowledge article message identifiers. The \fBfmadm\fR(1M)
+utility can be used to view the resources on the system believed to be faulty.
+The \fBfmstat\fR(1M) utility can be used to report statistics kept by the fault
+manager. The fault manager is started automatically when Solaris boots, so it
+is not necessary to use the \fBfmd\fR command directly. Sun's web site explains
+more about what capabilities are currently available for the fault manager on
+Solaris.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfile\fR\fR
+.ad
+.RS 16n
+.rt
+Read the specified configuration \fIfile\fR prior to searching for any of the
+default fault manager configuration files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIopt\fR\fB=\fR\fIvalue\fR\fR
+.ad
+.RS 16n
+.rt
+Set the specified fault manager option to the specified value. Fault manager
+options are currently a Private interface; see \fBattributes\fR(5) for
+information about Private interfaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIdir\fR\fR
+.ad
+.RS 16n
+.rt
+Use the specified root directory for all pathnames evaluated by the fault
+manager, instead of the default root (\fB/\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 16n
+.rt
+Print the fault manager's version to stdout and exit.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred which prevented the fault manager from initializing, such as
+failure to open the telemetry transport.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/fm/fmd\fR \fR
+.ad
+.RS 20n
+.rt
+Fault manager configuration directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/fm/fmd\fR \fR
+.ad
+.RS 20n
+.rt
+Fault manager library directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/fm/fmd\fR\fR
+.ad
+.RS 20n
+.rt
+Fault manager log directory
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBfmadm\fR(1M), \fBfmdump\fR(1M), \fBfmstat\fR(1M),
+\fBsyslogd\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+http://www.sun.com/msg/
+.SH NOTES
+.sp
+.LP
+The Fault Manager is managed by the service management facility, \fBsmf\fR(5),
+under the service identifier:
+.sp
+.in +2
+.nf
+ svc:/system/fmd:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The service's status can be queried using the \fBsvcs\fR(1) command.
+Administrators should not disable the Fault Manager service.
diff --git a/usr/src/man/man1m/fmdump.1m b/usr/src/man/man1m/fmdump.1m
new file mode 100644
index 0000000000..f4c6f253af
--- /dev/null
+++ b/usr/src/man/man1m/fmdump.1m
@@ -0,0 +1,713 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fmdump 1M "14 Apr 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fmdump \- fault management log viewer
+.SH SYNOPSIS
+.LP
+.nf
+\fBfmdump\fR [\fB-efmvV\fR] [\fB-c\fR \fIclass\fR] [\fB-R\fR \fIdir\fR] [\fB-t\fR \fItime\fR] [\fB-T\fR \fItime\fR]
+ [\fB-u\fR \fIuid\fR] [\fB-n\fR \fIname\fR[.\fIname\fR]*[=\fIvalue\fR]] [\fIfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfmdump\fR utility can be used to display the contents of any of the log
+files associated with the Solaris Fault Manager, \fBfmd\fR(1M). The Fault
+Manager runs in the background on each Solaris system. It receives telemetry
+information relating to problems detected by the system software, diagnoses
+these problems, and initiates proactive self-healing activities such as
+disabling faulty components.
+.sp
+.LP
+The Fault Manager maintains two sets of log files for use by administrators and
+service personnel:
+.sp
+.ne 2
+.mk
+.na
+\fBerror log\fR
+.ad
+.RS 13n
+.rt
+A log which records error telemetry, the symptoms of problems detected by the
+system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfault log\fR
+.ad
+.RS 13n
+.rt
+A log which records fault diagnosis information, the problems believed to
+explain these symptoms.
+.RE
+
+.sp
+.LP
+By default, \fBfmdump\fR displays the contents of the fault log, which records
+the result of each diagnosis made by the fault manager or one of its component
+modules.
+.sp
+.LP
+An example of a default \fBfmdump\fR display follows:
+.sp
+.in +2
+.nf
+# fmdump
+TIME UUID SUNW-MSG-ID
+Dec 28 13:01:27.3919 bf36f0ea-9e47-42b5-fc6f-c0d979c4c8f4 FMD-8000-11
+Dec 28 13:01:49.3765 3a186292-3402-40ff-b5ae-810601be337d FMD-8000-11
+Dec 28 13:02:59.4448 58107381-1985-48a4-b56f-91d8a617ad83 FMD-8000-OW
+\&...
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Each problem recorded in the fault log is identified by:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The time of its diagnosis
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A Universal Unique Identifier (UUID) that can be used to uniquely identify this
+particular problem across any set of systems
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A message identifier that can be used to access a corresponding knowledge
+article located at Sun's web site, http://www.sun.com/msg/
+.RE
+.sp
+.LP
+If a problem requires action by a human administrator or service technician or
+affects system behavior, the Fault Manager also issues a human-readable message
+to \fBsyslogd\fR(1M). This message provides a summary of the problem and a
+reference to the knowledge article on the Sun web site,
+http://www.sun.com/msg/.
+.sp
+.LP
+You can use the \fB-v\fR and \fB-V\fR options to expand the display from a
+single-line summary to increased levels of detail for each event recorded in
+the log. The \fB-c\fR, \fB-t\fR, \fB-T\fR, and \fB-u\fR options can be used to
+filter the output by selecting only those events that match the specified
+\fIclass\fR, range of times, or \fIuuid\fR.
+.sp
+.LP
+If more than one filter option is present on the command-line, the options
+combine to display only those events that are selected by the logical \fBAND\fR
+of the options. If more than one instance of the same filter option is present
+on the command-line, the like options combine to display any events selected by
+the logical \fBOR\fR of the options. For example, the command:
+.sp
+.in +2
+.nf
+# fmdump -u uuid1 -u uuid2 -t 02Dec03
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+selects events whose attributes are \fB(uuid1 OR uuid2\fR) \fBAND\fR (time on
+or after 02Dec03).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select events that match the specified class. The class argument can use the
+glob pattern matching syntax described in \fBsh\fR(1). The class represents a
+hierarchical classification string indicating the type of telemetry event. More
+information about Sun's telemetry protocol is available at Sun's web site,
+http://www.sun.com/msg/.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display events from the fault management error log instead of the fault log.
+This option is shorthand for specifying the pathname of the error log file.
+.sp
+The error log file contains Private telemetry information used by Sun's
+automated diagnosis software. This information is recorded to facilitate
+post-mortem analysis of problems and event replay, and should not be parsed or
+relied upon for the development of scripts and other tools. See
+\fBattributes\fR(5) for information about Sun's rules for Private interfaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Follow the growth of the log file by waiting for additional data. \fBfmdump\fR
+enters an infinite loop where it will sleep for a second, attempt to read and
+format new data from the log file, and then go back to sleep. This loop can be
+terminated at any time by sending an interrupt (\fBControl-C\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print the localized diagnosis message associated with each entry in the fault
+log.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIname\fR[.\fIname\fR]*[=\fIvalue\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Select fault log or error log events, depending on the \fB-e\fR option, that
+have properties with a matching name (and optionally a matching value). For
+string properties the value can be a regular expression match. Regular
+expression syntax is described in the EXTENDED REGULAR EXPRESSIONS section of
+the \fBregex\fR(5) manual page. Be careful when using the characters:
+.sp
+.in +2
+.nf
+$ * { ^ | ( ) \e
+.fi
+.in -2
+.sp
+
+\&...or a regular expression, because these are meaningful to the shell. It is
+safest to enclose any of these in single quotes. For numeric properties, the
+value can be octal, hex, or decimal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use the specified root directory for the log files accessed by \fBfmdump\fR,
+instead of the default root (\fB/\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select events that occurred at or after the specified time. The time can be
+specified using any of the following forms:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fImm\fR/\fIdd\fR/\fIyy hh\fR:\fImm\fR:\fIss\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Month, day, year, hour in 24-hour format, minute, and second. Any amount of
+whitespace can separate the date and time. The argument should be quoted so
+that the shell interprets the two strings as a single argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fImm\fR/\fIdd\fR/\fIyy hh\fR:\fImm\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Month, day, year, hour in 24-hour format, and minute. Any amount of whitespace
+can separate the date and time. The argument should be quoted so that the shell
+interprets the two strings as a single argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fImm\fR/\fIdd\fR/\fIyy\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+12:00:00AM on the specified month, day, and year.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIddMonyy hh\fR:\fImm\fR:\fIss\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Day, month name, year, hour in 24-hour format, minute, and second. Any amount
+of whitespace can separate the date and time. The argument should be quoted so
+that the shell interprets the two strings as a single argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIddMonyy hh\fR:\fImm\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Day, month name, year, hour in 24-hour format, and minute. Any amount of
+whitespace can separate the date and time. The argument should be quoted so
+that the shell interprets the two strings as a single argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIMon\fR \fIdd\fR \fIhh\fR:\fImm\fR:\fIss\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Month, day, hour in 24-hour format, minute, and second of the current year.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIyyyy\fR-\fImm\fR-\fIdd\fR [T \fIhh\fR:\fImm\fR[:\fIss\fR]]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Year, month, day, and optional hour in 24-hour format, minute, and second. The
+second, or hour, minute, and second, can be optionally omitted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIddMonyy\fR\fR
+.ad
+.sp .6
+.RS 4n
+12:00:00AM on the specified day, month name, and year.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIhh\fR:\fImm\fR:\fIss\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hour in 24-hour format, minute, and second of the current day.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIhh\fR:\fImm\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hour in 24-hour format and minute of the current day.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIT\fR\fBns\fR | \fIT\fR\fBnsec\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIT\fR nanoseconds ago where T is an integer value specified in base 10.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIT\fRus |\fIT\fRusec\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIT\fR microseconds ago where T is an integer value specified in base 10.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIT\fR\fBms\fR | \fIT\fR\fBmsec\fR\fR
+.ad
+.sp .6
+.RS 4n
+T milliseconds ago where T is an integer value specified in base 10.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIT\fRs | \fIT\fRsec\fR\fR
+.ad
+.sp .6
+.RS 4n
+T seconds ago where \fIT\fR is an integer value specified in base 10.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIT\fRm |\fIT\fRmin\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIT\fR minutes ago where \fIT\fR is an integer value specified in base 10.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIT\fRh |\fIT\fRhour\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIT\fR hours ago where \fIT\fR is an integer value specified in base 10.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIT\fRd |\fIT\fRday\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIT\fR days ago where \fIT\fR is an integer value specified in base 10.
+.RE
+
+You can append a decimal fraction of the form \fB\&.\fR\fIn\fR to any \fB-t\fR
+option argument to indicate a fractional number of seconds beyond the specified
+time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fItime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select events that occurred at or before the specified time. \fItime\fR can be
+specified using any of the time formats described for the \fB-t\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select fault diagnosis events that exactly match the specified \fIuuid\fR. Each
+diagnosis is associated with a Universal Unique Identifier (UUID) for
+identification purposes. The \fB-u\fR option can be combined with other options
+such as \fB-v\fR to show all of the details associated with a particular
+diagnosis.
+.sp
+If the \fB-e\fR option and \fB-u\fR option are both present, the error events
+that are cross-referenced by the specified diagnosis are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display verbose event detail. The event display is enlarged to show additional
+common members of the selected events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display very verbose event detail. The event display is enlarged to show every
+member of the name-value pair list associated with each event. In addition, for
+fault logs, the event display includes a list of cross-references to the
+corresponding errors that were associated with the diagnosis.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.RS 8n
+.rt
+Specifies an alternate log file to display instead of the system fault log. The
+\fBfmdump\fR utility determines the type of the specified log automatically and
+produces appropriate output for the selected log.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRetrieving Given Class from \fBfmd\fR Log
+.sp
+.LP
+Use any of the following commands to retrieve information about a specified
+class from the \fBfmd\fR log. The complete class name is
+\fBereport.io.ddi.context\fR.
+
+.sp
+.in +2
+.nf
+# \fBfmdump -Ve -c 'ereport.io.ddi.context'\fR
+# \fBfmdump -Ve -c 'ereport.*.context'\fR
+# \fBfmdump -Ve -n 'class=ereport.io.ddi.context'\fR
+# \fBfmdump -Ve -n 'class=ereport.*.context'\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Any of the preceding commands produces the following output:
+
+.sp
+.in +2
+.nf
+Oct 06 2007 11:53:20.975021712 ereport.io.ddi.context
+ nvlist version: 0
+ class = ereport.io.ddi.context
+ ena = 0x1b03a15ecf00001
+ detector = (embedded nvlist)
+ nvlist version: 0
+ version = 0x0
+ scheme = dev
+ device-path = /
+ (end detector)
+
+ __ttl = 0x1
+ __tod = 0x470706b0 0x3a1da690
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRetrieving Specific Detector Device Path from \fBfmd\fR Log
+.sp
+.LP
+The following command retrieves a detector device path from the \fBfmd\fR log.
+
+.sp
+.in +2
+.nf
+# \fBfmdump -Ve -n 'detector.device-path=.*/disk@1,0$'\fR
+Oct 06 2007 12:04:28.065660760 ereport.io.scsi.disk.rqs
+nvlist version: 0
+ class = ereport.io.scsi.disk.rqs
+ ena = 0x453ff3732400401
+ detector = (embedded nvlist)
+ nvlist version: 0
+ version = 0x0
+ scheme = dev
+ device-path = /pci@0,0/pci1000,3060@3/disk@1,0
+ (end detector)
+
+ __ttl = 0x1
+ __tod = 0x4707094c 0x3e9e758
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion. All records in the log file were examined successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+A fatal error occurred. This prevented any log file data from being examined,
+such as failure to open the specified file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+The log file was opened successfully, but one or more log file records were not
+displayed, either due to an I/O error or because the records themselves were
+malformed. \fBfmdump\fR issues a warning message for each record that could not
+be displayed, and then continues on and attempts to display other records.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/fm/fmd\fR\fR
+.ad
+.RS 22n
+.rt
+Fault management log directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/fm/fmd/errlog\fR\fR
+.ad
+.RS 22n
+.rt
+Fault management error log
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/fm/fmd/fltlog\fR\fR
+.ad
+.RS 22n
+.rt
+Fault management fault log
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command-line options are Evolving. The human-readable error log output is
+Private. The human-readable fault log output is Evolving.
+.SH SEE ALSO
+.sp
+.LP
+\fBsh\fR(1), \fBfmadm\fR(1M), \fBfmd\fR(1M), \fBfmstat\fR(1M),
+\fBsyslogd\fR(1M), \fBlibexacct\fR(3LIB), \fBattributes\fR(5), \fBregex\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+http://www.sun.com/msg/
+.SH NOTES
+.sp
+.LP
+Fault logs contain references to records stored in error logs that can be
+displayed using \fBfmdump\fR \fB-V\fR to understand the errors that were used
+in the diagnosis of a particular fault. These links are preserved if an error
+log is renamed as part of log rotation. They can be broken by removing an error
+log file, or by moving it to another filesystem directory. \fBfmdump\fR can not
+display error information for such broken links. It continues to display any
+and all information present in the fault log.
diff --git a/usr/src/man/man1m/fmstat.1m b/usr/src/man/man1m/fmstat.1m
new file mode 100644
index 0000000000..e368e6ee1d
--- /dev/null
+++ b/usr/src/man/man1m/fmstat.1m
@@ -0,0 +1,370 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fmstat 1M "16 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fmstat \- report fault management module statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBfmstat\fR [\fB-astTz\fR] [\fB-d\fR u | d ] [\fB-m\fR \fImodule\fR] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfmstat\fR utility can be used by administrators and service personnel to
+report statistics associated with the Solaris Fault Manager, \fBfmd\fR(1M) and
+its associated set of modules. The Fault Manager runs in the background on each
+Solaris system. It receives telemetry information relating to problems detected
+by the system software, diagnoses these problems, and initiates proactive
+self-healing activities such as disabling faulty components.
+.sp
+.LP
+You can use \fBfmstat\fR to view statistics for diagnosis engines and agents
+that are currently participating in fault management. The documentation for
+\fBfmd\fR(1M), \fBfmadm\fR(1M), and \fBfmdump\fR(1M) describes more about tools
+to observe fault management activities.
+.sp
+.LP
+If the \fB-m\fR option is present or the \fB-t\fR option is present,
+\fBfmstat\fR reports any statistics kept by the specified fault management
+module. The module list can be obtained using \fBfmadm config\fR.
+.sp
+.LP
+If the \fB-m\fR option is not present, \fBfmstat\fR reports the following
+statistics for each of its client modules:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodule\fR\fR
+.ad
+.RS 11n
+.rt
+The name of the fault management module, as reported by \fBfmadm config\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBev_recv\fR\fR
+.ad
+.RS 11n
+.rt
+The number of telemetry events received by the module.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBev_acpt\fR\fR
+.ad
+.RS 11n
+.rt
+The number of events accepted by the module as relevant to a diagnosis.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwait\fR\fR
+.ad
+.RS 11n
+.rt
+The average number of telemetry events waiting to be examined by the module.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsvc_t\fR\fR
+.ad
+.RS 11n
+.rt
+The average service time for telemetry events received by the module, in
+milliseconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%w\fR\fR
+.ad
+.RS 11n
+.rt
+The percentage of time that there were telemetry events waiting to be examined
+by the module.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%b\fR\fR
+.ad
+.RS 11n
+.rt
+The percentage of time that the module was busy processing telemetry events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBopen\fR\fR
+.ad
+.RS 11n
+.rt
+The number of active cases (open problem investigations) owned by the module.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsolve\fR\fR
+.ad
+.RS 11n
+.rt
+The total number of cases solved by this module since it was loaded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmemsz\fR\fR
+.ad
+.RS 11n
+.rt
+The amount of dynamic memory currently allocated by this module.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbufsz\fR\fR
+.ad
+.RS 11n
+.rt
+The amount of persistent buffer space currently allocated by this module.
+.RE
+
+.sp
+.LP
+The \fBfmstat\fR utility requires the user to posses the \fBSYS_CONFIG\fR
+privilege. Refer to the \fI\fR for more information about how to configure
+Solaris privileges.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 13n
+.rt
+Print all statistics for a module, including those kept on its behalf by
+\fBfmd\fR. If the \fB-a\fR option is not present, only those statistics kept by
+the module are reported. If the \fB-a\fR option is used without the \fB-m\fR
+\fImodule\fR, a set of global statistics associated with \fBfmd\fR are
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fBu\fR | \fBd\fR\fR
+.ad
+.RS 13n
+.rt
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImodule\fR\fR
+.ad
+.RS 13n
+.rt
+Print a report on the statistics associated with the specified fault management
+module, instead of the default statistics report. Modules can publish an
+arbitrary set of statistics to help Sun service the fault management software
+itself. The module statistics constitute a Private interface. See
+\fBattributes\fR(5) for information on Sun's rules for Private interfaces.
+Scripts should not be written that depend upon the values of fault management
+module statistics as they can change without notice.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 13n
+.rt
+Print a report on Soft Error Rate Discrimination (SERD) engines associated with
+the module instead of the default module statistics report. A SERD engine is a
+construct used by fault management software to determine if a statistical
+threshold measured as \fIN\fR events in some time \fIT\fR has been exceeded.
+The \fB-s\fR option can only be used in combination with the \fB-m\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 13n
+.rt
+Print a report on the statistics associated with each fault management event
+transport. Each fault management module can provide the implementation of one
+or more event transports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.RS 13n
+.rt
+Print a table of the authority information associated with each fault
+management event transport. If the \fB-m\fR option is present, only transports
+associated with the specified module are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fR
+.ad
+.RS 13n
+.rt
+Omit statistics with a zero value from the report associated with the specified
+fault management module. The \fB-z\fR option can only be used in combination
+with the \fB-m\fR option.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 12n
+.rt
+Print only count reports, and then exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 12n
+.rt
+Print a new report every \fIinterval\fR seconds.
+.RE
+
+.sp
+.LP
+If no \fIinterval\fR and no \fIcount\fR are specified, a single report is
+printed and \fBfmstat\fR exits. If an \fIinterval\fR is specified but no
+\fIcount\fR is specified, \fBfmstat\fR prints reports every \fIinterval\fR
+seconds indefinitely until the command is interrupted.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+A fatal error occurred. A fatal error could be the failure to communicate with
+\fBfmd\fR(1M). It could also be that insufficient privileges were available to
+perform the requested operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command-line options are Evolving. The human-readable default report is
+Unstable. The human-readable module report is Private.
+.SH SEE ALSO
+.sp
+.LP
+\fBfmadm\fR(1M), \fBfmd\fR(1M), \fBfmdump\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/fmthard.1m b/usr/src/man/man1m/fmthard.1m
new file mode 100644
index 0000000000..503d3d378e
--- /dev/null
+++ b/usr/src/man/man1m/fmthard.1m
@@ -0,0 +1,202 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fmthard 1M "25 Sep 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fmthard \- populate label on hard disks
+.SH SYNOPSIS
+.SS "SPARC"
+.LP
+.nf
+\fBfmthard\fR \fB-d\fR \fIdata\fR | \fB-n\fR \fIvolume_name\fR | \fB-s\fR \fIdatafile\fR [\fB-i\fR] /dev/rdsk/c?
+ [t?] d?s2
+.fi
+
+.SS "x86"
+.LP
+.nf
+\fBfmthard\fR \fB-d\fR \fIdata\fR | \fB-n\fR \fIvolume_name\fR | \fB-s\fR \fIdatafile\fR [\fB-i\fR] /dev/rdsk/c?
+ [t?] d?s2
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfmthard\fR command updates the \fBVTOC\fR (Volume Table of Contents) on
+hard disks and, on x86 systems, adds boot information to the Solaris
+\fBfdisk\fR partition. One or more of the options \fB-s\fR \fIdatafile\fR,
+\fB-d\fR \fIdata\fR, or \fB-n\fR \fIvolume_name\fR must be used to request
+modifications to the disk label. To print disk label contents, see
+\fBprtvtoc\fR(1M). The
+\fB/dev/rdsk/c\fR\fI?\fR[\fBt\fR\fI?\fR]\fBd\fR\fI?\fR\fBs2\fR file must be the
+character special file of the device where the new label is to be installed. On
+x86 systems, \fBfdisk\fR(1M) must be run on the drive before \fBfmthard\fR.
+.sp
+.LP
+If you are using an x86 system, note that the term ``partition'' in this page
+refers to \fIslices\fR within the x86 \fBfdisk\fR partition on x86 machines. Do
+not confuse the partitions created by \fBfmthard\fR with the partitions created
+by \fBfdisk\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdata\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIdata\fR argument of this option is a string representing the information
+for a particular partition in the current VTOC. The string must be of the
+format \fIpart:tag:flag:start:size\fR where \fIpart\fR is the partition number,
+\fItag\fR is the \fBID\fR TAG of the partition, \fIflag\fR is the set of
+permission flags, \fIstart\fR is the starting sector number of the partition,
+and \fIsize\fR is the number of sectors in the partition. See the description
+of the \fIdatafile\fR below for more information on these fields.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option allows the command to create the desired \fBVTOC\fR table, but
+prints the information to standard output instead of modifying the \fBVTOC\fR
+on the disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIvolume_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is used to give the disk a \fIvolume_name\fR up to 8 characters
+long.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIdatafile\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is used to populate the \fBVTOC\fR according to a \fIdatafile\fR
+created by the user. If the \fIdatafile\fR is \fB\(mi\fR (a hyphen),
+\fBfmthard\fR reads from standard input. The \fIdatafile\fR format is described
+below. This option causes all of the disk partition timestamp fields to be set
+to zero.
+.sp
+Every \fBVTOC\fR generated by \fBfmthard\fR will also have partition 2, by
+convention, that corresponds to the whole disk. If the input in \fIdatafile\fR
+does not specify an entry for partition 2, a default partition 2 entry will be
+created automatically in \fBVTOC\fR with the tag \fBV_BACKUP\fR and size equal
+to the full size of the disk.
+.sp
+The \fIdatafile\fR contains one specification line for each partition, starting
+with partition 0. Each line is delimited by a new-line character (\fB\en\fR).
+If the first character of a line is an asterisk (*), the line is treated as a
+comment. Each line is composed of entries that are position-dependent,
+separated by white space and having the following format:
+.sp
+\fIpartition tag flag starting_sector size_in_sectors\fR
+.sp
+where the entries have the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpartition\fR\fR
+.ad
+.sp .6
+.RS 4n
+The partition number. Currently, for Solaris SPARC, a disk can have up to 8
+partitions, \fB0\fR\(mi\fB7\fR. Even though the \fIpartition\fR field has 4
+bits, only 3 bits are currently used. For x86, all 4 bits are used to allow
+slices \fB0\fR\(mi\fB15\fR. Each Solaris \fBfdisk\fR partition can have up to
+16 slices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItag\fR\fR
+.ad
+.sp .6
+.RS 4n
+The partition tag: a decimal number. The following are reserved codes: \fB0\fR
+(\fBV_UNASSIGNED\fR), \fB1\fR (\fBV_BOOT\fR), \fB2\fR (\fBV_ROOT\fR), \fB3\fR
+(\fBV_SWAP\fR), \fB4\fR (\fBV_USR\fR), \fB5\fR (\fBV_BACKUP\fR), \fB6\fR
+(\fBV_STAND\fR), \fB7\fR (\fBV_VAR\fR), and \fB8\fR (\fBV_HOME\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIflag\fR\fR
+.ad
+.sp .6
+.RS 4n
+The flag allows a partition to be flagged as unmountable or read only, the
+masks being: \fBV_UNMNT 0x01\fR, and \fBV_RONLY 0x10\fR. For mountable
+partitions use \fB0x00\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIstarting_sector\fR\fR
+.ad
+.sp .6
+.RS 4n
+The sector number (decimal) on which the partition starts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsize_in_sectors\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number (decimal) of sectors occupied by the partition.
+.RE
+
+You can save the output of a \fBprtvtoc\fR command to a file, edit the file,
+and use it as the \fIdatafile\fR argument to the \fB-s\fR option.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuname\fR(1), \fBformat\fR(1M), \fBprtvtoc\fR(1M), \fBattributes\fR(5)
+.SS "x86 Only"
+.sp
+.LP
+\fBfdisk\fR(1M), \fBinstallgrub\fR(1M)
+.SH NOTES
+.sp
+.LP
+Special care should be exercised when overwriting an existing \fBVTOC\fR, as
+incorrect entries could result in current data being inaccessible. As a
+precaution, save the old \fBVTOC\fR.
+.sp
+.LP
+For disks under two terabytes, \fBfmthard\fR cannot write a \fBVTOC\fR on an
+unlabeled disk. Use \fBformat\fR(1M) for this purpose.
diff --git a/usr/src/man/man1m/format.1m b/usr/src/man/man1m/format.1m
new file mode 100644
index 0000000000..a33e85ac7b
--- /dev/null
+++ b/usr/src/man/man1m/format.1m
@@ -0,0 +1,516 @@
+'\" te
+.\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH format 1M "25 Sep 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+format \- disk partitioning and maintenance utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBformat\fR [\fB-f\fR \fIcommand-file\fR] [\fB-l\fR \fIlog-file\fR] [\fB-x\fR \fIdata-file\fR]
+ [\fB-d\fR \fIdisk-name\fR] [\fB-t\fR \fIdisk-type\fR] [\fB-p\fR \fIpartition-name\fR]
+ [\fB-s\fR] [\fB-m\fR] [\fB-M\fR] [\fB-e\fR] [\fIdisk-list\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBformat\fR enables you to format, label, repair, and analyze disks on your
+system. Unlike previous disk maintenance programs, \fBformat\fR runs under
+SunOS. Because there are limitations to what can be done to the system disk
+while the system is running, \fBformat\fR is also supported within the
+memory-resident system environment. For most applications, however, running
+\fBformat\fR under SunOS is the more convenient approach.
+.sp
+.LP
+\fBformat\fR first uses the disk list defined in \fIdata-file\fR if the
+\fB-x\fR option is used. \fBformat\fR then checks for the \fBFORMAT_PATH\fR
+environment variable, a colon-separated list of filenames and/or directories.
+In the case of a directory, \fBformat\fR searches for a file named
+\fBformat.dat\fR in that directory; a filename should be an absolute pathname,
+and is used without change. \fBformat\fR adds all disk and partition
+definitions in each specified file to the working set. Multiple identical
+definitions are silently ignored. If \fBFORMAT_PATH\fR is not set, the path
+defaults to \fB/etc/format.dat\fR.
+.sp
+.LP
+\fIdisk-list\fR is a list of disks in the form \fBc?t?d?\fR or
+\fB/dev/rdsk/c?t?d?s?\fR. With the latter form, shell wildcard specifications
+are supported. For example, specifying \fB/dev/rdsk/c2*\fR causes \fBformat\fR
+to work on all drives connected to controller \fBc2\fR only. If no
+\fIdisk-list\fR is specified, \fBformat\fR lists all the disks present in the
+system that can be administered by \fBformat\fR.
+.sp
+.LP
+Removable media devices are listed only when users execute \fBformat\fR in
+expert mode (option \fB-e\fR). This feature is provided for backward
+compatibility. Use \fBrmformat\fR(1) for rewritable removable media devices.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdisk-name\fR\fR
+.ad
+.RS 21n
+.rt
+Specify which disk should be made current upon entry into the program. The disk
+is specified by its logical name (for instance, \fB-d\fR \fBc0t1d0\fR). This
+can also be accomplished by specifying a single disk in the disk list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 21n
+.rt
+Enable \fBSCSI\fR expert menu. Note this option is not recommended for casual
+use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIcommand-file\fR\fR
+.ad
+.RS 21n
+.rt
+Take command input from \fIcommand-file\fR rather than the standard input. The
+file must contain commands that appear just as they would if they had been
+entered from the keyboard. With this option, \fBformat\fR does not issue
+\fBcontinue?\fR prompts; there is no need to specify y(es) or n(o) answers in
+the \fIcommand-file\fR. In non-interactive mode, \fBformat\fR does not
+initially expect the input of a disk selection number. The user must specify
+the current working disk with the \fB-d\fR \fIdisk-name\fR option when format
+is invoked, or specify \fBdisk\fR and the disk selection number in the
+\fIcommand-file\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlog-file\fR\fR
+.ad
+.RS 21n
+.rt
+Log a transcript of the \fBformat\fR session to the indicated \fIlog-file\fR,
+including the standard input, the standard output and the standard error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 21n
+.rt
+Enable extended messages. Provides more detailed information in the event of an
+error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.RS 21n
+.rt
+Enable extended and diagnostic messages. Provides extensive information on the
+state of a \fBSCSI\fR device's mode pages, during formatting.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpartition-name\fR\fR
+.ad
+.RS 21n
+.rt
+Specify the partition table for the disk which is current upon entry into the
+program. The table is specified by its name as defined in the data file. This
+option can be used only if a disk is being made current, and its type is either
+specified or available from the disk label.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 21n
+.rt
+Silent. Suppress all of the standard output. Error messages are still
+displayed. This is generally used in conjunction with the \fB-f\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIdisk-type\fR\fR
+.ad
+.RS 21n
+.rt
+Specify the type of disk which is current upon entry into the program. A disk's
+type is specified by name in the data file. This option can only be used if a
+disk is being made current as described above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIdata-file\fR\fR
+.ad
+.RS 21n
+.rt
+Use the list of disks contained in \fIdata-file\fR.
+.RE
+
+.SH USAGE
+.sp
+.LP
+When you invoke format with no options or with the \fB-e\fR, \fB-l\fR,
+\fB-m\fR, \fB-M\fR, or \fB-s\fR options, the program displays a numbered list
+of available disks and prompts you to specify a disk by list number. If the
+machine has more than 10 disks, press SPACE to see the next screenful of disks.
+.sp
+.LP
+You can specify a disk by list number even if the disk is not displayed in the
+current screenful. For example, if the current screen shows disks 11-20, you
+can enter \fB25\fR to specify the twenty-fifth disk on the list. If you enter a
+number for a disk that is not currently displayed, \fBformat\fR prompts you to
+verify your selection. If you enter a number from the displayed list,
+\fBformat\fR silently accepts your selection.
+.sp
+.LP
+After you specify a disk, \fBformat\fR displays its main menu. This menu
+enables you to perform the following tasks:
+.sp
+.ne 2
+.mk
+.na
+\fBanalyze\fR
+.ad
+.RS 13n
+.rt
+Run read, write, compare tests, and data purge. The data purge function
+implements the National Computer Security Center Guide to Understanding Data
+Remnance (\fBNCSC-TG-025\fR version 2) Overwriting Algorithm. See NOTES.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbackup\fR
+.ad
+.RS 13n
+.rt
+Search for backup labels.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcache\fR
+.ad
+.RS 13n
+.rt
+Enable, disable, and query the state of the write cache and read cache. This
+menu item only appears when \fBformat\fR is invoked with the \fB-e\fR option,
+and is only supported on \fBSCSI\fR devices..
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcurrent\fR
+.ad
+.RS 13n
+.rt
+Display the device name, the disk geometry, and the pathname to the disk
+device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdefect\fR
+.ad
+.RS 13n
+.rt
+Retrieve and print defect lists. This option is supported only on \fBSCSI\fR
+devices. \fBIDE\fR disks perform automatic defect management. Upon using the
+\fBdefect\fR option on an \fBIDE\fR disk, you receive the message:
+.sp
+.in +2
+.nf
+Controller does not support defect management
+or disk supports automatic defect management.
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdisk\fR
+.ad
+.RS 13n
+.rt
+Choose the disk that will be used in subsequent operations (known as the
+current disk.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfdisk\fR
+.ad
+.RS 13n
+.rt
+Run the \fBfdisk\fR(1M) program to create a \fBfdisk\fR partition for Solaris
+software (x86 based systems only).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBformat\fR
+.ad
+.RS 13n
+.rt
+Format and verify the current disk. This option is supported only on \fBSCSI\fR
+devices. \fBIDE\fR disks are pre-formatted by the manufacturer. Upon using the
+\fBformat\fR option on an \fBIDE\fR disk, you receive the message:
+.sp
+.in +2
+.nf
+Cannot format this drive. Please use your
+manufacturer-supplied formatting utility.
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinquiry\fR
+.ad
+.RS 13n
+.rt
+Display the vendor, product name, and revision level of the current drive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlabel\fR
+.ad
+.RS 13n
+.rt
+Write a new label to the current disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpartition\fR
+.ad
+.RS 13n
+.rt
+Create and modify slices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBquit\fR
+.ad
+.RS 13n
+.rt
+Exit the format menu.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrepair\fR
+.ad
+.RS 13n
+.rt
+Repair a specific block on the disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsave\fR
+.ad
+.RS 13n
+.rt
+Save new disk and slice information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtype\fR
+.ad
+.RS 13n
+.rt
+Select (define) a disk type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBverify\fR
+.ad
+.RS 13n
+.rt
+Read and display labels. Print information such as the number of cylinders,
+alternate cylinders, heads, sectors, and the partition table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBvolname\fR
+.ad
+.RS 13n
+.rt
+Label the disk with a new eight character volume name.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFORMAT_PATH\fR\fR
+.ad
+.RS 15n
+.rt
+a colon-separated list of filenames and/or directories of disk and partition
+definitions. If a directory is specified, \fBformat\fR searches for the file
+\fBformat.dat\fR in that directory.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/format.dat\fR\fR
+.ad
+.RS 19n
+.rt
+default data file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfmthard\fR(1M), \fBprtvtoc\fR(1M), \fBrmformat\fR(1), \fBformat.dat\fR(4),
+\fBattributes\fR(5), \fB sd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SS "x86 Only"
+.sp
+.LP
+\fBfdisk\fR(1M)
+.SH WARNINGS
+.sp
+.LP
+When the \fBformat\fR function is selected to format the Maxtor 207MB disk, the
+following message displays:
+.sp
+.in +2
+.nf
+Mode sense page(4) reports rpm value as 0, adjusting it to 3600
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This is a drive bug that may also occur with older third party drives. The
+above message is not an error; the drive will still function correctly.
+.sp
+.LP
+Cylinder 0 contains the partition table (disk label), which can be overwritten
+if used in a raw disk partition by third party software.
+.sp
+.LP
+\fBformat\fR supports writing \fBEFI\fR-compliant disk labels in order to
+support disks or \fBLUN\fRs with capacities greater than one terabyte. However,
+care should be exercised since many software components, such as filesystems
+and volume managers, are still restricted to capacities of one terabyte or
+less. See the \fISystem Administration Guide: Basic Administration\fR for
+additional information.
+.sp
+.LP
+By default, on an unlabeled disk, EFI labels will be written on disks larger
+than 2 TB. When \fBformat\fR is invoked with the \fB-e\fR option, on writing
+the label, the label type can be chosen. Booting is not currently supported on
+a disk with an EFI label.
+.SH NOTES
+.sp
+.LP
+\fBformat\fR provides a help facility you can use whenever format is expecting
+input. You can request help about what information is expected by simply
+entering a question mark (\fB?\fR) and \fBformat\fR prints a brief description
+of what type of input is needed. If you enter a \fB?\fR at the menu prompt, a
+list of available commands is displayed.
+.sp
+.LP
+For \fBSCSI\fR disks, formatting is done with both Primary and Grown defects
+list by default. However, if only Primary list is extracted in defect menu
+before formatting, formatting will be done with Primary list only.
+.sp
+.LP
+Changing the state of the caches is only supported on \fBSCSI\fR devices, and
+not all \fBSCSI\fR devices support changing or saving the state of the caches.
+.sp
+.LP
+The \fBNCSC-TG-025\fR algorithm for overwriting meets the \fBDoD\fR 5200.28-M
+(\fBADP\fR Security Manual) Eraser Procedures specification. The \fBNIST\fR
+Guidelines for Media Sanitization (\fBNIST\fR \fBSP\fR 800-88) also reference
+this algorithm.
diff --git a/usr/src/man/man1m/fpsd.1m b/usr/src/man/man1m/fpsd.1m
new file mode 100644
index 0000000000..f97b642ea4
--- /dev/null
+++ b/usr/src/man/man1m/fpsd.1m
@@ -0,0 +1,106 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fpsd 1M "7 Aug 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fpsd \- Fp-scrubber daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/fps/fpsd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfpsd\fR is a user-level daemon that periodically runs non-intrusive tests to
+validate proper functioning of FPU (Floating Point Unit) hardware in the
+system. A fault management action is initiated by means of \fBfmd\fR(1M), in
+case an error is detected by the test.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBfmd\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBfpsd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/fpsd:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+You can use \fBsvccfg\fR(1M) to change the default \fBfpsd\fR behavior:
+.sp
+.in +2
+.nf
+Property Name Type Description
+------------- ---- -----------
+config/exclude_cpus astring comma delimited list of
+ CPU IDs to be excluded
+ from proactive testing.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+Disabling the service can increase system's vulnerability to silent data
+corruption, if a fault were to develop in an FPU within the system.
diff --git a/usr/src/man/man1m/fruadm.1m b/usr/src/man/man1m/fruadm.1m
new file mode 100644
index 0000000000..6f2ff56dc0
--- /dev/null
+++ b/usr/src/man/man1m/fruadm.1m
@@ -0,0 +1,227 @@
+'\" te
+.\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fruadm 1M "22 Feb 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fruadm \- prints and updates customer data associated with FRUs
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/platform/sun4u/sbin/fruadm\fR
+.fi
+
+.LP
+.nf
+\fB/usr/platform/sun4u/sbin/fruadm\fR \fB-l\fR
+.fi
+
+.LP
+.nf
+\fB/usr/platform/sun4u/sbin/fruadm\fR [\fB-r\fR] \fIpath\fR [\fItext\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfruadm\fR prints or sets the customer data for Field-Replaceable Units
+(\fBFRU\fRs).
+.sp
+.LP
+Without arguments, \fBfruadm\fR prints the paths of all \fBFRU ID\fR-capable
+\fBFRU\fRs (containers) in the system, along with the contents of the customer
+data record, if present, for each such \fBFRU\fR; for \fBFRU\fRs without
+customer data, \fBfruadm\fR prints only the container's path.
+.sp
+.LP
+ Only a privileged user can create or update data in containers. The privileges
+required to perform these write operations are hardware dependent. Typically, a
+default system configuration restricts write operations to the superuser or to
+the platform-administrator user.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+List the system's frutree paths.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Recursively display or update the data for all containers rooted at the
+argument \fIpath\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpath\fR\fR
+.ad
+.RS 8n
+.rt
+A full or partial system frutree path for or under which to print or set the
+customer data. The first field of each line of output of \fBfruadm \fR\fB-l\fR
+gives the valid full \fBfrutree\fR paths for the system.
+.sp
+Paths can include shell meta-characters; such paths should be quoted
+appropriately for the user's shell. For partial paths, the first matching full
+path is selected for display or update. Without the \fB-r\fR option, the path
+must be that of a container; with the \fB-r\fR option, all containers (if any)
+under \fIpath\fR will be selected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItext\fR\fR
+.ad
+.RS 8n
+.rt
+Up to 80 characters of text set as the customer data. If the text contains
+white space or shell metacharacters, it should be quoted appropriately for the
+user's shell.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying All Customer Data
+.sp
+.LP
+The following example prints all customer data available from \fBFRU\fRs on the
+system. For containers with no customer data, only the containers' paths will
+be listed.
+
+.sp
+.in +2
+.nf
+example% fruadm
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying Customer Data For a Single FRU
+.sp
+.LP
+The following command prints the customer data, if present, for the specified
+\fBFRU\fR:
+
+.sp
+.in +2
+.nf
+example% fruadm /frutree/chassis/system-board
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying Customer Data For a Single FRU
+.sp
+.LP
+The following command prints the customer data, if present, for the first
+\fBmem-module\fR found:
+
+.sp
+.in +2
+.nf
+example% fruadm mem-module
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fR Setting Customer Data
+.sp
+.LP
+The following example sets the customer data for a \fBFRU\fR:
+
+.sp
+.in +2
+.nf
+example# fruadm system-board 'Asset Tag 123456'
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRSetting Customer Data
+.sp
+.LP
+The following command sets the customer data for all \fBFRU\fRs under
+\fBchassis\fR:
+
+.sp
+.in +2
+.nf
+example# fruadm -r /frutree/chassis "Property of XYZ, Inc."
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBprtfru\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/fsck.1m b/usr/src/man/man1m/fsck.1m
new file mode 100644
index 0000000000..c32e3e7d53
--- /dev/null
+++ b/usr/src/man/man1m/fsck.1m
@@ -0,0 +1,429 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsck 1M "7 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsck \- check and repair file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsck\fR [\fB-F\fR \fIFSType\fR] [\fB-m\fR] [\fB-V\fR] [\fB-v\fR] [\fIspecial\fR]...
+.fi
+
+.LP
+.nf
+\fBfsck\fR [\fB-F\fR \fIFSType\fR] [\fB-n\fR | N | y | Y] [\fB-V\fR] [\fB-v\fR]
+ [\fB-o\fR \fIFSType-specific-options\fR] [\fIspecial\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfsck\fR audits and interactively repairs inconsistent file system
+conditions. If the file system is inconsistent the default action for each
+correction is to wait for the user to respond \fByes\fR or \fBno\fR. If the
+user does not have write permission \fBfsck\fR defaults to a \fBno\fR action.
+Some corrective actions will result in loss of data. The amount and severity of
+data loss can be determined from the diagnostic output.
+.sp
+.LP
+\fIFSType-specific-options\fR are options specified in a comma-separated (with
+no intervening spaces) list of options or keyword-attribute pairs for
+interpretation by the \fIFSType-\fRspecific module of the command.
+.sp
+.LP
+\fIspecial\fR represents the character special device on which the file system
+resides, for example, \fB/dev/rdsk/c1t0d0s7\fR. Note: the character special
+device, not the block special device, should be used. \fBfsck\fR will not work
+if the block device is mounted.
+.sp
+.LP
+If no \fIspecial\fR device is specified \fBfsck\fR checks the file systems
+listed in \fB/etc/vfstab\fR. Those entries in \fB/etc/vfstab\fR which have a
+character special device entry in the \fBfsckdev\fR field and have a non-zero
+numeric entry in the \fBfsckpass\fR field will be checked. Specifying \fB-F\fR
+\fIFSType\fR limits the file systems to be checked to those of the type
+indicated.
+.sp
+.LP
+If \fIspecial\fR is specified, but \fB-F\fR is not, the file system type will
+be determined by looking for a matching entry in \fB/etc/vfstab\fR. If no entry
+is found, the default local file system type specified in \fB/etc/default/fs\fR
+will be used.
+.sp
+.LP
+If a file system type supports parallel checking, for example, \fBufs,\fR some
+file systems eligible for checking may be checked in parallel. Consult the file
+system-specific man page (for example, \fBfsck_ufs\fR(1M)) for more
+information.
+.SH OPTIONS
+.sp
+.LP
+The following generic options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the file system type on which to operate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check but do not repair. This option checks that the file system is suitable
+for mounting, returning the appropriate exit status. If the file system is
+ready for mounting, \fBfsck\fR displays a message such as:
+.sp
+.in +2
+.nf
+ufs fsck: sanity check: /dev/rdsk/c0t3d0s1 okay
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR | \fB-N\fR\fR
+.ad
+.sp .6
+.RS 4n
+Assume a \fBno\fR response to all questions asked by \fBfsck\fR; do not open
+the file system for writing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Echo the expanded command line but do not execute the command. This option may
+be used to verify and to validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables verbose output. Might not be supported by all filesystem-specific
+\fBfsck\fR implementations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR | \fBY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Assume a \fByes\fR response to all questions asked by \fBfsck\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific-options\fR\fR
+.ad
+.sp .6
+.RS 4n
+These \fIspecific-options\fR can be any combination of the following separated
+by commas (with no intervening spaces).
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use block \fIn\fR as the super block for the file system. Block 32 is always
+one of the alternate super blocks. Determine the location of other super blocks
+by running \fBnewfs\fR(1M) with the \fB-Nv\fR options specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the file system is in the old (static table) format, convert it to the new
+(dynamic table) format. If the file system is in the new format, convert it to
+the old format provided the old format can support the file system
+configuration. In interactive mode, \fBfsck\fR will list the direction the
+conversion is to be made and ask whether the conversion should be done. If a
+negative answer is given, no further operations are done on the file system. In
+preen mode, the direction of the conversion is listed and done if possible
+without user interaction. Conversion in preen mode is best used when all the
+file systems are being converted at once. The format of a file system can be
+determined from the first line of output from \fBfstyp\fR(1M). Note: the
+\fBc\fR option is seldom used and is included only for compatibility with
+pre-4.1 releases. There is no guarantee that this option will be included in
+future releases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force checking of file systems regardless of the state of their super block
+clean flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check and fix the file system non-interactively ("preen"). Exit immediately if
+there is a problem requiring intervention. This option is required to enable
+parallel file system checking.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check writable file systems only.
+.RE
+
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+file system is unmounted and OK
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+erroneous parameters are specified
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB32\fR\fR
+.ad
+.sp .6
+.RS 4n
+file system is unmounted and needs checking (\fBfsck\fR \fB-m\fR only)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB33\fR\fR
+.ad
+.sp .6
+.RS 4n
+file system is already mounted
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB34\fR\fR
+.ad
+.sp .6
+.RS 4n
+cannot stat device
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB35\fR\fR
+.ad
+.sp .6
+.RS 4n
+a filesystem that is mounted read/write was modified - reboot
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB36\fR\fR
+.ad
+.sp .6
+.RS 4n
+uncorrectable errors detected - terminate normally
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB37\fR\fR
+.ad
+.sp .6
+.RS 4n
+a signal was caught during processing
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB39\fR\fR
+.ad
+.sp .6
+.RS 4n
+uncorrectable errors detected - terminate immediately
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB40\fR\fR
+.ad
+.sp .6
+.RS 4n
+file system is mounted read-only and is OK
+.RE
+
+.SH USAGE
+.sp
+.LP
+The \fBfsck\fR command is \fBlarge file aware\fR for UFS file systems, per the
+\fBlargefile\fR(5) man page.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.sp .6
+.RS 4n
+default local file system type. Default values can be set for the following
+flags in \fB/etc/default/fs\fR. For example: \fBLOCAL=ufs.\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOCAL\fR\fR
+.ad
+.sp .6
+.RS 4n
+The default partition for a command if no FSType is specified.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+list of default parameters for each file system
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBclri\fR(1M), \fBfsck_cachefs\fR(1M), \fBfsck_ufs\fR(1M), \fBfsdb_ufs\fR(1M),
+\fBfsirand\fR(1M), \fBfstyp\fR(1M), \fBmkfs\fR(1M), \fBmkfs_ufs\fR(1M),
+\fBmountall\fR(1M), \fBnewfs\fR(1M), \fBreboot\fR( 1M), \fBvfstab\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5), \fBufs\fR(7FS)
+.SH WARNINGS
+.sp
+.LP
+The operating system buffers file system data. Running \fBfsck\fR on a mounted
+file system can cause the operating system's buffers to become out of date with
+respect to the disk. For this reason, the file system should be \fIunmounted\fR
+when \fBfsck\fR is used. If this is not possible, care should be taken that the
+system is quiescent and that it is rebooted immediately after \fBfsck\fR is
+run. Quite often, however, this will not be sufficient. A panic will probably
+occur if running \fBfsck\fR on a file system modifies the file system.
+.SH NOTES
+.sp
+.LP
+This command may not be supported for all \fIFSTypes\fR.
+.sp
+.LP
+Starting with Solaris 9, \fBfsck\fR manages extended attribute data on the
+disk. (See \fBfsattr\fR(5) for a description of extended file attributes.) A
+file system with extended attributes can be mounted on versions of Solaris that
+are not attribute-aware (versions prior to Solaris 9), but the attributes will
+not be accessible and \fBfsck\fR will strip them from the files and place them
+in \fBlost+found\fR. Once the attributes have been stripped, the file system is
+completely stable on versions of Solaris that are not attribute-aware, but
+would be considered corrupted on attribute-aware versions. In the latter
+circumstance, run the attribute-aware \fBfsck\fR to stabilize the file system
+before using it in an attribute-aware environment.
diff --git a/usr/src/man/man1m/fsck_cachefs.1m b/usr/src/man/man1m/fsck_cachefs.1m
new file mode 100644
index 0000000000..3c0f3cf199
--- /dev/null
+++ b/usr/src/man/man1m/fsck_cachefs.1m
@@ -0,0 +1,70 @@
+'\" te
+.\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsck_cachefs 1M "9 Oct 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsck_cachefs \- check integrity of data cached with CacheFS
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsck\fR \fB-F\fR cachefs [\fB-m\fR] [\fB-o\fR noclean] \fIcache_directory\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The CacheFS version of the \fBfsck\fR command checks the integrity of a cache
+directory.This utility corrects any CacheFS problems it finds by default. There
+is no interactive mode. The most likely invocation of \fBfsck\fR for CacheFS
+file systems is at boot time from an entry in the \fB/etc/vfstab\fR file. See
+\fBvfstab\fR(4).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 14n
+.rt
+Check, but do not repair.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fBnoclean\fR\fR
+.ad
+.RS 14n
+.rt
+Force a check on the cache even if there is no reason to suspect there is a
+problem.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBfsck_cachefs\fR to Force a Check on the Cache
+Directory
+.sp
+.LP
+The following example forces a check on the cache directory \fB/cache3\fR:
+
+.sp
+.in +2
+.nf
+example% fsck -F cachefs -o noclean /cache3
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfsadmin\fR(1M), \fBfsck\fR(1M), \fBmount_cachefs\fR(1M), \fBvfstab\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/fsck_pcfs.1m b/usr/src/man/man1m/fsck_pcfs.1m
new file mode 100644
index 0000000000..69233cd3f3
--- /dev/null
+++ b/usr/src/man/man1m/fsck_pcfs.1m
@@ -0,0 +1,228 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsck_pcfs 1M "28 Jan 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsck_pcfs \- file system consistency check and interactive repair
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsck\fR \fB-F\fR pcfs [\fIgeneric_options\fR] \fIspecial\fR
+.fi
+
+.LP
+.nf
+\fBfsck\fR \fB-F\fR pcfs [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR] \fIspecial\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfsck\fR utility audits and interactively repairs inconsistent conditions
+on file systems. \fIspecial\fR represents the character special device on which
+the file system resides, for example \fB/dev/rdiskette\fR. The character
+special device, not the block special device, should be used.
+.sp
+.LP
+In the case of correcting serious inconsistencies, by default, \fBfsck\fR asks
+for confirmation before making a repair and waits for the operator to respond
+either \fByes\fR or \fBno\fR. If the operator does not have write permission on
+the file system, \fBfsck\fR defaults to a \fB-n\fR (no corrections) action. See
+\fBfsck\fR(1M).
+.sp
+.LP
+Repairing some file system inconsistencies may result in loss of data. The
+amount and severity of data loss may be determined from the diagnostic output.
+.sp
+.LP
+When executed with the verify option (\fB\fR\fB-o\fR\fB v\fR), \fBfsck_pcfs\fR
+automatically scans the entire file system to verify that all of its allocation
+units are accessible. If it finds any units inaccessible, it updates the file
+allocation table (\fBFAT\fR) appropriately. It also updates any effected
+directory entries to reflect the problem. This directory update includes
+truncating the file at the point in its allocation chain where the file data is
+no longer accessible. Any remaining accessible allocation units become
+orphaned.
+.sp
+.LP
+Orphaned chains of accessible allocation units are, with the operator's
+concurrence, linked back into the file system as files in the root directory.
+These files are assigned names of the form file\fINNNN\fR.chk, where the
+\fIN\fRs are digits in the integral range from \fB0\fR through \fB9\fR.
+.sp
+.LP
+After successfully scanning and correcting any errors in the file system,
+\fBfsck\fR displays a summary of information about the file system. This
+summary includes the size of the file system in bytes, the number of bytes used
+in directories and individual files, and the number of available allocation
+units remaining in the file system.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 23n
+.rt
+The following generic options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 11n
+.rt
+Check but do not repair. This option checks that the file system is suitable
+for mounting, returning the appropriate exit status. If the file system is
+ready for mounting, \fBfsck\fR displays a message such as:
+.sp
+.in +2
+.nf
+pcfs fsck: sanity check:
+\fB/dev/rdiskette\fR okay
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR | \fB-N\fR\fR
+.ad
+.RS 11n
+.rt
+ Assume a no response to all questions asked by \fBfsck\fR; do not open the
+file system for writing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 11n
+.rt
+Echo the expanded command line, but do not execute the command. This option
+may be used to verify and to validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR | \fB-Y\fR\fR
+.ad
+.RS 11n
+.rt
+Assume a \fByes\fR response to all questions asked by \fBfsck\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify \fBpcfs\fR file system specific options in a comma-separated list, in
+any combination, with no intervening spaces.
+.sp
+.ne 2
+.mk
+.na
+\fBv\fR
+.ad
+.RS 5n
+.rt
+Verify all allocation units are accessible prior to correcting inconsistencies
+in the metadata.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBp\fR
+.ad
+.RS 5n
+.rt
+Check and fix the file system non-interactively (\fBpreen\fR). Exit
+immediately if there is a problem requiring intervention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBw\fR
+.ad
+.RS 5n
+.rt
+Check writable file systems only.
+.RE
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fIspecial\fR\fR
+.ad
+.RS 11n
+.rt
+The device which contains the pcfs. The device name for a diskette is specified
+as \fB/dev/rdiskette0\fR for the first diskette drive, or \fB/dev/rdiskette1\fR
+for a second diskette drive. A hard disk device or high-capacity removable
+device name much be qualified with a suffix to indicate the proper \fBFDISK\fR
+partition.
+.sp
+For example, in the names: \fB/dev/rdsk/c0t0d0p0:c\fR and
+\fB/dev/rdsk/c0t4d0s2:c\fR, the \fB:c\fR suffix indicates the first partition
+on the disk contains the \fBpcfs\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBfstyp\fR(1M), \fBfdisk\fR(1M), \fBmkfs\fR(1M),
+\fBmkfs_pcfs\fR(1M), \fBmountall\fR(1M), \fBattributes\fR(5), \fBpcfs\fR(7FS),
+.SH WARNINGS
+.sp
+.LP
+The operating system buffers file system data. Running \fBfsck\fR on a mounted
+file system can cause the operating system's buffers to become out of date with
+respect to the disk. For this reason, the file system should be unmounted when
+\fBfsck\fR is used. If this is not possible, care should be taken that the
+system is quiescent and that it is rebooted immediately after \fBfsck\fR is
+run. Quite often, however, this is not sufficient. A panic will probably occur
+if running \fBfsck\fR on a file system modifies the file system.
diff --git a/usr/src/man/man1m/fsck_udfs.1m b/usr/src/man/man1m/fsck_udfs.1m
new file mode 100644
index 0000000000..f528dcc953
--- /dev/null
+++ b/usr/src/man/man1m/fsck_udfs.1m
@@ -0,0 +1,363 @@
+'\" te
+.\" Copyright (c) 2000 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsck_udfs 1M "5 September 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsck_udfs \- file system consistency check and interactive repair
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsck\fR \fB-F\fR udfs [\fIgeneric_options\fR] [\fIspecial \|.\|.\|.\fR]
+.fi
+
+.LP
+.nf
+\fBfsck\fR \fB-F\fR udfs [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fIspecial \|.\|.\|.\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfsck\fR audits and interactively repairs inconsistent conditions on file
+systems. A file system to be checked can be specified by giving the name of the
+block or character special device or by giving the name of its mount point if a
+matching entry exists in \fB/etc/vfstab\fR.
+.sp
+.LP
+\fIspecial\fR represents the character special device, for example,
+\fB/dev/rdsk/c0t2d0s0\fR, on which the file system resides. The character
+special device, not the block special device should be used. \fBfsck\fR does
+not work on a mounted block device.
+.sp
+.LP
+If no special device is specified, all \fBudfs\fR file systems specified in the
+\fBvfstab\fR file with a \fBfsckdev\fR entry are checked. If the \fB-p\fR
+(\fBpreen\fR) option is specified, \fBudfs\fR file systems with an
+\fBfsckpass\fR number greater than \fB1\fR are checked in parallel. See
+\fBfsck\fR(1M).
+.sp
+.LP
+In the case of correcting serious inconsistencies, by default, \fBfsck\fR asks
+for confirmation before making a repair and waits for the operator to respond
+with either \fByes\fR or \fBno\fR. If the operator does not have write
+permission on the file system, \fBfsck\fR defaults to the \fB-n\fR (no
+corrections) option. See \fBfsck\fR(1M).
+.sp
+.LP
+Repairing some file system inconsistencies can result in loss of data. The
+amount and severity of data loss can be determined from the diagnostic output.
+.sp
+.LP
+\fBfsck\fR automatically corrects innocuous inconsistencies. It displays a
+message for each corrected inconsistency that identifies the nature of the
+correction which took place on the file system. After successfully correcting a
+file system, \fBfsck\fR prints the number of files on that file system and the
+number of used and free blocks.
+.sp
+.LP
+Inconsistencies checked are as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Blocks claimed by more than one file or the free list
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Blocks claimed by a file or the free list outside the range of the file system
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Incorrect link counts in file entries
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Incorrect directory sizes
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Bad file entry format
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Blocks not accounted for anywhere
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Directory checks, file pointing to unallocated file entry and absence of a
+parent directory entry
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Descriptor checks, more blocks for files than there are in the file system
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Bad free block list format
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Total free block count incorrect
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 23n
+.rt
+The following \fIgeneric_options\fR are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 11n
+.rt
+Check but do not repair. This option checks to be sure that the file system is
+suitable for mounting, and returns the appropriate exit status. If the file
+system is ready for mounting, \fBfsck \fRdisplays a message such as:
+.sp
+.in +2
+.nf
+udfs fsck: sanity check: /dev/rdsk/c0t2d0s0 okay
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR | \fB-N\fR\fR
+.ad
+.RS 11n
+.rt
+Assume a \fBno\fR response to all questions asked by \fBfsck\fR; do not open
+the file system for writing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 11n
+.rt
+Echo the expanded command line, but do not execute the command. This option can
+be used to verify and to validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR | \fB-Y\fR\fR
+.ad
+.RS 11n
+.rt
+Assume a \fByes\fR response to all questions asked by \fBfsck\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify \fBudfs\fR file system specific options in a comma-separated list with
+no intervening spaces. The following \fIspecific_options\fR are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.RS 5n
+.rt
+Force checking of file systems regardless of the state of their logical volume
+integrity state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+Check and fix the file system non-interactively (\fBpreen\fR). Exit immediately
+if there is a problem that requires intervention. This option is required to
+enable parallel file system checking.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 5n
+.rt
+Check writable file systems only.
+.RE
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vtstab\fR\fR
+.ad
+.RS 15n
+.rt
+List of default parameters for each file system.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBfsdb_udfs\fR(1M), \fBfstyp\fR(1M), \fBmkfs\fR(1M),
+\fBmkfs_udfs\fR(1M), \fBmountall\fR(1M), \fBreboot\fR(1M), \fBvfstab\fR(4),
+\fBattributes\fR(5)
+.SH WARNINGS
+.sp
+.LP
+The operating system buffers file system data. Running \fBfsck\fR on a mounted
+file system can cause the operating system's buffers to become out of date with
+respect to the disk. For this reason, use \fBfsck\fR only when the file system
+is unmounted. If this is not possible, take care that the system is quiescent
+and that it is rebooted immediately after running \fBfsck\fR. A panic will
+probably occur if running \fBfsck\fR on a file system that modifies the file
+system while it is mounted.
+.sp
+.LP
+If an unmount of the file system is not done before the system is shut down,
+the file system might become corrupted. In this case, a file system check needs
+to be completed before the next mount operation.
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fBnot writable\fR
+.ad
+.sp .6
+.RS 4n
+You cannot write to the device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBCurrently Mounted on\fR
+.ad
+.sp .6
+.RS 4n
+The device is already mounted and cannot run \fBfsck\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBFILE SYSTEM WAS MODIFIED\fR
+.ad
+.sp .6
+.RS 4n
+File system has been modified to bring it to a consistent state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBCan't read allocation extent\fR
+.ad
+.sp .6
+.RS 4n
+Cannot read the block containing allocation extent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBBad tag on alloc extent\fR
+.ad
+.sp .6
+.RS 4n
+Invalid tag detected when expecting an allocation extent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBVolume sequence tag error\fR
+.ad
+.sp .6
+.RS 4n
+Invalid tag detected in the volume sequence.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSpace bitmap tag error\fR
+.ad
+.sp .6
+.RS 4n
+Invalid tag detected in the space bitmap.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBUNEXPECTED INCONSISTENCY; RUN fsck MANUALLY\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBfsck\fR in interactive mode.
+.RE
+
diff --git a/usr/src/man/man1m/fsck_ufs.1m b/usr/src/man/man1m/fsck_ufs.1m
new file mode 100644
index 0000000000..b176fc5014
--- /dev/null
+++ b/usr/src/man/man1m/fsck_ufs.1m
@@ -0,0 +1,347 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsck_ufs 1M "2 Aug 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsck_ufs \- file system consistency check and interactive repair
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsck\fR \fB-F\fR ufs [\fIgeneric-options\fR] [\fIspecial\fR]...
+.fi
+
+.LP
+.nf
+\fBfsck\fR \fB-F\fR ufs [\fIgeneric-options\fR] [\fB-o\fR \fIspecific-options\fR]
+ [\fIspecial\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfsck\fR utility audits and interactively repairs inconsistent conditions
+on file systems. A file system to be checked may be specified by giving the
+name of the block or character \fIspecial\fR device or by giving the name of
+its mount point if a matching entry exists in \fB/etc/vfstab\fR.
+.sp
+.LP
+The \fIspecial\fR parameter represents the character special device, for
+example, \fB/dev/rdsk/c1t0d0s7\fR, on which the file system resides. The
+character special device, not the block special device should be used. The
+\fBfsck\fR utility will not work if the block device is mounted, unless the
+file system is error-locked.
+.sp
+.LP
+If no \fIspecial\fR device is specified, all \fBufs\fR file systems specified
+in the \fBvfstab\fR with a \fBfsckdev\fR entry will be checked. If the \fB-p\fR
+(``preen'') option is specified, \fBufs\fR file systems with an \fBfsckpass\fR
+number greater than \fB1\fR are checked in parallel. See \fBfsck\fR(1M).
+.sp
+.LP
+In the case of correcting serious inconsistencies, by default, \fBfsck\fR asks
+for confirmation before making a repair and waits for the operator to respond
+either \fByes\fR or \fBno\fR. If the operator does not have write permission on
+the file system, \fBfsck\fR will default to a \fB-n\fR (no corrections) action.
+See \fBfsck\fR(1M).
+.sp
+.LP
+Repairing some file system inconsistencies can result in loss of data. The
+amount and severity of data loss can be determined from the diagnostic output.
+.sp
+.LP
+The \fBfsck\fR utility automatically corrects innocuous inconsistencies such as
+unreferenced inodes, too-large link counts in inodes, missing blocks in the
+free list, blocks appearing in the free list and also in files, or incorrect
+counts in the super block. It displays a message for each inconsistency
+corrected that identifies the nature of the correction on the file system which
+took place. After successfully correcting a file system, \fBfsck\fR prints the
+number of files on that file system, the number of used and free blocks, and
+the percentage of fragmentation.
+.sp
+.LP
+Inconsistencies checked include:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Blocks claimed by more than one inode or the free list.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Blocks claimed by an inode or the free list outside the range of the file
+system.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Incorrect link counts.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Incorrect directory sizes.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Bad inode format.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Blocks not accounted for anywhere.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Directory checks, file pointing to unallocated inode, inode number out of
+range, and absence of `\fB\&.\fR' and `\fB\&.\|.\fR' as the first two entries
+in each directory.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Super Block checks: more blocks for inodes than there are in the file system.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Bad free block list format.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Total free block and/or free inode count incorrect.
+.RE
+.sp
+.LP
+Orphaned files and directories (allocated but unreferenced) are, with the
+operator's concurrence, reconnected by placing them in the \fBlost+found\fR
+directory. The name assigned is the inode number. If the \fBlost+found\fR
+directory does not exist, it is created. If there is insufficient space in the
+\fBlost+found\fR directory, its size is increased.
+.sp
+.LP
+An attempt to mount a \fBufs\fR file system with the \fB\fR\fB-o\fR\fB
+nolargefiles\fR option will fail if the file system has ever contained a large
+file (a file whose size is greater than or equal to 2 Gbyte). Invoking
+\fBfsck\fR resets the file system state if no large files are present in the
+file system. A successful mount of the file system after invoking \fBfsck\fR
+indicates the absence of large files in the file system. An unsuccessful mount
+attempt indicates the presence of at least one large file. See
+\fBmount_ufs\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The \fIgeneric-options\fR consist of the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 12n
+.rt
+Check but do not repair. This option checks that the file system is suitable
+for mounting, returning the appropriate exit status. If the file system is
+ready for mounting, \fBfsck\fR displays a message such as:
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+\fBufs fsck: sanity check: /dev/rdsk/c0t3d0s1 okay\fR
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\||\|\fBN\fR\fR
+.ad
+.RS 12n
+.rt
+Assume a \fBno\fR response to all questions asked by \fBfsck\fR; do not open
+the file system for writing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 12n
+.rt
+Echo the expanded command line, but do not execute the command. This option may
+be used to verify and to validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 12n
+.rt
+Enables verbose output. Might not be supported by all filesystem-specific
+\fBfsck\fR implementations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\||\|\fBY\fR\fR
+.ad
+.RS 12n
+.rt
+Assume a \fByes\fR response to all questions asked by \fBfsck\fR.
+.RE
+
+.sp
+.LP
+See generic \fBfsck\fR(1M) for the details for specifying \fIspecial\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific-options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify \fBufs\fR file system specific options. These options can be any
+combination of the following separated by commas (with no intervening spaces).
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb=\fR\fIn\fR\fR
+.ad
+.RS 7n
+.rt
+Use block \fIn\fR as the super block for the file system. Block 32 is always
+one of the alternate super blocks. Determine the location of other super blocks
+by running \fBnewfs\fR(1M) with the \fB-Nv\fR options specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.RS 7n
+.rt
+Force checking of file systems regardless of the state of their super block
+clean flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 7n
+.rt
+Check and fix the file system non-interactively ("preen"). Exit immediately if
+there is a problem requiring intervention. This option is required to enable
+parallel file system checking.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 7n
+.rt
+Check writable file systems only.
+.RE
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 15n
+.rt
+list of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBclri\fR(1M), \fBfsck\fR(1M), \fBfsdb_ufs\fR(1M), \fBfsirand\fR(1M),
+\fBfstyp\fR(1M), \fBmkfs\fR(1M), \fBmkfs_ufs\fR(1M), \fBmount_ufs\fR(1M),
+\fBmountall\fR(1M), \fBnewfs\fR(1M), \fBreboot\fR(1M), \fBvfstab\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5), \fBufs\fR(7FS)
+.SH WARNINGS
+.sp
+.LP
+The operating system buffers file system data. Running \fBfsck\fR on a mounted
+file system can cause the operating system's buffers to become out of date with
+respect to the disk. For this reason, the file system should be \fIunmounted\fR
+when \fBfsck\fR is used. If this is not possible, care should be taken that the
+system is quiescent and that it is rebooted immediately after \fBfsck\fR is
+run. Quite often, however, this will not be sufficient. A panic will probably
+occur if running \fBfsck\fR on a file system modifies the file system.
+.SH NOTES
+.sp
+.LP
+It is usually faster to check the character special device than the block
+special device.
+.sp
+.LP
+Running \fBfsck\fR on file systems larger than 2 Gb fails if the user chooses
+to use the block interface to the device:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfsck\fR \fB/dev/dsk/c?t?d?s?\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.sp
+.LP
+rather than the raw (character special) device:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfsck\fR \fB/dev/rdsk/c?t?d?s?\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
diff --git a/usr/src/man/man1m/fsdb.1m b/usr/src/man/man1m/fsdb.1m
new file mode 100644
index 0000000000..2c70f32dc7
--- /dev/null
+++ b/usr/src/man/man1m/fsdb.1m
@@ -0,0 +1,113 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsdb 1M "16 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsdb \- file system debugger
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsdb\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] [\fB-o\fR \fIFSType-specific_options\fR] \fIspecial\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfsdb\fR is a file system debugger that allows for the manual repair of a
+file system after a crash. \fIspecial\fR is a special device used to
+indicate the file system to be debugged. \fBfsdb\fR is intended for experienced
+users only. \fIFSType\fR is the file system type to be debugged. Since
+different \fIFSTypes\fR have different structures and hence different debugging
+capabilities, the manual pages for the \fIFSType-\fRspecific \fBfsdb\fR should
+be consulted for a more detailed description of the debugging capabilities.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 6n
+.rt
+Specify the \fIFSType\fR on which to operate. The \fIFSType\fR should either
+be specified here or be determinable from \fB/etc/vfstab\fR by matching the
+\fIspecial\fR with an entry in the table, or by consulting
+\fB/etc/default/fs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 6n
+.rt
+Echo the complete command line, but do not execute the command. The command
+line is generated by using the options and arguments provided by the user and
+adding to them information derived from \fB/etc/vfstab\fR. This option may be
+used to verify and validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Specify \fIFSType-\fRspecific options.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBfsdb\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.RS 19n
+.rt
+default local file system type. Default values can be set for the following
+flags in \fB/etc/default/fs\fR. For example: \fBLOCAL=ufs\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOCAL:\fR\fR
+.ad
+.RS 10n
+.rt
+The default partition for a command if no FSType is specified.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 19n
+.rt
+list of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBvfstab\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5) Manual pages for the
+\fIFSType\fR-specific modules of \fBfsdb\fR.
+.SH NOTES
+.sp
+.LP
+This command may not be supported for all \fIFSTypes\fR.
diff --git a/usr/src/man/man1m/fsdb_udfs.1m b/usr/src/man/man1m/fsdb_udfs.1m
new file mode 100644
index 0000000000..8f586647a9
--- /dev/null
+++ b/usr/src/man/man1m/fsdb_udfs.1m
@@ -0,0 +1,1121 @@
+'\" te
+.\" Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsdb_udfs 1M "11 Jun 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsdb_udfs \- udfs file system debugger
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsdb \fR [\fB-F\fR] udfs [\fIgeneric_option\fR] [\fB-o \fR\fIspecific_option\fR] \fIspecial\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfsdb_udfs\fR command is an interactive tool that can be used to patch up
+a damaged \fBudfs\fR file system. \fBfsdb_udfs\fR has conversions to translate
+block and i-numbers into their corresponding disk addresses. Mnemonic offsets
+to access different parts of an inode are also included. Mnemonic offsets
+greatly simplify the process of correcting control block entries or descending
+the file system tree.
+.sp
+.LP
+\fBfsdb\fR contains several error-checking routines to verify inode and block
+addresses. These can be disabled if necessary by invoking \fBfsdb\fR with the
+\fB-o\fR option or by using the \fBo\fR command.
+.sp
+.LP
+\fBfsdb\fR reads one block at a time, and therefore works with raw as well as
+block \fBI/O\fR devices. A buffer management routine is used to retain commonly
+used blocks of data in order to reduce the number of read system calls. All
+assignment operations result in an immediate write-through of the corresponding
+block. In order to modify any portion of the disk, \fBfsdb\fR must be invoked
+with the \fB-w\fR option.
+.sp
+.LP
+Wherever possible, \fBadb\fR-like syntax has been adopted to promote the use of
+\fBfsdb\fR through familiarity.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_option\fR\fR
+.ad
+.RS 22n
+.rt
+Specify \fBudfs\fR file system specific options in a comma-separated list with
+no intervening spaces. The following specific options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBo\fR
+.ad
+.RS 12n
+.rt
+Override some error conditions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBp=\fIstring\fR\fR
+.ad
+.RS 12n
+.rt
+Set prompt to \fIstring\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBw\fR
+.ad
+.RS 12n
+.rt
+Open for write.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB?\fR
+.ad
+.RS 12n
+.rt
+Display usage.
+.RE
+
+.RE
+
+.SH USAGE
+.sp
+.LP
+Numbers are considered hexadecimal by default. The user has control over how
+data is to be displayed or accepted. The \fBbase\fR command displays or sets
+the input and output base. Once set, all input defaults to this base and all
+output displays in this base. The base can be overriden temporarily for input
+by preceding hexadecimal numbers by \fB0x\fR, preceding decimal numbers with a
+\fB0t\fR, or octal numbers with a \fB0\fR. Hexadecimal numbers beginning with
+\fBa\fR-\fBf\fR or \fBA\fR -\fBF\fR must be preceded with a \fB0x\fR to
+distinguish them from commands.
+.sp
+.LP
+Disk addressing by \fBfsdb\fR is at the byte level. However, \fBfsdb\fR offers
+many commands to convert a desired inode, directory entry, block, and so forth,
+to a byte address. After the address has been calculated, \fBfsdb\fR records
+the result in the current address (\fBdot\fR).
+.sp
+.LP
+Several global values are maintained by \fBfsdb\fR\fB\fR:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Current base (referred to as \fBbase\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Current address (referred to as \fBdot\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Current inode (referred to as \fBinode\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Current count (referred to as \fBcount\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Current type (referred to as \fBtype\fR)
+.RE
+.sp
+.LP
+Most commands use the preset value of \fBdot\fR in their execution. For
+example,
+.sp
+.in +2
+.nf
+ > 2:inode
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+first sets the value of dot (\fB\&.\fR) to \fB2\fR, colon (\fB:\fR), signifies
+the start of a command, and the \fBinode\fR command sets \fBinode\fR to
+\fB2\fR. A count is specified after a comma (\fB,\fR). Once set, count remains
+at this value until a new command is encountered that resets the value back to
+\fB1\fR (the default).
+.sp
+.LP
+So, if
+.sp
+.in +2
+.nf
+> 2000,400/X
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+is entered, \fB400\fR hex longs are listed from \fB2000\fR, and when completed,
+the value of dot is \fB 2000 + 400 * sizeof\fR (long). If a RETURN is then
+entered, the output routine uses the current values of \fBdot\fR, \fBcount\fR,
+and \fBtype\fR and displays \fB400 \fRmore hex longs. An asterisk (\fB*\fR)
+causes the entire block to be displayed. An example showing several commands
+and the use of RETURN would be:
+.sp
+.in +2
+.nf
+> 2:ino; 0:dir?d
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+or
+.sp
+.in +2
+.nf
+> 2:ino; 0:db:block?d
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The two examples are synonymous for getting to the first directory entry of the
+root of the file system. Once there, subsequently entering a RETURN, plus
+(\fB+\fR), or minus (\fB-\fR) advances to subsequent entries. Notice that
+.sp
+.in +2
+.nf
+> 2:inode; :ls
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+or
+.sp
+.in +2
+.nf
+> :ls /
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+is again synonymous.
+.SS "Expressions"
+.sp
+.LP
+The following symbols are recognized by \fBfsdb\fR:
+.sp
+.ne 2
+.mk
+.na
+\fBRETURN\fR
+.ad
+.RS 13n
+.rt
+Update the value of dot by the current value of \fItype\fR and \fIdisplay\fR
+using the current value of \fIcount\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fI#\fR\fR
+.ad
+.RS 13n
+.rt
+Update the value of dot by specifying a numeric expression. Specify numeric
+expressions using addition, subtraction, mulitiplication, and division
+operators ( \fB+\fR, \fB-\fR, \fB*\fR, and \fB%\fR). Numeric expressions are
+evaluated from left to right and can use parentheses. After evaluation, the
+value of dot is updated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB, \fIcount\fR\fR
+.ad
+.RS 13n
+.rt
+Update the count indicator. The global value of \fIcount\fR is updated to
+\fIcount\fR. The value of \fIcount\fR remains until a new command is run. A
+\fIcount\fR specifier of \fB*\fR attempts to show a blocks's worth of
+information. The default for \fIcount\fR is \fB1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB? \fI f\fR\fR
+.ad
+.RS 13n
+.rt
+Display in structured style with format specifier \fBf\fR. See \fBFormatted
+Output\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB/ \fIf\fR\fR
+.ad
+.RS 13n
+.rt
+Display in unstructured style with format specifier \fBf\fR. See \fBFormatted
+Output\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\&.\fR
+.ad
+.RS 13n
+.rt
+Display the value of dot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB+\fIe\fR\fR
+.ad
+.RS 13n
+.rt
+Increment the value of dot by the expression \fIe\fR. The amount actually
+incremented is dependent on the size of type: \fBdot = dot + \fR\fIe \fR\fB*
+\fR\fBsizeof\fR (\fItype\fR) The default for \fIe\fR is \fB1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\(mi\fIe\fR\fR
+.ad
+.RS 13n
+.rt
+Decrement the value of dot by the expression \fIe \fR. See \fB+\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB*\fIe\fR\fR
+.ad
+.RS 13n
+.rt
+Multiply the value of dot by the expression \fIe\fR. Multiplication and
+division don't use \fItype\fR. In the above calculation of dot, consider the
+\fBsizeof\fR (\fItype\fR) to be \fB1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB%\fIe\fR\fR
+.ad
+.RS 13n
+.rt
+Divide the value of dot by the expression \fIe\fR. See \fB*\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB< \fIname\fR\fR
+.ad
+.RS 13n
+.rt
+Restore an address saved in register \fIname\fR. \fIname\fR must be a single
+letter or digit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB> \fIname\fR\fR
+.ad
+.RS 13n
+.rt
+Save an address in register \fIname\fR. \fIname\fR must be a single letter or
+digit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB= \fIf\fR\fR
+.ad
+.RS 13n
+.rt
+Display indicator. If \fIf\fR is a legitimate format specifier (see
+\fBFormatted Output\fR), then the value of dot is displayed using format
+specifier \fIf\fR. Otherwise, assignment is assumed. See \fB= [s] [e]\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB= [\fIs\fR] [\fIe\fR]\fR
+.ad
+.RS 13n
+.rt
+Change the value of dot using an assignment indicator. The address pointed to
+by dot has its contents changed to the value of the expression \fIe\fR or to
+the \fBASCII\fR representation of the quoted (\fB"\fR) string \fIs\fR. This can
+be useful for changing directory names or \fBASCII\fR file information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB=+ \fIe\fR\fR
+.ad
+.RS 13n
+.rt
+Change the value of dot using an incremental assignment. The address pointed to
+by dot has its contents incremented by expression \fIe\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB=- e\fR
+.ad
+.RS 13n
+.rt
+Change the value of dot using a decremental assignment. Decrement the contents
+of the address pointed to by dot by expression \fIe\fR.
+.RE
+
+.SS "Commands"
+.sp
+.LP
+A command must be prefixed by a colon (\fB:\fR). Only enough letters of the
+command to uniquely distinguish it are needed. Multiple commands can be entered
+on one line by separating them by a SPACE, TAB, or semicolon (\fB;\fR).
+.sp
+.LP
+To view a potentially unmounted disk in a reasonable manner, \fBfsdb\fR
+supports the \fBcd\fR, \fBpwd\fR, \fBls\fR, and \fBfind\fR commands. The
+functionality of each of these commands basically matches that of its UNIX
+counterpart. See \fBcd\fR(1), \fBpwd\fR(1),\fBls\fR(1), and\fBfind\fR(1) for
+details. The \fB*\fR, \fB,\fR, \fB?\fR, and \fB-\fR wildcard characters are
+also supported.
+.sp
+.LP
+The following commands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBbase[=\fIb\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display or set the base. All input and output is governed by the current base.
+Without the \fB=\fR \fIb\fR, displays the current base. Otherwise, sets the
+current base to \fIb\fR. Base is interpreted using the old value of base, so to
+ensure correctness use the \fB0\fR, \fB0t\fR, or \fB0x\fR prefix when changing
+the base. The default for base is hexadecimal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBblock\fR
+.ad
+.sp .6
+.RS 4n
+Convert the value of dot to a block address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcd [\fIdir\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Change the current directory to directory \fIdir\fR. The current values of
+inode and dot are also updated. If \fBdir\fR is not specified, changes
+directories to inode 2, root (\fB/\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdirectory\fR
+.ad
+.sp .6
+.RS 4n
+If the current inode is a directory, converts the value of dot to a directory
+slot offset in that directory, and dot now points to this entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfile\fR
+.ad
+.sp .6
+.RS 4n
+Set the value of dot as a relative block count from the beginning of the file.
+The value of dot is updated to the first byte of this block.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfind \fIdir\fR [\fB-name\fR \fIn\fR] | [\fB-inum\fR\fI i\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Find files by name or i-number. Recursively searches directory \fIdir\fR and
+below for file names whose i-number matches\fB i\fR or whose name matches
+pattern \fIn\fR. Only one of the two options (\fB-name\fR or \fB-inum\fR) can
+be used at one time. The find \fB-print\fR is not necessary or accepted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfill=\fIp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Fill an area of disk with pattern \fIp\fR. The area of disk is delimited by dot
+and count.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinode\fR
+.ad
+.sp .6
+.RS 4n
+Convert the value of dot to an inode address. If successful, the current value
+of inode is updated as well as the value of dot. As a convenient shorthand, if
+\fB:inode\fR appears at the beginning of the line, the value of dot is set to
+the current inode and that inode is displayed in inode format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBls [ \fB-R\fR ] [\fB-l\fR ] \fIpat1\fR \fIpat2\fR...\fR
+.ad
+.sp .6
+.RS 4n
+List directories or files. If no file is specified, the current directory is
+assumed. Either or both of the options can be used (but, if used, must be
+specified before the filename specifiers). Wild card characters are available
+and multiple arguments are acceptable. The long listing shows only the i-number
+and the name; use the inode command with \fB?i\fR to get more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoverride\fR
+.ad
+.sp .6
+.RS 4n
+Toggle the value of override. Some error conditions might be overridden if
+override is toggled to \fBon\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprompt "\fIp\fR"\fR
+.ad
+.sp .6
+.RS 4n
+Change the \fBfsdb\fR prompt to \fIp\fR. \fIp\fR must be enclosed in quotes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpwd\fR
+.ad
+.sp .6
+.RS 4n
+Display the current working directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBquit\fR
+.ad
+.sp .6
+.RS 4n
+Quit \fBfsdb\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtag\fR
+.ad
+.sp .6
+.RS 4n
+Convert the value of dot and if this is a valid tag, print the volume structure
+according to the tag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB!\fR
+.ad
+.sp .6
+.RS 4n
+Escape to the shell.
+.RE
+
+.SS "Inode Commands"
+.sp
+.LP
+In addition to the above commands, several other commands deal with inode
+fields and operate directly on the current inode (they still require the colon
+(\fB:\fR). They can be used to more easily display or change the particular
+fields. The value of dot is only used by the \fB:db\fR and \fB:ib\fR commands.
+Upon completion of the command, the value of dot is changed so that it points
+to that particular field. For example,
+.sp
+.in +2
+.nf
+> :ln=+1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+increments the link count of the current inode and sets the value of dot to the
+address of the link count field.
+.sp
+.LP
+The following inode commands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBat\fR
+.ad
+.RS 8n
+.rt
+Access time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbs\fR
+.ad
+.RS 8n
+.rt
+Block size
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBct\fR
+.ad
+.RS 8n
+.rt
+Creation time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgid\fR
+.ad
+.RS 8n
+.rt
+Group id
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBln\fR
+.ad
+.RS 8n
+.rt
+Link number
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmt\fR
+.ad
+.RS 8n
+.rt
+Modification time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmd\fR
+.ad
+.RS 8n
+.rt
+Mode
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmaj\fR
+.ad
+.RS 8n
+.rt
+Major device number
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmin\fR
+.ad
+.RS 8n
+.rt
+Minor device number
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnm\fR
+.ad
+.RS 8n
+.rt
+This command actually operates on the directory name field. Once poised at
+the desired directory entry (using the \fBdirectory\fR command), this command
+allows you to change or display the directory name. For example,
+.sp
+.in +2
+.nf
+ > 7:dir:nm="foo"
+.fi
+.in -2
+.sp
+
+gets the \fB7\fRth directory entry of the current inode and changes its name to
+\fBfoo\fR. Directory names cannot be made larger than the field allows. If an
+attempt is made to make a directory name larger than the field allows,, the
+string is truncated to fit and a warning message is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsz\fR
+.ad
+.RS 8n
+.rt
+File size
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuid\fR
+.ad
+.RS 8n
+.rt
+User \fBID\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuniq\fR
+.ad
+.RS 8n
+.rt
+Unique \fBID\fR
+.RE
+
+.SS "Formatted Output"
+.sp
+.LP
+Formatted output comes in two styles and many format types. The two styles of
+formatted output are: structured and unstructured. Structured output is used to
+display inodes, directories, and so forth. Unstructured output displays raw
+data.
+.sp
+.LP
+Format specifiers are preceded by the slash (\fB/\fR) or question mark
+(\fB?\fR) character. \fItype\fR is updated as necessary upon completion.
+.sp
+.LP
+The following format specifiers are preceded by the \fB?\fR character:
+.sp
+.ne 2
+.mk
+.na
+\fBi\fR
+.ad
+.RS 5n
+.rt
+Display as inodes in the current base.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBd\fR
+.ad
+.RS 5n
+.rt
+Display as directories in the current base.
+.RE
+
+.sp
+.LP
+The following format specifiers are preceded by the \fB/\fR character:
+.sp
+.ne 2
+.mk
+.na
+\fBb\fR
+.ad
+.RS 9n
+.rt
+Display as bytes in the current base.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBc\fR
+.ad
+.RS 9n
+.rt
+Display as characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBo | O\fR
+.ad
+.RS 9n
+.rt
+Display as octal shorts or longs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBd | D\fR
+.ad
+.RS 9n
+.rt
+Display as decimal shorts or longs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBx | X\fR
+.ad
+.RS 9n
+.rt
+Display as hexadecimal shorts or longs.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing fsdb as a calculator for complex arithmetic
+.sp
+.LP
+The following command displays \fB2010\fR in decimal format, and is an example
+of using \fBfsdb\fR as a calculator for complex arithmetic.
+
+.sp
+.in +2
+.nf
+> 2000+400%(20+20)=D
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing fsdb to display an i-number in idode fomat
+.sp
+.LP
+The following command displays the i-number \fB386\fR in inode format.\fB386\fR
+becomes the current inode.
+
+.sp
+.in +2
+.nf
+> 386:ino?i
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing fsdb to change the link count
+.sp
+.LP
+The following command changes the link count for the current inode to \fB4\fR.
+
+.sp
+.in +2
+.nf
+> :ln=4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUsing fsdb to increment the link count
+.sp
+.LP
+The following command increments the link count by \fB1\fR.
+
+.sp
+.in +2
+.nf
+> :ln=+1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRUsing fsdb to display the creation time as a hexadecimal long
+.sp
+.LP
+The following command displays the creation time as a hexadecimal long.
+
+.sp
+.in +2
+.nf
+> :ct=X
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRUsing fsdb to display the modification time in time format
+.sp
+.LP
+The following command displays the modification time in time format.
+
+.sp
+.in +2
+.nf
+> :mt=t
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRUsing fsdb to display in ASCII
+.sp
+.LP
+The following command displays, in \fBASCII\fR, block \fB0\fR of the file
+associated with the current inode.
+
+.sp
+.in +2
+.nf
+> 0:file/c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRUsing fsdb to display the directory enteries for the root inode
+.sp
+.LP
+The following command displays the first block's directory entries for the root
+inode of this file system. This command stops prematurely if the \fBEOF\fR is
+reached.
+
+.sp
+.in +2
+.nf
+> 2:ino,*?d
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRUsing fsdb to change the current inode
+.sp
+.LP
+ The following command changes the current inode to that associated with the
+\fB5\fRth directory entry (numbered from \fB0\fR) of the current inode. The
+first logical block of the file is then displayed in \fBASCII\fR.
+
+.sp
+.in +2
+.nf
+> 5:dir:inode; 0:file,*/c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRUsing fsdb to change the i-number
+.sp
+.LP
+ The following command changes the i-number for the \fB7\fRth directory slot in
+the root directory to \fB3\fR.
+
+.sp
+.in +2
+.nf
+> 2:inode; 7:dir=3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRUsing fsdb to change the name field
+.sp
+.LP
+The following command changes the \fIname\fR field in the directory slot to
+\fBname\fR.
+
+.sp
+.in +2
+.nf
+ > 7:dir:nm="name"
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRUsing fsdb to display the a block
+.sp
+.LP
+The following command displays the \fB3\fRrd block of the current inode as
+directory entries.
+
+.LP
+\fBExample 13 \fRUsing fsdb to set the contents of address
+.sp
+.LP
+The following command sets the contents of address \fB2050\fR to
+\fB0xffffffff\fR. \fB0xffffffff\fR can be truncated, depending on the current
+type.
+
+.sp
+.in +2
+.nf
+> 2050=0xffff
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRUsing fsdb to place an ASCII string at an address
+.sp
+.LP
+The following command places the \fBASCII\fR string \fBthis is some text\fR at
+address \fB1c92434\fR.
+
+.sp
+.in +2
+.nf
+> 1c92434="this is some text"
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBclri\fR(1M), \fBfsck_udfs\fR(1M), \fBdir\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/fsdb_ufs.1m b/usr/src/man/man1m/fsdb_ufs.1m
new file mode 100644
index 0000000000..426043f2af
--- /dev/null
+++ b/usr/src/man/man1m/fsdb_ufs.1m
@@ -0,0 +1,1355 @@
+'\" te
+.\" Copyright (c) 1988 Regents of the University
+.\" of California. All rights reserved. Copyright (c) 2003 Sun Microsystems,
+.\" Inc. All Rights Reserved.
+.TH fsdb_ufs 1M "14 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsdb_ufs \- ufs file system debugger
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsdb\fR \fB-F\fR ufs [\fIgeneric_options\fR] [\fIspecific_options\fR] \fIspecial\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfsdb_ufs\fR command is an interactive tool that can be used to patch up
+a damaged \fBUFS\fR file system. It has conversions to translate block and
+i-numbers into their corresponding disk addresses. Also included are mnemonic
+offsets to access different parts of an inode. These greatly simplify the
+process of correcting control block entries or descending the file system tree.
+.sp
+.LP
+\fBfsdb\fR contains several error-checking routines to verify inode and block
+addresses. These can be disabled if necessary by invoking \fBfsdb\fR with the
+\fB-o\fR option or by the use of the \fBo\fR command.
+.sp
+.LP
+\fBfsdb\fR reads a block at a time and will therefore work with raw as well as
+block \fBI/O\fR devices. A buffer management routine is used to retain commonly
+used blocks of data in order to reduce the number of read system calls. All
+assignment operations result in an immediate write-through of the corresponding
+block. Note that in order to modify any portion of the disk, \fBfsdb\fR must be
+invoked with the \fBw\fR option.
+.sp
+.LP
+Wherever possible, \fBadb-\fRlike syntax was adopted to promote the use of
+\fBfsdb\fR through familiarity.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Specify \fBUFS\fR file system specific options. These options can be any
+combination of the following separated by commas (with no intervening spaces).
+The options available are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB?\fR\fR
+.ad
+.RS 14n
+.rt
+Display usage
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo\fR\fR
+.ad
+.RS 14n
+.rt
+Override some error conditions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp='string'\fR\fR
+.ad
+.RS 14n
+.rt
+set prompt to string
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 14n
+.rt
+open for write
+.RE
+
+.RE
+
+.SH USAGE
+.sp
+.LP
+Numbers are considered hexadecimal by default. However, the user has control
+over how data is to be displayed or accepted. The \fBbase\fR command will
+display or set the input/output base. Once set, all input will default to this
+base and all output will be shown in this base. The base can be overridden
+temporarily for input by preceding hexadecimal numbers with \&'\fB0x\fR',
+preceding decimal numbers with '\fB0t\fR', or octal numbers with '\fB0\fR'.
+Hexadecimal numbers beginning with \fBa-f\fR or \fBA-F\fR must be preceded with
+\&'\fB0x\fR' to distinguish them from commands.
+.sp
+.LP
+Disk addressing by \fBfsdb\fR is at the byte level. However, \fBfsdb\fR offers
+many commands to convert a desired inode, directory entry, block, superblock
+and so forth to a byte address. Once the address has been calculated,
+\fBfsdb\fR will record the result in dot (\fB\&.\fR).
+.sp
+.LP
+Several global values are maintained by \fBfsdb\fR:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the current base (referred to as \fBbase\fR),
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the current address (referred to as \fBdot\fR),
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the current inode (referred to as \fBinode\fR),
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the current count (referred to as \fBcount\fR),
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+and the current type (referred to as \fBtype\fR).
+.RE
+.sp
+.LP
+Most commands use the preset value of \fBdot\fR in their execution. For
+example,
+.sp
+.LP
+\fB> 2:inode\fR
+.sp
+.LP
+will first set the value of \fBdot\fR to 2, ':', will alert the start of a
+command, and the \fBinode\fR command will set \fBinode\fR to 2. A count is
+specified after a ','. Once set, \fBcount\fR will remain at this value until a
+new command is encountered which will then reset the value back to 1 (the
+default). So, if
+.sp
+.LP
+\fB> 2000,400/X\fR
+.sp
+.LP
+is typed, 400 hex longs are listed from 2000, and when completed, the value of
+\fBdot\fR will be \fB2000 + 400 * sizeof (long)\fR. If a \fBRETURN\fR is then
+typed, the output routine will use the current values of \fBdot\fR,
+\fBcount\fR, and \fBtype\fR and display 400 more hex longs. A '*' will cause
+the entire block to be displayed.
+.sp
+.LP
+End of fragment, block and file are maintained by \fBfsdb\fR. When displaying
+data as fragments or blocks, an error message will be displayed when the end of
+fragment or block is reached. When displaying data using the \fBdb\fR,
+\fBib\fR, \fBdirectory\fR, or \fBfile\fR commands an error message is displayed
+if the end of file is reached. This is mainly needed to avoid passing the end
+of a directory or file and getting unknown and unwanted results.
+.sp
+.LP
+An example showing several commands and the use of \fBRETURN\fR would be:
+.sp
+.in +2
+.nf
+\fB> 2:ino; 0:dir?d\fR
+ or
+\fB> 2:ino; 0:db:block?d\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The two examples are synonymous for getting to the first directory entry of the
+root of the file system. Once there, any subsequent \fBRETURN\fR (or +, -)
+will advance to subsequent entries. Note that
+.sp
+.in +2
+.nf
+\fB> 2:inode; :ls\fR
+ or
+\fB> :ls /\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+is again synonymous.
+.SS "Expressions"
+.sp
+.LP
+The symbols recognized by \fBfsdb\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRETURN\fR\fR
+.ad
+.RS 13n
+.rt
+update the value of \fBdot\fR by the current value of \fBtype\fR and display
+using the current value of \fBcount\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB#\fR\fR
+.ad
+.RS 13n
+.rt
+numeric expressions may be composed of +, -, *, and % operators (evaluated left
+to right) and may use parentheses. Once evaluated, the value of \fBdot\fR is
+updated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB,\fR\fI count\fR\fR
+.ad
+.RS 13n
+.rt
+count indicator. The global value of \fBcount\fR will be updated to
+\fBcount\fR. The value of \fBcount\fR will remain until a new command is run. A
+count specifier of '*' will attempt to show a \fIblocks's\fR worth of
+information. The default for \fBcount\fR is 1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB?\fR\fI f\fR\fR
+.ad
+.RS 13n
+.rt
+display in structured style with format specifier \fIf\fR. See
+\fBFormatted\fROutput\fB\&.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/\fR\fI f\fR\fR
+.ad
+.RS 13n
+.rt
+display in unstructured style with format specifier \fIf\fR See
+\fBFormatted\fROutput\fB\&.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&.\fR\fR
+.ad
+.RS 13n
+.rt
+the value of \fBdot\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB+\fR\fIe\fR\fR
+.ad
+.RS 13n
+.rt
+increment the value of \fBdot\fR by the expression \fIe.\fR The amount actually
+incremented is dependent on the size of \fBtype\fR:
+.sp
+\fBdot = dot + e * sizeof (type)\fR
+.sp
+The default for \fIe\fR is \fB1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-\fR\fIe\fR\fR
+.ad
+.RS 13n
+.rt
+decrement the value of \fBdot\fR by the expression \fIe\fR. See \fB+\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB*\fR\fIe\fR\fR
+.ad
+.RS 13n
+.rt
+multiply the value of \fBdot\fR by the expression \fIe.\fR Multiplication and
+division don't use \fBtype\fR. In the above calculation of \fBdot\fR, consider
+the \fBsizeof(type)\fR to be \fB1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%\fR\fIe\fR\fR
+.ad
+.RS 13n
+.rt
+divide the value of \fBdot\fR by the expression \fIe\fR. See \fB*\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB<\fR\fI name\fR\fR
+.ad
+.RS 13n
+.rt
+restore an address saved in register \fIname\fR. \fIname\fR must be a single
+letter or digit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>\fR\fI name\fR\fR
+.ad
+.RS 13n
+.rt
+save an address in register \fIname\fR. \fIname\fR must be a single letter or
+digit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB=\fR\fI f\fR\fR
+.ad
+.RS 13n
+.rt
+display indicator. If \fIf\fR is a legitimate format specifier. then the value
+of \fBdot\fR is displayed using the format specifier \fIf\fR. See
+\fBFormatted\fROutput. Otherwise, assignment is assumed See \fB=\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB= [\fR\fIs\fR\fB] [\fR\fIe\fR\fB]\fR\fR
+.ad
+.RS 13n
+.rt
+assignment indicator. The address pointed to by \fBdot\fR has its contents
+changed to the value of the expression \fIe\fR or to the \fBASCII\fR
+representation of the quoted (") string \fIs\fR. This may be useful for
+changing directory names or \fBASCII\fR file information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB=+\fR\fI e\fR\fR
+.ad
+.RS 13n
+.rt
+incremental assignment. The address pointed to by \fBdot\fR has its contents
+incremented by expression \fIe\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB=-\fR\fI e\fR\fR
+.ad
+.RS 13n
+.rt
+decremental assignment. The address pointed to by \fBdot\fR has its contents
+decremented by expression \fIe\fR.
+.RE
+
+.SS "Commands"
+.sp
+.LP
+A command must be prefixed by a ':' character. Only enough letters of the
+command to uniquely distinguish it are needed. Multiple commands may be entered
+on one line by separating them by a \fBSPACE,\fR \fBTAB\fR or ';'.
+.sp
+.LP
+In order to view a potentially unmounted disk in a reasonable manner,
+\fBfsdb\fR offers the \fBcd\fR, \fBpwd\fR, \fBls\fR and \fBfind\fR commands.
+The functionality of these commands substantially matches those of its UNIX
+counterparts. See individual commands for details. The '*', '?', and '[-]' wild
+card characters are available.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbase=b\fR\fR
+.ad
+.sp .6
+.RS 4n
+display or set base. As stated above, all input and output is governed by the
+current \fBbase\fR. If the \fB=b\fR is omitted, the current \fBbase\fR is
+displayed. Otherwise, the current \fBbase\fR is set to \fIb.\fR Note that this
+is interpreted using the old value of \fBbase\fR, so to ensure correctness use
+the '0', '0t', or '0x' prefix when changing the \fBbase\fR. The default for
+\fBbase\fR is hexadecimal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBblock\fR\fR
+.ad
+.sp .6
+.RS 4n
+convert the value of \fBdot\fR to a block address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcd \fR\fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+change the current directory to directory \fIdir\fR. The current values of
+\fBinode\fR and \fBdot\fR are also updated. If no \fIdir\fR is specified, then
+change directories to inode \fB2\fR ("/").
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcg\fR\fR
+.ad
+.sp .6
+.RS 4n
+convert the value of \fBdot\fR to a cylinder group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdirectory\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the current \fBinode\fR is a directory, then the value of \fBdot\fR is
+converted to a directory slot offset in that directory and \fBdot\fR now points
+to this entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+the value of \fBdot\fR is taken as a relative block count from the beginning of
+the file. The value of \fBdot\fR is updated to the first byte of this block.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfind\fR \fIdir\fR [ \fB-name\fR \fIn\fR] [\fB-inum\fR \fIi\fR]\fR
+.ad
+.sp .6
+.RS 4n
+find files by name or i-number. \fBfind\fR recursively searches directory
+\fBdir\fR and below for filenames whose i-number matches \fIi\fR or whose name
+matches pattern \fIn\fR. Note that only one of the two options (-name or -inum)
+may be used at one time. Also, the -print is not needed or accepted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfill\fR\fI=p\fR\fR
+.ad
+.sp .6
+.RS 4n
+fill an area of disk with pattern \fIp\fR. The area of disk is delimited by
+\fBdot\fR and \fBcount\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfragment\fR\fR
+.ad
+.sp .6
+.RS 4n
+convert the value of \fIdot\fR to a fragment address. The only difference
+between the \fBfragment\fR command and the \fBblock\fR command is the amount
+that is able to be displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinode\fR\fR
+.ad
+.sp .6
+.RS 4n
+convert the value of \fIdot\fR to an inode address. If successful, the current
+value of \fBinode\fR will be updated as well as the value of \fIdot\fR. As a
+convenient shorthand, if ':inode' appears at the beginning of the line, the
+value of \fIdot\fR is set to the current \fBinode\fR and that inode is
+displayed in inode format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog_chk\fR\fR
+.ad
+.sp .6
+.RS 4n
+run through the valid log entries without printing any information and verify
+the layout.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog_delta\fR\fR
+.ad
+.sp .6
+.RS 4n
+count the number of deltas into the log, using the value of dot as an offset
+into the log. No checking is done to make sure that offset is within the
+head/tail offsets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog_head\fR\fR
+.ad
+.sp .6
+.RS 4n
+display the header information about the file system logging. This shows the
+block allocation for the log and the data structures on the disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog_otodb\fR\fR
+.ad
+.sp .6
+.RS 4n
+return the physical disk block number, using the value of dot as an offset into
+the log.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog_show\fR\fR
+.ad
+.sp .6
+.RS 4n
+display all deltas between the beginning of the log (BOL) and the end of the
+log (EOL).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBls\fR\fR
+.ad
+.sp .6
+.RS 4n
+[ \fB-R\fR ] [ \fB-l\fR ] \fIpat1 pat2\fR\|.\|.\|. list directories or files.
+If no file is specified, the current directory is assumed. Either or both of
+the options may be used (but, if used, \fImust\fR be specified before the
+filename specifiers). Also, as stated above, wild card characters are available
+and multiple arguments may be given. The long listing shows only the i-number
+and the name; use the \fBinode\fR command with '?i' to get more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoverride\fR\fR
+.ad
+.sp .6
+.RS 4n
+toggle the value of override. Some error conditions may be overriden if
+override is toggled on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprompt\fR\fI p\fR\fR
+.ad
+.sp .6
+.RS 4n
+change the \fBfsdb\fR prompt to \fIp\fR. \fIp\fR must be surrounded by (")s.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpwd\fR\fR
+.ad
+.sp .6
+.RS 4n
+display the current working directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquit\fR\fR
+.ad
+.sp .6
+.RS 4n
+quit \fBfsdb\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsb\fR\fR
+.ad
+.sp .6
+.RS 4n
+the value of \fIdot\fR is taken as a cylinder group number and then converted
+to the address of the superblock in that cylinder group. As a shorthand, ':sb'
+at the beginning of a line will set the value of \fIdot\fR to \fIthe\fR
+superblock and display it in superblock format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshadow\fR\fR
+.ad
+.sp .6
+.RS 4n
+if the current inode is a shadow inode, then the value of \fIdot\fR is set to
+the beginning of the shadow inode data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!\fR\fR
+.ad
+.sp .6
+.RS 4n
+escape to shell
+.RE
+
+.SS "Inode Commands"
+.sp
+.LP
+In addition to the above commands, there are several commands that deal with
+inode fields and operate directly on the current \fBinode\fR (they still
+require the ':'). They may be used to more easily display or change the
+particular fields. The value of \fIdot\fR is only used by the '\fB:db\fR'
+and '\fB:ib\fR' commands. Upon completion of the command, the value of \fIdot\fR is
+changed to point to that particular field. For example,
+.sp
+.LP
+\fB> :ln=+1\fR
+.sp
+.LP
+would increment the link count of the current \fBinode\fR and set the value of
+\fIdot\fR to the address of the link count field.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBat\fR\fR
+.ad
+.RS 7n
+.rt
+access time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbs\fR\fR
+.ad
+.RS 7n
+.rt
+block size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBct\fR\fR
+.ad
+.RS 7n
+.rt
+creation time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdb\fR\fR
+.ad
+.RS 7n
+.rt
+use the current value of \fIdot\fR as a direct block index, where direct blocks
+number from 0 - 11. In order to display the block itself, you need to 'pipe'
+this result into the \fBblock\fR or \fBfragment\fR command. For example,
+.sp
+.in +2
+.nf
+\fB > 1:db:block,20/X\fR
+.fi
+.in -2
+.sp
+
+would get the contents of data block field 1 from the inode and convert it to a
+block address. 20 longs are then displayed in hexadecimal. See
+\fBFormatted\fROutput\fB\&.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgid\fR\fR
+.ad
+.RS 7n
+.rt
+group id.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBib\fR\fR
+.ad
+.RS 7n
+.rt
+use the current value of \fIdot\fR as an indirect block index where indirect
+blocks number from 0 - 2. This will only get the indirect block itself (the
+block containing the pointers to the actual blocks). Use the \fBfile\fR command
+and start at block 12 to get to the actual blocks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBln\fR\fR
+.ad
+.RS 7n
+.rt
+link count.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmt\fR\fR
+.ad
+.RS 7n
+.rt
+modification time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmd\fR\fR
+.ad
+.RS 7n
+.rt
+mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaj\fR\fR
+.ad
+.RS 7n
+.rt
+major device number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmin\fR\fR
+.ad
+.RS 7n
+.rt
+minor device number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnm\fR\fR
+.ad
+.RS 7n
+.rt
+although listed here, this command actually operates on the directory name
+field. Once poised at the desired directory entry (using the \fIdirectory\fR
+command), this command will allow you to change or display the directory name.
+For example,
+.sp
+\fB> 7:dir:nm="foo"\fR
+.sp
+will get the \fB7\fRth directory entry of the current \fBinode\fR and change
+its name to foo. Note that names cannot be made larger than the field is set up
+for. If an attempt is made, the string is truncated to fit and a warning
+message to this effect is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsi\fR\fR
+.ad
+.RS 7n
+.rt
+shadow inode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsz\fR\fR
+.ad
+.RS 7n
+.rt
+file size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuid\fR\fR
+.ad
+.RS 7n
+.rt
+user id.
+.RE
+
+.SS "Formatted Output"
+.sp
+.LP
+There are two styles and many format types. The two styles are structured and
+unstructured. Structured output is used to display inodes, directories,
+superblocks and the like. Unstructured displays raw data. The following shows
+the different ways of displaying:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB?\fR\fR
+.ad
+.RS 5n
+.rt
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 5n
+.rt
+display as cylinder groups
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.RS 5n
+.rt
+display as inodes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 5n
+.rt
+display as directories
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+display as superblocks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR\fR
+.ad
+.RS 5n
+.rt
+display as shadow inode data
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/\fR\fR
+.ad
+.RS 5n
+.rt
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 7n
+.rt
+display as bytes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 7n
+.rt
+display as characters
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo O\fR\fR
+.ad
+.RS 7n
+.rt
+display as octal shorts or longs
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd D\fR\fR
+.ad
+.RS 7n
+.rt
+display as decimal shorts or longs
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBx X\fR\fR
+.ad
+.RS 7n
+.rt
+display as hexadecimal shorts or longs
+.RE
+
+The format specifier immediately follows the '/' or '?' character. The values
+displayed by '/b' and all '?' formats are displayed in the current \fBbase\fR.
+Also, \fBtype\fR is appropriately updated upon completion.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying in Decimal
+.sp
+.LP
+The following command displays \fB2010\fR in decimal (use of \fBfsdb\fR as a
+calculator for complex arithmetic):
+
+.sp
+.in +2
+.nf
+> 2000+400%(20+20)=D
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying an i-number in Inode Format
+.sp
+.LP
+The following command displays i-number \fB386\fR in an inode format. This now
+becomes the current \fBinode\fR:
+
+.sp
+.in +2
+.nf
+> 386:ino?i
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRChanging the Link Count
+.sp
+.LP
+The following command changes the link count for the current \fBinode\fR to
+\fB4\fR:
+
+.sp
+.in +2
+.nf
+> :ln=4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRIncrementing the Link Count
+.sp
+.LP
+The following command increments the link count by \fB1\fR:
+
+.sp
+.in +2
+.nf
+> :ln=+1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDisplaying the Creation Time
+.sp
+.LP
+The following command displays the creation time as a hexadecimal long:
+
+.sp
+.in +2
+.nf
+> :ct=X
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDisplaying the Modification Time
+.sp
+.LP
+The following command displays the modification time in time format:
+
+.sp
+.in +2
+.nf
+> :mt=t
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRDisplaying in ASCII
+.sp
+.LP
+The following command displays in \fBASCII,\fR block zero of the file
+associated with the current \fBinode\fR:
+
+.sp
+.in +2
+.nf
+> 0:file/c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDisplaying the First Block's Worth of Directorty Entries
+.sp
+.LP
+The following command displays the first block's worth of directory entries for
+the root inode of this file system. It will stop prematurely if the \fBEOF\fR
+is reached:
+
+.sp
+.in +2
+.nf
+> 2:ino,*?d
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRDisplaying Changes to the Current Inode
+.sp
+.LP
+The following command displays changes the current inode to that associated
+with the \fB5\fRth directory entry (numbered from zero) of the current
+\fBinode\fR. The first logical block of the file is then displayed in
+\fBASCII\fR:
+
+.sp
+.in +2
+.nf
+> 5:dir:inode; 0:file,*/c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRDisplaying the Superblock
+.sp
+.LP
+The following command displays the superblock of this file system:
+
+.sp
+.in +2
+.nf
+> :sb
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRDisplaying the Cylinder Group
+.sp
+.LP
+The following command displays cylinder group information and summary for
+cylinder group \fB1\fR:
+
+.sp
+.in +2
+.nf
+> 1:cg?c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRChanging the i-number
+.sp
+.LP
+The following command changes the i-number for the seventh directory slot in
+the root directory to \fB3\fR:
+
+.sp
+.in +2
+.nf
+> 2:inode; 7:dir=3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRDisplaying as Directory Entries
+.sp
+.LP
+The following command displays the third block of the current \fBinode\fR as
+directory entries:
+
+.sp
+.in +2
+.nf
+> 2:db:block,*?d
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRChanging the Name Field
+.sp
+.LP
+The following command changes the name field in the directory slot to
+\fIname\fR:
+
+.sp
+.in +2
+.nf
+> 7:dir:nm="name"
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 15 \fRGetting and Filling Elements
+.sp
+.LP
+The following command gets fragment \fB3c3\fR and fill \fB20\fR \fBtype\fR
+elements with \fB0x20\fR:
+
+.sp
+.in +2
+.nf
+> 3c3:fragment,20:fill=0x20
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 16 \fRSetting the Contents of an Address
+.sp
+.LP
+The following command sets the contents of address \fB2050\fR to
+\fB0xffffffff\fR. \fB0xffffffff\fR may be truncated depending on the current
+\fBtype\fR:
+
+.sp
+.in +2
+.nf
+> 2050=0xffff
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 17 \fRPlacing ASCII
+.sp
+.LP
+The following command places the \fBASCII\fR for the string at \fB1c92434\fR:
+
+.sp
+.in +2
+.nf
+> 1c92434="this is some text"
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 18 \fRDisplaying Shadow Inode Data
+.sp
+.LP
+The following command displays all of the shadow inode data in the shadow inode
+associated with the root inode of this file system:
+
+.sp
+.in +2
+.nf
+> 2:ino:si:ino;0:shadow,*?S
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBclri\fR(1M), \fBfsck_ufs\fR(1M), \fBdir_ufs\fR(4), \fBattributes\fR(5),
+\fBufs\fR(7FS)
+.SH WARNINGS
+.sp
+.LP
+Since \fBfsdb\fR reads the disk raw, extreme caution is advised in determining
+its availability of \fBfsdb\fR on the system. Suggested permissions are 600 and
+owned by bin.
+.SH NOTES
+.sp
+.LP
+The old command line syntax for clearing i-nodes using the ufs-specific
+\fB\&'-z i-number'\fR option is still supported by the new debugger, though it
+is obsolete and will be removed in a future release. Use of this flag will
+result in correct operation, but an error message will be printed warning of
+the impending obsolesence of this option to the command. The equivalent
+functionality is available using the more flexible \fBclri\fR(1M) command.
diff --git a/usr/src/man/man1m/fsirand.1m b/usr/src/man/man1m/fsirand.1m
new file mode 100644
index 0000000000..77ebd854dd
--- /dev/null
+++ b/usr/src/man/man1m/fsirand.1m
@@ -0,0 +1,49 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsirand 1M "16 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsirand \- install random inode generation numbers
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsirand\fR [\fB-p\fR] \fIspecial\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfsirand\fR installs random inode generation numbers on all the inodes on
+device \fIspecial\fR, and also installs a file system \fBID\fR in the
+superblock. This helps increase the security of file systems exported by
+\fBNFS.\fR
+.sp
+.LP
+\fBfsirand\fR must be used only on an unmounted file system that has been
+checked with \fBfsck\fR(1M) The only exception is that it can be used on the
+root file system in single-user mode, if the system is immediately re-booted
+afterwards.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Print out the generation numbers for all the inodes, but do not change the
+generation numbers.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBfsirand\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBattributes\fR(5), \fBlargefile\fR(5)
diff --git a/usr/src/man/man1m/fssnap.1m b/usr/src/man/man1m/fssnap.1m
new file mode 100644
index 0000000000..ad5e7c58a8
--- /dev/null
+++ b/usr/src/man/man1m/fssnap.1m
@@ -0,0 +1,189 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fssnap 1M "11 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fssnap \- create temporary snapshots of a file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBfssnap\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] \fB-o\fR \fIspecial_options\fR \fI/mount/point\fR
+.fi
+
+.LP
+.nf
+\fBfssnap \fR \fB-d\fR [\fB-F\fR \fI FSType\fR] [\fB-V\fR] \fI/mount/point\fR | \fIdev\fR
+.fi
+
+.LP
+.nf
+\fBfssnap\fR \fB-i\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] [\fB-o\fR \fIspecial_options\fR]
+ [\fI/mount/point\fR | \fIdev\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfssnap\fR command creates a stable, read-only snapshot of a file system
+when given either an active mount point or a special device containing a
+mounted file system, as in the first form of the synopsis. A snapshot is a
+temporary image of a file system intended for backup operations.
+.sp
+.LP
+While the snapshot file system is stable and consistent, an application
+updating files when the snapshot is created might leave these files in an
+internally inconsistent, truncated, or otherwise unusable state. In such a
+case, the snapshot will contain these partially written or corrupted files. It
+is a good idea to ensure active applications are suspended or checkpointed and
+their associated files are also consistent during snapshot creation.
+.sp
+.LP
+File access times are not updated while the snapshot is being created.
+.sp
+.LP
+A path to the virtual device that contains this snapshot is printed to standard
+output when a snapshot is created.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 22n
+.rt
+Deletes the snapshot associated with the given file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.RS 22n
+.rt
+Specifies the file system type to be used. The \fBFSType\fR should either be
+specified here or be determined by matching the block special device with an
+entry in the \fB/etc/vfstab\fR table, or by consulting \fB/etc/default/fs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 22n
+.rt
+Displays the state of any given \fBFSType\fR snapshot. If a mount-point or
+device is not given, a list of all snapshots on the system is displayed. When a
+mount-point or device is specified, detailed information is provided for the
+specified file system snapshot by default. The format and meaning of this
+information is file-system dependent. See the \fBFSType\fR-specific
+\fBfssnap\fR man page for details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecial_options\fR\fR
+.ad
+.RS 22n
+.rt
+See the \fBFSType\fR-specific man page for \fBfssnap\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 22n
+.rt
+Echoes the complete command line, but does not execute the command.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fI/mount/point\fR\fR
+.ad
+.RS 16n
+.rt
+The directory where the file system resides.
+.RE
+
+.SH EXAMPLES
+.sp
+.LP
+See \fBFSType\fR-specific man pages for examples.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 19n
+.rt
+Specifies file system type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.RS 19n
+.rt
+Specifies the default local file system type.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfssnap_ufs\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+This command might not be supported for all \fBFSTypes\fR.
diff --git a/usr/src/man/man1m/fssnap_ufs.1m b/usr/src/man/man1m/fssnap_ufs.1m
new file mode 100644
index 0000000000..9f07df4373
--- /dev/null
+++ b/usr/src/man/man1m/fssnap_ufs.1m
@@ -0,0 +1,569 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fssnap_ufs 1M "29 Jan 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fssnap_ufs \- create a temporary snapshot of a UFS file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBfssnap\fR [\fB-F\fR ufs] [\fB-V\fR] \fB-o\fR \fIbacking-store\fR=\fIpath\fR,
+ [\fIspecific-options\fR] \fI/mount/point\fR
+.fi
+
+.LP
+.nf
+\fBfssnap\fR \fB-d\fR [\fB-F\fR ufs] [\fB-V\fR] \fI/mount/point\fR | \fIdev\fR
+.fi
+
+.LP
+.nf
+\fBfssnap\fR \fB-i\fR [\fB-F\fR ufs] [\fB-V\fR] [\fB-o\fR \fIspecific-options\fR] \fI/mount/point\fR | \fIdev\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfssnap\fR command queries, creates, or deletes a temporary snapshot of a
+\fBUFS\fR file system. A snapshot is a point-in-time image of a file system
+that provides a stable and unchanging device interface for backups.
+.sp
+.LP
+When creating a file system snapshot, you must specify the file system to be
+captured and the backing-store file. The backing-store file(s) are where the
+snapshot subsystem saves old file system data before it is overwritten. Beyond
+the first backing-store file, \fBfssnap\fR automatically creates additional
+backing-store files on an as-needed basis.
+.sp
+.LP
+The number and size of the backing store files varies with the amount of
+activity in the file system. The destination path must have enough free space
+to hold the backing-store file(s). This location must be different from the
+file system that is being captured in a snapshot. The backing-store file(s) can
+reside on any type of file system, including another \fBUFS\fR file system or
+an \fBNFS\fR-mounted file system.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the snapshot associated with the given file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the state of one or all \fBUFS\fR snapshots. If a mount-point or
+device is not specified, a list of all snapshots on the system is displayed.
+When a mount-point or device is specified, detailed information is provided for
+the specified file system snapshot by default.
+.sp
+Use the \fB-o\fR options with the \fB-i\fR option to specify what snapshot
+information is displayed. Since this feature is provided primarily for use in
+scripts and on the command line, no labels are displayed for the data. Sizes
+are all in bytes, and the output is not internationalized or localized. The
+information is displayed on one line per option. Unrecognized options display a
+single \fB?\fR on the line. One line per option guarantees that there are the
+same number of lines as options specified and there is a one-to-one
+correspondence between an output line and an option.
+.sp
+The following \fB-o\fR options display specific information for a given
+snapshot. See the EXAMPLES section for examples of how to use these options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsnapnumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the snapshot number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBblockdevname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the block device path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrawdevname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the raw device path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmountpoint\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the mount point of the master file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the state of the snapshot device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbacking-store\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the location of the first backing-store file for this snapshot. If
+there are multiple backing-store files, subsequent files have the same name as
+the first file, with the suffixes \fB\&.2\fR, \fB\&.3\fR, and so forth.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbacking-store-len\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the sum of the sizes of the backing-store files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the \fBmaxsize\fR value specified for the backing-store file(s).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreatetime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the time that the snapshot was created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchunksize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the copy-on-write granularity.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific-options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Without \fB-d\fR or \fB-i\fR, the default action is to create a snapshot.
+Specify the following options when creating a snapshot. All of these options
+are discretionary, except for the backing-store file, which is required.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbacking-store=\fR\fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses \fIpath\fR in the creation of the backing-store file(s). \fIpath\fR must
+not reside on the file system that is being captured in a snapshot and must not
+be the name of an existing file. If \fIpath\fR is a directory, then a
+backing-store file is created within it using a name that is generated
+automatically. If \fIpath\fR is not a directory and does not already exist,
+then a backing-store file with that name is created. If more than one
+backing-store file is required, \fBfssnap\fR creates subsequent files
+automatically. The second and subsequent files have the same name as the first
+file, with suffixes of \fB\&.2\fR, \fB\&.3\fR, and so forth.
+.sp
+This option can be abbreviated as \fBbf=\fR\fIpath\fR or \fBbs=\fR\fIpath\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unlinks the backing-store file after the snapshot is created. This option
+specifies that the backing-store file does not need to be removed manually when
+the snapshot is deleted. This might make administration more difficult since
+the file is not visible in the file system. If this option is not specified,
+the backing-store files should be removed manually after the snapshot is
+deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchunksize=\fR\fIn\fR [\fBk\fR,\fBm\fR,\fBg\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Uses \fIn\fR for the chunk size. Chunk size is the granularity of the data that
+is sent to the backing store.
+.sp
+Specify \fBchunksize\fR in the following units: \fBk\fR for kilobytes, \fBm\fR
+for megabytes, or \fBg\fR for gigabytes. By default, chunk size is four times
+the block size of the file system (typically \fB32k\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxsize=\fR\fIn\fR[\fBk\fR,\fBm\fR,\fBg\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Does not allow the sum of the sizes of the backing-store file(s) to exceed
+\fIn\fR, where \fIn\fR is the unit specified. The snapshot is deleted
+automatically when the sum of the sizes of the backing-store file(s) exceeds
+\fBmaxsize\fR.
+.sp
+Specify \fBmaxsize\fR in the following units: \fBk\fR for kilobytes, \fBm\fR
+for megabytes, or \fBg\fR for gigabytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBraw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays to standard output the name of the raw device instead of the block
+device when a snapshot is created. The block device is printed by default (when
+\fBraw\fR is not specified). This option makes it easier to embed \fBfssnap\fR
+commands in the command line for commands that require the raw device instead.
+Both devices are always created. This option affects only the output.
+.RE
+
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fImount-point\fR\fR
+.ad
+.sp .6
+.RS 4n
+The directory where the file system resides.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIspecial\fR\fR
+.ad
+.sp .6
+.RS 4n
+The physical device for the file system, such as \fB/dev/dsk/c0t0d0s7\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Snapshot of a File System
+.sp
+.LP
+The following example creates a snapshot of a file system. The block special
+device created for the snapshot is \fB/dev/fssnap/0\fR.
+
+.sp
+.in +2
+.nf
+# fssnap -F ufs -o backing-store=/var/tmp /export/home
+/dev/fssnap/0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRBacking Up a File System Snapshot Without Having To Unmount the
+File System
+.sp
+.LP
+The following example backs up a file system snapshot without having to unmount
+the file system. Since \fBufsdump\fR requires the path to a raw device, the
+\fBraw\fR option is used. The \fB/export/home\fR file system snapshot is
+removed in the second command.
+
+.sp
+.in +2
+.nf
+# ufsdump 0uf /dev/rmt/0 `fssnap -F ufs
+ -o raw,bs=/export/snap /export/home`
+\fI<output from ufsdump>\fR
+# fssnap -F ufs -d /export/home
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRBacking Up a File System
+.sp
+.LP
+When backing up a file system, do not let the backing-store file(s) exceed
+\fB400\fR \fBMbytes\fR. The second command removes the \fB/export/home\fR file
+system snapshot.
+
+.sp
+.in +2
+.nf
+# ufsdump 0uf /dev/rmt/0 `fssnap -F ufs
+ -o maxsize=400m,backing-store=/export/snap,raw
+ /export/home`
+# fssnap -F ufs -d /export/home
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRPerforming an Incremental Dump of a Snapshot
+.sp
+.LP
+The following example uses \fBufsdump\fR to back up a snapshot of \fB/var\fR.
+Note the use of the \fBN\fR option to \fBufsdump\fR, which writes the name of
+the device being dumped, rather than the name of the snapshot device, to
+\fB/etc/dumpdates\fR file. See \fBufsdump\fR(1M) for details on the \fBN\fR
+flag.
+
+.sp
+.in +2
+.nf
+# ufsdump lfNu /dev/rmt/0 /dev/rdsk/c0t3d0s2 `fssnap -F ufs
+-o raw,bs=/export/scratch,unlink /var`
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRFinding Out What Snapshots Currently Exist
+.sp
+.LP
+The following command displays the currently existing snapshots.
+
+.sp
+.in +2
+.nf
+# fssnap -i
+0 /src
+1 /export/home
+\fI<output continues>\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRMounting a File System Snapshot
+.sp
+.LP
+The following example creates a file system snapshot. After you create a file
+system snapshot, mount it on \fB/tmp/mount\fR for temporary read-only access.
+
+.sp
+.in +2
+.nf
+# fssnap -F ufs -o backing-store=/nfs/server/scratch /export/home
+/dev/fssnap/1
+# mkdir /tmp/mount
+# mount -F ufs -o ro /dev/fssnap/1 /tmp/mount
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRCreating a File System Snapshot and Unlinking the Backing-store
+File
+.sp
+.LP
+The following example creates a file system snapshot and unlinks the
+backing-store file. After creating a file system snapshot and unlinking the
+backing-store file, check the state of the snapshot.
+
+.sp
+.in +2
+.nf
+# fssnap -o bs=/scratch,unlink /src
+/dev/fssnap/0
+# fssnap -i /src
+Snapshot number : 0
+Block Device : /dev/fssnap/0
+Raw Device : /dev/rfssnap/0
+Mount point : /src
+Device state : active
+Backing store path : /scratch/snapshot2 <UNLINKED>
+Backing store size : 192 KB
+Maximum backing store size : Unlimited
+Snapshot create time : Sat May 06 10:55:11 2000
+Copy-on-write granularity : 32 KB
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDisplaying the Size and Location of the Backing-store File(s)
+and the Creation Time for the Snapshot
+.sp
+.LP
+The following example displays the size of the backing-store file(s) in bytes,
+the location of the backing store, and the creation time for the snapshot of
+the \fB/test\fR file system.
+
+.sp
+.in +2
+.nf
+# fssnap -i -o backing-store-len,backing-store,createtime /test
+196608
+/snapshot2
+Sat May 6 10:55:11 2000
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that if there are multiple backing-store files stored in \fB/snapshot2\fR,
+they will have names of the form \fIfile\fR (for the first file), \fIfile\fR.1,
+\fIfile\fR.2, and so forth.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.sp
+.LP
+The script-readable output mode is a stable interface that can be added to, but
+will not change. All other interfaces are subject to change.
+.SH SEE ALSO
+.sp
+.LP
+\fBmlock\fR(3C), \fBattributes\fR(5)
+.sp
+.LP
+See the \fBntpd\fR man page, delivered in the \fBSUNWntpu\fR package (not a
+SunOS man page).
+.SH NOTES
+.sp
+.LP
+The \fBfssnap\fR device files should be treated like a regular disk block or
+character device.
+.sp
+.LP
+The association between a file system and the snapshot is lost when the
+snapshot is deleted or the system reboots. Snapshot persistence across reboots
+is not currently supported.
+.sp
+.LP
+To avoid unnecessary performance impacts, perform the snapshot and system
+backup when the system is least active.
+.sp
+.LP
+It is not possible to perform a snapshot of a file system if any of the
+following conditions are true:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The file system is in use by system accounting
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The file system contains a local swap file
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The file system is used as backing store by an application that uses
+\fBmlock\fR(3C) to lock its pages. Typically, these are real time applications,
+such as \fBntpd\fR (delivered in the \fBSUNWntpu\fR package).
+.RE
+.sp
+.LP
+These conditions result in \fBfssnap\fR being unable to write lock the file
+system prior to performing the snapshot.
diff --git a/usr/src/man/man1m/fsstat.1m b/usr/src/man/man1m/fsstat.1m
new file mode 100644
index 0000000000..cd120fb8a4
--- /dev/null
+++ b/usr/src/man/man1m/fsstat.1m
@@ -0,0 +1,967 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fsstat 1M "5 Jan 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fsstat \- report file system statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBfsstat\fR [\fB-a|f|i|n|v\fR] [\fB-T\fR | u|d] {\fB-F\fR | {\fIfstype\fR|\fIpath\fR}...}
+ [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfsstat\fR reports kernel file operation activity by the file system type
+(\fIfstype\fR) or by the path name, which is converted to a mount point. The
+first set of lines of output reports all activity since:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The file system module was loaded (in the case of \fIfstype\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The file system was mounted (in the case of mount point)
+.RE
+.sp
+.LP
+Statistics are gathered at the file system independent layer at both the
+\fIfstype\fR and the mount point levels. However, not all file system types are
+represented in the gathering of statistics. (See the NOTES section of this man
+page.)
+.sp
+.LP
+The output of \fBfsstat\fR is dependent on the mode (option) requested. All
+statistic fields are displayed using "smart numbers" which automatically scale
+the units in a human readable form that fits in a maximum of 5 characters. For
+example:
+.sp
+.ne 2
+.mk
+.na
+\fB100\fR
+.ad
+.RS 11n
+.rt
+is displayed as 100
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2048\fR
+.ad
+.RS 11n
+.rt
+is displayed as 2K
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB3000000\fR
+.ad
+.RS 11n
+.rt
+is displayed as 2.86M
+.RE
+
+.sp
+.LP
+The unit modifiers are: K (Kbyte), M (Mbyte), G (Gbyte), T (terabyte), P
+(petabyte), and E (exabyte).
+.sp
+.LP
+During the execution of \fBfsstat\fR, the state of the system can change. If
+relevant, a state change message is included in the \fBfsstat\fR output in one
+of the following forms:
+.sp
+.in +2
+.nf
+<<mount point no longer available: {path}>>
+<<file system module no longer loaded: {fstype}>>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+After the state change messages are displayed, \fBfsstat\fR continues to
+display the statistics as directed. If all of the \fIfstypes\fR and mount
+points that \fBfsstat\fR was reporting on are no longer available, then
+\fBfsstat\fR exits.
+.sp
+.LP
+The user is required to specify the \fB-F\fR option (all available file system
+types) or a list of one or more \fIfstypes\fR and/or mount points.
+.sp
+.LP
+The default report shows general file system activity. This display combines
+similar operations into general categories as follows:
+.sp
+.ne 2
+.mk
+.na
+\fBnew file\fR
+.ad
+.RS 15n
+.rt
+Number of creation operations for file system objects (for example, files,
+directories, symlinks, etc.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBname remov\fR
+.ad
+.RS 15n
+.rt
+Number of name removal operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBname chng\fR
+.ad
+.RS 15n
+.rt
+Number of name change operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBattr get\fR
+.ad
+.RS 15n
+.rt
+Number of object attribute retrieval operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBattr set\fR
+.ad
+.RS 15n
+.rt
+Number of object attribute change operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlookup ops\fR
+.ad
+.RS 15n
+.rt
+Number of object lookup operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrddir ops\fR
+.ad
+.RS 15n
+.rt
+Number of read directory operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBread ops\fR
+.ad
+.RS 15n
+.rt
+Number of data read operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBread bytes\fR
+.ad
+.RS 15n
+.rt
+Bytes transferred by data read operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwrite ops\fR
+.ad
+.RS 15n
+.rt
+Number of data write operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwrite bytes\fR
+.ad
+.RS 15n
+.rt
+Bytes transferred by data write operations
+.RE
+
+.sp
+.LP
+The entity being reported on (\fIfstype\fR or mount point) is displayed in the
+last column.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 10n
+.rt
+Report the activity for kernel attribute operations. The following statistics
+are reported:
+.sp
+.ne 2
+.mk
+.na
+\fBgetattr\fR
+.ad
+.RS 11n
+.rt
+Number of file attribute retrieval calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsetattr\fR
+.ad
+.RS 11n
+.rt
+Number of file attribute modification calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetsec\fR
+.ad
+.RS 11n
+.rt
+Number of file security attribute retrieval calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsetsec\fR
+.ad
+.RS 11n
+.rt
+Number of file security attribute modification calls
+.RE
+
+The entity being reported on (\fIfstype\fR or mount point) is displayed in the
+last column.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 10n
+.rt
+Report the full activity for all kernel file operations. Each file operation is
+listed in the left column. The following statistics are reported for each
+operation:
+.sp
+.ne 2
+.mk
+.na
+\fB#ops\fR
+.ad
+.RS 9n
+.rt
+Number of calls for this operation
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbytes\fR
+.ad
+.RS 9n
+.rt
+Average transfer size in bytes (only applies to read, write, readdir)
+.RE
+
+The entity being reported on (\fIfstype\fR or mount point) is displayed in the
+first row.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 10n
+.rt
+Reports the activity for kernel I/O operations. The following statistics are
+reported:
+.sp
+.ne 2
+.mk
+.na
+\fBread ops\fR
+.ad
+.RS 15n
+.rt
+Number of data read calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBread bytes\fR
+.ad
+.RS 15n
+.rt
+Number of bytes read
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwrite ops\fR
+.ad
+.RS 15n
+.rt
+Number of data write calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwrite bytes\fR
+.ad
+.RS 15n
+.rt
+Number of bytes written
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrddir ops\fR
+.ad
+.RS 15n
+.rt
+Number of read directory calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrddir bytes\fR
+.ad
+.RS 15n
+.rt
+Number of bytes read by reading directories
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrwlock ops\fR
+.ad
+.RS 15n
+.rt
+Number of internal file system lock operations
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrwulock ops\fR
+.ad
+.RS 15n
+.rt
+Number of internal file system unlock operations
+.RE
+
+The entity being reported on (\fIfstype\fR or mount point) is displayed in the
+last column.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 10n
+.rt
+Reports the activity for kernel naming operations. The following statistics are
+reported:
+.sp
+.ne 2
+.mk
+.na
+\fBlookup\fR
+.ad
+.RS 11n
+.rt
+Number of file name retrieval calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcreat\fR
+.ad
+.RS 11n
+.rt
+Number of file creation calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBremov\fR
+.ad
+.RS 11n
+.rt
+Number of file remove calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlink\fR
+.ad
+.RS 11n
+.rt
+Number of link calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrenam\fR
+.ad
+.RS 11n
+.rt
+Number of file renaming calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmkdir\fR
+.ad
+.RS 11n
+.rt
+Number of directory creation calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrmdir\fR
+.ad
+.RS 11n
+.rt
+Number of directory removal calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrddir\fR
+.ad
+.RS 11n
+.rt
+Number of directory read calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsymlink\fR
+.ad
+.RS 11n
+.rt
+Number of symlink creation calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrdlink\fR
+.ad
+.RS 11n
+.rt
+Number of symlink read calls
+.RE
+
+The entity being reported on (\fIfstype\fR or mount point) is displayed in the
+last column.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 10n
+.rt
+Reports the activity for calls to the virtual memory operations. The following
+statistics are reported.
+.sp
+.ne 2
+.mk
+.na
+\fBmap\fR
+.ad
+.RS 10n
+.rt
+Number of calls mapping a file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddmap\fR
+.ad
+.RS 10n
+.rt
+Number of calls setting additional mapping to a mapped file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdelmap\fR
+.ad
+.RS 10n
+.rt
+Number of calls deleting mapping to a file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetpag\fR
+.ad
+.RS 10n
+.rt
+Number of calls retrieving a page of data from a file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBputpag\fR
+.ad
+.RS 10n
+.rt
+Number of calls writing a page of data to a file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpagio\fR
+.ad
+.RS 10n
+.rt
+Number of calls to transfer pages in file system swap files
+.RE
+
+The entity being reported on (fstype or mount point) is displayed in the last
+column.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 10n
+.rt
+Report on all available file system types.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIu\fR|\fId\fR\fR
+.ad
+.RS 10n
+.rt
+Display a time stamp.
+.sp
+Specify \fIu\fR for a printed representation of the internal representation of
+time (see \fBtime\fR(2)) Specify \fId\fR for the standard date format. (See
+\fBdate\fR(1)). The time stamp is only used when an interval is set.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 12n
+.rt
+Display only \fIcount\fR reports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfstype\fR\fR
+.ad
+.RS 12n
+.rt
+Explicitly specify the file system type(s) to be reported. The file system
+module must be loaded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 12n
+.rt
+Report once each \fIinterval\fR seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpath\fR\fR
+.ad
+.RS 12n
+.rt
+Specify the path(s) of the mount point(s) to be reported. If path is not a
+mount point, the mount point containing path will be determined and displayed
+in the output.
+.RE
+
+.sp
+.LP
+If no \fIinterval\fR and no \fIcount\fR are specified, a single report is
+printed and \fBfsstat\fR exits. If an \fIinterval\fR is specified but no
+\fIcount\fR is specified, \fBfsstat\fR prints reports every \fIinterval\fR
+seconds indefinitely until the command is interrupted.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying General Activity
+.sp
+.LP
+The following example shows general activity for all file system types.
+
+.sp
+.in +2
+.nf
+\fB$ fsstat -F\fR
+ new name name attr attr lookup rddir read read write write
+ file remov chng get set ops ops ops bytes ops bytes
+ 313K 214K 38.5K 2.16M 56.2K 8.36M 52.8K 19.7M 39.9G 18.8M 39.1G ufs
+ 0 0 0 2.95K 0 3.81K 282 2.52K 466K 0 0 proc
+ 0 0 0 0 0 0 0 0 0 0 0 nfs
+ 10 8 2 86 9 98 15 413 103M 8.43K 1.05G zfs
+ 13 14 4 98 16 125 10 1.01K 258M 15.9K 127M lofs
+8.73K 3.29K 5.25K 55.3K 37 1.20M 44 37.9K 38.3M 47.2K 35.9M tmpfs
+ 0 0 0 4.93K 0 0 0 1.08K 913K 0 0 mntfs
+ 3 2 1 503 3 897 13 122 25.8K 128 272K nfs3
+ 10 8 0 615 10 10.1K 18 61 45.6K 292 2.26M nfs4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying Naming Activity
+.sp
+.LP
+The following example shows the naming activity for ufs, nfs, nfs3, nfs4, and
+tmpfs:
+
+.sp
+.in +2
+.nf
+\fB$ fsstat -n ufs nfs nfs3 nfs4 tmpfs\fR
+lookup creat remov link renam mkdir rmdir rddir symlnk rdlnk
+3.57M 3.10K 586 6 24 115 100 30.2K 5 330K ufs
+ 0 0 0 0 0 0 0 0 0 0 nfs
+18.3K 3 5 0 0 0 0 1.03K 2 346 nfs3
+ 535 0 0 0 0 0 0 46 0 4 nfs4
+ 146 24 15 0 0 4 0 4 0 0 tmpfs
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying Attribute Activity
+.sp
+.LP
+The following example shows the attribute activity for the FS type ufs and the
+mounted file systems "/" and "/export/home" every three seconds for every third
+iteration:
+
+.sp
+.in +2
+.nf
+\fB# fsstat -a ufs / /export/home 3 3\fR
+getattr setattr getsec setsec
+ 378K 91.9K 11.8K 0 ufs
+ 367K 82.3K 11.6K 0 /
+ 11.3K 9.6K 198 0 /export/home
+ 4.97K 2.27K 163 0 ufs
+ 3.94K 1.36K 162 0 /
+ 1.03K 927 1 0 /export/home
+ 2.30K 1.06K 73 0 ufs
+ 1.95K 766 71 0 /
+ 361 317 2 0 /export/home
+ 2.33K 1.06K 78 0 ufs
+ 1.64K 451 77 0 /
+ 711 631 1 0 /export/home
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisplaying File Operation Statistics
+.sp
+.LP
+The following example shows the statistics for each file operation for "/"
+(using the \fB-f\fR option):
+
+.sp
+.in +2
+.nf
+\fB$ fsstat -f /\fR
+Mountpoint: /
+ operation #ops bytes
+ open 8.54K
+ close 9.8K
+ read 43.6K 65.9M
+ write 1.57K 2.99M
+ ioctl 2.06K
+ setfl 4
+ getattr 40.3K
+ setattr 38
+ access 9.19K
+ lookup 203K
+ create 595
+ remove 56
+ link 0
+ rename 9
+ mkdir 19
+ rmdir 0
+ readdir 2.02K 2.27M
+ symlink 4
+ readlink 8.31K
+ fsync 199
+ inactive 2.96K
+ fid 0
+ rwlock 47.2K
+ rwunlock 47.2K
+ seek 29.1K
+ cmp 42.9K
+ frlock 4.45K
+ space 8
+ realvp 3.25K
+ getpage 104K
+ putpage 2.69K
+ map 13.2K
+ addmap 34.4K
+ delmap 33.4K
+ poll 287
+ dump 0
+ pathconf 54
+ pageio 0
+ dumpctl 0
+ dispose 23.8K
+getsecattr 697
+setsecattr 0
+ shrlock 0
+ vnevent 0
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBfsstat\fR: \fBLANG\fR, \fBLC_ALL\fR,
+\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, \fBLC_TIME\fR, and \fBNLSPATH\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+A fatal error occurred. A fatal error could be a failed system call or another
+internal error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+CSIEnabled
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command-line options are Unstable. The human-readable output is not
+considered an interface.
+.SH SEE ALSO
+.sp
+.LP
+\fBdate\fR(1), \fBtime\fR(2), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+All display options (\fB-a\fR, \fB-f\fR, \fB-i\fR, \fB-n\fR, \fB-v\fR) are
+mutually exclusive. Entering more than one of these options will result in an
+error.
+.sp
+.LP
+The \fIfstype\fR and \fIpath\fR operands must appear after the option, but
+before the \fIinterval\fR or \fIcount\fR on the command line. For example,
+"\fBfsstat\fR \fB-a\fR \fIfstype\fR \fIinterval\fR". Preference is given to
+\fIfstype\fR so that if a user wishes to see the statistics for a directory
+that has the same name as an \fIfstype\fR (for example, ufs), then the path
+must be specified unambiguously (for example, ./ufs). Similarly, in order to
+define a file with a numeric name (for example, "10") from an interval or count
+operand, the name should be prefixed accordingly (for example, ./10).
+.sp
+.LP
+When an interval is used, headers repeat after more than 12 lines of statistics
+have been displayed and the set of lines to be displayed in the current
+interval have completed.
+.sp
+.LP
+Statistics are not displayed for all pseudo-filesystems. The output displayed
+with the \fB-F\fR option shows which of the loaded filesystem types are
+supported.
+.sp
+.LP
+Unbundled file systems may not be recognized by \fBfsstat\fR.
+.sp
+.LP
+The command-line options are classified as Unstable and could change. The
+output is not considered to be an interface. The construction of higher level
+software tools depend on either the command-line options or the output of
+\fBfsstat\fR is not recommended.
diff --git a/usr/src/man/man1m/fstyp.1m b/usr/src/man/man1m/fstyp.1m
new file mode 100644
index 0000000000..d483df2ed8
--- /dev/null
+++ b/usr/src/man/man1m/fstyp.1m
@@ -0,0 +1,183 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fstyp 1M "19 Dec 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fstyp \- determine file system type
+.SH SYNOPSIS
+.LP
+.nf
+\fBfstyp\fR [\fB-a\fR | \fB-v\fR] \fIspecial\fR [:\fIlogical-drive\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfstyp\fR allows the user to determine the file system type of unmounted file
+systems using heuristic programs.
+.sp
+.LP
+An \fBfstyp\fR module for each file system type to be checked is executed; each
+of these modules applies an appropriate heuristic to determine whether the
+supplied \fIspecial\fR file is of the type for which it checks. If it is, the
+program prints on standard output the usual file system identifier for that
+type (for example, ``ufs'') and exits with a return code of \fB0\fR; if none of
+the modules succeed, the error message \fBunknown_fstyp (no matches)\fR is
+returned and the exit status is \fB1\fR. If more than one module succeeds, the
+error message \fBunknown_fstyp (multiple matches)\fR is returned and the exit
+status is \fB2\fR. Other errors are printed in the same format.
+.sp
+.LP
+This command is unreliable and its results should not be used to make any
+decisions about subsequent use of a storage device or disk partition.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Output all available file system attributes. If a file system has been
+successfully identified, and this option is specified, the \fIFSType\fR
+identifier is followed by one or more "name-value" pairs, one per line, in the
+format:
+.sp
+.in +2
+.nf
+name: value
+.fi
+.in -2
+.sp
+
+The following conventions are recognized for the file system attributes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+String values are put in single quotes.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Nested "name-value" list increases the indentation of its values by four
+whitespaces.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For an array of "name-value" pairs, one array entry is printed per line, with
+the index following the name in square brackets.
+.RE
+For instance, in the following example, "\fItop_list\fR" is a "name-value"
+list, consisting of a string array "\fIstring_array\fR" and a "name-value" list
+array "\fIlist_array\fR". The second "list_array"element is an integer array
+"\fIint_array\fR" containing three elements.
+.sp
+.in +2
+.nf
+top_string: 'String'
+top_list:
+ string_array[0]: 'S0'
+ string_array[1]: 'S1'
+ list_array[0]:
+ int_one: 1
+ string_two: 'S2'
+ list_array[1]:
+ int_array[0]: 1
+ int_array[1]: 2
+ int_array[2]: 3
+.fi
+.in -2
+.sp
+
+In addition to the \fIFSType\fR-specific attributes, the following generic
+attributes may be present:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgen_clean\fR\fR
+.ad
+.RS 13n
+.rt
+Allowable values are "true" or "false". If the value is "false", the file
+system is damaged or was not unmounted cleanly and the \fBfsck\fR(1M) command
+must be run before this file system can be mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgen_guid\fR\fR
+.ad
+.RS 12n
+.rt
+Globally unique identifier. This string uniquely identifies the file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgen_version\fR\fR
+.ad
+.RS 15n
+.rt
+A string describing the file system version.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgen_volume_label\fR\fR
+.ad
+.RS 20n
+.rt
+Volume label, a human-readable string used to either describe or identify the
+file system.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Produce verbose output. This is usually information about the file systems
+superblock and varies across different \fIFSTypes\fR. See \fBufs\fR(7FS),
+\fBmkfs_ufs\fR(1M), and \fBtunefs\fR(1M) for details.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBfstyp\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBmkfs_ufs\fR(1M), \fBtunefs\fR(1M), \fBattributes\fR(5),
+\fBlibfstyp\fR(3LIB), \fBlargefile\fR(5), \fBhsfs\fR(7FS), \fBufs\fR(7FS),
+\fBpcfs\fR(7FS)
+.SH NOTES
+.sp
+.LP
+The use of heuristics implies that the result of\fBfstyp\fR is not guaranteed
+to be accurate.
+.sp
+.LP
+This command is unreliable and its results should not be used to make any
+decisions about subsequent use of a storage device or disk partition.
diff --git a/usr/src/man/man1m/ftpaddhost.1m b/usr/src/man/man1m/ftpaddhost.1m
new file mode 100644
index 0000000000..5db7b97055
--- /dev/null
+++ b/usr/src/man/man1m/ftpaddhost.1m
@@ -0,0 +1,180 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ftpaddhost 1M "1 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ftpaddhost \- set up a virtual FTP host
+.SH SYNOPSIS
+.LP
+.nf
+\fBftpaddhost\fR \fB-c\fR | \fB-l\fR [\fB-b\fR] [\fB-x\fR \fIxferlog\fR] \fIhostname\fR \fIroot_dir\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBftpaddhost\fR script is executed by the super user to set up virtual FTP
+hosts. The \fBftpaddhost\fR command configures the virtual host \fIhostname\fR
+under directory \fIroot_dir\fR. The value of \fIhostname\fR can be an IP
+address or the name of a host.
+.SH OPTIONS
+.sp
+.LP
+The \fBftpaddhost\fR script supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 14n
+.rt
+Create a banner for the virtual host. This option is useful to confirm that the
+virtual host is working.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 14n
+.rt
+Configure complete virtual hosting. This option allows each virtual host to
+have its own version of the \fBftpaccess\fR, \fBftpconversions\fR,
+\fB\fR\fBftpgroups\fR, \fBftphosts\fR, and \fBftpusers\fR files. The master
+version of each of these configuration files is copied from the \fB/etc/ftpd\fR
+directory and placed in the \fB/etc/ftpd/virtual-ftpd/\fIhostname\fR\fR
+directory. If the \fB/etc/ftpusers\fR file exists it is appended to the virtual
+\fBftpusers\fR file. If a virtual host lacks its own version of a configuration
+file, the master version is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 14n
+.rt
+Configure limited virtual hosting. This option allows a small number of
+parameters to be configured differently for a virtual host. See the
+\fBvirtual\fR keyword on the \fBftpaccess\fR(4) manual page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIxferlog\fR\fR
+.ad
+.RS 14n
+.rt
+Create a logfile entry such that the transfer logs for the virtual host are
+written to the specified file. An absolute path must be specified for the
+\fIxferlog\fR file.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhostname\fR\fR
+.ad
+.RS 12n
+.rt
+The host name or IP address of the virtual server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIroot_dir\fR\fR
+.ad
+.RS 12n
+.rt
+The absolute pathname of the directory under which the virtual server is set
+up.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt
+Improper usage of the command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Command failed
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/virtual-ftpd/\fIhostname\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+The configuration files directory for the virtual host \fIhostname\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBftpconfig\fR(1M), \fBin.ftpd\fR(1M), \fBftpaccess\fR(4),
+\fBftpconversions\fR(4), \fBftpgroups\fR(4), \fBftphosts\fR(4),
+\fBftpusers\fR(4), \fBxferlog\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ftpconfig.1m b/usr/src/man/man1m/ftpconfig.1m
new file mode 100644
index 0000000000..44ac461007
--- /dev/null
+++ b/usr/src/man/man1m/ftpconfig.1m
@@ -0,0 +1,129 @@
+'\" te
+.\" Copyright (C) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ftpconfig 1M "1 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ftpconfig \- set up anonymous FTP
+.SH SYNOPSIS
+.LP
+.nf
+\fBftpconfig\fR [\fIftpdir\fR]
+.fi
+
+.LP
+.nf
+\fBftpconfig\fR \fB-d\fR \fIftpdir\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBftpconfig\fR script is executed by the super user to set up anonymous
+FTP. Anonymous FTP allows users to remotely log on to the FTP server by
+specifying the user name \fBftp\fR or \fBanonymous\fR and the user's email
+address as password. The anonymous users are logged on to the FTP Server and
+given access to a restricted file area with its own file system root. See
+\fBchroot\fR(2). The FTP area has its own minimal system files.
+.sp
+.LP
+This command will copy and set up all the components needed to operate an
+anonymous FTP server, including creating the \fIftp\fR user account, creating
+device nodes, copying \fB/usr/lib\fR files, and copying timezone data. The
+\fBpasswd\fR and \fBgroup\fR files set up have been stripped down to prevent
+malicious users from finding login names on the server. The anonymous file
+area will be placed under \fBftpdir\fR. If the \fIftp\fR user account already
+exists, then the current FTP area is used, and the system files in it are
+updated. All other files are left untouched. This command should be run to
+update the anonymous FTP area's configuration whenever a system patch is
+installed, or the system is upgraded.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fR
+.ad
+.RS 7n
+.rt
+Create a new or update an existing \fIftpdir\fR without creating or updating
+the \fIftp\fR user account. Use this option when creating guest FTP user
+accounts.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIftpdir\fR\fR
+.ad
+.RS 10n
+.rt
+The absolute pathname of the directory under which the anonymous FTP area is
+set up.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt
+Improper usage of the command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Command failed
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBftpaddhost\fR(1M), \fBin.ftpd\fR(1M), \fBuseradd\fR(1M), \fBchroot\fR(2),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ftprestart.1m b/usr/src/man/man1m/ftprestart.1m
new file mode 100644
index 0000000000..bceffc8822
--- /dev/null
+++ b/usr/src/man/man1m/ftprestart.1m
@@ -0,0 +1,127 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ftprestart 1M "1 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ftprestart \- restart previously shutdown FTP Servers
+.SH SYNOPSIS
+.LP
+.nf
+\fBftprestart\fR [\fB-V\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Use the \fBftprestart\fR command to restart an FTP Server previously shut down
+by means of \fBftpshut\fR(1M). The \fBftprestart\fR command reads the
+\fBshutdown\fR capability from the \fBftpaccess\fR(4) file to determine the
+path of the shutdown message files. It then reenables the FTP Server by
+removing any shutdown message files in the anonymous and virtual FTP Server
+area, as well as the system wide shutdown message file.
+.SH OPTIONS
+.sp
+.LP
+The \fBftprestart\fR command supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 6n
+.rt
+Display program copyright and version information, then terminate.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSample Output from \fBftprestart\fR
+.sp
+.LP
+The following example shows sample output from the \fBftprestart\fR command:
+
+.sp
+.in +2
+.nf
+example% \fBftprestart\fR
+ftprestart: /export/home/ftp/etc/ftpd/shutdown.msg removed.
+ftprestart: /export/home/virtual1/etc/ftpd/shutdown.msg removed.
+ftprestart: /etc/ftpd/shutdown.msg removed.
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpaccess\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpservers\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityExternal
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBftpshut\fR(1M), \fBin.ftpd\fR(1M), \fBftpaccess\fR(4), \fBftpservers\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ftpshut.1m b/usr/src/man/man1m/ftpshut.1m
new file mode 100644
index 0000000000..34bfd8cd88
--- /dev/null
+++ b/usr/src/man/man1m/ftpshut.1m
@@ -0,0 +1,332 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ftpshut 1M "1 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ftpshut \- close down the FTP Servers at a given time
+.SH SYNOPSIS
+.LP
+.nf
+\fBftpshut\fR [\fB-V\fR] [\fB-v\fR] [\fB-l\fR \fImin\fR] [\fB-d\fR \fImin\fR] \fItime\fR
+ [\fIwarning-message\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBftpshut\fR command provides an automated shutdown procedure that the
+superuser can use to notify FTP users when the FTP Server is shutting down.
+.sp
+.LP
+Ten minutes before shutdown, or immediately if the value of \fItime\fR is less
+than ten minutes, any new FTP Server connections will be disabled. You may
+adjust the shutdown of new FTP Server connections by means of the \fB-l\fR
+option.
+.sp
+.LP
+ Five minutes before shutdown, or immediately if the value of \fItime\fR is
+less than five minutes, all current FTP connections will be disconnected. You
+may adjust the shutdown of current FTP connections by means of the \fB-d\fR
+option.
+.sp
+.LP
+ The \fBftpshut\fR command creates shutdown message files that the FTP Server
+uses to determine when to shutdown. Separate shutdown message files are created
+in the anonymous and virtual host FTP Server areas, in addition to the system
+wide shutdown message file. Once the shutdown occurs, the server continues to
+refuse connections until the appropriate shutdown message file is removed. This
+normally is done by using the \fBftprestart\fR(1M) command. The location of the
+shutdown message file is specified by the \fBshutdown\fR capability in the
+\fBftpaccess\fR file.
+.sp
+.LP
+The following magic cookies are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%s\fR\fR
+.ad
+.RS 6n
+.rt
+The time system is going to shut down.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%r\fR\fR
+.ad
+.RS 6n
+.rt
+The time new connections will be denied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%d\fR\fR
+.ad
+.RS 6n
+.rt
+The time current connections will be dropped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%C\fR\fR
+.ad
+.RS 6n
+.rt
+The current working directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%E\fR\fR
+.ad
+.RS 6n
+.rt
+The maintainer's email address as defined in the \fBftpaccess\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%F\fR\fR
+.ad
+.RS 6n
+.rt
+The free space in the partition of \fBCWD\fR, in kilobytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%L\fR\fR
+.ad
+.RS 6n
+.rt
+The local host name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%M\fR\fR
+.ad
+.RS 6n
+.rt
+The maximum allowed number of users in this class.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%N\fR\fR
+.ad
+.RS 6n
+.rt
+The current number of users in this class.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%R\fR\fR
+.ad
+.RS 6n
+.rt
+The remote host name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%T\fR\fR
+.ad
+.RS 6n
+.rt
+The local time (form Thu Nov 15 17:12:42 1990).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%U\fR\fR
+.ad
+.RS 6n
+.rt
+The username given at login time.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBftpshut\fR command supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 10n
+.rt
+Display program copyright and version information, then terminate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fImin\fR\fR
+.ad
+.RS 10n
+.rt
+The time ahead of shutdown, in minutes, that existing connections will be
+disconnected upon completion of their current or next (if idle) FTP request.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fImin\fR\fR
+.ad
+.RS 10n
+.rt
+The time ahead of shutdown, in minutes, that new connections will be refused.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 10n
+.rt
+Verbose. Output the pathname of the shutdown message files created.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBftpshut\fR command supports the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fItime\fR\fR
+.ad
+.RS 19n
+.rt
+The \fItime\fR at which \fBftpshut\fR will bring the FTP Servers down.
+\fItime\fR can have a value of \fBnow\fR, which indicates an immediate
+shutdown. Alternatively, \fItime\fR can specify a future time in one of two
+formats: \fB+\fR\fInumber\fR or \fIHHMM\fR. The first form brings the FTP
+Server down in \fInumber\fR minutes. The second brings the FTP Server down at
+the time of day indicated, using a 24-hour clock format. When using the
+absolute time format, you can only specify times between now and 23:59.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIwarning-message\fR\fR
+.ad
+.RS 19n
+.rt
+The message to display that warns of the imminent shutdown. The
+\fIwarning-message\fR will be formatted at 70 characters wide. \fBftpshut\fR
+knows the actual string length of the magic cookies. If no warning-message is
+supplied, the default message "\fBSystem shutdown at %s\fR" is used.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpaccess\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpservers\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityExternal
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBin.ftpd\fR(1M), \fBftprestart\fR(1M), \fBshutdown\fR(1M),
+\fBftpaccess\fR(4), \fBftpservers\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/fuser.1m b/usr/src/man/man1m/fuser.1m
new file mode 100644
index 0000000000..243e5b323e
--- /dev/null
+++ b/usr/src/man/man1m/fuser.1m
@@ -0,0 +1,313 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fuser 1M "21 Oct 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fuser \- identify users of files and devices
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/fuser\fR [\fB-c\fR | \fB-d\fR | \fB-f\fR] [\fB-nu\fR] [\fB-k\fR | \fB-s\fR \fIsig\fR] \fIfiles\fR
+ [ [\fB- \fR] [\fB-c\fR | \fB-d\fR | \fB-f\fR] [\fB-nu\fR] [\fB-k\fR | \fB-s\fR \fIsig\fR] \fIfiles\fR] ...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfuser\fR utility displays the process \fBID\fRs of the processes that
+are using the \fIfiles\fR specified as arguments.
+.sp
+.LP
+Each process \fBID\fR is followed by a letter code. These letter codes are
+interpreted as follows. If the process is using the file as
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates that the process is using the file as its current directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates that the process is using a file mapped with \fBmmap\fR(2). See
+\fBmmap\fR(2) for details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBn\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates that the process is holding a non-blocking mandatory lock on the
+file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates that the process is using the file as an open file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates that the process is using the file as its root directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates that the process is using the file as its text file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBy\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates that the process is using the file as its controlling terminal.
+.RE
+
+.sp
+.LP
+For block special devices with mounted file systems, all processes using any
+file on that device are listed. For all types of files (text files,
+executables, directories, devices, and so forth), only the processes using that
+file are reported.
+.sp
+.LP
+For all types of devices, \fBfuser\fR also displays any known kernel consumers
+that have the device open. Kernel consumers are displayed in one of the
+following formats:
+.sp
+.in +2
+.nf
+[\fImodule_name\fR]
+[\fImodule_name\fR,dev_path=\fIpath\fR]
+[\fImodule_name\fR,dev=(\fImajor\fR,\fIminor\fR)]
+[\fImodule_name\fR,dev=(\fImajor\fR,\fIminor\fR),dev_path=\fIpath\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If more than one group of files are specified, the options may be respecified
+for each additional group of files. A lone dash cancels the options currently
+in force.
+.sp
+.LP
+The process IDs are printed as a single line on the standard output, separated
+by spaces and terminated with a single new line. All other output is written on
+standard error.
+.sp
+.LP
+Any user can run fuser, but only the superuser can terminate another user's
+process.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 10n
+.rt
+Reports on files that are mount points for file systems, and any files within
+that mounted file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 10n
+.rt
+Report device usage information for all minor nodes bound to the same device
+node as the specified minor node. This option does not report file usage for
+files within a mounted file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 10n
+.rt
+Prints a report for the named file, not for files within a mounted file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 10n
+.rt
+Sends the \fBSIGKILL\fR signal to each process. Since this option spawns kills
+for each process, the kill messages may not show up immediately (see
+\fBkill\fR(2)). No signals will be sent to kernel file consumers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 10n
+.rt
+Lists only processes with non-blocking mandatory locks on a file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsig\fR\fR
+.ad
+.RS 10n
+.rt
+Sends a signal to each process. The \fIsig\fR option argument specifies one of
+the symbolic names defined in the \fB<signal.h>\fR header, or a decimal integer
+signal number. If \fIsig\fR is a symbolic name, it is recognized in a
+case-independent fashion, without the \fBSIG\fR prefix. The \fB-k\fR option is
+equivalent to \fB-s\fR \fBKILL\fR or \fB-s\fR \fB9\fR. No signals will be sent
+to kernel file consumers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 10n
+.rt
+Displays the user login name in parentheses following the process \fBID\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRReporting on the Mount Point and Files
+.sp
+.LP
+The following example reports on the mount point and files within the mounted
+file system.
+
+.sp
+.in +2
+.nf
+example% \fBfuser -c /export/foo\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRestricting Output when Reporting on the Mount Point and Files
+.sp
+.LP
+The following example reports on the mount point and files within the mounted
+file system, but the output is restricted to processes that hold non-blocking
+mandatory locks.
+
+.sp
+.in +2
+.nf
+example% \fBfuser -cn /export/foo\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSending SIGTERM to Processes Holding a Non-blocking Mandatory
+Lock
+.sp
+.LP
+The following command sends \fBSIGTERM\fR to any processes that hold a
+non-blocking mandatory lock on file \fB/export/foo/my_file\fR.
+
+.sp
+.in +2
+.nf
+example% \fBfuser -fn -s term /export/foo/my_file\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBfuser\fR: \fBLANG\fR, \fBLC_ALL\fR
+\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStandard
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBps\fR(1), \fBmount\fR(1M), \fBkill\fR(2), \fBmmap\fR(2), \fBsignal\fR(3C),
+\fBattributes\fR(5), \fBenviron\fR(5), \fBstandards\fR(5)
+.SH NOTES
+.sp
+.LP
+Because \fBfuser\fR works with a snapshot of the system image, it may miss
+processes that begin using a file while \fBfuser\fR is running. Also, processes
+reported as using a file may have stopped using it while \fBfuser\fR was
+running. These factors should discourage the use of the \fB-k\fR option.
diff --git a/usr/src/man/man1m/fwflash.1m b/usr/src/man/man1m/fwflash.1m
new file mode 100644
index 0000000000..a9354fe045
--- /dev/null
+++ b/usr/src/man/man1m/fwflash.1m
@@ -0,0 +1,432 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fwflash 1M "4 Nov 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fwflash \- firmware query and update utility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/fwflash\fR [\fB-l\fR [\fB-c\fR \fIdevice_class\fR | \fBALL\fR ]]
+ | [\fB-v\fR] | [\fB-h\fR]
+.fi
+
+.LP
+.nf
+\fBfwflash\fR [\fB-f\fR \fIfile1\fR,\fIfile2\fR,\fIfile3\fR,... | \fB-r\fR \fIfile\fR]
+ [\fB-y\fR] [\fB-d\fR \fIdevice_path\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBfwflash\fR command writes a binary image file to supported flashable
+devices attached to a Solaris host. It also provides the ability to read
+firmware to a file if supported by the device. Because changing the firmware in
+a device can have significant impact on the stability of a system, only users
+with the privilege \fBAll\fR are allowed to execute this command. Users
+authorized to run \fBfwflash\fR can be granted the "Firmware Flash Update"
+Rights Profile.
+.sp
+.LP
+The first form of the command, above, provides information about devices. It
+lists all devices currently available on the system that are supported by
+\fBfwflash\fR for firmware upgrade. You can filter the list operation, to
+display only specified classes of devices. The second form of the command
+provides the operations to read or write the firmware images to specific
+devices.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIdevice_class\fR\fR
+.ad
+.sp .6
+.RS 4n
+An optional parameter, valid only when used with the \fB-l\fR option. This
+option causes the command to list only devices of a specific class type.
+Currently supported classes are \fBIB\fR, \fBses\fR, \fBsesgen\fR, or
+\fBALL\fR. If \fB-c\fR is not specified for the \fB-l\fRoption, the class
+defaults to \fBALL\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdev_path\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIdev_path\fR is absolute path name of the device that the user wants to
+modify with the \fB-f\fRor \fB-r\fR operation. If the device cannot be found,
+the command fails. If the \fB-d\fR option is specified, then either \fB-f\fR or
+\fB-r\fR must also be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfile1\fR,\fIfile2\fR,\fIfile3\fR,...\fR
+.ad
+.sp .6
+.RS 4n
+Specify the path to one or more binary firmware image files you want to write
+to the device. \fBfwflash\fR will verify that each file is a valid firmware
+image for the specified device. If it is not, the command fails with an
+appropriate error message.
+.sp
+If multiple firmware image files are specified, each image is verified and
+flashed to the device in the order given on the command line. If any of the
+specified files cannot be successfully flashed, then an appropriate message is
+displayed.
+.sp
+After a new firmware image is flashed to a device, a reboot is required to
+correctly activate the new firmware.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the command line usage message for \fBfwflash\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the devices on a system available for firmware upgrade and display
+information specific to each device or device class.
+.sp
+For InfiniBand (IB) devices, the list operation displays the \fBguid\fRs
+(Globally Unique Identifier) currently set for the HCA, as well as the current
+firmware revision installed. There are four separate \fBguid\fRs on the HCA;
+two of them can be set with the same value.
+.sp
+For SCSI Enclosure Services (\fBses\fR or \fBsgen\fR) devices, an identifying
+target-port worldwide name is displayed, if available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the path to a file to create when reading the firmware from the device.
+The \fB-f\fR and \fB-r\fR options are mutually exclusive.
+.sp
+Not all flashable devices support reading firmware images back from the device.
+At present, only InfiniBand (IB) devices are supported for this operation. A
+message will be displayed if the selected device does not support this
+operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display \fBfwflash\fR version information and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.sp .6
+.RS 4n
+Valid only when a flash read (\fB-r\fR) or write (\fB-f\fR) operation is
+specified. This option causes \fBfwflash\fR not to prompt for confirmation
+during operation and operate non-interactively. Note that there is no option
+that allows you to forcibly flash an incompatible firmware image onto a device.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREntering Command Without Arguments
+.sp
+.LP
+The following command shows \fBfwflash\fR when the command is entered without
+arguments.
+
+.sp
+.in +2
+.nf
+example# \fBfwflash\fR
+Usage:
+Usage:
+ fwflash [-l [-c device_class | ALL]] | [-v] | [-h]
+ fwflash [-f file1,file2,file3,... | -r file] [-y] -d device_path
+
+ -l list flashable devices in this system
+ -c device_class limit search to a specific class
+ eg IB for InfiniBand, ses for SCSI Enclosures
+ -v print version number of fwflash utility
+ -h print this usage message
+
+ -f file1,file2,file3,...
+ firmware image file list to flash
+ -r file file to dump device firmware to
+ -y answer Yes/Y/y to prompts
+ -d device_path pathname of device to be flashed
+
+ If -d device_path is specified, then one of -f <files>
+ or -r <file> must also be specified
+
+ If multiple firmware images are required to be flashed
+ they must be listed together, separated by commas. The
+ images will be flashed in the order specified.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRListing Devices Available to Flash
+.sp
+.LP
+The following command lists the devices available to be flashed.
+
+.sp
+.in +2
+.nf
+example# \fBfwflash -l\fR
+List of available devices:
+Device[0], /devices/pci@0,0/pci8086,3595@2/pci8086,32a@0,2/\e
+ pci15b3,5a46@c/pci15b3,5a44@0:devctl
+ Class [IB]
+ GUID: System Image - 0002c901081e33b3
+ Node - 0000000000003446
+ Port 1 - 0002c901081e33b1
+ Port 2 - 0002c901081e33b2
+ Firmware revision: 3.3.0002
+ No hardware information available for this device
+
+Device[1], /devices/pci@0,0/pci8086,3597@4/pci15b3,6278@0:devctl
+ Class [IB]
+ GUID: System Image - 0002c9010a99e3b3
+ Node - 0002c9010a99e3b0
+ Port 1 - 0002c9010a99e3b1
+ Port 2 - 0002c9010a99e3b2
+ Firmware revision: 4.8.00c8
+ Product : MTLP25208-CF256T (Lion cub)
+ PSID : MT_00B0000001
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Alternatively, for a SAS Expander presented as a SCSI Enclosure Services device
+, we might see output such as this:
+
+.sp
+.in +2
+.nf
+example# \fBfwflash -l\fR
+List of available devices:
+Device[0] /devices/pci@0/pci@0/pci@2/scsi@0/ses@3,0:ses
+ Class [sgen]
+ Target port WWN : 500605b00002453d
+ Vendor : SUN
+ Product : 16Disk Backplane
+ Firmware revision: 5021
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRFlash Upgrading an IB HCA Device
+.sp
+.LP
+The following command flash upgrades an IB HCA device.
+
+.sp
+.in +2
+.nf
+example# \fBfwflash -f ./version.3.2.0000 \e
+ -d /devices/pci@0,0/pci8086,3597@4/pci15b3,6278@0:devctl\fR
+About to update firmware on:
+ /devices/pci@0,0/pci8086,3597@4/pci15b3,6278@0:devctl
+Continue (Y/N): \fBY\fR
+
+Updating . . . . . . . . . . . .
+Done. New image will be active after the system is rebooted.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that you are prompted before the upgrading proceeds and that it is
+mandatory that you reboot your host to activate the new firmware image.
+
+.sp
+.LP
+The following command adds the \fB-y\fR option to the command.
+
+.sp
+.in +2
+.nf
+example# \fBfwflash -y -f ./version.3.2.0000 \e
+ -d /devices/pci@0,0/pci8086,3597@4/pci15b3,6278@0:devctl\fR
+About to update firmware on:
+ /devices/pci@0,0/pci8086,3597@4/pci15b3,6278@0:devctl
+
+Updating . . . . . . . . . . . .
+Done. New image will be active after the system is rebooted.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRReading Device Firmware to File
+.sp
+.LP
+The command shown below reads the device firmware to a file. The command uses
+the \fB-y\fR option so that read occurs without prompting.
+
+.sp
+.in +2
+.nf
+example# \fBfwflash -y -r /firmware.bin \e
+ -d /devices/pci@1d,700000/pci@1/pci15b3,5a44@0:devctl\fR
+About to read firmware on:
+ /devices/pci@1d,700000/pci@1/pci15b3,5a44@0:devctl
+to filename: /firmware.bin
+
+Reading . . .
+Done.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRWhen No Flashable Devices Are Found
+.sp
+.LP
+The command output shown below informs the user that there are no supported
+flashable devices found in the system:
+
+.sp
+.in +2
+.nf
+example# \fBfwflash -l\fR
+fwflash: No flashable devices attached with the ses driver in this system
+fwflash: No flashable devices attached with the sgen driver in this system
+fwflash: No flashable devices attached with the tavor driver in this system
+fwflash: No flashable devices in this system
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Each plugin found in \fB/usr/lib/fwflash/identify\fR is loaded in turn, and
+walks the system device tree, determining whether any currently-attached
+devices can be flashed. For the list of device types and drivers that are
+currently supported, please see the \fBNOTES\fR section below.
+
+.SH RETURN VALUES
+.sp
+.LP
+The \fBfwflash\fR command returns the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Success
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Failure
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBhermon\fR(7D), \fBses\fR(7D), \fBtavor\fR(7D)
+.sp
+.LP
+The InfiniBand Trade Association website, http://www.infinibandta.org
+.sp
+.LP
+The SCSI Storage Interfaces committee website, http://www.t10.org
+.sp
+.LP
+\fISCSI Primary Commands-4, SPC4\fR
+.sp
+.LP
+\fISCSI Enclosure Services-2, SES2\fR
+.sp
+.LP
+\fISerial Attached SCSI-2, SAS2\fR
+.SH NOTES
+.sp
+.LP
+The \fBfwflash\fR command supports:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+InfiniBand Host Channel Adapters (IB HCAs) containing either the AMD or the
+Intel parallel flash parts.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+SCSI Enclosure Services devices such as SAS Expanders, attached with
+\fBses\fR(7D) drivers.
+.RE
diff --git a/usr/src/man/man1m/fwtmp.1m b/usr/src/man/man1m/fwtmp.1m
new file mode 100644
index 0000000000..b9fd2669c8
--- /dev/null
+++ b/usr/src/man/man1m/fwtmp.1m
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH fwtmp 1M "22 Feb 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+fwtmp, wtmpfix \- manipulate connect accounting records
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/acct/fwtmp\fR [\fB-ic\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/acct/wtmpfix\fR [\fIfile\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfwtmp\fR reads from the standard input and writes to the standard output,
+converting binary records of the type found in \fB/var/adm/wtmpx\fR to
+formatted ASCII records. The ASCII version is useful when it is necessary to
+edit bad records.
+.sp
+.LP
+\fBwtmpfix\fR examines the standard input or named files in \fButmpx\fR format,
+corrects the time/date stamps to make the entries consistent, and writes to the
+standard output. A hyphen (\fB\(mi\fR) can be used in place of \fIfile\fR to
+indicate the standard input. If time/date corrections are not performed,
+\fBacctcon\fR(1M) will fault when it encounters certain date-change records.
+.sp
+.LP
+Each time the date is set, a pair of date change records are written to
+\fB/var/adm/wtmpx\fR. The first record is the old date denoted by the string
+"\fBold time\fR" placed in the \fBline\fR field and the flag
+\fB\fR\fBOLD_TIME\fR\fB\fR placed in the \fBtype\fR field of the \fButmpx\fR
+structure. The second record specifies the new date and is denoted by the
+string \fBnew time\fR placed in the \fBline\fR field and the flag
+\fB\fR\fBNEW_TIME\fR\fB\fR placed in the \fBtype\fR field. \fBwtmpfix\fR uses
+these records to synchronize all time stamps in the file.
+.sp
+.LP
+In addition to correcting time/date stamps, \fBwtmpfix\fR will check the
+validity of the \fBname\fR field to ensure that it consists solely of
+alphanumeric characters or spaces. If it encounters a name that is considered
+invalid, it will change the login name to \fB\fR\fBINVALID\fR\fB\fR and write a
+diagnostic to the standard error. In this way, \fBwtmpfix\fR reduces the chance
+that \fBacctcon\fR will fail when processing connect accounting records.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ic\fR\fR
+.ad
+.RS 7n
+.rt
+Denotes that input is in ASCII form, and output is to be written in binary
+form.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.RS 18n
+.rt
+history of user access and administration information
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctcom\fR(1), \fBed\fR(1), \fBacct\fR(1M), \fBacctcms\fR(1M),
+\fBacctcon\fR(1M), \fBacctmerg\fR(1M), \fBacctprc\fR(1M), \fBacctsh\fR(1M),
+\fBrunacct\fR(1M), \fBacct\fR(2), \fBacct.h\fR(3HEAD), \fButmpx\fR(4),
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/getdev.1m b/usr/src/man/man1m/getdev.1m
new file mode 100644
index 0000000000..5101682d8b
--- /dev/null
+++ b/usr/src/man/man1m/getdev.1m
@@ -0,0 +1,195 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH getdev 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+getdev \- lists devices based on criteria
+.SH SYNOPSIS
+.LP
+.nf
+\fBgetdev\fR [\fB-ae\fR] [\fIcriteria\fR]... [\fIdevice\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBgetdev\fR generates a list of devices that match certain criteria. The
+criteria includes a list of attributes (given in expressions) and a list of
+devices. If no criteria are given, all devices are included in the list.
+.sp
+.LP
+Devices must satisfy at least one of the criteria in the list unless the
+\fB-a\fR option is used. Then, only those devices which match all of the
+criteria in a list will be included.
+.sp
+.LP
+Devices which are defined on the command line and which match the criteria are
+included in the generated list. However, if the \fB-e\fR option is used, the
+list becomes a set of devices to be \fIexcluded\fR from the list. See
+\fBOPTIONS\fR and \fBOPERANDS\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies that a device must match all criteria to be included in the list
+generated by this command. The option has no effect if no criteria are defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies that the list of devices which follows on the command line should be
+\fIexcluded\fR from the list generated by this command. Without the \fB-e\fR
+the named devices are \fIincluded\fR in the generated list. The flag has no
+effect if no devices are defined.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcriteria\fR\fR
+.ad
+.RS 12n
+.rt
+Defines the criteria that a device must match to be included in the generated
+list. \fIcriteria\fR is specified by expressions.
+.sp
+There are four possible expression types which the criteria specified in the
+\fIcriteria\fR argument may follow:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fB=\fR\fIvalue\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all devices whose attribute \fIattribute\fR is defined and is equal to
+\fIvalue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fB!=\fR\fIvalue\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all devices whose attribute \fIattribute\fR is defined and does not
+equal \fIvalue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fB:*\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all devices which have the attribute \fIattribute\fR defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fB!:*\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all devices which do not have the attribute \fIattribute\fR defined.
+.RE
+
+See the \fBputdev\fR(1M) manual page for a complete listing and description of
+available attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 12n
+.rt
+Defines the devices which should be included in the generated list. This can be
+the pathname of the device or the device alias.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, invalid option was used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Device table could not be opened for reading.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/device.tab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdevattr\fR(1M), \fBgetdgrp\fR(1M), \fBputdev\fR(1M), \fBputdgrp\fR(1M),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/getdevpolicy.1m b/usr/src/man/man1m/getdevpolicy.1m
new file mode 100644
index 0000000000..afa0ac36e1
--- /dev/null
+++ b/usr/src/man/man1m/getdevpolicy.1m
@@ -0,0 +1,80 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH getdevpolicy 1M "9 Apr 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+getdevpolicy \- inspect the system's device policy
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/getdevpolicy\fR [\fIdevice\fR\&.\|.\|.]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Without arguments, \fBgetdevpolicy\fR outputs the device policy in effect to
+standard output.
+.sp
+.LP
+With arguments, each argument is treated as a pathname to a device and the
+device policy in effect for that specific device is printed preceeded by the
+supplied pathname.
+.SH USAGE
+.sp
+.LP
+ The device policy adds access restrictions over and above the file
+permissions.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below
+.TE
+
+.sp
+.LP
+The invocation is evolving. The output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBadd_drv\fR(1M), \fBrem_drv\fR(1M), \fBupdate_drv\fR(1M),
+\fBattributes\fR(5), \fBprivileges\fR(5), \fBdevfs\fR(7FS)
diff --git a/usr/src/man/man1m/getdgrp.1m b/usr/src/man/man1m/getdgrp.1m
new file mode 100644
index 0000000000..2eda9fe8a5
--- /dev/null
+++ b/usr/src/man/man1m/getdgrp.1m
@@ -0,0 +1,225 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH getdgrp 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+getdgrp \- lists device groups which contain devices that match criteria
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/getdgrp\fR [\fB-ael\fR] [\fIcriteria\fR]... [\fIdgroup\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBgetdgrp\fR generates a list of device groups that contain devices matching
+the given criteria. The criteria is given in the form of expressions.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies that a device must match all criteria to be included in the list
+generated by this command. The option has no effect if no criteria are defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies that the list of device groups on the command line should be
+\fIexcluded\fR from the list generated by this command. Without the \fB-e\fR
+option the named device groups are \fIincluded\fR in the generated list. The
+flag has no effect if no devices are defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies that all device groups (subject to the \fB-e\fR option and the
+\fIdgroup\fR list) should be listed even if they contain no valid device
+members. This option has no affect if \fIcriteria\fR is specified on the
+command line.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcriteria\fR\fR
+.ad
+.RS 12n
+.rt
+Defines criteria that a device must match before a device group to which it
+belongs can be included in the generated list. Specify \fIcriteria\fR as an
+expression or a list of expressions which a device must meet for its group to
+be included in the list generated by \fBgetdgrp\fR. If no criteria are given,
+all device groups are included in the list.
+.sp
+Devices must satisfy at least one of the criteria in the list. However, the
+\fB-a\fR option can be used to define that a "logical and" operation should be
+performed. Then, only those groups containing devices which match all of the
+criteria in a list will be included.
+.sp
+There are four possible expressions types which the criteria specified in the
+\fIcriteria\fR argument may follow:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fB=\fR\fIvalue\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all device groups with a member whose attribute \fIattribute\fR is
+defined and is equal to \fIvalue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fB!=\fR\fIvalue\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all device groups with a member whose attribute \fIattribute\fR is
+defined and does not equal \fIvalue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fB:*\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all device groups with a member which has the attribute
+\fIattribute\fR defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fB!:*\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all device groups with a member which does not have the attribute
+\fIattribute\fR defined.
+.RE
+
+See \fBputdev\fR(1M) for a complete listing and description of available
+attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdgroup\fR\fR
+.ad
+.RS 12n
+.rt
+Defines a set of device groups which should be included in or excluded from the
+generated list. Device groups that are defined and which contain devices
+matching the criteria are included.
+.sp
+If the \fB-e\fR option is used, this list defines a set of device groups to be
+excluded. When the \fB-e\fR option is used and \fIcriteria\fR is also
+defined, the generated list will include device groups containing devices
+which match the criteria and are not in the command line list.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion of the task.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, invalid option was used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Device table or device group table could not be opened for reading.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/device.tab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dgroup.tab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdevattr\fR(1M), \fBgetdev\fR(1M), \fBputdev\fR(1M), \fBputdgrp\fR(1M),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/getent.1m b/usr/src/man/man1m/getent.1m
new file mode 100644
index 0000000000..180c81aa59
--- /dev/null
+++ b/usr/src/man/man1m/getent.1m
@@ -0,0 +1,261 @@
+'\" te
+.\" Copyright (C) 1999, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH getent 1M "26 Mar 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+getent \- get entries from administrative database
+.SH SYNOPSIS
+.LP
+.nf
+\fBgetent\fR \fIdatabase\fR [\fIkey\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBgetent\fR gets a list of entries from the administrative database specified
+by \fIdatabase\fR. The information generally comes from one or more of the
+sources that are specified for the \fIdatabase\fR in \fB/etc/nsswitch.conf\fR.
+.sp
+.LP
+\fIdatabase\fR is the name of the database to be examined. This can be
+\fBpasswd\fR, \fBgroup\fR, \fBhosts\fR, \fBipnodes\fR, \fBservices\fR,
+\fBprotocols\fR, \fBethers\fR, \fBproject\fR, \fBnetworks\fR, or
+\fBnetmasks\fR. For each of these databases, \fBgetent\fR uses the appropriate
+library routines described in \fBgetpwnam\fR(3C), \fBgetgrnam\fR(3C),
+\fBgethostbyaddr\fR(3NSL), \fBgethostbyname\fR(3NSL),
+\fBgetipnodebyaddr\fR(3SOCKET), \fBgetipnodebyname\fR(3SOCKET),
+\fBgetservbyname\fR(3SOCKET), \fBgetprotobyname\fR(3SOCKET),
+\fBethers\fR(3SOCKET), \fBgetprojbyname\fR(3PROJECT) and
+\fBgetnetbyname\fR(3SOCKET), respectively.
+.sp
+.LP
+Each \fIkey\fR must be in a format appropriate for searching on the respective
+database. For example, it can be a \fIusername\fR or \fInumeric-uid\fR for
+\fBpasswd\fR; \fIhostname\fR or \fIIP\fR \fIaddress\fR for \fBhosts\fR; or
+\fIservice\fR, \fIservice/protocol\fR, \fIport\fR, or \fIport/proto\fR for
+\fBservices\fR.
+.sp
+.LP
+\fBgetent\fR prints out the database entries that match each of the supplied
+keys, one per line, in the format of the matching administrative file:
+\fBpasswd\fR(4), \fBgroup\fR(4), \fBproject\fR(4), \fBhosts\fR(4),
+\fBservices\fR(4), \fBprotocols\fR(4), \fBethers\fR(3SOCKET),
+\fBnetworks\fR(4), or \fBnetmasks\fR(4). If no key is given, all entries
+returned by the corresponding enumeration library routine, for example,
+\fBgetpwent()\fR or \fBgethostent()\fR, are printed. Enumeration is not
+supported on \fBipnodes\fR.
+.SS "Key Interpretation for \fBpasswd\fR and \fBgroup\fR Databases"
+.sp
+.LP
+When \fBgetent\fR is invoked with database set to \fBpasswd\fR, each key value
+is processed as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the key value consists only of numeric characters, \fBgetent\fR assumes that
+the key value is a numeric user ID and searches the user database for a
+matching user ID.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the user ID is not found in the user database or if the key value contains
+any non-numeric characters, \fBgetent\fR assumes the key value is a user name
+and searches the user database for a matching user name.
+.RE
+.sp
+.LP
+Similarly, when \fBgetent\fR is invoked with database set to \fBgroup\fR, each
+key value is processed as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the key value consists only of numeric characters, \fBgetent\fR assumes that
+the key value is a numeric group ID and searches the group database for a
+matching group ID.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the group ID is not found in the \fBgroup\fR database or if the key value
+contains any non-numeric characters, \fBgetent\fR assumes the key value is a
+group name and searches the \fBgroup\fR database for a matching group name.
+.RE
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, an invalid option was used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+At least one of the specified entry names was not found in the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+There is no support for enumeration on this database.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.conf\fR\fR
+.ad
+.RS 22n
+.rt
+name service switch configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 22n
+.rt
+password file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.RS 22n
+.rt
+group file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/hosts\fR\fR
+.ad
+.RS 22n
+.rt
+IPv4 and IPv6 host name database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/services\fR\fR
+.ad
+.RS 22n
+.rt
+Internet services and aliases
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/project\fR\fR
+.ad
+.RS 22n
+.rt
+project file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/protocols\fR\fR
+.ad
+.RS 22n
+.rt
+protocol name database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ethers\fR\fR
+.ad
+.RS 22n
+.rt
+Ethernet address to hostname database or domain
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/networks\fR\fR
+.ad
+.RS 22n
+.rt
+network name database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/netmasks\fR\fR
+.ad
+.RS 22n
+.rt
+network mask database
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBethers\fR(3SOCKET), \fBgetgrnam\fR(3C), \fBgethostbyaddr\fR(3NSL),
+\fBgethostbyname\fR(3NSL), \fBgethostent\fR(3NSL),
+\fBgetipnodebyaddr\fR(3SOCKET), \fBgetipnodebyname\fR(3SOCKET),
+\fBgetnetbyname\fR(3SOCKET), \fBgetprojbyname\fR(3PROJECT),
+\fBgetprotobyname\fR(3SOCKET), \fBgetpwnam\fR(3C),
+\fBgetservbyname\fR(3SOCKET), \fBgroup\fR(4), \fBhosts\fR(4),
+\fBnetmasks\fR(4), \fBnetworks\fR(4), \fBnsswitch.conf\fR(4), \fBpasswd\fR(4),
+\fBproject\fR(4), \fBprotocols\fR(4), \fBservices\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/gettable.1m b/usr/src/man/man1m/gettable.1m
new file mode 100644
index 0000000000..7fc0622458
--- /dev/null
+++ b/usr/src/man/man1m/gettable.1m
@@ -0,0 +1,41 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH gettable 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+gettable \- get DoD Internet format host table from a host
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/gettable\fR \fIhost\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBgettable\fR is a simple program used to obtain the DoD Internet host table
+from a "hostname" server. The specified \fIhost\fR is queried for the table.
+The table is placed in the file \fBhosts.txt\fR.
+.sp
+.LP
+\fBgettable\fR operates by opening a \fBTCP\fR connection to the port indicated
+in the service specification for "hostname". A request is then made for all
+names and the resultant information is placed in the output file.
+.sp
+.LP
+\fBgettable\fR is best used in conjunction with the \fBhtable\fR(1M) program
+which converts the DoD Internet host table format to that used by the network
+library lookup routines.
+.SH SEE ALSO
+.sp
+.LP
+\fBhtable\fR(1M), \fBattributes\fR(5) Harrenstien, Ken, Mary Stahl, and
+Elizabeth Feinler, \fI\fR \fBHOSTNAME\fR \fIServer\fR, \fBRFC\fR 953, Network
+Information Center, \fBSRI\fR International, Menlo Park, California, October
+1985.
+.SH NOTES
+.sp
+.LP
+Should allow requests for only part of the database.
diff --git a/usr/src/man/man1m/getty.1m b/usr/src/man/man1m/getty.1m
new file mode 100644
index 0000000000..3e08b5e8ff
--- /dev/null
+++ b/usr/src/man/man1m/getty.1m
@@ -0,0 +1,146 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH getty 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+getty \- set terminal type, modes, speed, and line discipline
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/saf/ttymon\fR [\fB-h\fR] [\fB-t\fR \fItimeout\fR] \fIline\fR
+ [\fIspeed\fR [\fItype\fR [\fIlinedisc\fR]]]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/saf/ttymon\fR \fB-c\fR \fIfile\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBgetty\fR sets terminal type, modes, speed, and line discipline. \fBgetty\fR
+is a symbolic link to \fB/usr/lib/saf/ttymon\fR. It is included for
+compatibility with previous releases for the few applications that still call
+\fBgetty\fR directly.
+.sp
+.LP
+\fBgetty\fR can only be executed by the super-user, (a process with the user
+\fBID\fR \fBroot\fR). Initially \fBgetty\fR prints the login prompt, waits for
+the user's login name, and then invokes the \fBlogin\fR command. \fBgetty\fR
+attempts to adapt the system to the terminal speed by using the options and
+arguments specified on the command line.
+.sp
+.LP
+Without optional arguments, \fBgetty\fR specifies the following: The
+\fIspeed\fR of the interface is set to 300 baud, either parity is allowed,
+\fBNEWLINE\fR characters are converted to carriage return-line feed, and tab
+expansion is performed on the standard output. \fBgetty\fR types the login
+prompt before reading the user's name a character at a time. If a null
+character (or framing error) is received, it is assumed to be the result of
+the user pressing the \fBBREAK\fR key. This will cause \fBgetty\fR to attempt
+the next \fIspeed\fR in the series. The series that \fBgetty\fR tries is
+determined by what it finds in \fB/etc/ttydefs \fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 14n
+.rt
+If the \fB-h\fR flag is not set, a hangup will be forced by setting the speed
+to zero before setting the speed to the default or a specified speed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fI timeout\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies that \fBgetty\fR should exit if the open on the line succeeds and no
+one types anything in \fItimeout\fR seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fI file\fR\fR
+.ad
+.RS 14n
+.rt
+The \fB-c\fR option is no longer supported. Instead use
+\fB/usr/sbin/sttydefs\fR \fB-l\fR to list the contents of the
+\fB/etc/ttydefs\fR file and perform a validity check on the file.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIline\fR\fR
+.ad
+.RS 21n
+.rt
+The name of a \fBTTY\fR line in \fB/dev\fR to which \fBgetty\fR is to attach
+itself. \fBgetty\fR uses this string as the name of a file in the \fB/dev\fR
+directory to open for reading and writing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIspeed\fR\fR
+.ad
+.RS 21n
+.rt
+The \fIspeed\fR argument is a label to a speed and \fBTTY\fR definition in
+the file \fB/etc/ttydefs\fR. This definition tells \fBgetty\fR at what speed to
+run initially, what the initial \fBTTY\fR settings are, and what speed to try
+next, (should the user press the \fBBREAK\fR key to indicate that the speed is
+inappropriate). The default \fIspeed\fR is 300 baud.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItype\fR and \fIlinedisc\fR\fR
+.ad
+.RS 21n
+.rt
+These options are obsolete and will be ignored.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ttydefs\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBct\fR(1C), \fBlogin\fR(1), \fBsttydefs\fR(1M), \fBttymon\fR(1M),
+\fBioctl\fR(2), \fBattributes\fR(5), \fBtty\fR(7D)
diff --git a/usr/src/man/man1m/getvol.1m b/usr/src/man/man1m/getvol.1m
new file mode 100644
index 0000000000..7e1abbf74a
--- /dev/null
+++ b/usr/src/man/man1m/getvol.1m
@@ -0,0 +1,191 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH getvol 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+getvol \- verifies device accessibility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/getvol\fR \fB-n\fR [\fB-l\fR \fIlabel\fR] \fIdevice\fR
+.fi
+
+.LP
+.nf
+\fB/usr/bin/getvol\fR [\fB-f\fR | \fB-F\fR] [\fB-ow\fR] [\fB-l\fR \fIlabel\fR | \fB-x\fR \fIlabel\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBgetvol\fR verifies that the specified device is accessible and that a volume
+of the appropriate medium has been inserted. The command is interactive and
+displays instructional prompts, describes errors, and shows required label
+information.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 12n
+.rt
+Runs the command in non-interactive mode. The volume is assumed to be inserted
+upon command invocation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fI label\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies that the label \fIlabel\fR must exist on the inserted volume (can be
+overridden by the \fB-o\fR option).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 12n
+.rt
+Formats the volume after insertion, using the format command defined for this
+device in the device table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 12n
+.rt
+Formats the volume after insertion and places a file system on the device. Also
+uses the format command defined for this device in the device table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 12n
+.rt
+Allows the administrator to override a label check.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.RS 12n
+.rt
+Allows administrator to write a new label on the device. User is prompted to
+supply the label text. This option is ineffective if the \fB-n\fR option is
+enabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fI label\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies that the label \fIlabel\fR must exist on the device. This option
+should be used in place of the \fB-l\fR option when the label can only be
+verified by visual means. Use of the option causes a message to be displayed
+asking the administrator to visually verify that the label is indeed
+\fIlabel\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 10n
+.rt
+Specifies the device to be verified for accessibility.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, invalid option was used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Device table could not be opened for reading.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/device.tab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+This command uses the device table to determine the characteristics of the
+device when performing the volume label checking.
diff --git a/usr/src/man/man1m/groupadd.1m b/usr/src/man/man1m/groupadd.1m
new file mode 100644
index 0000000000..e93043356d
--- /dev/null
+++ b/usr/src/man/man1m/groupadd.1m
@@ -0,0 +1,174 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH groupadd 1M "27 Aug 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+groupadd \- add (create) a new group definition on the system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/groupadd\fR [\fB-g\fR \fIgid\fR [\fB-o\fR]] \fIgroup\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBgroupadd\fR command creates a new group definition on the system by
+adding the appropriate entry to the \fB/etc/group\fR file.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgid\fR\fR
+.ad
+.RS 10n
+.rt
+Assigns the group id \fIgid\fR for the new group. This group id must be a
+non-negative decimal integer below \fBMAXUID\fR as defined in
+\fB/usr/include/sys/param.h\fR. The group \fBID\fR defaults to the next
+available (unique) number above the highest number currently assigned. For
+example, if groups \fB100\fR, \fB105\fR, and \fB200\fR are assigned as
+groups, the next default group number will be \fB201\fR. (Group \fBIDs\fR from
+\fB0\fR\(mi\fB99\fR are reserved by SunOS for future applications.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 10n
+.rt
+Allows the \fIgid\fR to be duplicated (non-unique).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgroup\fR\fR
+.ad
+.RS 9n
+.rt
+A string consisting of characters from the set of lower case alphabetic
+characters and numeric characters. A warning message will be written if the
+string exceeds \fBMAXGLEN,\fR which is usually set at eight characters. The
+\fIgroup\fR field must contain at least one character; it accepts lower case or
+numeric characters or a combination of both, and must not contain a colon
+(\fB:\fR) or \fBNEWLINE.\fR
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Invalid command syntax. A usage message for the \fBgroupadd\fR command is
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 6n
+.rt
+An invalid argument was provided to an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 6n
+.rt
+The \fIgid\fR is not unique (when \fB-o\fR option is not used).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR\fR
+.ad
+.RS 6n
+.rt
+The \fIgroup\fR is not unique.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.RS 6n
+.rt
+The \fB/etc/group\fR file cannot be updated.
+.RE
+
+.SH FILES
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/group\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/usr/include/userdefs.h\fR
+.RE
+.SH SEE ALSO
+.sp
+.LP
+\fBusers\fR(1B), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M), \fBgrpck\fR(1M),
+\fBlogins\fR(1M), \fBpwck\fR(1M), \fBuseradd\fR(1M), \fBuserdel\fR(1M),
+\fBusermod\fR(1M), \fBgroup\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBgroupadd\fR only adds a group definition to the local system. If a network
+name service such as \fBNIS\fR or \fBNIS+\fR is being used to supplement the
+local \fB/etc/group\fR file with additional entries, \fBgroupadd\fR cannot
+change information supplied by the network name service. However,
+\fBgroupadd\fR will verify the uniqueness of group name and group \fBID\fR
+against the external name service.
+.sp
+.LP
+If the number of characters in a \fBgroup\fR entry exceeds 2047, group
+maintenance commands, such as \fBgroupdel\fR(1M) and \fBgroupmod\fR(1M), fail.
diff --git a/usr/src/man/man1m/groupdel.1m b/usr/src/man/man1m/groupdel.1m
new file mode 100644
index 0000000000..3cbcc41c43
--- /dev/null
+++ b/usr/src/man/man1m/groupdel.1m
@@ -0,0 +1,109 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH groupdel 1M "27 Aug 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+groupdel \- delete a group definition from the system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/groupdel\fR \fIgroup\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBgroupdel\fR utility deletes a group definition from the system. It
+deletes the appropriate entry from the \fB/etc/group\fR file.
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgroup\fR\fR
+.ad
+.RS 9n
+.rt
+An existing group name to be deleted.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Invalid command syntax. A usage message for the \fBgroupdel\fR command is
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 6n
+.rt
+\fIgroup\fR does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot update the \fB/etc/group\fR file.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.RS 14n
+.rt
+system file containing group definitions
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBusers\fR(1B), \fBgroupadd\fR(1M), \fBgroupmod\fR(1M), \fBlogins\fR(1M),
+\fBuseradd\fR(1M), \fBuserdel\fR(1M), \fBusermod\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBgroupdel\fR utility only deletes a group definition that is in the local
+\fB/etc/group\fR file. If a network nameservice such as \fBNIS\fR or \fBNIS+\fR
+is being used to supplement the local \fB/etc/group\fR file with additional
+entries, \fBgroupdel\fR cannot change information supplied by the network
+nameservice.
+.sp
+.LP
+\fBgroupdel\fR fails if a group entry (a single line in \fB/etc/group\fR)
+exceeds 2047 characters.
diff --git a/usr/src/man/man1m/groupmod.1m b/usr/src/man/man1m/groupmod.1m
new file mode 100644
index 0000000000..50bb664499
--- /dev/null
+++ b/usr/src/man/man1m/groupmod.1m
@@ -0,0 +1,194 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH groupmod 1M "27 Aug 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+groupmod \- modify a group definition on the system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/groupmod\fR [\fB-g\fR \fIgid\fR [\fB-o\fR]] [\fB-n\fR \fIname\fR] \fIgroup\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBgroupmod\fR command modifies the definition of the specified group by
+modifying the appropriate entry in the \fB/etc/group\fR file.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgid\fR\fR
+.ad
+.RS 11n
+.rt
+Specify the new group \fBID\fR for the group. This group \fBID\fR must be a
+non-negative decimal integer less than \fBMAXUID\fR, as defined in
+\fB<param.h>\fR\&. The group \fBID\fR defaults to the next available (unique)
+number above 99. (Group IDs from 0-99 are reserved by SunOS for future
+applications.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIname\fR\fR
+.ad
+.RS 11n
+.rt
+Specify the new name for the group. The \fIname\fR argument is a string of no
+more than eight bytes consisting of characters from the set of lower case
+alphabetic characters and numeric characters. A warning message will be
+written if these restrictions are not met. A future Solaris release may refuse
+to accept group fields that do not meet these requirements. The \fIname\fR
+argument must contain at least one character and must not include a colon
+(\fB:\fR) or \fBNEWLINE\fR (\fB\en\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 11n
+.rt
+Allow the \fIgid\fR to be duplicated (non-unique).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgroup\fR\fR
+.ad
+.RS 9n
+.rt
+An existing group name to be modified.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The \fBgroupmod\fR utility exits with one of the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Invalid command syntax. A usage message for the \fBgroupmod\fR command is
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 6n
+.rt
+An invalid argument was provided to an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 6n
+.rt
+\fIgid\fR is not unique (when the \fB-o\fR option is not used).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 6n
+.rt
+\fIgroup\fR does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR\fR
+.ad
+.RS 6n
+.rt
+\fIname\fR already exists as a group name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot update the \fB/etc/group\fR file.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.RS 14n
+.rt
+group file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBusers\fR(1B), \fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBlogins\fR(1M),
+\fBuseradd\fR(1M), \fBuserdel\fR(1M), \fBusermod\fR(1M), \fBgroup\fR(4),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBgroupmod\fR utility only modifies group definitions in the
+\fB/etc/group\fR file. If a network name service such as \fBNIS\fR or
+\fBNIS+\fR is being used to supplement the local \fB/etc/group\fR file with
+additional entries, \fBgroupmod\fR cannot change information supplied by the
+network name service. The \fBgroupmod\fR utility will, however, verify the
+uniqueness of group name and group \fBID\fR against the external name service.
+.sp
+.LP
+\fBgroupmod\fR fails if a group entry (a single line in \fB/etc/group\fR)
+exceeds 2047 characters.
diff --git a/usr/src/man/man1m/growfs.1m b/usr/src/man/man1m/growfs.1m
new file mode 100644
index 0000000000..dd2eb1384b
--- /dev/null
+++ b/usr/src/man/man1m/growfs.1m
@@ -0,0 +1,246 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc.
+.\" All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH growfs 1M "20 Apr 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+growfs \- non-destructively expand a UFS file system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/growfs\fR [\fB-M\fR \fImount-point\fR] [\fInewfs-options\fR]
+ [\fIraw-device\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBgrowfs\fR non-destructively expands a mounted or unmounted UNIX file system
+(UFS) to the size of the file system's slice(s).
+.sp
+.LP
+Typically, disk space is expanded by first adding a slice to a metadevice, then
+running the \fBgrowfs\fR command. When adding space to a mirror, you expand
+each submirror before expanding the file system.
+.sp
+.LP
+\fBgrowfs\fR will ``write-lock'' (see \fBlockfs\fR(1M)) a mounted file system
+when expanding. The length of time the file system is write-locked can be
+shortened by expanding the file system in stages. For instance, to expand a 1
+Gbyte file system to 2 Gbytes, the file system can be grown in 16 Mbyte stages
+using the \fB-s\fR option to specify the total size of the new file system at
+each stage. The argument for \fB-s\fR is the number of sectors, and must be a
+multiple of the cylinder size. Note: The file system cannot be grown if a
+cylinder size of less than 2 is specified. Refer to the \fBnewfs\fR(1M) man
+page for information on the options available when growing a file system.
+.sp
+.LP
+\fBgrowfs\fR displays the same information as \fBmkfs\fR during the expansion
+of the file system.
+.sp
+.LP
+If \fBgrowfs\fR is aborted, recover any lost free space by unmounting the file
+system and running the \fBfsck\fR command, or run the \fBgrowfs\fR command
+again.
+.sp
+.LP
+\fBNote:\fR If \fBgrowfs\fR is aborted and the file system is used before
+\fBfsck\fR is run on it, UFS metadata might be left in an incomplete state,
+with the result that the file system would be corrupted. In such a
+circumstance, you would have to restore the file system from backups.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for all of the following options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fImount-point\fR\fR
+.ad
+.RS 18n
+.rt
+The file system to be expanded is mounted on \fImount-point\fR. File system
+locking (\fBlockfs\fR) will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInewfs-options\fR\fR
+.ad
+.RS 18n
+.rt
+The options are documented in the \fBnewfs\fR man page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw-device\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the name of a raw metadevice or raw special device, residing in
+\fB/dev/md/rdsk\fR, or \fB/dev/rdsk\fR, respectively, including the disk slice,
+where you want the file system to be grown.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRExpanding nonmetadevice slice for \fB/export\fR file system
+.sp
+.LP
+The following example expands a nonmetadevice slice for the \fB/export\fR file
+system. In this example, the existing slice, \fB/dev/dsk/c1t0d0s3\fR, is
+converted to a metadevice so additional slices can be concatenated.
+
+.sp
+.in +2
+.nf
+# metainit -f d8 2 1 c1t0d0s3 1 c2t0d0s3
+# umount /export
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAssociate \fB/export\fR with new metadevice
+.sp
+.LP
+Edit the \fB/etc/vfstab\fR file to change the entry for \fB/export\fR to the
+newly defined metadevice, \fBd8\fR.
+
+.sp
+.in +2
+.nf
+# mount /export
+# growfs -M /export /dev/md/rdsk/d8
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The first example starts by running the \fBmetainit\fR command with the
+\fB-f\fR option to force the creation of a new concatenated metadevice
+\fBd8\fR, which consists of the existing slice \fB/dev/dsk/c1t0d0s3\fR and a
+new slice \fB/dev/dsk/c2t0d0s3\fR. Next, the file system on \fB/export\fR must
+be unmounted. The \fB/etc/vfstab\fR file is edited to change the entry for
+\fB/export\fR to the newly defined metadevice name, rather than the slice name.
+After the file system is remounted, the \fBgrowfs\fR command is run to expand
+the file system. The file system will span the entire metadevice when
+\fBgrowfs\fR completes. The \fB-M\fR option enables the \fBgrowfs\fR command to
+expand a mounted file system. During the expansion, write access for
+\fB/export\fR is suspended until \fBgrowfs\fR unlocks the file system. Read
+access is not affected, though access times are not kept when the lock is in
+effect.
+
+.LP
+\fBExample 3 \fRDynamic Expansion of \fB/export\fR file system
+.sp
+.LP
+The following example picks up from the previous one. Here, the \fB/export\fR
+file system mounted on metadevice \fBd8\fR is dynamically expanded.
+
+.sp
+.in +2
+.nf
+# metattach d8 c0t1d0s2
+# growfs -M /export /dev/md/rdsk/d8
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This example begins by using the \fBmetattach\fR command to dynamically
+concatenate a new slice, \fB/dev/dsk/c0t1d0s2\fR, to the end of an existing
+metadevice, \fBd8\fR. Next, the \fBgrowfs\fR command specifies that the
+mount-point is \fB/export\fR and that it is to be expanded onto the raw
+metadevice \fB/dev/md/rdsk/d8\fR. The file system will span the entire
+metadevice when \fBgrowfs\fR completes. During the expansion, write access for
+\fB/export\fR is suspended until \fBgrowfs\fR unlocks the file system. Read
+access is not affected, though access times are not kept when the lock is in
+effect.
+
+.LP
+\fBExample 4 \fRExpanding mounted file system to existing mirror
+.sp
+.LP
+The following example expands a mounted file system \fB/files\fR, to an
+existing mirror, \fBd80\fR, which contains two submirrors, \fBd9\fR and
+\fBd10\fR.
+
+.sp
+.in +2
+.nf
+# metattach d9 c0t2d0s5
+# metattach d10 c0t3d0s5
+# growfs -M /files /dev/md/rdsk/d80
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the \fBmetattach\fR command dynamically concatenates the new
+slices to each submirror. The \fBmetattach\fR command must be run for each
+submirror. The mirror will automatically grow when the last submirror is
+dynamically concatenated. The mirror will grow to the size of the smallest
+submirror. The \fBgrowfs\fR command then expands the file system. The
+\fBgrowfs\fR command specifies that the mount-point is \fB/files\fR and that it
+is to be expanded onto the raw metadevice \fB/dev/md/rdsk/d80\fR. The file
+system will span the entire mirror when the \fBgrowfs\fR command completes.
+During the expansion, write access for the file system is suspended until
+\fBgrowfs\fR unlocks the file system. Read access is not affected, though
+access times are not kept when the lock is in effect.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBlockfs\fR(1M), \fBmkfs\fR(1M), \fBmetattach\fR(1M),
+\fBnewfs\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fISolaris Volume Manager Administration Guide\fR
+.SH LIMITATIONS
+.sp
+.LP
+Only UFS file systems (either mounted or unmounted) can be expanded using the
+\fBgrowfs\fR command. Once a file system is expanded, it cannot be decreased in
+size. The following conditions prevent you from expanding file systems: When
+\fBacct\fR is activated and the accounting file is on the target device. When
+C2 security is activated and the logging file is on the target file system.
+When there is a local \fBswap\fR file in the target file system. When the file
+system is root (\fB/\fR), \fB/usr\fR, or \fBswap\fR.
diff --git a/usr/src/man/man1m/gsscred.1m b/usr/src/man/man1m/gsscred.1m
new file mode 100644
index 0000000000..1a7991f4e5
--- /dev/null
+++ b/usr/src/man/man1m/gsscred.1m
@@ -0,0 +1,267 @@
+'\" te
+.\" Copyright (c) 1998, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH gsscred 1M "11 Feb 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+gsscred \- add, remove, and list gsscred table entries
+.SH SYNOPSIS
+.LP
+.nf
+\fBgsscred\fR [\fB-n\fR \fIuser\fR [\fB-o\fR \fIoid\fR] [\fB-u\fR \fIuid\fR]] [\fB-c\fR \fIcomment\fR] \fB-m\fR \fImech\fR \fB-a\fR
+.fi
+
+.LP
+.nf
+\fBgsscred\fR [\fB-n\fR \fIuser\fR [\fB-o\fR \fIoid\fR]] [\fB-u\fR \fIuid\fR] [\fB-m\fR \fImech\fR] \fB-r\fR
+.fi
+
+.LP
+.nf
+\fBgsscred\fR [\fB-n\fR \fIuser\fR [\fB-o\fR \fIoid\fR]] [\fB-u\fR \fIuid\fR] [\fB-m\fR \fImech\fR] \fB-l\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBgsscred\fR utility is used to create and maintain a mapping between a
+security principal name and a local UNIX \fIuid\fR. The format of the user name
+is assumed to be \fBGSS_C_NT_USER_NAME\fR. You can use the \fB-o\fR option to
+specify the object identifier of the \fIname\fR type. The \fBOID\fR must be
+specified in dot-separated notation, for example: \fB1.2.3.45464.3.1\fR
+.sp
+.LP
+The \fBgsscred\fR table is used on server machines to lookup the \fIuid\fR of
+incoming clients connected using \fBRPCSEC_GSS\fR.
+.sp
+.LP
+When adding users, if no \fIuser\fR name is specified, an entry is created in
+the table for each user from the \fBpasswd\fR table. If no \fIcomment\fR is
+specified, the \fBgsscred\fR utility inserts a comment that specifies the user
+name as an \fBASCII\fR string and the \fBGSS-API\fRsecurity mechanism that
+applies to it. The security mechanism will be in string representation as
+defined in the \fB/etc/gss/mech\fR file.
+.sp
+.LP
+The parameters are interpreted the same way by the \fBgsscred\fR utility to
+delete users as they are to create users. At least one of the following options
+must be specified: \fB-n\fR, \fB-u\fR, or \fB-m\fR. If no security mechanism is
+specified, then all entries will be deleted for the user identified by either
+the \fIuid\fR or \fIuser\fR name. If only the security mechanism is specified,
+then all \fIuser\fR entries for that security mechanism will be deleted.
+.sp
+.LP
+Again, the parameters are interpreted the same way by the \fBgsscred\fR utility
+to search for users as they are to create users. If no options are specified,
+then the entire table is returned. If the \fIuser\fR name or \fIuid\fR is
+specified, then all entries for that \fIuser\fR are returned. If a security
+mechanism is specified, then all \fIuser\fR entries for that security mechanism
+are returned.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 14n
+.rt
+Add a table entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.RS 14n
+.rt
+Insert comment about this table entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 14n
+.rt
+Search table for entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImech\fR\fR
+.ad
+.RS 14n
+.rt
+Specify the mechanism for which this name is to be translated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIuser\fR\fR
+.ad
+.RS 14n
+.rt
+Specify the optional principal name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoid\fR\fR
+.ad
+.RS 14n
+.rt
+Specify the OID indicating the name type of the user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 14n
+.rt
+Remove the entry from the table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuid\fR\fR
+.ad
+.RS 14n
+.rt
+Specify the \fIuid\fR for the \fIuser\fR if the \fIuser\fR is not local.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a \fBgsscred\fR Table for the Kerberos v5 Security
+Mechanism
+.sp
+.LP
+The following shows how to create a \fBgsscred\fR table for the kerberos v5
+security mechanism. \fBgsscred\fR obtains \fIuser\fR names and \fIuid\fR's from
+the \fBpasswd\fR table to populate the table.
+
+.sp
+.in +2
+.nf
+example% \fBgsscred -m kerberos_v5 -a\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding an Entry for \fBroot/host1\fR for the Kerberos v5
+Security Mechanism
+.sp
+.LP
+The following shows how to add an entry for \fBroot/host1\fR with a specified
+\fIuid\fR of \fB0\fR for the kerberos v5 security mechanism.
+
+.sp
+.in +2
+.nf
+example% \fBgsscred -m kerberos_v5 -n root/host1 -u 0 -a\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing All User Mappings for the Kerberos v5 Security
+Mechanism
+.sp
+.LP
+The following lists all user mappings for the kerberos v5 security mechanism.
+
+.sp
+.in +2
+.nf
+example% \fBgsscred -m kerberos_v5 -l\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRListing All Mappings for All Security Mechanism for a Specified
+User
+.sp
+.LP
+The following lists all mappings for all security mechanisms for the user
+\fBbsimpson\fR.
+
+.sp
+.in +2
+.nf
+example% \fBgsscred -n bsimpson -l\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBgssd\fR(1m), \fBgsscred.conf\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Some GSS mechanisms, such as \fBkerberos_v5\fR, provide their own
+authenticated-name-to-local-name (uid) mapping and thus do not usually have to
+be mapped using \fBgsscred\fR. See \fBgsscred.conf\fR(4) for more information.
diff --git a/usr/src/man/man1m/gssd.1m b/usr/src/man/man1m/gssd.1m
new file mode 100644
index 0000000000..948355f0c1
--- /dev/null
+++ b/usr/src/man/man1m/gssd.1m
@@ -0,0 +1,117 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH gssd 1M "25 Apr 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+gssd \- generates and validates GSS-API tokens for kernel RPC
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/gss/gssd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fB\fR\fBgssd\fR is the user mode daemon that operates between the kernel rpc
+and the Generic Security Service Application Program Interface (\fBGSS-API\fR)
+to generate and validate \fBGSS-API\fR security tokens. In addition, \fBgssd\fR
+maps the \fBGSS-API\fR principal names to the local user and group ids. By
+default, all groups that the requested user belongs to will be included in the
+grouplist credential. \fBgssd\fR is invoked by the Internet daemon
+\fBinetd\fR(1m) the first time that the kernel \fBRPC\fR requests \fBGSS-API\fR
+services.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkill\fR(1), \fBpkill\fR(1), \fBsvcs\fR(1), \fBinetadm\fR(1M),
+\fBinetd\fR(1M), \fBgsscred\fR(1M), \fBsvcadm\fR(1M), \fBgsscred.conf\fR(4),
+\fBresolv.conf\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fIRFC 2078\fR
+.SH NOTES
+.sp
+.LP
+The following signal has the specified effect when sent to the server process
+using the \fBkill\fR(1) command:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGHUP\fR\fR
+.ad
+.RS 10n
+.rt
+\fBgssd\fR rereads the \fBgsscred.conf\fR(4) options.
+.RE
+
+.sp
+.LP
+When one of the mechanisms being used is Kerberos, then the \fBgssd\fR process
+must be restarted after adding or changing the \fBresolv.conf\fR(4) file.
+.sp
+.LP
+The \fBgssd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/gss:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/hal-device.1m b/usr/src/man/man1m/hal-device.1m
new file mode 100644
index 0000000000..c9432fd6c1
--- /dev/null
+++ b/usr/src/man/man1m/hal-device.1m
@@ -0,0 +1,82 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH hal-device 1M "25 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+hal-device \- manage HAL devices
+.SH SYNOPSIS
+.LP
+.nf
+\fBhal-device\fR [\fB-h\fR] [\fB--a\fR \fIudi\fR | \fB--r\fR \fIudi\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Hardware Abstraction Layer (HAL) provides a view of the various hardware
+attached to a system. The \fBhal-device\fR command enables you to manage
+devices that conform to the HAL standard. Specifically, \fBhal-device\fR lets
+you add or remove a device to or from the HAL global device list. Device
+properties are read from stdin in \fBlshal(1M)\fR syntax.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB--add\fR \fIudi\fR\fR
+.ad
+.RS 20n
+.rt
+Add device specified by Universal Device Identifier \fIudi\fR to HAL's global
+device list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 20n
+.rt
+Display usage information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR, \fB--remove\fR \fIudi\fR\fR
+.ad
+.RS 20n
+.rt
+Remove device specified by Universal Device Identifier \fIudi\fR from HAL's
+global device list.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhald\fR(1M), \fBattributes\fR(5), \fBhal\fR(5)
diff --git a/usr/src/man/man1m/hal-fdi-validate.1m b/usr/src/man/man1m/hal-fdi-validate.1m
new file mode 100644
index 0000000000..d633871c14
--- /dev/null
+++ b/usr/src/man/man1m/hal-fdi-validate.1m
@@ -0,0 +1,71 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH hal-fdi-validate 1M "28 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+hal-fdi-validate \- validate HAL device information files
+.SH SYNOPSIS
+.LP
+.nf
+\fBhal-fdi-validate\fR [\fB-f\fR \fIdtd\fR] \fIfile\fR [\fIfile\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBhal-fdi-validate\fR command validates one or more device information
+files. See \fBfdi\fR(4). The standard DTD file will be used unless the \fB-f\fR
+option is used to specify a different file.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIdtd\fR\fR
+.ad
+.RS 10n
+.rt
+Specify path to a DTD file.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBhal-fdi-validate\fR command accepts the following operand(s):
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR [\fIfile\fR...]\fR
+.ad
+.RS 18n
+.rt
+One or more DTD files to be validated.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhald\fR(1M), \fBfdi\fR(4), \fBattributes\fR(5), \fBhal\fR(5)
diff --git a/usr/src/man/man1m/hal-find.1m b/usr/src/man/man1m/hal-find.1m
new file mode 100644
index 0000000000..98eb5f20ac
--- /dev/null
+++ b/usr/src/man/man1m/hal-find.1m
@@ -0,0 +1,123 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH hal-find 1M "22 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+hal-find, hal-find-by-capability, hal-find-by-property \- search HAL global
+device list
+.SH SYNOPSIS
+.LP
+.nf
+\fBhal-find-by-capability\fR \fB--capability\fR \fIcapability\fR [\fB--help\fR]
+ [\fB--verbose\fR] [\fB--version\fR]
+.fi
+
+.LP
+.nf
+\fBhal-find-by-property\fR \fB--key\fR \fIkey\fR \fB--string\fR \fIvalue\fR [\fB--help\fR]
+ [\fB--verbose\fR] [\fB--version\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBhal-find\fR commands, \fBhal-find-by-capability\fR and
+\fBhal-find-by-property\fR, search the Hardware Abstraction Layer (HAL) device
+list by specified criteria and displays results on the standard output.
+\fBhal-find-by-capability\fR searches by capability, such as \fBvolume\fR or
+\fBblock\fR. \fBhal-find-by-property\fR searches by property, such as
+\fBblock.is_volume\fR or \fBvolume.disc.has_audio\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--capability\fR \fIcapability\fR\fR
+.ad
+.RS 27n
+.rt
+HAL device capability to search for.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--help\fR\fR
+.ad
+.RS 27n
+.rt
+Display list of options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--key\fR \fIkey\fR\fR
+.ad
+.RS 27n
+.rt
+The \fIkey\fR to the property that is the basis of the search.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--string\fR \fIvalue\fR\fR
+.ad
+.RS 27n
+.rt
+The string \fIvalue\fR associated with the property that is the basis of the
+search.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--verbose\fR\fR
+.ad
+.RS 27n
+.rt
+Verbose mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--version\fR\fR
+.ad
+.RS 27n
+.rt
+Display version and exit.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhald\fR(1M), \fBattributes\fR(5), \fBhal\fR(5)
diff --git a/usr/src/man/man1m/hal-get-property.1m b/usr/src/man/man1m/hal-get-property.1m
new file mode 100644
index 0000000000..d74346c4ac
--- /dev/null
+++ b/usr/src/man/man1m/hal-get-property.1m
@@ -0,0 +1,208 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH hal-get-property 1M "18 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+hal-get-property, hal-set-property \- get and set HAL device properties
+.SH SYNOPSIS
+.LP
+.nf
+\fBhal-get-property\fR \fB--udi\fR \fIudi\fR \fB--key\fR \fIkey\fR [\fB--help\fR] [\fB--verbose\fR]
+ [\fB--version\fR]
+.fi
+
+.LP
+.nf
+\fBhal-set-property\fR \fB--udi\fR \fIudi\fR \fB--key\fR \fIkey\fR {\fB--int\fR \fIvalue\fR | \fB--uint64\fR \fIvalue\fR
+ | \fB--string\fR \fIvalue\fR | \fB--bool\fR \fIvalue\fR | \fB--strlist-pre\fR \fIvalue\fR
+ | \fB--strlist-post\fR \fIvalue\fR | \fB--strlist-rem\fR \fIvalue\fR | \fB--double\fR \fIvalue\fR
+ | \fB--remove\fR \fIvalue\fR} [\fB--help\fR] [\fB--version\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Hardware Abstraction Layer (HAL) provides a view of the various hardware
+attached to a system. This view is updated dynamically as hardware
+configuration changes by means of hotplug or other mechanisms. HAL represents a
+piece of hardware as a device object. A device object is identified by a unique
+identifer and carries a set of key/value pairs, referred to as device
+properties. Some properties are derived from the actual hardware, some are
+merged from device information files (\fB\&.fdi\fR files), and some are related
+to the actual device configuration.
+.sp
+.LP
+The \fBhal-get-property\fR and \fBhal-set-property\fR commands allow you to get
+and set properties of hardware that conforms to HAL specifications.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--udi\fR \fIudi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unique device ID.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--key\fR \fIkey\fR\fR
+.ad
+.sp .6
+.RS 4n
+Key of the property to set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--int\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set value to an integer. Accepts decimal or hexadecimal value prefixed with
+\fB0x\fR or \fBx\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--uint64\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set value to an integer. Accepts decimal or hexadecimal value prefixed with
+\fB0x\fR or \fBx\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--string\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set value to a string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--double\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set value to a floating point number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--boolean\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set value to a boolean, that is, true or false
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--strlist-pre\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prepend a string to a list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--strlist-post\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Append a string to a list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--strlist-rem\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove a string from a list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--remove\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the property should be removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display version and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display list of options and exit
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhald\fR(1M), \fBattributes\fR(5), \fBhal\fR(5)
diff --git a/usr/src/man/man1m/hald.1m b/usr/src/man/man1m/hald.1m
new file mode 100644
index 0000000000..d3bed0efeb
--- /dev/null
+++ b/usr/src/man/man1m/hald.1m
@@ -0,0 +1,151 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH hald 1M "2 Jul 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+hald \- daemon that supports hardware abstraction layer
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/hal/hald\fR [\fB--daemon\fR={\fByes\fR | \fBno\fR}]] [\fB--help\fR] [\fB--use-syslog\fR]
+ [\fB--verbose\fR={\fByes\fR | \fBno\fR}] [\fB--version\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBhald\fR daemon supports the recognition of hardware changes for devices
+that conform to the Hardware Abstraction Layer (HAL) specification.
+.sp
+.LP
+The enabling and disabling of \fBhald\fR can be performed through the service
+management facility (SMF) (see \fBsmf\fR(5)). \fBhald\fR is managed using the
+fault management resource identifier (FMRI) \fBsvc:/system/hal\fR. Options can
+be specified as SMF properties. See EXAMPLES.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--daemon\fR\fR
+.ad
+.RS 16n
+.rt
+Run as a daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--help\fR\fR
+.ad
+.RS 16n
+.rt
+Display usage information and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--use-syslog\fR\fR
+.ad
+.RS 16n
+.rt
+Display debug messages to \fBsyslog\fR instead of \fBstderr\fR. Use this option
+to record debug messages if HAL runs as daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--verbose\fR\fR
+.ad
+.RS 16n
+.rt
+Display debug information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--version\fR\fR
+.ad
+.RS 16n
+.rt
+Display version information and exit.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSpecifying a Property
+.sp
+.LP
+The following \fBsvccfg\fR(1M) command specifies the \fB--verbose\fR option.
+
+.sp
+.in +2
+.nf
+example# \fBsvccfg\fR
+svc:> \fBselect hal\fR
+svc:/system/hal> \fBlistprop hal/*\fR
+hal/verbose boolean false
+hal/use_syslog boolean false
+svc:/system/hal> \fBsetprop hal/verbose=true\fR
+svc:/system/hal> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/hal\fR\fR
+.ad
+.RS 16n
+.rt
+HAL-related files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/hal/fdi\fR\fR
+.ad
+.RS 16n
+.rt
+Device information files
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvccfg\fR(1M), \fBattributes\fR(5), \fBhal\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/halt.1m b/usr/src/man/man1m/halt.1m
new file mode 100644
index 0000000000..2bb9702695
--- /dev/null
+++ b/usr/src/man/man1m/halt.1m
@@ -0,0 +1,117 @@
+'\" te
+.\" Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH halt 1M "2 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+halt, poweroff \- stop the processor
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/halt\fR [\fB-dlnqy\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/poweroff\fR [\fB-dlnqy\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBhalt\fR and \fBpoweroff\fR utilities write any pending information to
+the disks and then stop the processor. The \fBpoweroff\fR utility has the
+machine remove power, if possible.
+.sp
+.LP
+The \fBhalt\fR and \fBpoweroff\fR utilities normally log the system shutdown to
+the system log daemon, \fBsyslogd\fR(1M), and place a shutdown record in the
+login accounting file \fB/var/adm/wtmpx\fR. These actions are inhibited if the
+\fB-n\fR or \fB-q\fR options are present.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Force a system crash dump before rebooting. See \fBdumpadm\fR(1M) for
+information on configuring system crash dumps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+Suppress sending a message to the system log daemon, \fBsyslogd\fR(1M), about
+who executed \fBhalt\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Prevent the \fBsync\fR(1M) before stopping.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 6n
+.rt
+Quick halt. No graceful shutdown is attempted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.RS 6n
+.rt
+Halt the system, even from a dialup terminal.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.RS 18n
+.rt
+History of user access and administration information.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdumpadm\fR(1M), \fBinit\fR(1M), \fBreboot\fR(1M), \fBshutdown\fR(1M),
+\fBsync\fR(1M), \fBsyslogd\fR(1M), \fBinittab\fR(4), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBhalt\fR and \fBpoweroff\fR utilities do not cleanly shutdown
+\fBsmf\fR(5) services. Execute the scripts in \fB/etc/rcnum.d\fR or execute
+shutdown actions in \fBinittab\fR(4). To ensure a complete shutdown of system
+services, use \fBshutdown\fR(1M) or \fBinit\fR(1M) to reboot a Solaris system.
diff --git a/usr/src/man/man1m/hextoalabel.1m b/usr/src/man/man1m/hextoalabel.1m
new file mode 100644
index 0000000000..4dddb2f9e0
--- /dev/null
+++ b/usr/src/man/man1m/hextoalabel.1m
@@ -0,0 +1,124 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH hextoalabel 1M "20 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+hextoalabel \- convert an internal text label to its human readable equivalent
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/hextoalabel\fR [\fIinternal-text-sensitivity-label\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/hextoalabel\fR \fB-c\fR [\fIinternal-text-clearance\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBhextoalabel\fR converts an internal text label into its human readable
+equivalent and writes the result to the standard output file. This internal
+form is often hexadecimal. If no option is supplied, the label is assumed to be
+a sensitivity label.
+.sp
+.LP
+If no internal text label is specified, the label is read from the standard
+input file. The expected use of this command is emergency repair of labels that
+are stored in internal databases.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Identifies the internal text label as a clearance.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+On success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+On failure, and writes diagnostics to the standard error file.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command output is Committed for systems with the same \fBlabel_encodings\fR
+file. The command invocation is Committed for systems that implement the DIA
+MAC policy.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/label_encodings\fR\fR
+.ad
+.sp .6
+.RS 4n
+The label encodings file contains the classification names, words, constraints,
+and values for the defined labels of this system.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBatohexlabel\fR(1M), \fBlabel_to_str\fR(3TSOL), \fBstr_to_label\fR(3TSOL),
+\fBlabel_encodings\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fIHow to Get a Readable Label From Its Hexadecimal Form\fR in \fISolaris
+Trusted Extensions Administrator\&'s Procedures\fR
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
+.sp
+.LP
+This file is part of the Defense Intelligence Agency (DIA) Mandatory Access
+Control (MAC) policy. This file might not be applicable to other MAC policies
+that might be developed for future releases of Solaris Trusted Extensions
+software.
diff --git a/usr/src/man/man1m/hostconfig.1m b/usr/src/man/man1m/hostconfig.1m
new file mode 100644
index 0000000000..37a6bdf3d2
--- /dev/null
+++ b/usr/src/man/man1m/hostconfig.1m
@@ -0,0 +1,163 @@
+'\" te
+.\" Copyright (c) 1999, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH hostconfig 1M "6 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+hostconfig \- configure a system's host parameters
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/hostconfig\fR \fB-p\fR \fIprotocol\fR [\fB-d\fR] [ \fB-h\fR] [\fB-n\fR] [\fB-v\fR]
+ [\fB-i\fR \fIinterface\fR] [\fB-f\fR \fIhostname\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBhostconfig\fR program uses a network protocol to acquire a machine's
+\fBhost parameters\fR and set these parameters on the system.
+.sp
+.LP
+The program selects which protocol to use based on the argument to the required
+\fB-p\fR flag. Different protocols may set different host parameters.
+Currently, only one protocol (\fBbootparams\fR) is defined.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 16n
+.rt
+Enable \fBdebug\fR output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fI hostname\fR\fR
+.ad
+.RS 16n
+.rt
+Run the protocol as if this machine were named \fBhostname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 16n
+.rt
+Echo the received \fBhostname\fR to \fBstdout\fR, rather than setting
+\fBhostname\fR using the system name directly.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI interface\fR\fR
+.ad
+.RS 16n
+.rt
+Use only the named network interface to run the protocol.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 16n
+.rt
+Run the network protocol, but do not set the acquired parameters into the
+system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprotocol\fR\fR
+.ad
+.RS 16n
+.rt
+Run \fBhostconfig\fR using \fIprotocol\fR. Currently, only one protocol
+(\fBbootparams\fR) is available. This option is required.
+.sp
+Specifying the \fB-p\fR \fBbootparams\fR option uses the \fBwhoami\fR call of
+the RPC \fBbootparams\fR protocol. This sets the system's \fBhostname\fR,
+\fBdomainname\fR, and default IP router parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 16n
+.rt
+Enable verbose output.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConfiguring Host Parameters with Verbose Output
+.sp
+.LP
+The following command configures a machine's host parameters using the
+\fBwhoami\fR call of the RPC \fBbootparams\fR protocol with a verbose output.
+
+.sp
+.in +2
+.nf
+example# hostconfig \fB-p\fR bootparams \fB-v\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying Host Parameters
+.sp
+.LP
+The following command displays the parameters that would be set using the
+\fBwhoami\fR call of the RPC \fBbootparams\fR protocol.
+
+.sp
+.in +2
+.nf
+example# hostconfig \fB-p\fR bootparams \fB-n\fR \fB-v\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRConfiguring Host Parameters Less the System Name
+.sp
+.LP
+The following command configures a machine's host parameters, less the system
+name, using the \fBwhoami\fR call of the RPC \fBbootparams\fR protocol.
+
+.sp
+.in +2
+.nf
+example# hostconfig='hostconfig \fB-p\fR bootparams \fB-h\fR'
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhostname\fR(1), \fBdomainname\fR(1M), \fBroute\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/htable.1m b/usr/src/man/man1m/htable.1m
new file mode 100644
index 0000000000..7cdea85035
--- /dev/null
+++ b/usr/src/man/man1m/htable.1m
@@ -0,0 +1,81 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH htable 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+htable \- convert DoD Internet format host table
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/htable\fR \fIfilename\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBhtable\fR converts a host table in the format specified by \fBRFC\fR 952 to
+the format used by the network library routines. Three files are created as a
+result of running \fBhtable\fR: \fBhosts\fR, \fBnetworks\fR, and
+\fBgateways\fR. The \fBhosts\fR file is used by the \fBgethostbyname\fR(3NSL)
+routines in mapping host names to addresses. The \fBnetworks\fR file is used
+by the \fBgetnetbyname\fR(3SOCKET) routines in mapping network names to
+numbers. The \fBgateways\fR file is used by the routing daemon to identify
+"passive" Internet gateways.
+.sp
+.LP
+If any of the files \fBlocalhosts\fR, \fBlocalnetworks\fR, or
+\fBlocalgateways\fR are present in the current directory, the file's contents
+is prepended to the output file without interpretation. This allows sites to
+maintain local aliases and entries which are not normally present in the master
+database.
+.sp
+.LP
+\fBhtable\fR is best used in conjunction with the \fBgettable\fR(1M) program
+which retrieves the DoD Internet host table from a host.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlocalhosts\fR\fR
+.ad
+.RS 17n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlocalnetworks\fR\fR
+.ad
+.RS 17n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlocalgateways\fR\fR
+.ad
+.RS 17n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBgettable\fR(1M), \fBgethostbyname\fR(3NSL), \fBgetnetbyname\fR(3SOCKET),
+\fBattributes\fR(5) Harrenstien, Ken, Mary Stahl, and Elizabeth Feinler, \fIDoD
+Internet Host Table Specification\fR, \fBRFC\fR 952, Network Information
+Center, \fBSRI\fR International, Menlo Park, California, October 1985.
+.SH NOTES
+.sp
+.LP
+\fBhtable\fR does not properly calculate the \fBgateways\fR file.
diff --git a/usr/src/man/man1m/ickey.1m b/usr/src/man/man1m/ickey.1m
new file mode 100644
index 0000000000..c6fd308ada
--- /dev/null
+++ b/usr/src/man/man1m/ickey.1m
@@ -0,0 +1,99 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ickey 1M "7 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ickey \- install a client key for WAN boot
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/ickey\fR [\fB-d\fR] [\fB-o\fR type=3des]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/ickey\fR [\fB-d\fR] [\fB-o\fR type=aes]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/ickey\fR [\fB-d\fR] [\fB-o\fR type=sha1]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBickey\fR command is used to install WAN boot keys on a running UNIX
+system so that they can be used the next time the system is installed. You can
+store three different types of keys: 3DES and AES for encryption and an HMAC
+SHA-1 key for hashed verification.
+.sp
+.LP
+\fBickey\fR reads the key from standard input using \fBgetpassphrase\fR(3C) so
+that it does not appear on the command line. When installing keys on a remote
+system, you must take proper precautions to ensure that any keying materials
+are kept confidential. At a minimum, use \fBssh\fR(1) to prevent interception
+of data in transit.
+.sp
+.LP
+Keys are expected to be presented as strings of hexadecimal digits; they can
+(but need not) be preceeded by a \fB0x\fR or \fB0X\fR.
+.sp
+.LP
+The \fBickey\fR command has a single option, described below. An argument of
+the type \fB-o\fR\ \fBtype=\fR\fIkeytype\fR is required.
+.SH OPTIONS
+.sp
+.LP
+The \fBickey\fR command the following option.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Delete the key specified by the \fIkeytype\fR argument.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+On success, \fBickey\fR exits with status 0; if a problem occurs, a diagnostic
+message is printed and \fBickey\fR exits with non-zero status.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/openprom\fR\fR
+.ad
+.RS 17n
+.rt
+WAN boot key storage driver
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBssh\fR(1), \fBopenprom\fR(7D), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/id.1m b/usr/src/man/man1m/id.1m
new file mode 100644
index 0000000000..3f8b9aa42e
--- /dev/null
+++ b/usr/src/man/man1m/id.1m
@@ -0,0 +1,402 @@
+'\" te
+.\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved Portions Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at
+.\" http://www.opengroup.org/bookstore/.
+.\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
+.\" This notice shall appear on any product containing this material.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH id 1M "28 Nov 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+id \- return user identity
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/id\fR [\fB-p\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/bin/id\fR \fB-a\fR [\fB-p\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/bin/id\fR \fB-G\fR [\fB-n\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/bin/id\fR \fB-g\fR [\fB-nr\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/bin/id\fR \fB-u\fR [\fB-nr\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/id\fR [\fB-p\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/id\fR \fB-a\fR [\fB-p\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/id\fR \fB-G\fR [\fB-n\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/id\fR \fB-g\fR [\fB-nr\fR] [\fIuser\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/id\fR \fB-u\fR [\fB-nr\fR] [\fIuser\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+If no \fIuser\fR operand is provided, the \fBid\fR utility writes the user and
+group \fBID\fRs and the corresponding user and group names of the invoking
+process to standard output. If the effective and real \fBID\fRs do not match,
+both are written. If multiple groups are supported by the underlying system,
+\fB/usr/xpg4/bin/id\fR also writes the supplementary group affiliations of the
+invoking process.
+.sp
+.LP
+If a \fIuser\fR operand is provided and the process has the appropriate
+privileges, the user and group \fBID\fRs of the selected user are written. In
+this case, effective \fBID\fRs are assumed to be identical to real \fBID\fRs.
+If the selected user has more than one allowable group membership listed in the
+group database, \fB/usr/xpg4/bin/id\fR writes them in the same manner as the
+supplementary groups described in the preceding paragraph.
+.SS "Formats"
+.sp
+.LP
+The following formats are used when the \fBLC_MESSAGES\fR locale category
+specifies the "C" locale. In other locales, the strings \fBuid\fR, \fBgid\fR,
+\fBeuid\fR, \fBegid\fR, and \fBgroups\fR may be replaced with more appropriate
+strings corresponding to the locale.
+.sp
+.in +2
+.nf
+"uid=%u(%s) gid=%u(%s)\en" <\fIreal user ID\fR>, <\fIuser-name\fR>,
+ <\fIreal group ID\fR>, <\fIgroup-name\fR>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the effective and real user \fBID\fRs do not match, the following are
+inserted immediately before the \fB\en\fR character in the previous format:
+.sp
+.in +2
+.nf
+" euid=%u(%s)"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+with the following arguments added at the end of the argument list:
+.sp
+.in +2
+.nf
+<\fIeffective user ID\fR>, <\fIeffective user-name\fR>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the effective and real group \fBID\fRs do not match, the following is
+inserted directly before the \fB\en\fR character in the format string (and
+after any addition resulting from the effective and real user \fBID\fRs not
+matching):
+.sp
+.in +2
+.nf
+" egid=%u(%s)"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+with the following arguments added at the end of the argument list:
+.sp
+.in +2
+.nf
+<\fIeffectivegroup-ID\fR>, <\fIeffectivegroupname\fR>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the process has supplementary group affiliations or the selected user is
+allowed to belong to multiple groups, the first is added directly before the
+\fBNEWLINE\fR character in the format string:
+.sp
+.in +2
+.nf
+" groups=%u(%s)"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+with the following arguments added at the end of the argument list:
+.sp
+.in +2
+.nf
+<\fIsupplementary group ID\fR>, <\fIsupplementary group name\fR>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+and the necessary number of the following added after that for any remaining
+supplementary group \fBID\fRs:
+.sp
+.in +2
+.nf
+",%u(%s)"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+and the necessary number of the following arguments added at the end of the
+argument list:
+.sp
+.in +2
+.nf
+<\fIsupplementary group ID\fR>, <\fIsupplementary group name\fR>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If any of the user \fBID\fR, group \fBID\fR, effective user \fBID\fR, effective
+group \fBID\fR or supplementary/multiple group \fBID\fRs cannot be mapped by
+the system into printable user or group names, the corresponding (\fB%s\fR) and
+name argument is omitted from the corresponding format string.
+.sp
+.LP
+When any of the options are specified, the output format is as described under
+OPTIONS.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported by both \fB/usr/bin/id\fR and
+\fB/usr/xpg4/bin/id\fR. The \fB-p\fR and \fB-a\fR options are invalid if
+specified with any of the \fB-G\fR, \fB-g\fR, or \fB-u\fR options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Reports additionally the current project membership of the invoking process.
+The project is reported using the format:
+.sp
+.in +2
+.nf
+"projid=%u(%s)"
+.fi
+.in -2
+.sp
+
+which is inserted prior to the \fB\n\fR character of the default format
+described in the \fBFormats\fR section. The arguments
+.sp
+.in +2
+.nf
+<\fIproject ID\fR>,<\fIproject name\fR>
+.fi
+.in -2
+.sp
+
+are appended to the end of the argument list. If the project \fBID\fR cannot
+be mapped by the system into a printable project name, the corresponding
+\fB(%s)\fR and name argument is omitted from the corresponding format string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Reports user name, user \fBID\fR and all the groups to which the user belongs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR\fR
+.ad
+.RS 6n
+.rt
+Outputs all different group \fBID\fRs (effective, real and supplementary) only,
+using the format \fB"%u\en"\fR. If there is more than one distinct group
+affiliation, output each such affiliation, using the format \fB" %u"\fR, before
+the \fBNEWLINE\fR character is output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 6n
+.rt
+Outputs only the effective group \fBID\fR, using the format \fB"%u\en"\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Outputs the name in the format \fB"%s"\fR instead of the numeric \fBID\fR using
+the format \fB"%u"\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Outputs the real \fBID\fR instead of the effective \fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 6n
+.rt
+Outputs only the effective user \fBID\fR, using the format \fB"%u\en"\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIuser\fR\fR
+.ad
+.RS 8n
+.rt
+The user (login) name for which information is to be written.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBid\fR: \fBLANG\fR, \fBLC_ALL\fR,
+\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.SS "/usr/bin/id"
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SS "/usr/xpg4/bin/id"
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStandard
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfold\fR(1), \fBlogname\fR(1), \fBwho\fR(1), \fBgetgid\fR(2),
+\fBgetgroups\fR(2), \fBgetprojid\fR(2), \fBgetuid\fR(2), \fBattributes\fR(5),
+\fBenviron\fR(5), \fBstandards\fR(5)
+.SH NOTES
+.sp
+.LP
+Output produced by the \fB-G\fR option and by the default case could
+potentially produce very long lines on systems that support large numbers of
+supplementary groups.
diff --git a/usr/src/man/man1m/idmap.1m b/usr/src/man/man1m/idmap.1m
new file mode 100644
index 0000000000..c6c6f5b8ad
--- /dev/null
+++ b/usr/src/man/man1m/idmap.1m
@@ -0,0 +1,1387 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH idmap 1M "3 Aug 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+idmap \- configure and manage the Native Identity Mapping service
+.SH SYNOPSIS
+.LP
+.nf
+\fBidmap\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR \fB-f\fR \fIcommand-file\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR add [\fB-d\fR] \fIname1\fR \fIname2\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR dump [\fB-n\fR] [\fB-v\fR]
+.fi
+
+.LP
+.nf
+\fBidmap\fR export [\fB-f\fR \fIfile\fR] \fIformat\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR get-namemap \fIname\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR help
+.fi
+
+.LP
+.nf
+\fBidmap\fR import [\fB-F\fR] [\fB-f\fR \fIfile\fR] \fIformat\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR list
+.fi
+
+.LP
+.nf
+\fBidmap\fR remove [\fB-t\fR|\fB-f\fR] \fIname\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR remove \fB-a\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR remove [\fB-d\fR] \fIname1\fR \fIname2\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR set-namemap [\fB-a\fR \fIauthenticationMethod\fR] [\fB-D\fR \fIbindDN\fR]
+ [\fB-j\fR \fIpasswdfile\fR] \fIname1\fR \fIname2\fR
+.fi
+
+.LP
+.nf
+\fBidmap\fR show [\fB-c\fR] [\fB-v\fR] \fIidentity\fR [\fItarget-type\fR]
+.fi
+
+.LP
+.nf
+\fBidmap\fR unset-namemap [\fB-a\fR \fIauthenticationMethod\fR] [\fB-D\fR \fIbindDN\fR]
+ [\fB-j\fR \fIpasswdfile\fR] \fIname\fR [\fItarget-type\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBidmap\fR utility is used to configure and manage the Native Identity
+Mapping service.
+.sp
+.LP
+The Native Identity Mapping service supports the following types of mappings
+between Windows security identities (SIDs) and POSIX user IDs and group IDs
+(UIDs and GIDs):
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBName-based mapping.\fR An administrator maps Windows and UNIX users and
+groups by name.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBEphemeral ID mapping.\fR A UID or GID is dynamically allocated for every SID
+that is not already mapped by name.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBLocal-SID mapping.\fR A non-ephemeral UID or GID is mapped to an
+algorithmically generated local SID.
+.RE
+.sp
+.LP
+The \fBidmap\fR utility can be used to create and manage the name-based
+mappings and to monitor the mappings in effect.
+.sp
+.LP
+If the \fBidmap\fR utility is invoked without a subcommand or option, it reads
+the subcommands from standard input. When standard input is a TTY, the
+\fBidmap\fR command prints the usage message and exits.
+.SS "Mapping Mechanisms"
+.sp
+.LP
+The \fBidmapd\fR(1M) daemon maps Windows user and group SIDs to UNIX UIDs and
+GIDs as follows:
+.RS +4
+.TP
+1.
+SIDs are mapped by name.
+.sp
+This mapping uses the name-based mappings that are manually set up by the
+system administrator.
+.RE
+.RS +4
+.TP
+2.
+If no name-based mapping is found, the SID is mapped to a dynamically
+allocated ephemeral ID.
+.sp
+This allocation uses the next available UID or GID from 2^31 to 2^32 - 2.
+.RE
+.sp
+.LP
+Local SID mappings are used to map from UNIX to Windows.
+.sp
+.LP
+To prevent aliasing problems, all file systems, archive and backup formats, and
+protocols must store SIDs or map all UIDs and GIDs in the 2^31 to 2^32 - 2
+range to the \fBnobody\fR user and group.
+.sp
+.LP
+It is possible to create also diagonal mappings. They are the mappings between
+Windows groups and Solaris users and between Solaris groups and Windows users.
+They are needed when Windows uses a group identity as a file owner or vice
+versa.
+.SS "Name-based Mappings"
+.sp
+.LP
+Name-based mappings establish name equivalence between Windows users and groups
+and their counterparts in the UNIX name service. These mappings persist across
+reboots. For example, the following command maps Windows users to UNIX users
+with the same name:
+.sp
+.in +2
+.nf
+# \fBidmap add "winuser:*@mywindomain.com" "unixuser:*"\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If configured to use a directory service, \fBidmapd\fR(1M) will first try to
+use the mapping information that is stored in user or group objects in the
+Active Directory (AD) and/or the native LDAP directory service. For example, an
+AD object for a given Windows user or group can be augmented to include the
+corresponding Solaris user or group name or numeric id. Similarly, the native
+LDAP object for a given Solaris user or group can be augmented to include the
+corresponding Windows user or group name.
+.sp
+.LP
+\fBidmapd\fR(1M) can be configured to use AD and/or native LDAP directory-based
+name mappings by setting the appropriate service management facility (SMF)
+properties of the \fBidmap\fR service. See "Service Properties," below, for
+more details.
+.sp
+.LP
+If directory-based name mapping is not configured or if configured but not
+found, then \fBidmapd\fR(1M) will process locally stored name-based mapping
+rules.
+.sp
+.LP
+\fBidmap\fR supports the mapping of Windows well-known names. A few of these
+are listed below:
+.sp
+.in +2
+.nf
+Administrator
+Guest
+KRBTGT
+Domain Admins
+Domain Users
+Domain Guest
+Domain Computers
+Domain Controllers
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When \fBidmap\fR rules are added, these well-known names will be expanded to
+canonical form. That is, either the default domain name will be added (for
+names that are not well-known) or an appropriate built-in domain name will be
+added. Depending on the particular well-known name, this domain name might be
+null, \fBBUILTIN\fR, or the local host name.
+.sp
+.LP
+The following sequence of \fBidmap\fR commands illustrate the treatment of the
+non-well-known name \fBfred\fR and the well-known names \fBadministrator\fR and
+\fBguest\fR.
+.sp
+.in +2
+.nf
+# \fBidmap add winname:fred unixuser:fredf\fR
+add winname:fred unixuser:fredf
+
+# \fBidmap add winname:administrator unixuser:root\fR
+add winname:administrator unixuser:root
+
+# \fBidmap add winname:guest unixuser:nobody\fR
+add winname:guest unixuser:nobody
+
+# \fBidmap add wingroup:administrators sysadmin\fR
+add wingroup:administrators unixgroup:sysadmin
+
+# \fBidmap list\fR
+add winname:Administrator@examplehost unixuser:root
+add winname:Guest@examplehost unixuser:nobody
+add wingroup:Administrators@BUILTIN unixgroup:sysadmin
+add winname:fred@example.com unixuser:fredf
+.fi
+.in -2
+.sp
+
+.SS "Ephemeral Mappings"
+.sp
+.LP
+The \fBidmapd\fR daemon attempts to preserve ephemeral ID mappings across
+daemon restarts. However, when IDs cannot be preserved, the daemon maps each
+previously mapped SID to a new ephemeral UID or GID value. The daemon will
+never re-use ephemeral UIDs or GIDs. If the \fBidmapd\fR daemon runs out of
+ephemeral UIDs and GIDs, it returns an error as well as a default UID or GID
+for SIDs that cannot be mapped by name.
+.sp
+.LP
+The dynamic ID mappings are not retained across reboots. So, any SIDs that are
+dynamically mapped to UNIX UIDs or GIDs are most likely mapped to different IDs
+after rebooting the system.
+.SS "Local SID Mappings"
+.sp
+.LP
+If no name-based mapping is found, a non-ephemeral UID or GID is mapped to an
+algorithmically generated local SID. The mapping is generated as follows:
+.sp
+.in +2
+.nf
+local SID for UID = \fI<machine SID>\fR - \fI<1000 + UID>\fR
+local SID for GID = \fI<machine SID>\fR - \fI<2^31 + GID>\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fI<machine SID>\fR is a unique SID generated by the \fBidmap\fR service for
+the host on which it runs.
+.SS "Rule Lookup Order"
+.sp
+.LP
+When mapping a Windows name to a UNIX name, lookup for name-based mapping rules
+is performed in the following order:
+.RS +4
+.TP
+1.
+\fIwindows-name\fR\fB@\fR\fIdomain\fR to \fB""\fR
+.RE
+.RS +4
+.TP
+2.
+\fIwindows-name\fR\fB@\fR\fIdomain\fR to \fIunix-name\fR
+.RE
+.RS +4
+.TP
+3.
+\fIwindows-name\fR\fB@*\fR to \fB""\fR
+.RE
+.RS +4
+.TP
+4.
+\fIwindows-name\fR\fB@*\fR to \fIunix-name\fR
+.RE
+.RS +4
+.TP
+5.
+\fB*@\fR\fIdomain\fR to \fB*\fR
+.RE
+.RS +4
+.TP
+6.
+\fB*@\fR\fIdomain\fR to \fB""\fR
+.RE
+.RS +4
+.TP
+7.
+\fB*@\fR\fIdomain\fR to \fIunix-name\fR
+.RE
+.RS +4
+.TP
+8.
+\fB*@*\fR to \fB*\fR
+.RE
+.RS +4
+.TP
+9.
+\fB*@*\fR to \fB""\fR
+.RE
+.RS +4
+.TP
+10.
+\fB*@*\fR to \fIunix-name\fR
+.RE
+.sp
+.LP
+When mapping a UNIX name to a Windows name, lookup for name-based mapping rules
+is performed in the following order:
+.RS +4
+.TP
+1.
+\fIunix-name\fR to \fB""\fR
+.RE
+.RS +4
+.TP
+2.
+\fIunix-name\fR to \fIwindows-name\fR\fB@\fR\fIdomain\fR
+.RE
+.RS +4
+.TP
+3.
+\fB*\fR to \fB*@\fR\fIdomain\fR
+.RE
+.RS +4
+.TP
+4.
+\fB*\fR to \fB""\fR
+.RE
+.RS +4
+.TP
+5.
+\fB*\fR to \fIwindows-name\fR\fB@\fR\fIdomain\fR
+.RE
+.SS "Service Properties"
+.sp
+.LP
+The service properties determine the behavior of the \fBidmapd\fR(1M) daemon.
+These properties are stored in the SMF repository (see \fBsmf\fR(5)) under
+property group \fBconfig\fR. They can be accessed and modified using
+\fBsvccfg\fR(1M), which requires \fBsolaris.smf.value.idmap\fR authorization.
+The service properties for the \fBidmap\fR service are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/ad_unixuser_attr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of the AD attribute that contains the UNIX user name. There is
+no default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/ad_unixgroup_attr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of the AD attribute that contains the UNIX group name. There
+is no default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/nldap_winname_attr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of the Native LDAP attribute that contains the Windows
+user/group name. There is no default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/directory_based_mapping\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls support for identity mapping using data stored in a directory service.
+.sp
+\fBnone\fR disables directory-based mapping.
+.sp
+\fBname\fR enables name-based mapping using the properties described above.
+.sp
+\fBidmu\fR enables mapping using Microsoft's Identity Management for UNIX
+(IDMU). This Windows component allows the administrator to specify a UNIX user
+ID for each Windows user, mapping the Windows identity to the corresponding
+UNIX identity. Only IDMU data from the domain the Solaris system is a member of
+is used.
+.RE
+
+.sp
+.LP
+Changes to service properties do not affect a running \fBidmap\fR service. The
+service must be refreshed (with \fBsvcadm\fR(1M)) for the changes to take
+effect.
+.SH OPERANDS
+.sp
+.LP
+The \fBidmap\fR command uses the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIformat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the format in which user name mappings are described for the
+\fBexport\fR and \fBimport\fR subcommands. The Netapp \fBusermap.cfg\fR and
+Samba \fBsmbusers\fR external formats are supported. These external formats are
+\fBonly\fR for users, not groups.
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The \fBusermap.cfg\fR rule-mapping format is as follows:
+.sp
+.in +2
+.nf
+\fIwindows-username\fR [\fIdirection\fR] \fIunix-username\fR
+.fi
+.in -2
+.sp
+
+\fIwindows-username\fR is a Windows user name in either the
+\fIdomain\fR\e\fIusername\fR or \fIusername\fR\fB@\fR\fIdomain\fR format.
+.sp
+\fIunix-username\fR is a UNIX user name.
+.sp
+.LP
+\fIdirection\fR is one of the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB==\fR means a bidirectional mapping, which is the default.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB=>\fR or \fB<=\fR means a unidirectional mapping.
+.RE
+The IP qualifier is not supported.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The \fBsmbusers\fR rule-mapping format is as follows:
+.sp
+.in +2
+.nf
+\fIunixname\fR = \fIwinname1\fR \fIwinname2\fR ...
+.fi
+.in -2
+.sp
+
+If \fIwinname\fR includes whitespace, escape the whitespace by enclosing the
+value in double quotes. For example, the following file shows how to specify
+whitespace in a valid format for the \fBidmap\fR command:
+.sp
+.in +2
+.nf
+$ \fBcat myusermap\fR
+terry="Terry Maddox"
+pat="Pat Flynn"
+cal=cbrown
+.fi
+.in -2
+.sp
+
+The mappings are imported as unidirectional mappings from Windows names to UNIX
+names.
+.sp
+The format is based on the "username map" entry of the \fBsmb.conf\fR man page,
+which is available on the \fBsamba.org\fR web site. The use of an asterisk
+(\fB*\fR) for \fIwindows-name\fR is supported. However, the \fB@group\fR
+directive and the chaining of mappings are not supported.
+.sp
+By default, if no mapping entries are in the \fBsmbusers\fR file, Samba maps a
+\fIwindows-name\fR to the equivalent \fIunix-name\fR, if any. If you want to
+set up the same mapping as Samba does, use the following \fBidmap\fR command:
+.sp
+.in +2
+.nf
+idmap add -d "winuser:*@*" "unixuser:*"
+.fi
+.in -2
+.sp
+
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIidentity\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a user name, user ID, group name, or group ID. \fIidentity\fR is
+specified as \fItype\fR\fB:\fR\fIvalue\fR. \fItype\fR is one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusid\fR\fR
+.ad
+.RS 13n
+.rt
+Windows user SID in text format
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgsid\fR\fR
+.ad
+.RS 13n
+.rt
+Windows group SID in text format
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsid\fR\fR
+.ad
+.RS 13n
+.rt
+Windows group SID in text format that can belong either to a user or to a group
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuid\fR\fR
+.ad
+.RS 13n
+.rt
+Numeric POSIX UID
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgid\fR\fR
+.ad
+.RS 13n
+.rt
+Numeric POSIX GID
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunixuser\fR\fR
+.ad
+.RS 13n
+.rt
+UNIX user name
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunixgroup\fR\fR
+.ad
+.RS 13n
+.rt
+UNIX group name
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwinuser\fR\fR
+.ad
+.RS 13n
+.rt
+Windows user name
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwingroup\fR\fR
+.ad
+.RS 13n
+.rt
+Windows group name
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwinname\fR\fR
+.ad
+.RS 13n
+.rt
+Windows user or group name
+.RE
+
+\fIvalue\fR is a number or string that is appropriate to the specified
+\fItype\fR. For instance, \fBunixgroup:staff\fR specifies the UNIX group name,
+\fBstaff\fR. The identity \fBgid:10\fR represents GID 10, which corresponds to
+the UNIX group \fBstaff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a UNIX name (\fBunixuser\fR, \fBunixgroup\fR) or a Windows name
+(\fBwinuser\fR, \fBwingroup\fR) that can be used for name-based mapping rules.
+.sp
+.LP
+A Windows security entity name can be specified in one of these ways:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIdomain\fR\e\fIname\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIname\fR\fB@\fR\fIdomain\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIname\fR, which uses the default mapping domain
+.RE
+If \fIname\fR is the empty string (\fB""\fR), mapping is inhibited. Note that a
+name of \fB""\fR should not be used to preclude logins by unmapped Windows
+users.
+.sp
+If \fIname\fR uses the wildcard (\fB*\fR), it matches all names that are not
+matched by other mappings. Similarly, if \fIname\fR is the wildcard Windows
+name (\fB*@*\fR), it matches all names in all domains that are not matched by
+other mappings.
+.sp
+If \fIname\fR uses the wildcard on both sides of the mapping rule, the name is
+the same for both Windows and Solaris users. For example, if the rule is
+\fB"*@domain" == "*"\fR, the \fBjp@domain\fR Windows user name matches this
+rule and maps to the \fBjp\fR Solaris user name.
+.sp
+Specifying the type of \fIname\fR is optional if the type can be deduced from
+other arguments or types specified on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItarget-type\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fBshow\fR and \fBunset-namemap\fR subcommands. For \fBshow\fR,
+specifies the mapping type that should be shown. For example, if
+\fItarget-type\fR is \fBsid\fR, \fBidmap show\fR returns the SID mapped to the
+identity specified on the command line. For \fBunset-namemap\fR, identifies an
+attribute within the object specified by the \fIname\fR operand.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBidmap\fR command supports one option and a set of subcommands. The
+subcommands also have options.
+.SS "Command-Line Option"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIcommand-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reads and executes \fBidmap\fR subcommands from \fIcommand-file\fR. The
+\fBidmap\fR \fB-f\fR \fB-\fR command reads from standard input. This option is
+not used by any subcommands.
+.RE
+
+.SS "Subcommands"
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR [\fB-d\fR] \fIname1\fR \fIname2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a name-based mapping rule. By default, the name mapping is bidirectional.
+If the \fB-d\fR option is used, a unidirectional mapping is created from
+\fIname1\fR to \fIname2\fR.
+.sp
+Either \fIname1\fR or \fIname2\fR must be a Windows name, and the other must be
+a UNIX name. For the Windows name, the \fBwinname\fR identity type must not be
+used. Instead, specify one of the \fBwinuser\fR or \fBwingroup\fR types. See
+"Operands" for information about the \fIname\fR operand.
+.sp
+Note that two unidirectional mappings between the same two names in two
+opposite directions are equivalent to one bidirectional mapping.
+.sp
+This subcommand requires the \fBsolaris.admin.idmap.rules\fR authorization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdump\fR [\fB-n\fR] [\fB-v\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Dumps all the mappings cached since the last system boot. The \fB-n\fR option
+shows the names, as well. By default, only \fBsid\fRs, \fBuid\fRs, and
+\fBgid\fRs are shown. The \fB-v\fR option shows how the mappings were
+generated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexport\fR [\fB-f\fR \fIfile\fR] \fIformat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Exports name-based mapping rules to standard output in the specified
+\fIformat\fR. The \fB-f\fR \fIfile\fR option writes the rules to the specified
+output file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget-namemap\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get the directory-based name mapping information from the AD or native LDAP
+user or group object represented by the specified name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhelp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBimport\fR [\fB-F\fR] [\fB-f\fR \fIfile\fR] \fIformat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Imports name-based mapping rules from standard input by using the specified
+\fIformat\fR. The \fB-f\fR \fIfile\fR option reads the rules from the specified
+file. The \fB-F\fR option flushes existing name-based mapping rules before
+adding new ones.
+.sp
+Regardless of the external format used, the imported rules are processed by
+using the semantics and order described in the section "Rule Lookup Order,"
+above.
+.sp
+This subcommand requires the \fBsolaris.admin.idmap.rules\fR authorization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists all name-based mapping rules. Each rule appears in its \fBidmap add\fR
+form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove\fR [\fB-t\fR|\fB-f\fR] \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes any name-based mapping rule that involves the specified name.
+\fIname\fR can be either a UNIX or Windows user name or group name.
+.sp
+The \fB-f\fR option removes rules that use \fIname\fR as the source. The
+\fB-t\fR option removes rules that use \fIname\fR as the destination. These
+options are mutually exclusive.
+.sp
+This subcommand requires the \fBsolaris.admin.idmap.rules\fR authorization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove\fR \fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes all name-based mapping rules.
+.sp
+This subcommand requires the \fBsolaris.admin.idmap.rules\fR authorization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove\fR [\fB-d\fR] \fIname1\fR \fIname2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes name-based mapping rules between \fIname1\fR and \fIname2\fR. If the
+\fB-d\fR option is specified, rules from \fIname1\fR to \fIname2\fR are
+removed.
+.sp
+Either \fIname1\fR or \fIname2\fR must be a Windows name, and the other must be
+a UNIX name.
+.sp
+This subcommand requires the \fBsolaris.admin.idmap.rules\fR authorization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset-namemap\fR [\fB-a\fR \fIauthenticationMethod\fR] [\fB-D\fR
+\fIbindDN\fR] [\fB-j\fR \fIpasswdfile\fR] \fIname1\fR \fIname2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets name mapping information in the AD or native LDAP user or group object.
+Either \fIname1\fR or \fIname2\fR must be a Windows name, and the other must be
+a UNIX name.
+.sp
+If \fIname1\fR is a Windows name, then the UNIX name \fIname2\fR is added to
+the AD object represented by \fIname1\fR. Similarly, if \fIname1\fR is a UNIX
+name then the Windows name \fIname2\fR is added to the native LDAP entry
+represented by \fIname1\fR.
+.sp
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIauthenticationMethod\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify authentication method when modifying native LDAP entry. See
+\fBldapaddent\fR(1M) for details. Default value is \fBsasl/GSSAPI\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIbindDN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses the distinguished name \fIbindDN\fR to bind to the directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-j\fR \fIpasswdfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a file containing the password for authentication to the directory.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow\fR [\fB-c\fR] [\fB-v\fR] \fIname\fR [\fItarget-type\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Shows the identity of type, \fItarget-type\fR, that the specified \fIname\fR
+maps to. If the optional \fItarget-type\fR is omitted, the non-diagonal mapping
+is shown.
+.sp
+By default, this subcommand shows only mappings that have been established
+already. The \fB-c\fR option forces the evaluation of name-based mapping
+configurations or the dynamic allocation of IDs.
+.sp
+The \fB-v\fR option shows how the mapping was generated and also whether the
+mapping was just generated or was retrieved from the cache.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunset-namemap\fR [\fB-a\fR \fIauthenticationMethod\fR] [\fB-D\fR
+\fIbindDN\fR] [\fB-j\fR \fIpasswdfile\fR] \fIname\fR [\fItarget-type\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Unsets directory-based name mapping information from the AD or native LDAP user
+or group object represented by the specified name and optional target type.
+.sp
+See the \fBset-namemap\fR subcommand for options.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing a Wildcard on Both Sides of a Name-Based Mapping Rule
+.sp
+.LP
+The following command maps all Windows user names in the \fBxyz.com\fR domain
+to the UNIX users with the same names provided that one exists and is not
+otherwise mapped. If such a rule is matched but the UNIX user name does not
+exist, an ephemeral ID mapping is used.
+
+.sp
+.in +2
+.nf
+# \fBidmap add "winuser:*@xyz.com" "unixuser:*"\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing a Wildcard on One Side of a Name-Based Mapping Rule
+.sp
+.LP
+The following command maps all unmapped Windows users in the \fBxyz.com\fR
+domain to the \fBguest\fR UNIX user. The \fB-d\fR option specifies a
+unidirectional mapping from \fB*@xyz.com\fR users to the \fBguest\fR user.
+
+.sp
+.in +2
+.nf
+# \fBidmap add -d "winuser:*@xyz.com" unixuser:guest\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRAdding a Bidirectional Name-Based Mapping Rule
+.sp
+.LP
+The following command maps Windows user, \fBfoobar@example.com\fR, to UNIX
+user, \fBfoo\fR, and conversely:
+
+.sp
+.in +2
+.nf
+# \fBidmap add winuser:foobar@example.com unixuser:foo\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command shows how to remove the mapping added by the previous command:
+
+.sp
+.in +2
+.nf
+# \fBidmap remove winuser:foobar@example.com unixuser:foo\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRShowing a UID-to-SID Mapping
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The following command shows the SID that the specified UID, \fBuid:50000\fR,
+maps to:
+.sp
+.in +2
+.nf
+# \fBidmap show uid:50000 sid\fR
+uid:50000 -> usid:S-1-5-21-3223191800-2000
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The following command shows the UNIX user name that the specified Windows user
+name, \fBjoe@example.com\fR, maps to:
+.sp
+.in +2
+.nf
+# \fBidmap show joe@example.com unixuser\fR
+winuser:joe@example.com -> unixuser:joes
+.fi
+.in -2
+.sp
+
+.RE
+.LP
+\fBExample 5 \fRListing the Cached SID-to-UID Mappings
+.sp
+.LP
+The following command shows all of the SID-to-UID mappings that are in the
+cache:
+
+.sp
+.in +2
+.nf
+# \fBidmap dump | grep "uid:"\fR
+usid:S-1-5-21-3223191800-2000 == uid:50000
+usid:S-1-5-21-3223191800-2001 == uid:50001
+usid:S-1-5-21-3223191800-2006 == uid:50010
+usid:S-1-5-21-3223191900-3000 == uid:2147491840
+usid:S-1-5-21-3223191700-4000 => uid:60001
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRBatching \fBidmap\fR Requests
+.sp
+.LP
+The following commands show how to batch \fBidmap\fR requests. This particular
+command sequence does the following:
+
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Removes any previous rules for \fBfoobar@example.com\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Maps Windows user \fBfoobar@example.com\fR to UNIX user \fBbar\fR and
+vice-versa.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Maps Windows group \fBmembers\fR to UNIX group \fBstaff\fR and vice-versa.
+.RE
+.sp
+.in +2
+.nf
+# \fBidmap <<EOF\fR
+ \fBremove winuser:foobar@example.com\fR
+ \fBadd winuser:foobar@example.com unixuser:bar\fR
+ \fBadd wingroup:members unixgroup:staff\fR
+\fBEOF\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRListing Name-Based Mapping Rules
+.sp
+.LP
+The following command shows how to list the name-based mapping rules:
+
+.sp
+.in +2
+.nf
+# \fBidmap list\fR
+add winuser:foobar@example.com unixuser:bar
+add wingroup:members unixgroup:staff
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRImporting Name-Based Mapping Rules From the \fBusermap.cfg\fR
+File
+.sp
+.LP
+The \fBusermap.cfg\fR file can be used to configure name-based mapping rules.
+The following \fBusermap.cfg\fR file shows mapping rules that map Windows user
+\fBfoo@example.com\fR to UNIX user \fBfoo\fR, and that map
+\fBfoobar@example.com\fR to the UNIX user \fBfoo\fR.
+
+.sp
+.in +2
+.nf
+# \fBcat usermap.cfg\fR
+foo@example.com == foo
+foobar@example.com => foo
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following \fBidmap\fR command imports \fBusermap.cfg\fR information to the
+\fBidmapd\fR database:
+
+.sp
+.in +2
+.nf
+# \fBcat usermap.cfg | idmap import usermap.cfg\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command does the same as the previous command:
+
+.sp
+.in +2
+.nf
+# \fBidmap import -f usermap.cfg usermap.cfg\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following commands are equivalent to the previous \fBidmap import\fR
+commands:
+
+.sp
+.in +2
+.nf
+# \fBidmap <<EOF\fR
+ \fBadd winuser:foo@example.com unixuser:foo\fR
+ \fBadd -d winuser:foobar@example.com unixuser:foo\fR
+\fBEOF\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRUsing Name-Based and Ephemeral ID Mapping With Identity
+Function Mapping and Exceptions
+.sp
+.LP
+The following commands map all users in the \fBexample.com\fR Windows domain to
+UNIX user accounts of the same name. The command also specifies mappings for
+the following Windows users: \fBjoe@example.com\fR, \fBjane.doe@example.com\fR,
+\fBadministrator@example.com\fR. The \fBadministrator\fR from all domains is
+mapped to \fBnobody\fR. Any Windows users without corresponding UNIX accounts
+are mapped dynamically to available ephemeral UIDs.
+
+.sp
+.in +2
+.nf
+# \fBidmap import usermap.cfg <<EOF\fR
+ \fBjoe@example.com == joes\fR
+ \fBjane.doe@example.com == janed\fR
+ \fBadministrator@* => nobody\fR
+ \fB*@example.com == *\fR
+ \fB*@example.com => nobody\fR
+\fBEOF\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRAdding Directory-based Name Mapping to AD User Object
+.sp
+.LP
+The following command maps Windows user \fBjoe@example.com\fR to UNIX user
+\fBjoe\fR by adding the UNIX name to AD object for \fBjoe@example.com\fR.
+
+.sp
+.in +2
+.nf
+# \fBidmap set-namemap winuser:joe@example.com joes\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRAdding Directory-based Name Mapping to Native LDAP User Object
+.sp
+.LP
+The following command maps UNIX user \fBfoo\fR to Windows user
+\fBfoobar@example.com\fR by adding the Windows name to native LDAP object for
+\fBfoo\fR.
+
+.sp
+.in +2
+.nf
+# \fBidmap set-namemap unixuser:foo foobar@example.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRRemoving Directory-based Name Mapping from AD User Object
+.sp
+.LP
+The following command removes the UNIX username \fBunixuser\fR from the AD
+object representing \fBjoe@example.com\fR.
+
+.sp
+.in +2
+.nf
+# \fBidmap unset-namemap winuser:joe@example.com unixuser\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred. A diagnostic message is written to standard error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBidmapd\fR(1M), \fBldapaddent\fR(1M), \fBsvcadm\fR(1M),
+\fBsvccfg\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBidmapd\fR service is managed by the service management facility,
+\fBsmf\fR(5). The service identifier for the \fBidmapd\fR service is
+\fBsvc:/system/idmap\fR.
+.sp
+.LP
+Use the \fBsvcadm\fR command to perform administrative actions on this service,
+such as enabling, disabling, or restarting the service. These actions require
+the \fBsolaris.smf.manage.idmap\fR authorization. Use the \fBsvcs\fR command to
+query the service's status.
+.sp
+.LP
+Windows user names are case-insensitive, while UNIX user names are
+case-sensitive. The case of Windows names as they appear in \fBidmap\fR
+name-rules and \fBidmap show\fR command lines is irrelevant.
+.sp
+.LP
+Because common practice in UNIX environments is to use all-lowercase user
+names, wildcard name-rules map Windows names to UNIX user/group names as
+follows: first, the canonical Windows name (that is, in the case as it appears
+in the directory) is used as a UNIX user or group name. If there is no such
+UNIX entity, then the Windows name's case is folded to lowercase and the result
+is used as the UNIX user or group name.
+.sp
+.LP
+As a result of this differing treatment of case, user names that appear to be
+alike might not be recognized as matches. You must create rules to handle such
+pairings of strings that differ only in case. For example, to map the Windows
+user \fBsam@example\fR to the Solaris user \fBSam\fR, you must create the
+following rules:
+.sp
+.in +2
+.nf
+# \fBidmap add "winuser:*@example" "unixuser:*"\fR
+# \fBidmap add winuser:sam@example unixuser:Sam\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For guidance on modifying an Active Directory schema, consult the Microsoft
+document, \fIStep-by-Step Guide to Using Active Directory Schema and Display
+Specifiers\fR, which you can find at their \fBtechnet\fR web site,
+http://technet.microsoft.com/\&.
diff --git a/usr/src/man/man1m/idmapd.1m b/usr/src/man/man1m/idmapd.1m
new file mode 100644
index 0000000000..4827df8205
--- /dev/null
+++ b/usr/src/man/man1m/idmapd.1m
@@ -0,0 +1,122 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH idmapd 1M "5 June 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+idmapd \- Native Identity Mapping service daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/idmapd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBidmapd\fR daemon maps Windows Security Identifiers (SIDs) to POSIX
+Identifiers (UIDs/GIDs) and conversely.
+.sp
+.LP
+The \fBidmap\fR(1M) utility provides a front end to the \fBidmapd\fR daemon.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/idmap/idmap.db\fR\fR
+.ad
+.sp .6
+.RS 4n
+Database in which to store local name-based ID mapping rules. The contents of
+the database are private. The database should not be accessed or modified
+directly.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/idmap/idmap.db\fR\fR
+.ad
+.sp .6
+.RS 4n
+Database in which to cache ID mappings that are generated by ephemeral ID
+mapping and by name-based mapping. The contents of the database are private.
+The database should not be accessed or modified directly.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+Interface stability for these components is as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsvc:/system/idmap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Committed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/idmap/idmap.db\fR\fR
+.ad
+.sp .6
+.RS 4n
+Project Private
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/idmap/idmap.db\fR\fR
+.ad
+.sp .6
+.RS 4n
+Project Private
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBidmap\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBdefaultdomain\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBidmapd\fR service is managed by the service management facility (SMF).
+The service identifier for the \fBidmapd\fR service is \fBsvc:/system/idmap\fR.
+.sp
+.LP
+Use the \fBsvcadm\fR command to perform administrative actions on this service,
+such as enabling, disabling, or restarting the service. These actions require
+the \fBsolaris.smf.manage.idmap\fR authorization. Use the \fBsvcs\fR command to
+query the service's status.
+.sp
+.LP
+The functionality of this daemon might change in a future release of the
+Solaris operating system.
diff --git a/usr/src/man/man1m/idsconfig.1m b/usr/src/man/man1m/idsconfig.1m
new file mode 100644
index 0000000000..2dcc19e6bd
--- /dev/null
+++ b/usr/src/man/man1m/idsconfig.1m
@@ -0,0 +1,201 @@
+'\" te
+.\" Copyright (C) 2001, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH idsconfig 1M "18 Oct 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+idsconfig \- prepare an iPlanet Directory Server (iDS) to be populated with
+data and serve LDAP clients
+.SH SYNOPSIS
+.LP
+.nf
+\fB /usr/lib/ldap/idsconfig\fR [\fB-v\fR] [\fB-i\fR \fIinput_configfile\fR]
+ [\fB-o\fR \fIoutput_configfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Use the \fBidsconfig\fR tool to set up an iPlanet Directory Server (iDS). You
+can specify the input configuration file with the \fB-i\fR option on the
+command line. Alternatively, the tool will prompt the user for configuration
+information. The input configuration file is created by \fBidsconfig\fR with
+the \fB-o\fR option on a previous run.
+.sp
+.LP
+The first time a server is set up, the user is prompted for all the required
+information. Future installations on that machine can use the configuration
+file previously generated by \fBidsconfig\fR using the \fB-o\fR option.
+.sp
+.LP
+The output configuration file contains the directory administrator's password
+in clear text. Thus, if you are creating an output configuration file, take
+appropriate security precautions.
+.sp
+.LP
+You should back up the directory server's configuration and data prior to
+running this command.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinput_configfile\fR\fR
+.ad
+.RS 24n
+.rt
+Specify the file name for \fBidsconfig\fR to use as a configuration file. This
+file will be read by \fBidsconfig\fR, and the values in the file will be used
+to configure the server. Do not manually edit \fIinput_configfile\fR. The
+\fIinput_configfile\fR is only partially validated, as \fBidsconfig\fR assumes
+that the file was created by a previous invocation of the command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoutput_configfile\fR\fR
+.ad
+.RS 24n
+.rt
+Create a configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 24n
+.rt
+Verbose output.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinput_configfile\fR\fR
+.ad
+.RS 21n
+.rt
+Name of configuration file for \fBidsconfig\fR to use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIoutput_configfile\fR\fR
+.ad
+.RS 21n
+.rt
+Configuration file created by \fBidsconfig\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRPrompting the User for Input
+.sp
+.LP
+In the following example, the user is prompted for information to set up iDS.
+
+.sp
+.in +2
+.nf
+example# \fBidsconfig\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating an Output Configuration File
+.sp
+.LP
+In the following example, the user is prompted for information to set up iDS,
+and an output configuration file, \fBconfig.1\fR, is created when completed.
+
+.sp
+.in +2
+.nf
+example# \fBidsconfig -o config.1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSetting up iDS Using the Specified Configuration File
+.sp
+.LP
+In the following example, iDS is set up by using the values specified in the
+configuration file, \fBconfig.1\fR. The verbose mode is specified, so detailed
+information will print to the screen.
+
+.sp
+.in +2
+.nf
+example# \fBidsconfig -v -i config.1\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBldap\fR(1), \fBldapadd\fR(1), \fBldapdelete\fR(1), \fBldaplist\fR(1),
+\fBldapmodify\fR(1), \fBldapmodrdn\fR(1), \fBldapsearch\fR(1),
+\fBldap_cachemgr\fR(1M), \fBldapaddent\fR(1M), \fBldapclient\fR(1M),
+\fBsuninstall\fR(1M), \fBresolv.conf\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/if_mpadm.1m b/usr/src/man/man1m/if_mpadm.1m
new file mode 100644
index 0000000000..bd26d19c0c
--- /dev/null
+++ b/usr/src/man/man1m/if_mpadm.1m
@@ -0,0 +1,147 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH if_mpadm 1M "5 Jan 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+if_mpadm \- administer interfaces in an IP multipathing group
+.SH SYNOPSIS
+.LP
+.nf
+\fBif_mpadm\fR \fB-d\fR | \fB-r\fR \fIifname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBif_mpadm\fR utility administers IP interfaces that are part of an IP
+Multipathing (IPMP) group. Currently, administration is limited to offlining IP
+interfaces and undoing previous offline operations.
+.sp
+.LP
+When an IP interface is taken offline, all IP data traffic that was flowing
+over the IP interface is moved to another IP interface in the IPMP group. In
+addition, all \fBUP\fR IP addresses hosted on the IP interface are brought
+down, causing \fBin.mpathd\fR(1M) to stop probe-based failure detection on the
+IP interface. As a result, an offline IP interface will not be used for any
+inbound or outbound IP traffic. Only IP interfaces that are in an IPMP group
+may be brought offline. If the IP interface is the last functioning interface
+in the IPMP group, the offline operation will fail.
+.sp
+.LP
+When an offline operation is undone, any IP addresses hosted on that IP
+interface are brought \fBUP\fR and will be considered by \fBin.mpathd\fR for
+probe-based failure detection. In addition, provided the IP interface is
+otherwise active (see \fBin.mpathd\fR(1M)), it will again be used to send and
+receive IP data traffic for the IPMP group. Note that not all offline
+operations can be undone. For instance, \fBin.mpathd\fR may have offlined an IP
+interface because its hardware address was not unique within its IPMP group.
+The \fBipmpstat\fR utility can be used to determine why an IP interface is
+offline, identify which IP interfaces in a group are being used for inbound and
+outbound IP traffic, and more; see \fBipmpstat\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The \fBif_mpadm\fR utility supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIifname\fR\fR
+.ad
+.RS 13n
+.rt
+Offline the IP interface specified by \fIifname\fR. If \fIifname\fR is not in
+an IPMP group, or the offline would cause the IPMP group to lose network
+connectivity, the operation will fail.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIifname\fR\fR
+.ad
+.RS 13n
+.rt
+Undo a previous offline of the IP interface specified by \fIifname\fR. If
+\fIifname\fR is not offline, the operation will fail.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fROfflining an IP Interface
+.sp
+.LP
+The following command offlines the IP interface \fBunder0\fR, causing any IP
+packets that were being sent and received through it to be handled by another
+IP interface in its group.
+
+.sp
+.in +2
+.nf
+example% \fBif_mpadm -d under0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUndoing a Previous Offline Operation
+.sp
+.LP
+Use the following command to undo the operation in the previous example:
+
+.sp
+.in +2
+.nf
+example% \fBif_mpdadm -r under0\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBifconfig\fR(1M), \fBin.mpathd\fR(1M), \fBipmpstat\fR(1M),
+\fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+cannot offline: no other functioning interfaces are in its IPMP group.
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+This message means that offlining the IP interface would leave the IPMP group
+without network connectivity.
+.RE
+
+.sp
+.LP
+cannot offline: not a physical interface or not in an IPMP group
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+This means that the IP interface is not an underlying interface in an IPMP
+group, and therefore is not eligible to be offlined.
+.RE
+
diff --git a/usr/src/man/man1m/ifconfig.1m b/usr/src/man/man1m/ifconfig.1m
new file mode 100644
index 0000000000..96fc148f62
--- /dev/null
+++ b/usr/src/man/man1m/ifconfig.1m
@@ -0,0 +1,2668 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" Copyright (c) 1983 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution.
+.TH ifconfig 1M "13 Aug 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ifconfig \- configure network interface parameters
+.SH SYNOPSIS
+.LP
+.nf
+\fBifconfig\fR \fIinterface\fR [\fIaddress_family\fR] [\fIaddress\fR [\fI/prefix_length\fR]
+ [\fIdest_address\fR]] [\fBaddif\fR \fIaddress\fR [\fI/prefix_length\fR]]
+ [\fBremoveif\fR \fIaddress\fR [\fI/prefix_length\fR]] [\fBarp\fR | \fB-arp\fR]
+ [\fBauth_algs\fR \fIauthentication algorithm\fR] [\fBencr_algs\fR \fIencryption algorithm\fR]
+ [\fBencr_auth_algs\fR \fIauthentication algorithm\fR] [\fBauto-revarp\fR]
+ [\fBbroadcast\fR \fIaddress\fR] [\fBdeprecated\fR | \fB-deprecated\fR]
+ [\fBpreferred\fR | \fB-preferred\fR] [\fBdestination\fR \fIdest_address\fR]
+ [ether [\fIaddress\fR]] [\fBfailover\fR | \fB-failover\fR] [\fBgroup\fR
+ [\fIname\fR | ""\fB\fR]] [\fBindex\fR \fIif_index\fR] [ipmp] [\fBmetric\fR \fIn\fR] [modlist]
+ [modinsert \fImod_name@pos\fR] [modremove \fImod_name@pos\fR]
+ [\fBmtu\fR \fIn\fR] [\fBnetmask\fR \fImask\fR] [\fBplumb\fR] [\fBunplumb\fR] [\fBprivate\fR
+ | \fB-private\fR] [\fBnud\fR | \fB-nud\fR] [\fBset\fR [\fIaddress\fR] [\fI/netmask\fR]]
+ [\fBstandby\fR | \fB-standby\fR] [\fBsubnet\fR \fIsubnet_address\fR] [\fBtdst\fR
+ \fItunnel_dest_address\fR] [\fBtoken\fR \fIaddress\fR/\fIprefix_length\fR]
+ [\fBtsrc\fR \fItunnel_src_address\fR] [\fBtrailers\fR | \fB-trailers\fR]
+ [\fBup\fR] [\fBdown\fR] [\fBusesrc\fR [\fIname\fR | none]] [\fBxmit\fR | \fB-xmit\fR]
+ [\fBencaplimit\fR \fIn\fR | \fB-encaplimit\fR] [\fBthoplimit\fR \fIn\fR] [\fBrouter\fR
+ | \fB-router\fR] [zone \fIzonename\fR | \fB-zone\fR | \fB-all-zones\fR]
+.fi
+
+.LP
+.nf
+\fBifconfig\fR [\fIaddress_family\fR] \fIinterface\fR {\fBauto-dhcp\fR | \fBdhcp\fR} [\fBprimary\fR]
+ [\fBwait\fR \fIseconds\fR] \fBdrop\fR | \fBextend\fR | \fBinform\fR | \fBping\fR
+ | \fBrelease\fR | \fBstart\fR | \fBstatus\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The command \fBifconfig\fR is used to assign an address to a network interface
+and to configure network interface parameters. The \fBifconfig\fR command must
+be used at boot time to define the network address of each interface present on
+a machine; it may also be used at a later time to redefine an interface's
+address or other operating parameters. If no option is specified,
+\fBifconfig\fR displays the current configuration for a network interface. If
+an address family is specified, \fBifconfig\fR reports only the details
+specific to that address family. Only privileged users may modify the
+configuration of a network interface. Options appearing within braces
+(\fB{\|}\fR) indicate that one of the options must be specified.
+.SS "DHCP Configuration"
+.sp
+.LP
+The forms of \fBifconfig\fR that use the \fBauto-dhcp\fR or \fBdhcp\fR
+arguments are used to control the Dynamic Host Configuration Protocol
+("\fBDHCP\fR") configuration of the interface. In this mode, \fBifconfig\fR is
+used to control operation of \fBdhcpagent\fR(1M), the \fBDHCP\fR client daemon.
+Once an interface is placed under \fBDHCP\fR control by using the \fBstart\fR
+operand, \fBifconfig\fR should not, in normal operation, be used to modify the
+address or characteristics of the interface. If the address of an interface
+under \fBDHCP\fR is changed, \fBdhcpagent\fR will remove the interface from its
+control.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaddif\fR \fIaddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create the next unused logical interface on the specified physical interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall-zones\fR\fR
+.ad
+.sp .6
+.RS 4n
+Make the interface available to every shared-IP zone on the system. The
+appropriate zone to which to deliver data is determined using the
+\fBtnzonecfg\fR database. This option is available only if the system is
+configured with the Solaris Trusted Extensions feature.
+.sp
+The \fBtnzonecfg\fR database is described in the \fBtnzonecfg(4)\fR man page,
+which is part of the \fISolaris Trusted Extensions Reference Manual\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBanycast\fR\fR
+.ad
+.sp .6
+.RS 4n
+Marks the logical interface as an anycast address by setting the \fBANYCAST\fR
+flag. See "INTERFACE FLAGS," below, for more information on anycast.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-anycast\fR\fR
+.ad
+.sp .6
+.RS 4n
+Marks the logical interface as not an anycast address by clearing the
+\fBANYCAST\fR flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBarp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable the use of the Address Resolution Protocol ("\fBARP\fR") in mapping
+between network level addresses and link level addresses (default). This is
+currently implemented for mapping between IPv4 addresses and MAC addresses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-arp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the use of the \fBARP\fR on a physical interface. ARP cannot be
+disabled on an IPMP IP interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauth_algs\fR \fIauthentication algorithm\fR\fR
+.ad
+.sp .6
+.RS 4n
+For a tunnel, enable IPsec \fBAH\fR with the authentication algorithm
+specified. The algorithm can be either a number or an algorithm name, including
+\fIany\fR to express no preference in algorithm. All IPsec tunnel properties
+must be specified on the same command line. To disable tunnel security, specify
+an \fBauth_alg\fR of \fBnone\fR.
+.sp
+It is now preferable to use the \fBipsecconf\fR(1M) command when configuring a
+tunnel's security properties. If \fBipsecconf\fR was used to set a tunnel's
+security properties, this keyword will not affect the tunnel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauto-dhcp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use DHCP to automatically acquire an address for this interface. This option
+has a completely equivalent alias called \fBdhcp\fR.
+.sp
+For IPv6, the interface specified must be the zeroth logical interface (the
+physical interface name), which has the link-local address.
+.sp
+.ne 2
+.mk
+.na
+\fBprimary\fR
+.ad
+.sp .6
+.RS 4n
+Defines the interface as the \fBprimary\fR. The interface is defined as the
+preferred one for the delivery of client-wide configuration data. Only one
+interface can be the primary at any given time. If another interface is
+subsequently selected as the primary, it replaces the previous one. Nominating
+an interface as the primary one will not have much significance once the client
+work station has booted, as many applications will already have started and
+been configured with data read from the previous primary interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwait \fIseconds\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBifconfig\fR command will wait until the operation either completes or
+for the interval specified, whichever is the sooner. If no wait interval is
+given, and the operation is one that cannot complete immediately,
+\fBifconfig\fR will wait 30 seconds for the requested operation to complete.
+The symbolic value \fBforever\fR may be used as well, with obvious meaning.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdrop\fR
+.ad
+.sp .6
+.RS 4n
+Remove the specified interface from \fBDHCP\fR control without notifying the
+DHCP server, and record the current lease for later use. Additionally, for
+IPv4, set the IP address to zero. For IPv6, unplumb all logical interfaces
+plumbed by \fBdhcpagent\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBextend\fR
+.ad
+.sp .6
+.RS 4n
+Attempt to extend the lease on the interface's IP address. This is not
+required, as the agent will automatically extend the lease well before it
+expires.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinform\fR
+.ad
+.sp .6
+.RS 4n
+Obtain network configuration parameters from \fBDHCP\fR without obtaining a
+lease on \fBIP\fR addresses. This is useful in situations where an \fBIP\fR
+address is obtained through mechanisms other than \fBDHCP\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBping\fR
+.ad
+.sp .6
+.RS 4n
+Check whether the interface given is under \fBDHCP\fR control, which means that
+the interface is managed by the \fBDHCP\fR agent and is working properly. An
+exit status of \fB0\fR means success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrelease\fR
+.ad
+.sp .6
+.RS 4n
+Relinquish the IP addresses on the interface by notifying the server and
+discard the current lease. For IPv4, set the IP address to zero. For IPv6, all
+logical interfaces plumbed by \fBdhcpagent\fR are unplumbed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstart\fR
+.ad
+.sp .6
+.RS 4n
+Start \fBDHCP\fR on the interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstatus\fR
+.ad
+.sp .6
+.RS 4n
+Display the \fBDHCP\fR configuration status of the interface.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauto-revarp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use the Reverse Address Resolution Protocol (RARP) to automatically acquire an
+address for this interface. This will fail if the interface does not support
+RARP; for example, IPoIB (IP over InfiniBand), and on IPv6 interfaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbroadcast\fR \fIaddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+For IPv4 only. Specify the address to use to represent broadcasts to the
+network. The default broadcast address is the address with a host part of all
+\fB1\fR's. A "\fB+\fR" (plus sign) given for the broadcast value causes the
+broadcast address to be reset to a default appropriate for the (possibly new)
+address and netmask. The arguments of \fBifconfig\fR are interpreted left to
+right. Therefore
+.sp
+.in +2
+.nf
+example% ifconfig -a netmask + broadcast +
+.fi
+.in -2
+.sp
+
+and
+.sp
+.in +2
+.nf
+example% ifconfig -a broadcast + netmask +
+.fi
+.in -2
+.sp
+
+may result in different values being assigned for the broadcast addresses of
+the interfaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdeprecated\fR\fR
+.ad
+.sp .6
+.RS 4n
+Marks the logical interface as deprecated. An address associated with a
+deprecated interface will not be used as source address for outbound packets
+unless either there are no other addresses available on the interface or the
+application has bound to this address explicitly. The status display shows
+\fBDEPRECATED\fR as part of flags. See for information on the flags supported
+by \fBifconfig\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-deprecated\fR\fR
+.ad
+.sp .6
+.RS 4n
+Marks a logical interface as not deprecated. An address associated with such an
+interface could be used as a source address for outbound packets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpreferred\fR\fR
+.ad
+.sp .6
+.RS 4n
+Marks the logical interface as preferred. This option is only valid for IPv6
+addresses. Addresses assigned to preferred logical interfaces are preferred as
+source addresses over all other addresses configured on the system, unless the
+address is of an inappropriate scope relative to the destination address.
+Preferred addresses are used as source addresses regardless of which physical
+interface they are assigned to. For example, you can configure a preferred
+source address on the loopback interface and advertise reachability of this
+address by using a routing protocol.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-preferred\fR\fR
+.ad
+.sp .6
+.RS 4n
+Marks the logical interface as not preferred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdestination\fR \fIdest_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the destination address for a point-to point interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdhcp\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is an alias for option \fBauto-dhcp\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdown\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mark a logical interface as "down". (That is, turn off the \fBIFF_UP\fR bit.)
+When a logical interface is marked "down," the system does not attempt to use
+the address assigned to that interface as a source address for outbound packets
+and will not recognize inbound packets destined to that address as being
+addressed to this host. Additionally, when all logical interfaces on a given
+physical interface are "down," the physical interface itself is disabled.
+.sp
+When a logical interface is down, all routes that specify that interface as the
+output (using the \fB-ifp\fR option in the \fBroute\fR(1M) command or
+\fBRTA_IFP\fR in a \fBroute\fR(7P) socket) are removed from the forwarding
+table. Routes marked with \fBRTF_STATIC\fR are returned to the table if the
+interface is brought back up, while routes not marked with \fBRTF_STATIC\fR are
+simply deleted.
+.sp
+When all logical interfaces that could possibly be used to reach a particular
+gateway address are brought down (specified without the interface option as in
+the previous paragraph), the affected gateway routes are treated as though they
+had the \fBRTF_BLACKHOLE\fR flag set. All matching packets are discarded
+because the gateway is unreachable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencaplimit\fR \fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the tunnel encapsulation limit for the interface to n. This option applies
+to IPv4-in-IPv6 and IPv6-in-IPv6 tunnels only, and it simply modifies the
+\fBencaplimit\fR link property of the underlying IPv6 tunnel link (see
+\fBdladm\fR(1M)). The tunnel encapsulation limit controls how many more tunnels
+a packet can enter before it leaves any tunnel, that is, the tunnel nesting
+level.
+.sp
+This option is obsolete, superseded by the \fBdladm\fR(1M) \fBencaplimit\fR
+link property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-encaplimit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable generation of the tunnel encapsulation limit. This option applies only
+to IPv4-in-IPv6 and IPv6-in-IPv6 tunnels. This simply sets the \fBencaplimit\fR
+link property of the underlying IPv6 tunnel link to 0 (see \fBdladm\fR(1M)
+\fBencaplimit\fR).
+.sp
+This option is obsolete, superseded by the \fBdladm\fR(1M) \fBencaplimit\fR
+link property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencr_auth_algs\fR \fIauthentication algorithm\fR\fR
+.ad
+.sp .6
+.RS 4n
+For a tunnel, enable IPsec \fBESP\fR with the authentication algorithm
+specified. It can be either a number or an algorithm name, including \fBany\fR
+or \fBnone\fR, to indicate no algorithm preference. If an \fBESP\fR encryption
+algorithm is specified but the authentication algorithm is not, the default
+value for the \fBESP\fR authentication algorithm will be \fBany\fR.
+.sp
+It is now preferable to use the \fBipsecconf\fR(1M) command when configuring a
+tunnel's security properties. If \fBipsecconf\fR was used to set a tunnel's
+security properties, this keyword will not affect the tunnel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencr_algs\fR \fIencryption algorithm\fR\fR
+.ad
+.sp .6
+.RS 4n
+For a tunnel, enable IPsec \fBESP\fR with the encryption algorithm specified.
+It can be either a number or an algorithm name. Note that all IPsec tunnel
+properties must be specified on the same command line. To disable tunnel
+security, specify the value of \fBencr_alg\fR as \fBnone\fR. If an \fBESP\fR
+authentication algorithm is specified, but the encryption algorithm is not, the
+default value for the \fBESP\fR encryption will be \fBnull\fR.
+.sp
+It is now preferable to use the \fBipsecconf\fR(1M) command when configuring a
+tunnel's security properties. If \fBipsecconf\fR was used to set a tunnel's
+security properties, this keyword will not affect the tunnel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBether\fR [ \fIaddress\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+If no address is given and the user is root or has sufficient privileges to
+open the underlying datalink, then display the current Ethernet address
+information.
+.sp
+Otherwise, if the user is root or has sufficient privileges, set the Ethernet
+address of the interfaces to \fIaddress\fR. The address is an Ethernet address
+represented as \fIx:x:x:x:x:x\fR where \fIx\fR is a hexadecimal number between
+0 and FF. Similarly, for the IPoIB (IP over InfiniBand) interfaces, the address
+will be 20 bytes of colon-separated hex numbers between \fB0\fR and \fBFF\fR.
+.sp
+Some, though not all, Ethernet interface cards have their own addresses. To use
+cards that do not have their own addresses, refer to section 3.2.3(4) of the
+IEEE 802.3 specification for a definition of the locally administered address
+space. Note that all IP interfaces in an IPMP group must have unique hardware
+addresses; see \fBin.mpathd\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-failover\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set \fBNOFAILOVER\fR on the logical interface. This makes the associated
+address available for use by \fBin.mpathd\fR to perform probe-based failure
+detection for the associated physical IP interface. As a side effect,
+\fBDEPRECATED\fR will also be set on the logical interface. This operation is
+not permitted on an IPMP IP interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailover\fR\fR
+.ad
+.sp .6
+.RS 4n
+Clear \fBNOFAILOVER\fR on the logical interface. This is the default. These
+logical interfaces are subject to migration when brought up (see \fBIP
+MULTIPATHING GROUPS\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroup\fR [ \fIname\fR |\fB""\fR]\fR
+.ad
+.sp .6
+.RS 4n
+When applied to a physical interface, it places the interface into the named
+group. If the group does not exist, it will be created, along with one or more
+IPMP IP interfaces (for IPv4, IPv6, or both). Any \fBUP\fR addresses that are
+not also marked \fBNOFAILOVER\fR are subject to migration to the IPMP IP
+interface (see \fBIP MULTIPATHING GROUPS\fR). Specifying a group name of
+\fB""\fR removes the physical IP interface from the group.
+.sp
+When applied to a physical IPMP IP interface, it renames the IPMP group to have
+the new name. If the name already exists, or a name of \fB""\fR is specified,
+it fails. Renaming IPMP groups is discouraged. Instead, the IPMP IP interface
+should be given a meaningful name when it is created by means of the \fBipmp\fR
+subcommand, which the system will also use as the IPMP group name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBindex\fR \fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change the interface index for the interface. The value of \fIn\fR must be an
+interface index (\fIif_index\fR) that is not used on another interface.
+\fIif_index\fR will be a non-zero positive number that uniquely identifies the
+network interface on the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipmp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an IPMP IP interface with the specified name. An interface must be
+separately created for use by IPv4 and IPv6. The \fIaddress_family\fR parameter
+controls whether the command applies to IPv4 or IPv6 (IPv4 if unspecified). All
+IPMP IP interfaces have the \fBIPMP\fR flag set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmetric\fR \fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the routing metric of the interface to \fIn\fR; if no value is specified,
+the default is \fB0\fR. The routing metric is used by the routing protocol.
+Higher metrics have the effect of making a route less favorable. Metrics are
+counted as addition hops to the destination network or host.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodinsert\fR \fImod_name@pos\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insert a module with name \fImod_name\fR to the stream of the device at
+position \fIpos\fR. The position is relative to the stream head. Position
+\fB0\fR means directly under stream head.
+.sp
+Based upon the example in the \fBmodlist\fR option, use the following command
+to insert a module with name \fBipqos\fR under the \fBip\fR module and above
+the firewall module:
+.sp
+.in +2
+.nf
+example% ifconfig eri0 modinsert ipqos@2
+.fi
+.in -2
+.sp
+
+A subsequent listing of all the modules in the stream of the device follows:
+.sp
+.in +2
+.nf
+example% ifconfig eri0 modlist
+0 arp
+1 ip
+2 ipqos
+3 firewall
+4 eri
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all the modules in the stream of the device.
+.sp
+The following example lists all the modules in the stream of the device:
+.sp
+.in +2
+.nf
+example% ifconfig eri0 modlist
+0 arp
+1 ip
+2 firewall
+4 eri
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodremove\fR \fImod_name@pos\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove a module with name \fImod_name\fR from the stream of the device at
+position \fIpos\fR. The position is relative to the stream head.
+.sp
+Based upon the example in the \fBmodinsert\fR option, use the following command
+to remove the firewall module from the stream after inserting the \fBipqos\fR
+module:
+.sp
+.in +2
+.nf
+example% ifconfig eri0 modremove firewall@3
+.fi
+.in -2
+.sp
+
+A subsequent listing of all the modules in the stream of the device follows:
+.sp
+.in +2
+.nf
+example% ifconfig eri0 modlist
+0 arp
+1 ip
+2 ipqos
+3 eri
+.fi
+.in -2
+.sp
+
+Note that the core IP stack modules, for example, \fBip\fR and \fBtun\fR
+modules, cannot be removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmtu\fR \fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum transmission unit of the interface to \fIn\fR. For many types
+of networks, the \fBmtu\fR has an upper limit, for example, \fB1500\fR for
+Ethernet. This option sets the \fBFIXEDMTU\fR flag on the affected interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnetmask\fR \fImask\fR\fR
+.ad
+.sp .6
+.RS 4n
+For IPv4 only. Specify how much of the address to reserve for subdividing
+networks into subnetworks. The mask includes the network part of the local
+address and the subnet part, which is taken from the host field of the address.
+The mask contains 1's for the bit positions in the 32-bit address which are to
+be used for the network and subnet parts, and 0's for the host part. The mask
+should contain at least the standard network portion, and the subnet field
+should be contiguous with the network portion. The mask can be specified in one
+of four ways:
+.RS +4
+.TP
+1.
+with a single hexadecimal number with a leading 0x,
+.RE
+.RS +4
+.TP
+2.
+with a dot-notation address,
+.RE
+.RS +4
+.TP
+3.
+with a "\fB+\fR" (plus sign) address, or
+.RE
+.RS +4
+.TP
+4.
+with a pseudo host name/pseudo network name found in the network database
+\fBnetworks\fR(4).
+.RE
+If a "\fB+\fR" (plus sign) is given for the netmask value, the mask is looked
+up in the \fBnetmasks\fR(4) database. This lookup finds the longest matching
+netmask in the database by starting with the interface's IPv4 address as the
+key and iteratively masking off more and more low order bits of the address.
+This iterative lookup ensures that the \fBnetmasks\fR(4) database can be used
+to specify the netmasks when variable length subnetmasks are used within a
+network number.
+.sp
+If a pseudo host name/pseudo network name is supplied as the netmask value,
+netmask data may be located in the \fBhosts\fR or \fBnetworks\fR database.
+Names are looked up by first using \fBgethostbyname\fR(3NSL). If not found
+there, the names are looked up in \fBgetnetbyname\fR(3SOCKET). These interfaces
+may in turn use \fBnsswitch.conf\fR(4) to determine what data store(s) to use
+to fetch the actual value.
+.sp
+For both \fBinet\fR and \fBinet6\fR, the same information conveyed by
+\fImask\fR can be specified as a \fIprefix_length\fR attached to the
+\fIaddress\fR parameter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnud\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables the neighbor unreachability detection mechanism on a point-to-point
+physical interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-nud\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disables the neighbor unreachability detection mechanism on a point-to-point
+physical interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBplumb\fR\fR
+.ad
+.sp .6
+.RS 4n
+For a physical IP interface, open the datalink associated with the physical
+interface name and set up the plumbing needed for IP to use the datalink. When
+used with a logical interface name, this command is used to create a specific
+named logical interface on an existing physical IP interface.
+.sp
+An interface must be separately plumbed for IPv4 and IPv6 according to the
+\fIaddress_family\fR parameter (IPv4 if unspecified). Before an interface has
+been plumbed, it will not be shown by \fBifconfig\fR \fB-a\fR.
+.sp
+Note that IPMP IP interfaces are not tied to a specific datalink and are
+instead created with the \fBipmp\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprivate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Tells the \fBin.routed\fR routing daemon that a specified logical interface
+should not be advertised.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-private\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify unadvertised interfaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremoveif\fR \fIaddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the logical interface on the physical interface specified that matches
+the \fIaddress\fR specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrouter\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable IP forwarding on the interface. When enabled, the interface is marked
+\fBROUTER\fR, and IP packets can be forwarded to and from the interface.
+Enabling \fBROUTER\fR on any IP interface in an IPMP group enables it on all IP
+interfaces in that IPMP group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-router\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable IP forwarding on the interface. IP packets are not forwarded to and
+from the interface. Disabling \fBROUTER\fR on any IP interface in an IPMP group
+disables it on all IP interfaces in that IPMP group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the \fIaddress\fR, \fIprefix_length\fR or both, for a logical interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstandby\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mark the physical IP interface as a \fBSTANDBY\fR interface. If an interface is
+marked \fBSTANDBY\fR and is part of an IPMP group, the interface will not be
+used for data traffic unless another interface in the IPMP group becomes
+unusable. When a \fBSTANDBY\fR interface is functional but not being used for
+data traffic, it will also be marked \fBINACTIVE\fR. This operation is not
+permitted on an IPMP IP interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-standby\fR\fR
+.ad
+.sp .6
+.RS 4n
+Clear \fBSTANDBY\fR on the interface. This is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsubnet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the subnet \fIaddress\fR for an interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtdst\fR \fItunnel_dest_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the destination address of a tunnel. The address should not be the same as
+the \fBdest_address\fR of the tunnel, because no packets leave the system over
+such a tunnel.
+.sp
+This option is obsolete, superseded by the \fBdladm\fR(1M) \fBcreate-iptun\fR
+and \fBmodify-iptun\fR subcommands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBthoplimit\fR \fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the hop limit for a tunnel interface. The hop limit value is used as the
+\fBTTL\fR in the IPv4 header for the IPv6-in-IPv4 and IPv4-in-IPv4 tunnels. For
+IPv6-in-IPv6 and IPv4-in-IPv6 tunnels, the hop limit value is used as the hop
+limit in the IPv6 header. This option simply modifies the \fBhoplimit\fR link
+property of the underlying IP tunnel link (see \fBdladm\fR(1M)).
+.sp
+This option is obsolete, superseded by the \fBdladm\fR(1M) \fBhoplimit\fR link
+property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtoken\fR \fIaddress\fR/\fIprefix_length\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the IPv6 token of an interface to be used for address autoconfiguration.
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 inet6 token ::1/64\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtrailers\fR\fR
+.ad
+.sp .6
+.RS 4n
+This flag previously caused a nonstandard encapsulation of IPv4 packets on
+certain link levels. Drivers supplied with this release no longer use this
+flag. It is provided for compatibility, but is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-trailers\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the use of a "trailer" link level encapsulation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtsrc\fR \fItunnel_src_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the source address of a tunnel. This is the source address on an outer
+encapsulating \fBIP\fR header. It must be an address of another interface
+already configured using \fBifconfig\fR.
+.sp
+This option is obsolete, superseded by the \fBdladm\fR(1M) \fBcreate-iptun\fR
+and \fBmodify-iptun\fR subcommands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunplumb\fR\fR
+.ad
+.sp .6
+.RS 4n
+For a physical or IPMP interface, remove all associated logical IP interfaces
+and tear down any plumbing needed for IP to use the interface. For an IPMP IP
+interface, this command will fail if the group is not empty. For a logical
+interface, the logical interface is removed.
+.sp
+An interface must be separately unplumbed for IPv4 and IPv6 according to the
+\fIaddress_family\fR parameter (IPv4 if unspecified). Upon success, the
+interface name will no longer appear in the output of \fBifconfig\fR \fB-a\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mark a logical interface \fBUP\fR. As a result, the IP module will accept
+packets destined to the associated address (unless the address is zero), along
+with any associated multicast and broadcast IP addresses. Similarly, the IP
+module will allow packets to be sent with the associated address as a source
+address. At least one logical interface must be \fBUP\fR for the associated
+physical interface to send or receive packets
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusesrc\fR [ \fIname\fR | \fBnone\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Specify a physical interface to be used for source address selection. If the
+keyword \fBnone\fR is used, then any previous selection is cleared.
+.sp
+When an application does not choose a non-zero source address using
+\fBbind\fR(3SOCKET), the system will select an appropriate source address based
+on the outbound interface and the address selection rules (see
+\fBipaddrsel\fR(1M)).
+.sp
+When \fBusesrc\fR is specified and the specified interface is selected in the
+forwarding table for output, the system looks first to the specified physical
+interface and its associated logical interfaces when selecting a source
+address. If no usable address is listed in the forwarding table, the ordinary
+selection rules apply. For example, if you enter:
+.sp
+.in +2
+.nf
+# \fBifconfig eri0 usesrc vni0\fR
+.fi
+.in -2
+.sp
+
+\&...and \fBvni0\fR has address 10.0.0.1 assigned to it, the system will prefer
+10.0.0.1 as the source address for any packets originated by local connections
+that are sent through \fBeri0\fR. Further examples are provided in the
+\fBEXAMPLES\fR section.
+.sp
+While you can specify any physical interface (or even loopback), be aware that
+you can also specify the virtual IP interface (see \fBvni\fR(7D)). The virtual
+IP interface is not associated with any physical hardware and is thus immune to
+hardware failures. You can specify any number of physical interfaces to use the
+source address hosted on a single virtual interface. This simplifies the
+configuration of routing-based multipathing. If one of the physical interfaces
+were to fail, communication would continue through one of the remaining,
+functioning physical interfaces. This scenario assumes that the reachability of
+the address hosted on the virtual interface is advertised in some manner, for
+example, through a routing protocol.
+.sp
+Because the \fBifconfig\fR \fBpreferred\fR option is applied to all interfaces,
+it is coarser-grained than the \fBusesrc\fR option. It will be overridden by
+\fBusesrc\fR and \fBsetsrc\fR (route subcommand), in that order.
+.sp
+IPMP and the \fBusesrc\fR option are mutually exclusive. That is, if an
+interface is part of an IPMP group or marked \fBSTANDBY\fR, then it cannot be
+specified by means of \fBusesrc\fR, and vice-versa.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxmit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable a logical interface to transmit packets. This is the default behavior
+when the logical interface is up.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xmit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable transmission of packets on an interface. The interface will continue to
+receive packets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzone\fR \fIzonename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Place the logical interface in zone \fIzonename\fR. The named zone must be
+active in the kernel in the ready or running state. The interface is unplumbed
+when the zone is halted or rebooted. The zone must be configure to be an
+shared-IP zone. \fBzonecfg\fR(1M) is used to assign network interface names to
+exclusive-IP zones.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-zone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Place IP interface in the global zone. This is the default.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fIinterface\fR operand, as well as address parameters that affect it, are
+described below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterface\fR\fR
+.ad
+.sp .6
+.RS 4n
+A string of one of the following forms:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIname physical-unit\fR, for example, \fBeri0\fR or \fBce1\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIname physical-unit\fR\fB:\fR\fIlogical-unit\fR, for example, \fBeri0:1\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBip.tun\fR\fIN\fR, \fBip6.tun\fR\fIN\fR, or \fBip6to4.tun\fR\fIN\fR for
+implicit IP tunnel links
+.RE
+If the interface name starts with a dash (-), it is interpreted as a set of
+options which specify a set of interfaces. In such a case, \fB-a\fR must be
+part of the options and any of the additional options below can be added in any
+order. If one of these interface names is given, the commands following it are
+applied to all of the interfaces that match.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply the command to all interfaces of the specified address family. If no
+address family is supplied, either on the command line or by means of
+\fB/etc/default/inet_type\fR, then all address families will be selected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply the commands to all "down" interfaces in the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply the commands to all interfaces not under \fBDHCP\fR (Dynamic Host
+Configuration Protocol) control.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply the commands to all "up" interfaces in the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Z\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply the commands to all interfaces in the user's zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-4\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply the commands to all IPv4 interfaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-6\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply the commands to all IPv6 interfaces.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaddress_family\fR\fR
+.ad
+.sp .6
+.RS 4n
+The address family is specified by the \fIaddress_family\fR parameter. The
+\fBifconfig\fR command currently supports the following families: \fBinet\fR
+and \fBinet6\fR. If no address family is specified, the default is \fBinet\fR.
+.sp
+\fBifconfig\fR honors the \fBDEFAULT_IP\fR setting in the
+\fB/etc/default/inet_type\fR file when it displays interface information . If
+\fBDEFAULT_IP\fR is set to \fBIP_VERSION4\fR, then \fBifconfig\fR will omit
+information that relates to IPv6 interfaces. However, when you explicitly
+specify an address family (\fBinet\fR or \fBinet6\fR) on the \fBifconfig\fR
+command line, the command line overrides the \fBDEFAULT_IP\fR settings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the IPv4 family (\fBinet\fR), the \fIaddress\fR is either a host name
+present in the host name data base (see \fBhosts\fR(4)) or in the Network
+Information Service (NIS) map \fBhosts\fR, or an IPv4 address expressed in the
+Internet standard "dot notation".
+.sp
+For the IPv6 family (\fBinet6\fR), the \fIaddress\fR is either a host name
+present in the host name data base (see \fBhosts\fR(4)) or in the Network
+Information Service (\fBNIS\fR) map \fBipnode\fR, or an IPv6 address expressed
+in the Internet standard colon-separated hexadecimal format represented as
+\fIx:x:x:x:x:x:x:x\fR where \fIx\fR is a hexadecimal number between \fB0\fR and
+\fBFFFF\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprefix_length\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the IPv4 and IPv6 families (\fBinet\fR and \fBinet6\fR), the
+\fIprefix_length\fR is a number between 0 and the number of bits in the
+address. For \fBinet\fR, the number of bits in the address is 32; for
+\fBinet6\fR, the number of bits in the address is 128. The \fIprefix_length\fR
+denotes the number of leading set bits in the netmask.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdest_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the \fIdest_address\fR parameter is supplied in addition to the
+\fIaddress\fR parameter, it specifies the address of the correspondent on the
+other end of a point-to-point link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItunnel_dest_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+An address that is or will be reachable through an interface other than the
+tunnel being configured. This tells the tunnel where to send the tunneled
+packets. This address must not be the same as the interface destination address
+being configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItunnel_src_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+An address that is attached to an already configured interface that has been
+configured "up" with \fBifconfig\fR.
+.RE
+
+.SH INTERFACE FLAGS
+.sp
+.LP
+The \fBifconfig\fR command supports the following interface flags. The term
+"address" in this context refers to a logical interface, for example,
+\fBeri0:0\fR, while "interface" refers to the physical interface, for example,
+\fBeri0\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBADDRCONF\fR\fR
+.ad
+.sp .6
+.RS 4n
+The address is from stateless \fBaddrconf\fR. The stateless mechanism allows a
+host to generate its own address using a combination of information advertised
+by routers and locally available information. Routers advertise prefixes that
+identify the subnet associated with the link, while the host generates an
+"interface identifier" that uniquely identifies an interface in a subnet. In
+the absence of information from routers, a host can generate link-local
+addresses. This flag is specific to IPv6.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBANYCAST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates an \fBanycast\fR address. An \fBanycast\fR address identifies the
+nearest member of a group of systems that provides a particular type of
+service. An \fBanycast\fR address is assigned to a group of systems. Packets
+are delivered to the nearest group member identified by the \fBanycast\fR
+address instead of being delivered to all members of the group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBROADCAST\fR\fR
+.ad
+.sp .6
+.RS 4n
+This \fBbroadcast\fR address is valid. This flag and \fBPOINTTOPOINT\fR are
+mutually exclusive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCoS\fR\fR
+.ad
+.sp .6
+.RS 4n
+This interface supports some form of Class of Service (CoS) marking. An example
+is the 802.1D user priority marking supported on \fBVLAN\fR interfaces. For
+IPMP IP interfaces, this will only be set if all interfaces in the group have
+CoS set.
+.sp
+Note that this flag is only set on interfaces over VLAN links and over Ethernet
+links that have their \fBdladm\fR(1M) \fBtagmode\fR link property set to
+\fBnormal\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEPRECATED\fR\fR
+.ad
+.sp .6
+.RS 4n
+This address is deprecated. This address will not be used as a source address
+for outbound packets unless there are no other addresses on this interface or
+an application has explicitly bound to this address. An IPv6 deprecated address
+is part of the standard mechanism for renumbering in IPv6 and will eventually
+be deleted when not used. For both IPv4 and IPv6, \fBDEPRECATED\fR is also set
+on all \fBNOFAILOVER\fR addresses, though this may change in a future release.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDHCPRUNNING\fR\fR
+.ad
+.sp .6
+.RS 4n
+The logical interface is managed by \fBdhcpagent\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDUPLICATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The logical interface has been disabled because the IP address configured on
+the interface is a duplicate. Some other node on the network is using this
+address. If the address was configured by DHCP or is temporary, the system will
+choose another automatically, if possible. Otherwise, the system will attempt
+to recover this address periodically and the interface will recover when the
+conflict has been removed from the network. Changing the address or netmask, or
+setting the logical interface to \fBup\fR will restart duplicate detection.
+Setting the interface to \fBdown\fR terminates recovery and removes the
+\fBDUPLICATE\fR flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFAILED\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBin.mpathd\fR daemon has determined that the interface has failed.
+\fBFAILED\fR interfaces will not be used to send or receive IP data traffic. If
+this is set on a physical IP interface in an IPMP group, IP data traffic will
+continue to flow over other usable IP interfaces in the IPMP group. If this is
+set on an IPMP IP interface, the entire group has failed and no data traffic
+can be sent or received over any interfaces in that group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFIXEDMTU\fR\fR
+.ad
+.sp .6
+.RS 4n
+The MTU has been set using the \fB-mtu\fR option. This flag is read-only.
+Interfaces that have this flag set have a fixed MTU value that is unaffected by
+dynamic MTU changes that can occur when drivers notify IP of link MTU changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINACTIVE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The physical interface is functioning but is not used to send or receive data
+traffic according to administrative policy. This flag is initially set by the
+\fBstandby\fR subcommand and is subsequently controlled by \fBin.mpathd\fR. It
+also set when \fBFAILBACK=no\fR mode is enabled (see \fBin.mpathd\fR(1M)) to
+indicate that the IP interface has repaired but is not being used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIPMP\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that this is an IPMP IP interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOOPBACK\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that this is the loopback interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMULTI_BCAST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the broadcast address is used for multicast on this interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMULTICAST\fR\fR
+.ad
+.sp .6
+.RS 4n
+The interface supports multicast. \fBIP\fR assumes that any interface that
+supports hardware broadcast, or that is a point-to-point link, will support
+multicast.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNOARP\fR\fR
+.ad
+.sp .6
+.RS 4n
+There is no address resolution protocol (\fBARP\fR) for this interface that
+corresponds to all interfaces for a device without a broadcast address. This
+flag is specific to IPv4.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNOFAILOVER\fR\fR
+.ad
+.sp .6
+.RS 4n
+The address associated with this logical interface is available to
+\fBin.mpathd\fR for probe-based failure detection of the associated physical IP
+interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNOLOCAL\fR\fR
+.ad
+.sp .6
+.RS 4n
+The interface has no address , just an on-link subnet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNONUD\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBNUD\fR is disabled on this interface. \fBNUD\fR (neighbor unreachability
+detection) is used by a node to track the reachability state of its neighbors,
+to which the node actively sends packets, and to perform any recovery if a
+neighbor is detected to be unreachable. This flag is specific to IPv6.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNORTEXCH\fR\fR
+.ad
+.sp .6
+.RS 4n
+The interface does not exchange routing information. For RIP-2, routing packets
+are not sent over this interface. Additionally, messages that appear to come
+over this interface receive no response. The subnet or address of this
+interface is not included in advertisements over other interfaces to other
+routers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNOXMIT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the address does not transmit packets. RIP-2 also does not
+advertise this address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOFFLINE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The interface is offline and thus cannot send or receive IP data traffic. This
+is only set on IP interfaces in an IPMP group. See \fBif_mpadm\fR(1M) and
+\fBcfgadm\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPOINTOPOINT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the address is a point-to-point link. This flag and
+\fBBROADCAST\fR are mutually exclusive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPREFERRED\fR\fR
+.ad
+.sp .6
+.RS 4n
+This address is a preferred IPv6 source address. This address will be used as a
+source address for IPv6 communication with all IPv6 destinations, unless
+another address on the system is of more appropriate scope. The
+\fBDEPRECATED\fR flag takes precedence over the \fBPREFERRED\fR flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPRIVATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that this address is not advertised. For RIP-2, this interface is
+used to send advertisements. However, neither the subnet nor this address are
+included in advertisements to other routers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPROMISC\fR\fR
+.ad
+.sp .6
+.RS 4n
+A read-only flag indicating that an interface is in promiscuous mode. All
+addresses associated with an interface in promiscuous mode will display (in
+response to \fBifconfig\fR \fB-a\fR, for example) the \fBPROMISC\fR flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBROUTER\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that IP packets can be forwarded to and from the interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRUNNING\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the required resources for an interface are allocated. For some
+interfaces this also indicates that the link is up. For IPMP IP interfaces,
+\fBRUNNING\fR is set as long as one IP interface in the group is active.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTANDBY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that this physical interface will not be used for data traffic unless
+another interface in the IPMP group becomes unusable. The \fBINACTIVE\fR and
+\fBFAILED\fR flags indicate whether it is actively being used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTEMPORARY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that this is a temporary IPv6 address as defined in RFC 3041.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUNNUMBERED\fR\fR
+.ad
+.sp .6
+.RS 4n
+This flag is set when the local IP address on the link matches the local
+address of some other link in the system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUP\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the logical interface (and the associated physical interface) is
+up. The IP module will accept packets destined to \fBUP\fR addresses (unless
+the address is zero), along with any associated multicast and broadcast IP
+addresses. Similarly, the IP module will allow packets to be sent with an
+\fBUP\fR address as a source address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVIRTUAL\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the physical interface has no underlying hardware. It is not
+possible to transmit or receive packets through a virtual interface. These
+interfaces are useful for configuring local addresses that can be used on
+multiple interfaces. (See also the \fBusesrc\fR option.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXRESOLV\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that the interface uses an IPv6 external resolver.
+.RE
+
+.SH LOGICAL INTERFACES
+.sp
+.LP
+Solaris \fBTCP/IP\fR allows multiple logical interfaces to be associated with a
+physical network interface. This allows a single machine to be assigned
+multiple \fBIP\fR addresses, even though it may have only one network
+interface. Physical network interfaces have names of the form \fIdriver-name
+physical-unit-number\fR, while logical interfaces have names of the form
+\fIdriver-name physical-unit-number\fR\fB:\fR\fIlogical-unit-number\fR. A
+physical interface is configured into the system using the \fBplumb\fR command.
+For example:
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 plumb\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Once a physical interface has been "plumbed", logical interfaces associated
+with the physical interface can be configured by separate \fB-plumb\fR or
+\fB-addif\fR options to the \fBifconfig\fR command.
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0:1 plumb\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+allocates a specific logical interface associated with the physical interface
+\fBeri0\fR. The command
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 addif 192.168.200.1/24 up\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+allocates the next available logical unit number on the \fBeri0\fR physical
+interface and assigns an \fIaddress\fR and \fIprefix_length\fR.
+.sp
+.LP
+A logical interface can be configured with parameters (
+\fIaddress\fR,\fIprefix_length\fR, and so on) different from the physical
+interface with which it is associated. Logical interfaces that are associated
+with the same physical interface can be given different parameters as well.
+Each logical interface must be associated with an existing and "up" physical
+interface. So, for example, the logical interface \fBeri0:1\fR can only be
+configured after the physical interface \fBeri0\fR has been plumbed.
+.sp
+.LP
+To delete a logical interface, use the \fBunplumb\fR or \fBremoveif\fR options.
+For example,
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0:1 down unplumb\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+will delete the logical interface \fBeri0:1\fR.
+.SH IP MULTIPATHING GROUPS
+.sp
+.LP
+Physical interfaces that share the same link-layer broadcast domain \fBmust\fR
+be collected into a single IP Multipathing (IPMP) group using the \fBgroup\fR
+subcommand. Each IPMP group has an associated IPMP IP interface, which can
+either be explicitly created (the preferred method) by using the \fBipmp\fR
+subcommand or implicitly created by \fBifconfig\fR in response to placing an IP
+interface into a new IPMP group. Implicitly-created IPMP interfaces will be
+named \fBipmp\fR\fIN\fR where \fIN\fR is the lowest integer that does not
+conflict with an existing IP interface name or IPMP group name.
+.sp
+.LP
+Each IPMP IP interface is created with a matching IPMP group name, though it
+can be changed using the \fBgroup\fR subcommand. Each IPMP IP interface hosts a
+set of highly-available IP addresses. These addresses will remain reachable so
+long as at least one interface in the group is active, where "active" is
+defined as having at least one \fBUP\fR address and having \fBINACTIVE\fR,
+\fBFAILED\fR, and \fBOFFLINE\fR clear. IP addresses hosted on the IPMP IP
+interface may either be configured statically or configured through DHCP by
+means of the \fBdhcp\fR subcommand.
+.sp
+.LP
+Interfaces assigned to the same IPMP group are treated as equivalent and
+monitored for failure by \fBin.mpathd\fR. Provided that active interfaces in
+the group remain, IP interface failures (and any subsequent repairs) are
+handled transparently to sockets-based applications. IPMP is also integrated
+with the Dynamic Reconfiguration framework (see \fBcfgadm\fR(1M)), which
+enables network adapters to be replaced in a way that is invisible to
+sockets-based applications.
+.sp
+.LP
+The IP module automatically load-spreads all outbound traffic across all active
+interfaces in an IPMP group. Similarly, all \fBUP\fR addresses hosted on the
+IPMP IP interface will be distributed across the active interfaces to promote
+inbound load-spreading. The \fBipmpstat\fR(1M) utility allows many aspects of
+the IPMP subsystem to be observed, including the current binding of IP data
+addresses to IP interfaces.
+.sp
+.LP
+When an interface is placed into an IPMP group, any \fBUP\fR logical interfaces
+are "migrated" to the IPMP IP interface for use by the group, unless:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the logical interface is marked \fBNOFAILOVER\fR;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the logical interface hosts an IPv6 link-local address;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the logical interface hosts an IPv4 0.0.0.0 address.
+.RE
+.sp
+.LP
+Likewise, once an interface is in a group, if changes are made to a logical
+interface such that it is \fBUP\fR and not exempted by one of the conditions
+above, it will also migrate to the associated IPMP IP interface. Logical
+interfaces never migrate back, even if the physical interface that contributed
+the address is removed from the group.
+.sp
+.LP
+Each interface placed into an IPMP group may be optionally configured with a
+"test" address that \fBin.mpathd\fR will use for probe-based failure detection;
+see \fBin.mpathd\fR(1M). These addresses must be marked \fBNOFAILOVER\fR (using
+the \fB-failover\fR subcommand) prior to being marked \fBUP\fR. Test addresses
+may also be acquired through DHCP by means of the \fBdhcp\fR subcommand.
+.sp
+.LP
+For more background on IPMP, please see the IPMP-related chapters of the
+\fISystem Administration Guide: Network Interfaces and Network
+Virtualization\fR.
+.SH CONFIGURING IPV6 INTERFACES
+.sp
+.LP
+When an IPv6 physical interface is plumbed and configured "up" with
+\fBifconfig\fR, it is automatically assigned an IPv6 link-local address for
+which the last 64 bits are calculated from the \fBMAC\fR address of the
+interface.
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 inet6 plumb up\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example shows that the link-local address has a prefix of
+\fBfe80::/10\fR.
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 inet6\fR
+ce0: flags=2000841<UP,RUNNING,MULTICAST,IPv6>
+ mtu 1500 index 2 \
+ inet6 fe80::a00:20ff:fe8e:f3ad/10
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Link-local addresses are only used for communication on the local subnet and
+are not visible to other subnets.
+.sp
+.LP
+If an advertising IPv6 router exists on the link advertising prefixes, then the
+newly plumbed IPv6 interface will autoconfigure logical interface(s) depending
+on the prefix advertisements. For example, for the prefix advertisement
+\fB2001:0db8:3c4d:0:55::/64\fR, the autoconfigured interface will look like:
+.sp
+.in +2
+.nf
+eri0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6>
+ mtu 1500 index 2
+ inet6 2001:0db8:3c4d:55:a00:20ff:fe8e:f3ad/64
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Even if there are no prefix advertisements on the link, you can still assign
+global addresses manually, for example:
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 inet6 addif \e
+2001:0db8:3c4d:55:a00:20ff:fe8e:f3ad/64 up\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To configure boot-time defaults for the interface \fBeri0\fR, place the
+following entry in the \fB/etc/hostname6.eri0\fR file:
+.sp
+.in +2
+.nf
+addif 2001:0db8:3c4d:55:a00:20ff:fe8e:f3ad/64 up
+.fi
+.in -2
+
+.SS "Configuring IP-over-IP Tunnel Interfaces"
+.sp
+.LP
+An IP tunnel is conceptually comprised of two parts: a virtual link between two
+or more IP nodes, and an IP interface above this link which allows the system
+to transmit and receive IP packets encapsulated by the underlying link.
+.sp
+.LP
+The \fBdladm\fR(1M) command is used to configure tunnel links, and
+\fBifconfig\fR is used to configure IP interfaces over those tunnel links. An
+IPv4-over-IPv4 tunnel is created by plumbing an IPv4 interface over an IPv4
+tunnel link. An IPv6-over-IPv4 tunnel is created by plumbing an IPv6 interface
+over an IPv6 tunnel link, and so forth.
+.sp
+.LP
+When IPv6 interfaces are plumbed over IP tunnel links, their IPv6 addresses are
+automatically set. For IPv4 and IPv6 tunnels, source and destination link-local
+addresses of the form \fBfe80::\fR\fIinterface-id\fR are configured. For IPv4
+tunnels, the \fIinterface-id\fR is the IPv4 tunnel source or destination
+address. For IPv6 tunnels, the \fIinterface-id\fR is the last 64 bits of the
+IPv6 tunnel source or destination address. For example, for an IPv4 tunnel
+between 10.1.2.3 and 10.4.5.6, the IPv6 link-local source and destination
+addresses of the IPv6 interface would be \fBfe80::a01:203\fR and
+\fBfe80::a04:506\fR. For an IPv6 tunnel between \fB2000::1234:abcd\fR and
+\fB3000::5678:abcd\fR, the IPv6 link-local source and destination addresses of
+the interface would be \fBfe80::1234:abcd\fR and \fBfe80::5678:abcd\fR. These
+default link-local addresses can be overridden by specifying the addresses
+explicitly, as with any other point-to-point interface.
+.sp
+.LP
+For 6to4 tunnels, a 6to4 global address of the form \fB2002:\fItsrc\fR::1/16\fR
+is configured. The \fItsrc\fR portion is the tunnel source IPv4 address. The
+prefix length of the 6to4 interface is automatically set to 16, as all 6to4
+packets (destinations in the \fB2002::/16\fR range) are forwarded to the 6to4
+tunnel interface. For example, for a 6to4 link with a tunnel source of
+75.1.2.3, the IPv6 interface would have an address of
+\fB2002:4b01:203::1/16\fR.
+.sp
+.LP
+Additional IPv6 addresses can be added using the \fBaddif\fR option or by
+plumbing additional logical interfaces.
+.sp
+.LP
+For backward compatibility, the plumbing of tunnel IP interfaces with special
+names will implicitly result in the creation of tunnel links without invoking
+\fBdladm create-iptun\fR. These tunnel names are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBip.tun\fR\fIN\fR\fR
+.ad
+.RS 15n
+.rt
+An IPv4 tunnel
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBip6.tun\fR\fIN\fR\fR
+.ad
+.RS 15n
+.rt
+An IPv6 tunnel
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBip.6to4tun\fR\fIN\fR\fR
+.ad
+.RS 15n
+.rt
+A 6to4 tunnel
+.RE
+
+.sp
+.LP
+These tunnels are "implicit tunnels", denoted with the \fBi\fR flag in \fBdladm
+show-iptun\fR output. The tunnel links over which these special IP interfaces
+are plumbed are automatically created, and they are automatically deleted when
+the last reference is released (that is, when the last IP interface is
+unplumbed).
+.sp
+.LP
+The \fBtsrc\fR, \fBtdst\fR, \fBencaplim\fR, and \fBhoplimit\fR options to
+\fBifconfig\fR are obsolete and maintained only for backward compatibility.
+They are equivalent to their \fBdladm\fR(1M) counterparts.
+.SS "Display of Tunnel Security Settings"
+.sp
+.LP
+The \fBifconfig\fR output for IP tunnel interfaces indicates whether IPsec
+policy is configured for the underlying IP tunnel link. For example, a line of
+the following form will be displayed if IPsec policy is present:
+.sp
+.in +2
+.nf
+tunnel security settings --> use 'ipsecconf -ln -i ip.tun1'
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If you do net set security policy, using either \fBifconfig\fR or
+\fBipsecconf\fR(1M), there is no tunnel security setting displayed.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBifconfig\fR Command
+.sp
+.LP
+If your workstation is not attached to an Ethernet, the network interface, for
+example, \fBeri0\fR, should be marked "down" as follows:
+
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 down\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRPrinting Addressing Information
+.sp
+.LP
+To print out the addressing information for each interface, use the following
+command:
+
+.sp
+.in +2
+.nf
+example% \fBifconfig -a\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRResetting the Broadcast Address
+.sp
+.LP
+To reset each interface's broadcast address after the netmasks have been
+correctly set, use the next command:
+
+.sp
+.in +2
+.nf
+example% \fBifconfig -a broadcast +\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRChanging the Ethernet Address
+.sp
+.LP
+To change the Ethernet address for interface \fBce0\fR, use the following
+command:
+
+.sp
+.in +2
+.nf
+example% \fBifconfig ce0 ether aa:1:2:3:4:5\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRConfiguring an IP-in-IP Tunnel
+.sp
+.LP
+To configure an IP-in-IP tunnel, first create an IP tunnel link (\fBtunsrc\fR
+and \fBtundst\fR are hostnames with corresponding IPv4 entries in
+\fB/etc/hosts\fR):
+
+.sp
+.in +2
+.nf
+example% \fBdladm create-iptun -T ipv4 -s tunsrc -d tundst tun0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Then plumb a point-to-point interface, supplying the source and destination
+addresses (\fBmysrc\fR and \fBthedst\fR are hostnames with corresponding IPv4
+entries in \fB/etc/hosts\fR):
+
+.sp
+.in +2
+.nf
+example% \fBifconfig tun0 plumb mysrc thedst up\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Use \fBipsecconf\fR(1M), as described above, to configure tunnel security
+properties.
+
+.sp
+.LP
+Configuring IPv6 tunnels is done by using a tunnel type of \fBipv6\fR with
+\fBcreate-iptun\fR. IPv6 interfaces can also be plumbed over either type of
+tunnel.
+
+.LP
+\fBExample 6 \fRConfiguring 6to4 Tunnels
+.sp
+.LP
+To configure 6to4 tunnels, first create a 6to4 tunnel link (\fBmyv4addr\fR is a
+hostname with a corresponding IPv4 entry in \fB/etc/hosts\fR):
+
+.sp
+.in +2
+.nf
+example% \fBdladm create-iptun -T 6to4 -s myv4addr my6to4tun0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Then an IPv6 interface is plumbed over this link:
+
+.sp
+.in +2
+.nf
+example% \fBifconfig my6to4tun0 inet6 plumb up\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The IPv6 address of the interface is automatically set as described above.
+
+.LP
+\fBExample 7 \fRConfiguring IP Forwarding on an Interface
+.sp
+.LP
+To enable IP forwarding on a single interface, use the following command:
+
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 router\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To disable IP forwarding on a single interface, use the following command:
+
+.sp
+.in +2
+.nf
+example% \fBifconfig eri0 -router\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRConfiguring Source Address Selection Using a Virtual Interface
+.sp
+.LP
+The following command configures source address selection such that every
+packet that is locally generated with no bound source address and going out on
+\fBqfe2\fR prefers a source address hosted on \fBvni0\fR.
+
+.sp
+.in +2
+.nf
+example% \fBifconfig qfe2 usesrc vni0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBifconfig\fR \fB-a\fR output for the \fBqfe2\fR and \fBvni0\fR interfaces
+displays as follows:
+
+.sp
+.in +2
+.nf
+qfe2: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu
+ 1500 index 4
+ usesrc vni0
+ inet 1.2.3.4 netmask ffffff00 broadcast 1.2.3.255
+ ether 0:3:ba:17:4b:e1
+vni0: flags=20011100c1<UP,RUNNING,NOARP,NOXMIT,ROUTER,IPv4,VIRTUAL>
+ mtu 0 index 5
+ srcof qfe2
+ inet 3.4.5.6 netmask ffffffff
+.fi
+.in -2
+
+.sp
+.LP
+Observe, above, the \fBusesrc\fR and \fBsrcof\fR keywords in the \fBifconfig\fR
+output. These keywords also appear on the logical instances of the physical
+interface, even though this is a per-physical interface parameter. There is no
+\fBsrcof\fR keyword in \fBifconfig\fR for configuring interfaces. This
+information is determined automatically from the set of interfaces that have
+\fBusesrc\fR set on them.
+
+.sp
+.LP
+The following command, using the \fBnone\fR keyword, undoes the effect of the
+preceding \fBifconfig\fR \fBusesrc\fR command.
+
+.sp
+.in +2
+.nf
+example% \fBifconfig qfe2 usesrc none\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Following this command, \fBifconfig\fR \fB-a\fR output displays as follows:
+
+.sp
+.in +2
+.nf
+qfe2: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu
+ 1500 index 4
+ inet 1.2.3.4 netmask ffffff00 broadcast 1.2.3.255
+ ether 0:3:ba:17:4b:e1
+vni0: flags=20011100c1<UP,RUNNING,NOARP,NOXMIT,ROUTER,IPv4,VIRTUAL>
+ mtu 0 index 5
+ inet 3.4.5.6 netmask ffffffff
+.fi
+.in -2
+
+.sp
+.LP
+Note the absence of the \fBusesrc\fR and \fBsrcof\fR keywords in the output
+above.
+
+.LP
+\fBExample 9 \fRConfiguring Source Address Selection for an IPv6 Address
+.sp
+.LP
+The following command configures source address selection for an IPv6 address,
+selecting a source address hosted on \fBvni0\fR.
+
+.sp
+.in +2
+.nf
+example% \fBifconfig qfe1 inet6 usesrc vni0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Following this command, \fBifconfig\fR \fB-a\fR output displays as follows:
+
+.sp
+.in +2
+.nf
+qfe1: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 3
+ usesrc vni0
+ inet6 fe80::203:baff:fe17:4be0/10
+ ether 0:3:ba:17:4b:e0
+vni0: flags=2002210041<UP,RUNNING,NOXMIT,NONUD,IPv6,VIRTUAL> mtu 0
+ index 5
+ srcof qfe1
+ inet6 fe80::203:baff:fe17:4444/128
+vni0:1: flags=2002210040<RUNNING,NOXMIT,NONUD,IPv6,VIRTUAL> mtu 0
+ index 5
+ srcof qfe1
+ inet6 fec0::203:baff:fe17:4444/128
+vni0:2: flags=2002210040<RUNNING,NOXMIT,NONUD,IPv6,VIRTUAL> mtu 0
+ index 5
+ srcof qfe1
+ inet6 2000::203:baff:fe17:4444/128
+.fi
+.in -2
+
+.sp
+.LP
+Depending on the scope of the destination of the packet going out on
+\fBqfe1\fR, the appropriately scoped source address is selected from \fBvni0\fR
+and its aliases.
+
+.LP
+\fBExample 10 \fRUsing Source Address Selection with Shared-IP Zones
+.sp
+.LP
+The following is an example of how the \fBusesrc\fR feature can be used with
+the \fBzones\fR(5) facility in Solaris. The following commands are invoked in
+the global zone:
+
+.sp
+.in +2
+.nf
+example% \fBifconfig hme0 usesrc vni0\fR
+example% \fBifconfig eri0 usesrc vni0\fR
+example% i\fBfconfig qfe0 usesrc vni0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Following the preceding commands, the \fBifconfig\fR \fB-a\fR output for the
+virtual interfaces would display as:
+
+.sp
+.in +2
+.nf
+vni0: flags=20011100c1<UP,RUNNING,NOARP,NOXMIT,ROUTER,IPv4,VIRTUAL>
+ mtu 0 index 23
+ srcof hme0 eri0 qfe0
+ inet 10.0.0.1 netmask ffffffff
+vni0:1:
+ flags=20011100c1<UP,RUNNING,NOARP,NOXMIT,ROUTER,IPv4,VIRTUAL> mtu 0
+ index 23
+ zone test1
+ srcof hme0 eri0 qfe0
+ inet 10.0.0.2 netmask ffffffff
+vni0:2:
+ flags=20011100c1<UP,RUNNING,NOARP,NOXMIT,ROUTER,IPv4,VIRTUAL> mtu 0
+ index 23
+ zone test2
+ srcof hme0 eri0 qfe0
+ inet 10.0.0.3 netmask ffffffff
+vni0:3:
+ flags=20011100c1<UP,RUNNING,NOARP,NOXMIT,ROUTER,IPv4,VIRTUAL> mtu 0
+ index 23
+ zone test3
+ srcof hme0 eri0 qfe0
+ inet 10.0.0.4 netmask ffffffff
+.fi
+.in -2
+
+.sp
+.LP
+There is one virtual interface alias per zone (\fBtest1\fR, \fBtest2\fR, and
+\fBtest3\fR). A source address from the virtual interface alias in the same
+zone is selected. The virtual interface aliases were created using
+\fBzonecfg\fR(1M) as follows:
+
+.sp
+.in +2
+.nf
+example% \fBzonecfg -z test1\fR
+zonecfg:test1> \fBadd net\fR
+zonecfg:test1:net> \fBset physical=vni0\fR
+zonecfg:test1:net> \fBset address=10.0.0.2\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBtest2\fR and \fBtest3\fR zone interfaces and addresses are created in
+the same way.
+
+.LP
+\fBExample 11 \fRTurning Off DHCPv6
+.sp
+.LP
+The following example shows how to disable automatic use of DHCPv6 on all
+interfaces, and immediately shut down DHCPv6 on the interface named \fBhme0\fR.
+See \fBin.ndpd\fR(1M) and \fBndpd.conf\fR(4) for more information on the
+automatic DHCPv6 configuration mechanism.
+
+.sp
+.in +2
+.nf
+example% \fBecho ifdefault StatefulAddrConf false >> /etc/inet/ndpd.conf\fR
+example% \fBpkill -HUP -x in.ndpd\fR
+example% \fBifconfig hme0 dhcp release\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/netmasks\fR\fR
+.ad
+.sp .6
+.RS 4n
+Netmask data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/inet_type\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default Internet protocol type.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.73i) |cw(2.77i)
+lw(2.73i) |lw(2.77i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+T{
+Interface Stability for command-line options
+T}Committed
+_
+Interface Stability for command outputUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdhcpinfo\fR(1), \fBcfgadm\fR(1M), \fBdhcpagent\fR(1M), \fBdladm\fR(1M),
+\fBif_mpadm\fR(1M), \fBin.mpathd\fR(1M), \fBin.ndpd\fR(1M),
+\fBin.routed\fR(1M), \fBipmpstat\fR(1M), \fBipsecconf\fR(1M), \fBndd\fR(1M),
+\fBnetstat\fR(1M), \fBzoneadm\fR(1M), \fBzonecfg\fR(1M), \fBethers\fR(3SOCKET),
+\fBgethostbyname\fR(3NSL), \fBgetnetbyname\fR(3SOCKET), \fBhosts\fR(4),
+\fBinet_type\fR(4), \fBndpd.conf\fR(4), \fBnetmasks\fR(4), \fBnetworks\fR(4),
+\fBnsswitch.conf\fR(4), \fBattributes\fR(5), \fBprivileges\fR(5),
+\fBzones\fR(5), \fBarp\fR(7P), \fBipsecah\fR(7P), \fBipsecesp\fR(7P)
+.sp
+.LP
+\fISystem Administration Guide: IP Services\fR
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBifconfig\fR sends messages that indicate if:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the specified interface does not exist
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the requested address is unknown
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the user is not privileged and tried to alter an interface's configuration
+.RE
+.SH NOTES
+.sp
+.LP
+Do not select the names \fBbroadcast\fR, \fBdown\fR, \fBprivate\fR,
+\fBtrailers\fR, \fBup\fR or other possible option names when you choose host
+names. If you choose any one of these names as host names, it can cause unusual
+problems that are extremely difficult to diagnose.
diff --git a/usr/src/man/man1m/ifparse.1m b/usr/src/man/man1m/ifparse.1m
new file mode 100644
index 0000000000..23c24b0e18
--- /dev/null
+++ b/usr/src/man/man1m/ifparse.1m
@@ -0,0 +1,185 @@
+'\" te
+.\" Copyright (C) 2001, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ifparse 1M "9 May 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ifparse \- parse \fBifconfig\fR command line
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/ifparse\fR [\fB-fs\fR] \fIaddr_family\fR \fIcommands\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Use the \fBifparse\fR command to parse the \fBifconfig\fR(1M) command line
+options and output substrings, one per line, as appropriate. If no options are
+specified, \fBifparse\fR returns the entire \fBifconfig\fR command line as a
+series of substrings, one per line.
+.SH OPTIONS
+.sp
+.LP
+The \fBifparse\fR command supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Lists only substrings of the \fBifconfig\fR command line that are relevant to
+IP network multipath failover
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+ Lists only substrings of the \fBifconfig\fR command line that are not relevant
+to IP network multipath failover
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBifparse\fR command \fBdoes not\fR support the \fIinterface\fR operand of
+the \fBifconfig\fR command.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRParsing Command Line Options Relevant to Failover
+.sp
+.LP
+The following example shows the use of the \fBifparse\fR command to parse the
+command line options relevant to IP network multipath failover:
+
+.sp
+.in +2
+.nf
+example# \fBifparse -f inet 1.2.3.4 up group one addif 1.2.3.5 -failover up\fR
+set 1.2.3.4 up
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRParsing Command Line Options That Are Not Relevant to Failover
+.sp
+.LP
+The following example shows the use of the \fBifparse\fR command to parse the
+command line options that are not relevant to IP network multipath failover:
+
+.sp
+.in +2
+.nf
+example# \fBifparse -s inet 1.2.3.4 up group one addif 1.2.3.5 -failover up\fR
+group one
+addif 1.2.3.5 -failover up
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRParsing the Command Line For All Options
+.sp
+.LP
+The following example shows the use of the \fBifparse\fR command to parse the
+command line for all \fBifconfig\fR options:
+
+.sp
+.in +2
+.nf
+example# \fBifparse inet 1.2.3.4 up group one addif 1.2.3.5 -failover up\fR
+group one
+set 1.2.3.4 up
+addif 1.2.3.5 -failover up
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Stability LevelObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBifconfig\fR(1M), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+usage: \fB-fs\fR <addr_family> <commands>
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+This message indicates an invalid command line.
+.RE
+
+.sp
+.LP
+\fBifparse\fR: Not enough space
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+This message indicates insufficient memory.
+.RE
+
+.sp
+.LP
+\fBifparse\fR: dhcp not supported for inet6
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+DHCP operations are not supported for the \fBinet6\fR address family.
+.RE
+
+.sp
+.LP
+\fBifparse\fR: Operation <operation> not supported for <addr_family>
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+Most operations cannot be used with all address families. For example, the
+\fBbroadcast\fR operation is not supported on the \fBinet6\fR address family.
+.RE
+
+.sp
+.LP
+\fBifparse\fR: no argument for <operation>
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+Some operations, for example \fBbroadcast\fR, require an argument.
+.RE
+
+.SH NOTES
+.sp
+.LP
+The \fBifparse\fR command is classified as an obsolete interface. It will
+likely be removed in a future release. You should not develop applications that
+depend upon this interface.
diff --git a/usr/src/man/man1m/iiadm.1m b/usr/src/man/man1m/iiadm.1m
new file mode 100644
index 0000000000..7034d76a64
--- /dev/null
+++ b/usr/src/man/man1m/iiadm.1m
@@ -0,0 +1,1080 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH iiadm 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+iiadm \- command-line interface to control Sun StorageTek Availability Suite
+Point-in-Time Copy operations
+.SH SYNOPSIS
+.LP
+.nf
+\fBiiadm\fR \fB-e\fR {ind | shd} \fImaster_vol\fR \fIshadow_vol\fR \fIbitmap_vol\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR \fB-ne\fR ind \fImaster_vol\fR \fIshadow_vol\fR \fIbitmap_vol\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR [\fB-p\fR] [\fB-n\fR] {\fB-c\fR | \fB-u\fR} {s | m} \fIvolume_set\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR [\fB-adDilR\fR] \fIvolume_set\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR [\fB-p\fR] [\fB-n\fR] \fB-w\fR \fIvolume_set\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR [\fB-hilLv\fR]
+.fi
+
+.LP
+.nf
+\fBiiadm\fR \fB-P\fR \fIdelay\fR \fIunits\fR \fIvolume_set\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR \fB-P\fR \fIvolume_set\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR \fB-A\fR \fIoverflow_vol\fR \fIvolume_set\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR [\fB-OQ\fR] \fIoverflow_vol\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR \fB-E\fR \fIvolume_set\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR [\fB-IJ\fR] \fIvolume_set\fR \fIbitmap\fR
+.fi
+
+.LP
+.nf
+\fBiiadm\fR \fB-g\fR \fIgroup_name\fR [\fB-aAcdDeEilLmPRuw\fR]
+.fi
+
+.LP
+.nf
+\fBiiadm\fR [\fB-C\fR] \fIcluster_tag\fR [\fIoptions\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Point-in-Time Copy software is a point-in-time snapshot feature of the Solaris
+operating system.
+.sp
+.LP
+A Point-in-Time Copy snapshot is an instantly-available, time-fixed, replicated
+view of a momentarily quiesced volume. Once a snapshot is taken, Point-in-Time
+Copy software allows immediate read/write access to both the master and shadow
+volume data.
+.sp
+.LP
+Point-in-Time Copy software tracks the differences between the master and
+shadow volumes (caused by writes) from the moment that the snapshot was
+established. This capability allows applications accessing the master volume's
+data to move forward in time independently of applications accessing the shadow
+volume's data, and vice-versa.
+.sp
+.LP
+The Point-in-Time Copy software's tracking of differences between the master
+and shadow volumes facilitates a fast resynchronization or a full copy at a
+later time. The volume resynchronization can occur from either shadow to master
+or master to shadow.
+.sp
+.LP
+Instantly after the point-in-time is (re-)established (either when the CLI
+prompt returns or the next shell script command is read), the master volume can
+be remounted or the applications using them can be resumed. Also, the shadow
+volume can be mounted and immediately accessed.
+.sp
+.LP
+The \fBiiadm\fR command line utility performs only one action per command
+invocation. Because of this, you cannot combine multiple options, except in
+combination with the following overall command modifiers:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If no action item is entered, \fBiiadm\fR displays the list of Point-in-Time
+Copy sets (non-suspended) currently configured. If more than one action item,
+or an incorrectly specified action item is entered, \fBiiadm\fR displays the
+specific error message to stderr, followed by a brief usage summary.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For the Point-in-Time Copy options ENABLE (\fB-e\fR), COPY (\fB-c\fR) and
+UPDATE (\fB-u\fR), there are two associated shadow volume selection qualifiers,
+\fB{ind|dep}\fR, that are used to specify the type of Point-in-Time Copy volume
+set to create.
+.RE
+.sp
+.LP
+An independent (\fBind\fR) snapshot causes Point-in-Time Copy software to
+perform a full volume copy operation from the master to the shadow. When the
+copy completes, the shadow volume data is identical to the master volume data
+at the moment that it was established. Create an independent shadow if you
+require two physical copies of the data. An independent shadow volume must be
+the same size or greater than the size of the master volume. Sun recommends
+that the master and shadow volumes be the same size for environments where
+resynchronization from shadow to master is a consideration.
+.sp
+.LP
+A dependent (\fBdep\fR) snapshot causes Point-in-Time Copy software not to
+perform a full volume copy. The resulting shadow volume relies on the master
+volume for all unmodified data blocks, which are not copied until requested.
+Create a dependent shadow when you do not require two physical copies of the
+data. A dependent shadow volume can be either the same size or smaller than the
+master volume. A smaller shadow volume is called a \fBCompact Dependent Shadow
+Volume\fR, and is typically used when the amount of change that occurs to a
+Point-in-Time Copy volume set is small compared to the entire size of the
+master volume.
+.sp
+.LP
+The following syntax allows you to create an exportable independent shadow
+volume in a Sun Cluster environment:
+.sp
+.in +2
+.nf
+# iiadm -ne ind master shadow bitmap
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+An issue arises when using a Compact Dependent Shadow Volume in that its size
+is established at the time that the Point-in-Time Copy volume set is enabled.
+If the amount of change to the entire volume set over the duration of its usage
+exceeds the space allocated for the shadow volume, the shadow volume is marked
+as out of space. It is possible to read from the shadow volume even after it is
+out of space, until a portion of the data for which there was no room is
+requested. Once that happens, the read fails and the shadow volume is marked
+offline.
+.sp
+.LP
+To address this issue, Point-in-Time Copy supports the ability to associate an
+\fBoverflow\fR volume to an existing Point-in-Time Copy dependent volume set.
+Thus, if the size of the Compact Dependent Shadow Volume is too small, or an
+unscheduled amount of change occurs to the volume set, changed data can be
+redirected to the associated overflow volume. To facilitate efficient usage of
+this overflow volume, it can be associated with multiple Point-in-Time Copy
+volume sets on an as-needed basis.
+.SS "Considerations"
+.sp
+.LP
+Prior to invoking an Point-in-Time Copy \fBenable\fR, \fBcopy\fR or
+\fBupdate\fR operation, Point-in-Time Copy assures that the shadow volume is
+not mounted, to prevent a file system panic from occurring. Also, it is
+suggested that you either unmount or suspend (quiesce) all applications using
+the master volume, for only the instant when the point-in-time snapshot is
+taken. This assures that an atomically consistent point-in-time snapshot is
+taken.
+.sp
+.LP
+It is suggested that, if the master volume was suspended rather than unmounted,
+the new point-in-time shadow volume's integrity be validated using volume
+validation utilities, such as \fBfsck\fR(1M). The reason is that Point-in-Time
+Copy has made a point-in-time copy of a \fBmounted\fR master volume to an
+\fBunmounted\fR shadow volume. During the mounting of the shadow volume, the
+file system detects that it is in the \fBmounted\fR state. Typically this state
+occurs only when a system crashes, so the file system attempts to validate the
+integrity of the volume assuming a system failure occurred, not an
+Point-in-Time Copy.
+.SS "ENVIRONMENT OPTIONS"
+.sp
+.LP
+The \fBii_bitmap\fR variable in the \fB/usr/kernel/drv/ii.conf\fR configuration
+file determines the bitmap volume operational semantics as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Indicates that the bitmap is maintained in memory only or resume operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 13n
+.rt
+Indicates that the bitmap is maintained in memory and on disk. This is the
+default value.
+.RE
+
+.sp
+.LP
+If a system failure occurrs while using \fBii_bitmap=0\fR, the shadow volume
+might be inconsistent and fast resynchronization would not be possible.
+.sp
+.LP
+If Point-in-Time Copy is used in conjunction with the Network Storage component
+Remote Mirror or in a Sun Cluster, set \fBii_bitmap=1\fR.
+.sp
+.LP
+The \fBii_debug\fR variable in the \fB/usr/kernel/drv/ii.conf\fR configuration
+file determines the amount of information logging that is output to the system
+console \fB/dev/console\fR during Point-in-Time Copy processing.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Indicates that no logging is sent to the system console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 13n
+.rt
+Indicates that informational logging is sent to the system console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 13n
+.rt
+Indicates that developmental logging is sent to the system console.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBiiadm\fR utility supports the following options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fB{ind|dep}\fR \fImaster_vol shadow_vol bitmap_vol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable Point-in-Time Copy for the specified master, shadow, and bitmap volumes.
+.sp
+The enable shadow set processing assures that the specified volumes are
+accessible, that the \fIshadow_vol\fR is not mounted, and that the
+\fIbitmap_vol\fR is correctly sized for the type of shadow set being created.
+Additionally, it assures that the volumes are under control of the SV driver (
+if they are not, it puts them there), initializes the bitmap volume, and, if
+the volume set is an independent shadow set, a full copy operation is
+initiated.
+.sp
+On a successful enable, Point-in-Time Copy stores the specified
+\fImaster_vol\fR, \fIshadow_vol\fR and \fIbitmap_vol\fR names, plus the
+enabling type (\fBind\fR or \fBdep\fR), into the Point-in-Time Copy
+configuration store. The configuration store contains all currently configured
+Point-in-Time Copy Volume Sets and their associated configuration attributes.
+(See discussion above on independent and dependent shadow volume semantics.)
+.sp
+\fImaster_vol\fR is the volume from which a point-in-time snapshot is made.
+.sp
+\fIshadow_vol\fR is the volume that contains the point-in-time snapshot.
+.sp
+\fIbitmap_vol\fR is used for tracking differences between the shadow and master
+volumes. When Point-in-Time Copy shadow operations are suspended or resumed,
+the bitmap volume (maintained in kernel memory) can be stored in or retrieved
+from permanent storage. The storage associated with the bitmap volume should be
+as redundant as that of the shadow volume storage.
+.sp
+The \fIshadow_vol\fR name is the name that the Point-in-Time Copy Shadow Set is
+known by for all \fBiiadm\fR options requiring specification of a
+\fIvolume_set\fR name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the Point-in-Time Copy volume set associated with the specified
+\fIvolume_set\fR.
+.sp
+If Point-in-Time Copy was running in \fBindependent\fR mode as specified in the
+\fB-e\fR \fBind\fR options, above, the shadow volume data contains the same
+data as it did before it was disabled (assuming no writes have occurred). Users
+can access the master and shadow volumes, as they are now standalone
+point-in-time copies.
+.sp
+During the time that the full copy is active, an \fBindependent\fR volume
+operates as though it is a \fBdependent\fR volume. To assure that the volume is
+no longer in full copy mode, issue the following command to wait for the full
+copy to complete:
+.sp
+.in +2
+.nf
+# iiadm -w \fIvolume_set\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fB-p\fR] \fB-u\fR \fBs\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Update the shadow volume from the master.
+.sp
+Updates a point-in-time copy of the master volume to the shadow volume.
+\fIvolume_set\fR is the Point-in-Time Copy shadow set containing the master and
+shadow volumes. This option provides a fast resynchronization of the shadow
+volume, creating an incremental copy of the master. This update copies all 32KB
+segments flagged as different between the master and shadow volumes. It does
+not copy all master volume data, only changed data. While the data is being
+copied, the shadow is dependent upon the master volume.
+.sp
+Before using this option, momentarily quiesce the workload to the volumes; stop
+the host application from writing to the volumes. This ensures that the
+point-in-time data is consistent. You can visually check the status of this
+copy or update operation with \fBiiadm\fR \fB-i\fR \fIvolume_set\fR, or
+interactively (by means of a shell or script) with \fBiiadm\fR \fB-w\fR
+\fIvolume_set\fR, before using the target volume for any other operations.
+.sp
+This command supports PID (Process IDentifier) locking, by using the option
+\fB-p\fR, \fBiiadm\fR \fB-p\fR \fB-u\fR \fBs\fR. Enabling this option prevents
+other processes from taking a new point-in-time snapshot, thus invalidating
+prior point-in-time data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fB-p\fR] [\fB-n\fR] \fB-u\fR \fBm\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Updates a point-in-time copy of the master volume from the shadow.
+\fIvolume_set\fR is the Point-in-Time Copy volume set containing the master and
+shadow. This option provides a fast resynchronization of the master volume,
+creating an incremental copy of the shadow. This update copies all 32KB
+segments flagged as different between the master and shadow volumes. It does
+not copy all shadow volume data, only changed data. While the data is being
+copied, the master is dependent upon the shadow volume.
+.sp
+Before using this option, momentarily quiesce the workload to the volumes; stop
+the host application from writing to the volumes. This ensures that the
+point-in-time data is consistent. You can visually check the status of this
+copy or update operation with \fBiiadm\fR \fB-i\fR \fIvolume_set\fR, or
+interactively (by means of a shell or script) with \fBiiadm\fR \fB-w\fR
+\fIvolume_set\fR, before using the target volume for any other operations.
+.sp
+This command is query enabled to prevent accidentally overwriting the data on a
+master volume. When this command option is used in scripts, add the \fB-n\fR
+option to prevent the query from occurring.
+.sp
+This command supports PID (Process IDentifier) locking, by using the option
+\fB-p\fR, \fBiiadm\fR \fB-p\fR \fB-u\fR \fBm\fR. Enabling this option prevents
+other processes from taking a new point-in-time snapshot, thus invalidating
+prior point-in-time data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fB-p\fR] \fB-c\fR s \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Copy the master volume to the shadow.
+.sp
+Creates a point-in-time copy of the master volume to the shadow volume.
+\fIvolume_set\fR is the Point-in-Time Copy volume set containing the master and
+shadow. This option writes all data in the point-in-time copy of the master
+volume to the shadow volume. While the data is being copied from master to
+shadow, the shadow is dependent on the master volume.
+.sp
+This option performs a full volume copy. Use \fBiiadm\fR \fB-u\fR \fBs\fR
+unless the integrity of the data on the independent shadow volume is in doubt.
+Otherwise, use this option to synchronize the master and shadow volumes; that
+is, make the data on each volume match.
+.sp
+Before using this option, momentarily quiesce the workload to the volumes; stop
+the host application from writing to the volumes. This ensures that the
+point-in-time data is consistent. You can visually check the status of this
+copy or update operation with \fBiiadm\fR \fB-i\fR \fIvolume_set\fR, or
+interactively (by means of a shell or script) with \fBiiadm\fR \fB-w\fR
+\fIvolume_set\fR, before using the target volume for any other operations.
+.sp
+This command supports PID (Process IDentifier) locking, by using the \fB-p\fR
+option, \fBiiadm\fR \fB-p\fR \fB-c\fR \fBs\fR. Enabling this option prevents
+other processes from taking a new point-in-time snapshot, thus invalidating
+prior point-in-time data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fBm\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Copy the shadow volume to the master.
+.sp
+Creates a point-in-time copy of the shadow volume to the master volume.
+\fIvolume_set\fR is the Point-in-Time Copy volume set containing the master and
+shadow volumes. This option writes all data in the point-in-time copy of the
+shadow volume to the master volume. While the data is being copied from the
+shadow to the master, the master is dependent upon the shadow volume.
+.sp
+This option performs a full volume copy. Use \fBiiadm\fR \fB-u\fR \fBm\fR
+unless the integrity of the data on the independent master is in doubt.
+Otherwise, use this option to synchronize the master and shadow volumes; that
+is, make the data on each volume match.
+.sp
+Before using this option, momentarily quiesce the workload to the volumes; stop
+the host application from writing to the volumes. This ensures that the
+point-in-time data is consistent. You can visually check the status of this
+copy or update operation with \fBiiadm\fR \fB-i\fR \fIvolume_set\fR, or
+interactively (by means of a shell or script) with \fBiiadm\fR \fB-w\fR
+\fIvolume_set\fR, before using the target volume for any other operations.
+.sp
+This command is query-enabled to prevent accidentally overwriting the data on a
+master volume. When this command option is used in scripts, add the \fB-n\fR
+option to prevent the query from occurring.
+.sp
+This command supports PID (Process IDentifier) locking, by using the \fB-p\fR
+option, \fBiiadm\fR \fB-p\fR \fB-c\fR \fBm\fR. Enabling this option prevents
+other processes from taking a new point-in-time snapshot, thus invalidating
+prior point-in-time data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Abort any current copy operation that might be active between the master and
+shadow volumes. \fIvolume_set\fR is the Point-in-Time Copy volume set
+containing the master and shadow volumes. After executing \fBiiadm\fR \fB-a\fR,
+the update or copy to the target (master or shadow) volume is incomplete. The
+target volume is now a dependent copy of the source volume. Reissue the update
+or copy command option to resynchronize the volumes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB[\fR\fB-p\fR\fB] [\fR\fB-n\fR\fB] \fR\fB-w\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Wait until any in-progress copy or update operation completes or is aborted.
+\fIvolume_set\fR is the Point-in-Time Copy volume set containing the master and
+shadow volumes.
+.sp
+This option waits until the current Point-in-Time Copy operation is complete,
+thus preventing a subsequent \fBiiadm\fR command (from a shell or script) from
+executing. Use this command option when you need to be sure the copy or update
+operation has completed.
+.sp
+This command supports PID (Process IDentifier) unlocking. If a prior copy or
+update, using a command \fBiiadm\fR \fB-p\fR \fB{\fR\fB-c\fR\fB|\fR\fB-u\fR\fB}
+{m|s}\fR, was invoked with the \fB-p\fR option, upon completion of the wait
+processing, if the current PID was the PID that locked the point-in-time data,
+this option unlocks the data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display status for the Point-in-Time Copy currently-enabled or -suspended
+volume set. \fIvolume_set\fR is the Point-in-Time Copy volume set containing
+the master and shadow volumes. If no \fIvolume_set\fR is specified, status is
+displayed for all Point-in-Time Copy volume sets that are configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all currently configured Point-in-Time Copy volumes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR \fIoverflow_vol\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option causes Point-in-Time Copy to initialize the specified
+\fIoverflow_vol\fR for subsequent use as an overflow volume in conjunction with
+Compact Dependent Shadow Volumes. To facilitate efficient, shared usage of this
+overflow volume, it can be associated with multiple Point-in-Time Copy volume
+sets on an as-needed basis.
+.sp
+During initialization of the \fIoverflow_vol\fR, the initiator of this option,
+must answer the following question: "Initialize this overflow volume? yes/no" A
+response of either "yes/no" is required before proceeding.
+.sp
+This option supports the \fB-n\fR option, so that the requested action is
+performed without prompting. This option is useful for inclusion in a script.
+The \fB-n\fR option must be specified first. For example, "\fBiiadm\fR
+\fB-nO\fR \fBvol\fR" is valid; "\fBiiadm\fR \fB-On\fR \fBvol\fR" is not.
+.sp
+Make sure you want to initialize the data on the specified \fIoverflow_vol\fR,
+especially when using the \fB-n\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIoverflow_vol\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option enables the specified \fIoverflow_vol\fR, for subsequent use as an
+overflow volume in a situation where the size of the Compact Dependent Shadow
+Volume is too small, or an unscheduled amount of change occurs to the volume
+set. Overflow changed data would be redirected to the associated overflow
+volume. \fIvolume_set\fR is the Point-in-Time Copy volume set containing the
+master and shadow volumes.
+.sp
+If the \fIoverflow_vol\fR has not been initialized, this option initializes the
+\fIoverflow_vol\fR (see \fB-O\fR option), then attaches the \fIoverflow_vol\fR
+to the \fIvolume_set\fR.
+.sp
+If \fIoverflow_vol\fR was previously initialized, this option attaches the
+\fIoverflow_vol\fR to the \fIvolume_set\fR.
+.sp
+This option supports the \fB-n\fR option, so that the requested action is
+performed without prompting. This option is useful for inclusion in a script.
+The \fB-n\fR option must be specified first. For example, "\fBiiadm\fR
+\fB-nA\fR \fBvol\fR" is valid; "\fBiiadm\fR \fB-An\fR \fBvol\fR" is not.
+.sp
+Make sure you want to initialize the data on the specified \fIoverflow_vol\fR,
+especially when using the \fB-n\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option removes the overflow volume currently associated with the specified
+\fIvolume_set\fR. If the overflow volume is currently in use by the
+\fIvolume_set\fR, this operation fails with an "Overflow volume still in use"
+error message. To resolve this situation, perform one of the operations
+described below on the \fIvolume_set\fR. These operations momentarily clear out
+all overflow writes that are associated with this volume set.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBabort\fR(\fB-a\fR)\fR
+.ad
+.sp .6
+.RS 4n
+Abort copy operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable\fR(\fB-d\fR)\fR
+.ad
+.sp .6
+.RS 4n
+Dissolve the volume set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBupdate\fR(\fB-u\fR)\fR
+.ad
+.sp .6
+.RS 4n
+Update the volume set.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option lists all overflow volumes which are associated with one or more
+volume sets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR \fIoverflow_vol\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option displays the current status of the \fIoverflow_vol\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Export the independent shadow volume of the Point-in-Time Copy volume set
+specified by \fIvolume_set\fR. The shadow volume is to be made available to
+another host for read/write access, by means of an enabling technology, such as
+multi-ported devices. This other host is responsible for maintaining a bitmap
+of differences that is used to merge with locally recorded differences to the
+master when the shadow volume is rejoined to its master volume. While a shadow
+volume is exported it must not be subject to an update or copy operation.
+Perform an \fBiiadm\fR \fB-w\fR \fIvolume_set\fR command prior to invoking an
+export command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIvolume_set\fR \fIbitmap_vol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Import the independent shadow volume of the Point-in-Time Copy volume set
+specified by \fIvolume_set\fR. The shadow volume must have been previously
+exported from a host by means of an enabling technology, such as multi-ported
+devices. The import operation causes this host to start maintaining a bitmap of
+differences as the volume is modified. The \fIbitmap_vol\fR should not be the
+same as that used when the shadow volume was originally formed into a shadow
+group.
+.sp
+After the exported/imported independent shadow volume is no longer needed by
+the other node, you must enter a disable command so that the \fIbitmap_vol\fR
+and its associated \fIshadow_vol\fR are consistent, prior to performing a join
+operation. For example,
+.sp
+.in +2
+.nf
+# iiadm -d \fIvolume_set\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-J\fR \fIvolume_set\fR \fIbitmap_vol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Join the \fIvolume_set\fR, using the \fIbitmap_vol\fR, with the master volume
+set of the Point-in-Time Copy volume set. The bitmap volume supplied is read
+and merged with the original volume to reconstruct the original volume set
+consisting of the master, shadow, and bitmap volumes. The \fIbitmap_vol\fR to
+be merged is the one obtained on the node that had imported the independent
+shadow volume. There must be no write activity to the shadow volume on the
+importing machine from the time the bitmap is copied over until the shadow is
+once again imported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgroup_name\fR \fB-m\fR \fIvolume_set [volume_set2 ...]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add one or more existing Point-in-Time Copy \fIvolume_set(s)\fR into a user
+specified \fIgroup_name\fR. This association of one or more Point-in-Time Copy
+volume sets in a group allows the list of \fBiiadm\fR options shown below to be
+performed on all volume sets within the \fIgroup_name\fR as a whole.
+.sp
+Only the commands \fBCOPY\fR (\fB-c\fR) and \fBUPDATE\fR (\fB-u\fR) are
+performed atomically across all Point-in-Time Copy sets within the group. All
+other grouped, \fBiiadm\fR commands are performed sequentially on each member
+of the group.
+.sp
+The syntax of an \fBiiadm\fR group command is as follows:
+.sp
+.in +2
+.nf
+iiadm -g \fIgroup_name\fR [\fIoptions\fR]
+.fi
+.in -2
+.sp
+
+The \fIoptions\fR are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Abort copy operation on all sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+Attach \fIoverflow_vol\fR to all sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fB{s | m}\fR\fR
+.ad
+.sp .6
+.RS 4n
+Copy shadow/master for all sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Detach \fIoverflow_vol\fR from all sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable all sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.sp .6
+.RS 4n
+Export all volume sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Status of all volume sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all volume sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all groups.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not ask if an update of the master volume is what the user really intended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set parameters on all volume sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reset all volume sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fB{s | m}\fR\fR
+.ad
+.sp .6
+.RS 4n
+Update shadow/master for all sets within \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.sp .6
+.RS 4n
+Wait for all volume sets within \fIgroup_name\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fB-" "\fR \fB-m\fR \fIvolume_set\fR [\fIvolume_set2 ...\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Remove one or more existing Point-in-Time Copy \fIvolume_set(s)\fR from their
+currently associated \fIgroup_name\fR. By default, or until moved into a user
+specified \fIgroup_name\fR, all Point-in-Time Copy \fIvolume_set(s)\fR are in
+the blank (\fB" "\fR) group. This association allows all the previously
+documented \fBiiadm\fR group commands to be performed against the blank (\fB"
+"\fR) \fBiiadm\fR \fIgroup_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIcluster_tag\fR\fR
+.ad
+.sp .6
+.RS 4n
+This Point-in-Time Copy option is a modifier that limits configuration
+operations to only those volumes belonging to a Sun Cluster Resource Group, or
+Disk Group.
+.sp
+In a Sun Cluster where the volume manager is Sun Cluster-aware, \fBiiadm\fR
+automatically obtains the correct Disk Group information, therefore this option
+is typically not required unless the volumes are part of an encompassing
+Resource Group.
+.sp
+In a Sun Cluster where the volumes are accessible on the local node only, the
+special \fIcluster_tag\fR of \fBlocal\fR is used to indicate volumes that are
+not part of a Sun Cluster Resource Group or Disk Group.
+.sp
+If "\fB-L\fR" is given as a the \fIcluster_tag\fR argument, then \fBiiadm\fR
+lists all cluster tags associated with Point-in-Time Copy.
+.sp
+This option is invalid when used on a Solaris system on which the Sun Cluster
+package has not been installed or configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the \fBiiadm\fR usage summary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the current version of the Point-in-Time Copy software components.
+.RE
+
+.sp
+.LP
+Contact Sun Enterprise Services for assistance in using the remaining commands
+in this section.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIdelay\fR \fIunit\fR \fIvolume_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Alter the Point-in-Time Copy volume set tuning parameters for the specified
+\fIvolume_set\fR to \fIdelay\fR ticks, every \fIunit\fR I/O's. Delay ranges
+from 2 to 10000 inclusive; unit ranges from 100 to 60000 inclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+After a volume has failed, Point-in-Time Copy places it offline. After
+replacing the volume, place it back online using this option. Associated
+dependent volumes in the Point-in-Time Copy volume set are also placed online.
+After the volume is placed online, this command also starts any necessary
+point-in-time volume updates.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Command completed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 13n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdscfg\fR(1M), \fBsvadm\fR(1M), \fBds.log\fR(4), \fBrdc.cf\fR(4),
+\fBattributes\fR(5), \fBii\fR(7D), \fBsv\fR(7D)
diff --git a/usr/src/man/man1m/iicpbmp.1m b/usr/src/man/man1m/iicpbmp.1m
new file mode 100644
index 0000000000..9f1ba1a1e2
--- /dev/null
+++ b/usr/src/man/man1m/iicpbmp.1m
@@ -0,0 +1,81 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH iicpbmp 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+iicpbmp \- copy Availability Suite Point-In-Time bitmap volumes
+.SH SYNOPSIS
+.LP
+.nf
+\fBiicpbmp\fR [\fB-c\fR] \fIold_bitmap\fR \fInew_bitmap\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBiicpbmp\fR command copies an Availability Suite Point-in-Time bitmap
+volume, rewriting the bitmap header so that it is consistent with the new
+bitmap volume name. The configuration entry for the shadow set is rewritten to
+reflect the location of the new bitmap.
+.sp
+.LP
+No checks on the current use of either the old or new bitmap volumes are made.
+The \fBiicpbmp\fR command should only be run when the Point-In-Time Copy shadow
+set using the old bitmap is suspended.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 13n
+.rt
+Do not attempt to update the Availability Suite configuration for the
+Point-in-Time shadow set that uses the bitmap. This option produces a duplicate
+of the bitmap but does not affect the shadow set using the old bitmap volume.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIold_bitmap\fR \fInew_bitmap\fR\fR
+.ad
+.sp .6
+.RS 4n
+The old and new Point-In-Time bitmap volumes.
+.RE
+
+.SH WARNINGS
+.sp
+.LP
+The \fBiicpbmp\fR should be run only when a system is in single-user mode.
+\fBiicpbmp\fR makes no attempt to check if an Point-In-Time Copy set is in use
+at the time the copy is made. Running \fBiicpbmp\fR without the \fB-c\fR flag
+while Point-In-Time Copy is using the shadow set results in inconsistencies in
+the shadow set the next time Point-In-Time Copy is started.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBiiadm\fR(1M), \fBiicpshd\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/iicpshd.1m b/usr/src/man/man1m/iicpshd.1m
new file mode 100644
index 0000000000..dc560f7f3d
--- /dev/null
+++ b/usr/src/man/man1m/iicpshd.1m
@@ -0,0 +1,89 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH iicpshd 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+iicpshd \- copy Availability Suite Point-in-Time shadow volume
+.SH SYNOPSIS
+.LP
+.nf
+\fBiicpshd\fR [\fB-s\fR] \fIold_shadow\fR \fInew_shadow\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBiicpshd\fR command copies an Availability Suite Instant Image shadow
+volume, updating the bit map header and Availability Suite configuration to
+reflect the new shadow volume.
+.sp
+.LP
+No checks on the current use of either the old or new shadow volumes are made.
+The \fBiicpshd\fR command should only be run when the Instant Image shadow set
+using the old shadow volume is suspended.
+.SH OPTIONS
+.sp
+.LP
+The \fBiicpshd\fR command supports the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 13n
+.rt
+Update the StorageTek configuration information for the Point-in-Time shadow
+set, but do \fBnot\fR copy data from the old shadow volume to the new shadow
+volume.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+A \fBiicpshd\fR command line has the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIold_shadow\fR \fInew_shadow\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBiicpshd\fR copies the data of the old Availability Suite Instant Image
+shadow volume to the new shadow volume and updates the bit map header and
+configuration data.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBiiadm\fR(1M), \fBiicpbmp\fR(1M), \fBattributes\fR(5)
+.SH WARNINGS
+.sp
+.LP
+\fBiicpshd\fR should be run only when the system is in single-user mode. When
+you run \fBiicpshd\fR, the command makes no attempt to check if a Point-in-Time
+set is in use. Running \fBiicpshd\fR with the \fB-s\fR flag while Point-in-Time
+is using the old shadow volume can result in shadow volume data loss. If you
+use the \fB-s\fR option, you must manually copy the data on the old shadow
+volume to the new shadow volume.
diff --git a/usr/src/man/man1m/ikeadm.1m b/usr/src/man/man1m/ikeadm.1m
new file mode 100644
index 0000000000..c681c43915
--- /dev/null
+++ b/usr/src/man/man1m/ikeadm.1m
@@ -0,0 +1,876 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ikeadm 1M "27 Jan 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ikeadm \- manipulate Internet Key Exchange (IKE) parameters and state
+.SH SYNOPSIS
+.LP
+.nf
+\fBikeadm\fR [\fB-np\fR]
+.fi
+
+.LP
+.nf
+\fBikeadm\fR [\fB-np\fR] get [debug | priv | stats | defaults]
+.fi
+
+.LP
+.nf
+\fBikeadm\fR [\fB-np\fR] set [debug | priv] [level] [file]
+.fi
+
+.LP
+.nf
+\fBikeadm\fR [\fB-np\fR] [get | del] [p1 | rule | preshared] [id]
+.fi
+
+.LP
+.nf
+\fBikeadm\fR [\fB-np\fR] add [rule | preshared] { \fIdescription\fR }
+.fi
+
+.LP
+.nf
+ikeadm [\fB-np\fR] token [login | logout] \fIPKCS#11_Token_Object\fR
+.fi
+
+.LP
+.nf
+\fBikeadm\fR [\fB-np\fR] [read | write] [rule | preshared | certcache] \fIfile\fR
+.fi
+
+.LP
+.nf
+\fBikeadm\fR [\fB-np\fR] [dump | pls | rule | preshared]
+.fi
+
+.LP
+.nf
+\fBikeadm\fR [\fB-np\fR] flush [p1 | certcache]
+.fi
+
+.LP
+.nf
+\fBikeadm\fR help
+ [get | set | add | del | read | write | dump | flush | token]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBikeadm\fR utility retrieves information from and manipulates the
+configuration of the Internet Key Exchange (\fBIKE\fR) protocol daemon,
+\fBin.iked\fR(1M).
+.sp
+.LP
+\fBikeadm\fR supports a set of operations, which may be performed on one or
+more of the supported object types. When invoked without arguments,
+\fBikeadm\fR enters interactive mode which prints a prompt to the standard
+output and accepts commands from the standard input until the end-of-file is
+reached.
+.sp
+.LP
+Because \fBikeadm\fR manipulates sensitive keying information, you must be
+superuser to use this command. Additionally, some of the commands available
+require that the daemon be running in a privileged mode, which is established
+when the daemon is started.
+.sp
+.LP
+For details on how to use this command securely see .
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevent attempts to print host and network names symbolically when reporting
+actions. This is useful, for example, when all name servers are down or are
+otherwise unreachable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Paranoid. Do not print any keying material, even if saving Security
+Associations. Instead of an actual hexadecimal digit, print an \fBX\fR when
+this flag is turned on.
+.RE
+
+.SH USAGE
+.SS "Commands"
+.sp
+.LP
+The following commands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add the specified object. This option can be used to add a new policy rule or a
+new preshared key to the current (running) in.iked configuration. When adding a
+new preshared key, the command cannot be invoked from the command line, as it
+will contain keying material. The rule or key being added is specified using
+appropriate id-value pairs as described in the \fBID FORMATS\fR section.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete a specific object or objects from \fBin.iked\fR's current configuration.
+This operation is available for \fBIKE\fR (Phase 1) \fBSA\fRs, policy rules,
+and preshared keys. The object to be deleted is specified as described in the
+\fBId Formats\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdump\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display all objects of the specified type known to \fBin.iked\fR. This option
+can be used to display all Phase 1 \fBSA\fRs, policy rules, preshared keys, or
+the certificate cache. A large amount of output may be generated by this
+command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflush\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove all \fBIKE\fR (Phase 1) \fBSA\fRs or cached certificates from
+\fBin.iked\fR.
+.sp
+Note that flushing the \fBcertcache\fR will also (as a side-effect) update IKE
+with any new certificates added or removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lookup and display the specified object. May be used to view the current debug
+or privilege level, global statistics and default values for the daemon, or a
+specific \fBIKE\fR (Phase 1) \fBSA\fR, policy rule, or preshared key. The
+latter three object types require that identifying information be passed in;
+the appropriate specification for each object type is described below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhelp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print a brief summary of commands, or, when followed by a command, prints
+information about that command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBread\fR\fR
+.ad
+.sp .6
+.RS 4n
+Update the current \fBin.iked\fR configuration by reading the policy rules or
+preshared keys from either the default location or from the file specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adjust the current debug or privilege level. If the debug level is being
+modified, an output file may optionally be specified; the output file
+\fBmust\fR be specified if the daemon is running in the background and is not
+currently printing to a file. When changing the privilege level, adjustments
+may only be made to lower the access level; it cannot be increased using
+ikeadm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwrite\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write the current \fBin.iked\fR policy rule set or preshared key set to the
+specified file. A destination file must be specified. This command should not
+be used to overwrite the existing configuration files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtoken\fR\fR
+.ad
+.sp .6
+.RS 4n
+Log into a PKCS#11 token object and grant access to keying material or log out
+and invalidate access to keying material.
+.sp
+\fBtoken\fR can be run as a normal user with the following authorizations:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBtoken\fR login: \fBsolaris.network.ipsec.ike.token.login\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBtoken\fR logout: \fBsolaris.network.ipsec.ike.token.logout\fR
+.RE
+.RE
+
+.SS "Object Types"
+.sp
+.ne 2
+.mk
+.na
+\fBdebug\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the daemon's debug level. This determines the amount and type of
+output provided by the daemon about its operations. The debug level is actually
+a bitmask, with individual bits enabling different types of information.
+.sp
+
+.sp
+.TS
+tab();
+cw(1.83i) cw(1.83i) cw(1.83i)
+lw(1.83i) lw(1.83i) lw(1.83i)
+.
+DescriptionFlagNickname
+_
+Certificate management0x0001cert
+Key management0x0002key
+Operational0x0004op
+Phase 1 SA creation0x0008phase1
+Phase 2 SA creation0x0010phase2
+PF_KEY interface0x0020pfkey
+Policy management0x0040policy
+Proposal construction0x0080prop
+Door interface0x0100door
+Config file processing0x0200config
+All debug flags0x3ffall
+.TE
+
+When specifying the debug level, either a number (decimal or hexadecimal) or a
+string of nicknames may be given. For example, \fB88\fR, \fB0x58\fR, and
+\fBphase1\fR+\fBphase2\fR+\fBpolicy\fR are all equivalent, and will turn on
+debug for \fBphase 1\fR \fBsa\fR creation, \fBphase 2 sa\fR creation, and
+policy management. A string of nicknames may also be used to remove certain
+types of information; \fBall-op\fR has the effect of turning on all debug
+\fBexcept\fR for operational messages; it is equivalent to the numbers
+\fB1019\fR or \fB0x3fb\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpriv\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the daemon's access privilege level. The possible values are:
+.sp
+.in +2
+.nf
+Description Level Nickname
+Base level 0 base
+Access to preshared key info 1 modkeys
+Access to keying material 2 keymat
+.fi
+.in -2
+.sp
+
+By default, \fBin.iked\fR is started at the base level. A command-line option
+can be used to start the daemon at a higher level. \fBikeadm\fR can be used to
+lower the level, but it cannot be used to raise the level.
+.sp
+Either the numerical level or the nickname may be used to specify the target
+privilege level.
+.sp
+In order to get, add, delete, dump, read, or write preshared keys, the
+privilege level must at least give access to preshared key information.
+However, when viewing preshared keys (either using the get or dump command),
+the key itself will only be available if the privilege level gives access to
+keying material. This is also the case when viewing Phase 1 \fBSA\fRs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstats\fR
+.ad
+.sp .6
+.RS 4n
+Global statistics from the daemon, covering both successful and failed Phase 1
+\fBSA\fR creation.
+.sp
+Reported statistics include:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of current P1 \fBSA\fRs which the local entity initiated
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of current P1 \fBSA\fRs where the local entity was the responder
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of all P1 \fBSA\fRs which the local entity initiated since boot
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of all P1 \fBSA\fRs where the local entity was the responder since boot
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of all attempted \fBP1\fR \fBSA\fRs since boot, where the local entity
+was the initiator; includes failed attempts
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of all attempted P1 \fBSA\fRs since boot, where the local entity was the
+responder; includes failed attempts
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of all failed attempts to initiate a \fBP1\fR \fBSA\fR, where the failure
+occurred because the peer did not respond
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of all failed attempts to initiate a P1 \fBSA\fR, where the peer
+responded
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Count of all failed \fBP1\fR \fBSA\fRs where the peer was the initiator
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Whether a PKCS#11 library is in use, and if applicable, the PKCS#11 library
+that is loaded. See .
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdefaults\fR
+.ad
+.sp .6
+.RS 4n
+Display default values used by the \fBin.iked\fR daemon. Some values can be
+overriden in the daemon configuration file (see \fBike.config\fR(4)); for these
+values, the token name is displayed in the \fBget defaults\fR output. The
+output will reflect where a configuration token has changed the default.
+.sp
+Default values might be ignored in the event a peer system makes a valid
+alternative proposal or they can be overriden by per-rule values established in
+\fBike.config\fR. In such instances, a \fBget defaults\fR command continues to
+display the default values, not the values used to override the defaults.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBp1\fR
+.ad
+.sp .6
+.RS 4n
+An \fBIKE\fR Phase 1 \fBSA\fR. A \fBp1\fR object is identified by an \fBIP\fR
+address pair or a cookie pair; identification formats are described below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrule\fR
+.ad
+.sp .6
+.RS 4n
+An \fBIKE\fR policy rule, defining the acceptable security characteristics for
+Phase 1 \fBSA\fRs between specified local and remote identities. A rule is
+identified by its label; identification formats are described below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpreshared\fR
+.ad
+.sp .6
+.RS 4n
+A preshared key, including the local and remote identification and applicable
+\fBIKE\fR mode. A preshared key is identified by an \fBIP\fR address pair or an
+identity pair; identification formats are described below.
+.RE
+
+.SS "Id Formats"
+.sp
+.LP
+Commands like \fBadd\fR, \fBdel\fR, and \fBget\fR require that additional
+information be specified on the command line. In the case of the delete and get
+commands, all that is required is to minimally identify a given object; for the
+add command, the full object must be specified.
+.sp
+.LP
+Minimal identification is accomplished in most cases by a pair of values. For
+\fBIP\fR addresses, the local addr and then the remote addr are specified,
+either in dot-notation for IPv4 addresses, colon-separated hexadecimal format
+for IPv6 addresses, or a host name present in the host name database. If a host
+name is given that expands to more than one address, the requested operation
+will be performed multiple times, once for each possible combination of
+addresses.
+.sp
+.LP
+Identity pairs are made up of a local type-value pair, followed by the remote
+type-value pair. Valid types are:
+.sp
+.ne 2
+.mk
+.na
+\fBprefix\fR
+.ad
+.sp .6
+.RS 4n
+An address prefix.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfqdn\fR
+.ad
+.sp .6
+.RS 4n
+A fully-qualified domain name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdomain\fR
+.ad
+.sp .6
+.RS 4n
+Domain name, synonym for fqdn.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuser_fqdn\fR
+.ad
+.sp .6
+.RS 4n
+User identity of the form \fIuser\fR@fqdn.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmailbox\fR
+.ad
+.sp .6
+.RS 4n
+Synonym for \fBuser_fqdn\fR.
+.RE
+
+.sp
+.LP
+A cookie pair is made up of the two cookies assigned to a Phase 1 Security
+Association (\fBSA\fR) when it is created; first is the initiator's, followed
+by the responder's. A cookie is a 64-bit number.
+.sp
+.LP
+Finally, a label (which is used to identify a policy rule) is a character
+string assigned to the rule when it is created.
+.sp
+.LP
+Formatting a rule or preshared key for the add command follows the format rules
+for the in.iked configuration files. Both are made up of a series of id-value
+pairs, contained in curly braces (\fB{\fR and \fB}\fR). See \fBike.config\fR(4)
+and \fBike.preshared\fR(4) for details on the formatting of rules and preshared
+keys.
+.SH SECURITY
+.sp
+.LP
+The \fBikeadm\fR command allows a privileged user to enter cryptographic keying
+information. If an adversary gains access to such information, the security of
+IPsec traffic is compromised. The following issues should be taken into account
+when using the \fBikeadm\fR command.
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Is the \fBTTY\fR going over a network (interactive mode)?
+.sp
+If it is, then the security of the keying material is the security of the
+network path for this \fBTTY\fR's traffic. Using \fBikeadm\fR over a clear-text
+telnet or rlogin session is risky. Even local windows may be vulnerable to
+attacks where a concealed program that reads window events is present.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Is the file accessed over the network or readable to the world (read/write
+commands)?
+.sp
+A network-mounted file can be sniffed by an adversary as it is being read. A
+world-readable file with keying material in it is also risky.
+.RE
+.sp
+.LP
+If your source address is a host that can be looked up over the network, and
+your naming system itself is compromised, then any names used will no longer be
+trustworthy.
+.sp
+.LP
+Security weaknesses often lie in misapplication of tools, not the tools
+themselves. It is recommended that administrators are cautious when using the
+\fBikeadm\fR command. The safest mode of operation is probably on a console, or
+other hard-connected \fBTTY\fR.
+.sp
+.LP
+For additional information regarding this subject, see the afterward by Matt
+Blaze in Bruce Schneier's \fIApplied Cryptography: Protocols, Algorithms, and
+Source Code in C.\fR
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREmptying out all Phase 1 Security Associations
+.sp
+.LP
+The following command empties out all Phase 1 Security Associations:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm flush p1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying all Phase 1 Security Associations
+.sp
+.LP
+The following command displays all Phase 1 Security Associations:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm dump p1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDeleting a Specific Phase 1 Security Association
+.sp
+.LP
+The following command deletes the specified Phase 1 Security Associations:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm del p1 local_ip remote_ip\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRAdding a Rule From a File
+.sp
+.LP
+The following command adds a rule from a file:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm add rule rule_file\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRAdding a Preshared Key
+.sp
+.LP
+The following command adds a preshared key:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm\fR
+ ikeadm> \fBadd preshared { localidtype ip localid local_ip
+ remoteidtype ip remoteid remote_ip ike_mode main
+ key 1234567890abcdef1234567890abcdef }\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRSaving All Preshared Keys to a File
+.sp
+.LP
+The following command saves all preshared keys to a file:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm write preshared target_file\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRViewing a Particular Rule
+.sp
+.LP
+The following command views a particular rule:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm get rule rule_label\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRReading in New Rules from \fBike.config\fR
+.sp
+.LP
+The following command reads in new rules from the ike.config file:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm read rules\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRLowering the Privilege Level
+.sp
+.LP
+The following command lowers the privilege level:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm set priv base\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRViewing the Debug Level
+.sp
+.LP
+The following command shows the current debug level
+
+.sp
+.in +2
+.nf
+example# \fBikeadm get debug\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRUsing stats to Verify Hardware Accelerator
+.sp
+.LP
+The following example shows how stats may include an optional line at the end
+to indicate if IKE is using a PKCS#11 library to accelerate public-key
+operations, if applicable.
+
+.sp
+.in +2
+.nf
+example# \fBikeadm get stats\fR
+Phase 1 SA counts:
+Current: initiator: 0 responder: 0
+Total: initiator: 21 responder: 27
+Attempted:initiator: 21 responder: 27
+Failed: initiator: 0 responder: 0
+ initiator fails include 0 time-out(s)
+PKCS#11 library linked in from /opt/SUNWconn/lib/libpkcs11.so
+example#
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRDisplaying the Certificate Cache
+.sp
+.LP
+The following command shows the certificate cache and the status of associated
+private keys, if applicable:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm dump certcache\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRLogging into a PKCS#11 Token
+.sp
+.LP
+The following command shows logging into a PKCS#11 token object and unlocking
+private keys:
+
+.sp
+.in +2
+.nf
+example# \fBikeadm token login "Sun Metaslot"\fR
+Enter PIN for PKCS#11 token:
+ikeadm: PKCS#11 operation successful
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+An error occurred. Writes an appropriate error message to standard error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityNot an Interface
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBin.iked\fR(1M), \fBike.config\fR(4), \fBike.preshared\fR(4),
+\fBattributes\fR(5), \fBipsec\fR(7P)
+.sp
+.LP
+Schneier, Bruce, \fIApplied Cryptography: Protocols, Algorithms, and Source
+Code in C\fR, Second Edition, John Wiley & Sons, New York, NY, 1996.
+.SH NOTES
+.sp
+.LP
+As \fBin.iked\fR can run only in the global zone and exclusive-IP zones, this
+command is not useful in shared-IP zones.
diff --git a/usr/src/man/man1m/ikecert.1m b/usr/src/man/man1m/ikecert.1m
new file mode 100644
index 0000000000..b971ab0098
--- /dev/null
+++ b/usr/src/man/man1m/ikecert.1m
@@ -0,0 +1,1102 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ikecert 1M "10 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ikecert \- manipulates the machine's on-filesystem public-key certificate
+databases
+.SH SYNOPSIS
+.LP
+.nf
+\fBikecert\fR certlocal
+ [\fB-a\fR | \fB-e\fR | \fB-h\fR | \fB-k\fR | \fB-l\fR | \fB-r\fR | \fB-U\fR | \fB-C\fR | \fB-L\fR]
+ [[\fB-p\fR] \fB-T\fR \fIPKCS#11 token identifier\fR]
+ [\fIoption_specific_arguments\fR]...
+.fi
+
+.LP
+.nf
+\fBikecert\fR certdb [\fB-a\fR | \fB-e\fR | \fB-h\fR | \fB-l\fR | \fB-r\fR | \fB-U\fR | \fB-C\fR | \fB-L\fR]
+ [[\fB-p\fR] \fB-T\fR \fIPKCS#11 token identifier\fR]
+ [\fIoption_specific_arguments\fR]...
+.fi
+
+.LP
+.nf
+\fBikecert\fR certrldb [\fB-a\fR | \fB-e\fR | \fB-h\fR | \fB-l\fR | \fB-r\fR]
+ [\fIoption_specific_arguments\fR]...
+.fi
+
+.LP
+.nf
+\fBikecert\fR tokens
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBikecert\fR command manipulates the machine's on-filesystem public-key
+certificate databases. See the "Files" section, below.
+.sp
+.LP
+\fBikecert\fR has three subcommands, one for each of the three major
+repositories, plus one for listing available hardware tokens:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBcertlocal\fR deals with the private-key repository,
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBcertdb\fR deals with the public-key repository, and:
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBcertrldb\fR deals with the certificate revocation list (\fBCRL\fR)
+repository.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBtokens\fR shows the available PKCS#11 tokens for a given PKCS#11 library.
+.RE
+.sp
+.LP
+The only supported PKCS#11 library and hardware is the Sun Cryptographic
+Accelerator 4000.
+.SH OPTIONS
+.sp
+.LP
+Except for \fBtokens\fR, each subcommand requires one option, possibly followed
+by one or more option-specific arguments.
+.sp
+.LP
+The \fBtokens\fR subcommand lists all available tokens in the PKCS#11 library
+specified in \fB/etc/inet/ike/config\fR.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertlocal\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand, this option installs (adds)
+a private key into the Internet Key Exchange (\fBIKE\fR) local \fBID\fR
+database. The key data is read from standard input, and is in either
+Solaris-only format or unencrypted PKCS#8 DER format. Key format is
+automatically detected. PKCS#8 key files in PEM format and files in password
+protected, encrypted format are not recognized, but can be converted
+appropriately using tools available in OpenSSL.
+.sp
+This option cannot be used with PKCS#11 hardware objects when the corresponding
+public certificate is not already present in the \fBIKE\fR database. When
+importing both a public certificate and a private key, the public portion must
+be imported first using the \fBcertdb\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcertdb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertdb\fR subcommand, this option reads a
+certificate from standard input and adds it to the \fBIKE\fR certificate
+database. The certificate must be a \fBX.509\fR certificate in \fBPEM Base64\fR
+or \fBASN.1 BER\fR encoding. The certificate adopts the name of its identity.
+.sp
+This option can import a certificate into a PKCS#11 hardware key store one of
+two ways: Either a matching public key object \fBand\fR an existing private key
+object were created using the \fBcertlocal\fR \fB-kc\fR option, or if a PKCS#11
+token is explicitly specified using the \fB-T\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcertrldb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertrldb\fR subcommand, this option installs (adds)
+a \fBCRL\fR into the \fBIKE\fR database. The \fBCRL\fR reads from standard
+input.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR [\fB-f\fR pkcs8] \fIslot\fR\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertlocal\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand, this option extracts a
+private key from the \fBIKE\fR local \fBID\fR database. The key data are
+written to standard output. The slot specifies which private key to extract.
+Private keys are only extracted in binary/ber format.
+.sp
+\fBUse this option with extreme caution.\fR See the "Security" section, below.
+.sp
+This option will not work with PKCS#11 hardware objects.
+.sp
+When used in conjunction with "\fB-f\fR \fBpkcs8\fR", the private key is
+extracted in unencrypted PKCS#8 format.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR [\fB-f\fR \fIoutput-format\fR] \fBcertspec\fR\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertdb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertdb\fR subcommand, this option extracts a
+certificate from the IKE certificate database which matches the certspec and
+writes it to standard output. The \fIoutput-format\fR option specifies the
+encoding format. Valid options are \fBPEM\fR and \fBBER\fR. This extracts the
+first matching identity. The default output format is \fBPEM\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcertrldb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertrldb\fR subcommand, this option extracts a
+\fBCRL\fR from the IKE database. The key data are written to standard output.
+The \fBcertspec\fR specifies which CRL that is extracted. The first one that
+matches in the database is extracted. See \fBNOTES\fR, below, for details on
+\fBcertspec\fR patterns.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-kc\fR \fB-m\fR \fIkeysize\fR \fB-t\fR \fIkeytype\fR \fB-D\fR \fIdname\fR
+\fB-A\fR \fIaltname\fR[ ... ]\fR
+.ad
+.br
+.na
+\fB[\fB-S\fR \fIvalidity start_time\fR][\fB-F\fR \fIvalidity end_time\fR]\fR
+.ad
+.br
+.na
+\fB[\fB-T\fR \fIPKCS#11 token identifier\fR]\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertlocal\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand, this option generates a IKE
+public/private key pair and adds it into the local ID database. It also
+generates a certificate request and sends that to standard output. For details
+on the above options see for details on the \fIdname\fR argument and see
+ALTERNATIVE NAMES for details on the \fIaltname\fR argument(s) to this command.
+.sp
+If \fB-T\fR is specified, the hardware token will generate the pair of keys.
+.sp
+If \fB-p\fR is specified with \fB-T\fR, the PKCS#11 token pin is stored in the
+clear on-disk, with root-protected file permissions. If not specified, one must
+unlock the token with \fBikeadm\fR(1M) once \fBin.iked\fR(1M) is running.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ks\fR \fB-m\fR \fIkeysize\fR \fB-t\fR \fIkeytype\fR \fB-D\fR \fIdname\fR
+\fB-A\fR \fIaltname\fR[ ... ]\fR
+.ad
+.br
+.na
+\fB[\fB-S\fR \fIvalidity start_time\fR][\fB-F\fR \fIvalidity end_time\fR]\fR
+.ad
+.br
+.na
+\fB[\fB-f\fR \fIoutput-format\fR][[\fB-p\fR] \fB-T\fR \fIPKCS#11 token
+identifier\fR]\fR
+.ad
+.br
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertlocal\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand, generates a public/private
+key pair and adds it into the local ID database. This option also generates a
+self-signed certificate and installs it into the certificate database. See
+\fBNOTES\fR, below, for details on the \fIdname\fR and \fIaltname\fR arguments
+to this command.
+.sp
+If \fB-T\fR is specified, the hardware token will generate the pair of keys,
+and the self-signed certificate will also be stored in the hardware.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR [\fB-v\fR] [\fIslot\fR]\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertlocal\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand, this option lists private
+keys in the local ID database. The \fB-v\fR option switches output to a verbose
+mode where the entire certificate is printed.
+.sp
+\fBUse the\fR \fB-v\fR\fBoption with extreme caution.\fR See the "Security"
+section, below. The \fB-v\fR option will not work with PKCS#11 hardware
+objects.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR [\fB-v\fR] [certspec]\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertdb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertdb\fR subcommand, this option lists certificates
+in the IKE certificate database matching the certspec, if any pattern is given.
+The list displays the identity string of the certificates, as well as, the
+private key if in the key database. The \fB-v\fR switches the output to a
+verbose mode where the entire certificate is printed.
+.sp
+If the matching ceritifcate is on a hardware token, the token ID is also
+listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcertrldb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertrldb\fR subcommand, this option lists the CRLs
+in the IKE database along with any certificates that reside in the database and
+match the Issuer Name. \fBcertspec\fR can be used to specify to list a specific
+CRL. The \fB-v\fR option switches the output to a verbose mode where the entire
+certificate is printed. See \fBNOTES\fR, below, for details on\fBcertspec\fR
+patterns.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIslot\fR\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertlocal\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand, deletes the local ID in the
+specified slot. If there is a corresponding public key, it is not be deleted.
+If this slot is deemed as "corrupted" or otherwise unrecognizable, it is
+deleted as well.
+.sp
+If this is invoked on a PKCS#11 hardware object, it will also delete the
+PKCS#11 public key and private key objects. If the public key object was
+already deleted by \fBcertdb\fR \fB-r\fR, that is not a problem.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR certspec\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertdb\fR
+.ad
+.sp .6
+.RS 4n
+Removes certificates from the IKE certificate database. Certificates matching
+the specified certificate pattern are deleted. Any private keys in the
+\fBcertlocal\fR database corresponding to these certificates are not deleted.
+This removes the first matching identity.
+.sp
+If the pattern specifies a slot and the slot is deemed as "corrupted" or
+otherwise unrecognizable, it is deleted as well.
+.sp
+If this is invoked on a PKCS#11 hardware object, it will also delete the
+certificate and the PKCS#11 public key object. If the public key object was
+already deleted by \fBcertlocal\fR \fB-r\fR, that is not a problem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcertrldb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertrldb\fR subcommand, this option deletes the CRL
+with the given \fBcertspec\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR slot\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcertlocal\fR\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand and the \fB-T\fR flag, this
+option unlinks a PKCS#11 private key object from the IKE database. There will
+be no attempt to access the hardware keystore or to validate or remove the
+on-token private key object. The object is simply disassociated from the IKE
+database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcertdb\fR\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertdb\fR subcommand and the \fB-T\fR flag, this
+option unlinks a PKCS#11 certificate object from the IKE database. There will
+be no attempt to access the hardware keystore or to validate or remove the
+on-token certificate or public key objects. The objects are simply
+disassociated from the IKE database.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR certspec\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertlocal\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand, this option copies both the
+private key and its corresponding certificate and the public key from the
+on-disk keystore to the hardware keystore specified by its PKCS#11 token. This
+subcommand attempts to create each of these components, even if one part fails.
+In all cases, the original on-disk private key and public certificate are still
+retained and must be deleted separately. Some hardware keystores, such as
+FIPS-140 compliant devices, may not support migration of private key objects in
+this manner.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcertdb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertdb\fR subcommand, this option copies the
+certificate matching the given \fBcertspec\fR and corresponding public key from
+the on-disk keystore to the hardware keystore specified by its PKCS#11 token.
+The original public certificate is still retained and must be deleted
+separately, if desired.
+.sp
+If \fB-p\fR is specified, the PKCS#11 token pin is stored in the clear on-disk,
+with root-protected file permissions. If not specified, one must unlock the
+token with \fBikeadm\fR(1M) once \fBin.iked\fR(1M) is running.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR pattern\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.ne 2
+.mk
+.na
+\fBcertlocal\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertlocal\fR subcommand, this option links an
+existing on-token private key object to the \fBIKE\fR database. The object
+itself remains on the token. This option simply lets the \fBIKE\fR
+infrastructure know that the object exists, as if it had been originally
+created on-token with the Solaris \fBIKE\fR utilities.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcertdb\fR
+.ad
+.sp .6
+.RS 4n
+When specified with the \fBcertdb\fR subcommand, this option links an existing
+on-token certificate object to the \fBIKE\fR database. The object itself
+remains on the token. This option simply lets the \fBIKE\fR infrastructure know
+that the object exists, as if it had been originally created on-token with the
+Solaris \fBIKE\fR utilities.
+.sp
+If \fB-p\fR is specified, the PKCS#11 token pin is stored in the clear on-disk,
+with root-protected file permissions. If not specified, one must unlock the
+token with \fBikeadm\fR(1M) once \fBin.iked\fR(1M) is running.
+.RE
+
+.RE
+
+.SH PARAMETERS
+.sp
+.LP
+The following parameters are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBcertspec\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the pattern matching of certificate specifications. Valid
+\fBcertspec\fRs are the Subject Name, Issuer Name, and Subject Alternative
+Names.
+.sp
+These can be specified as certificates that match the given \fBcertspec\fR
+values and that do not match other \fBcertspec\fR values. To signify a
+\fBcertspec\fR value that is not supposed to be present in a certificate, place
+an \fB!\fR in front of the tag.
+.sp
+Valid \fBcertspec\fRs are:
+.sp
+.in +2
+.nf
+<Subject Names>
+SUBJECT=<Subject Names>
+ISSUER=<Issuer Names>
+SLOT=<Slot Number in the certificate database>
+
+Example:"ISSUER=C=US, O=SUN" IP=1.2.3.4 !DNS=example.com
+Example:"C=US, O=CALIFORNIA" IP=5.4.2.1 DNS=example.com
+.fi
+.in -2
+.sp
+
+Valid arguments to the alternative names are as follows:
+.sp
+.in +2
+.nf
+IP=<IPv4 address>
+DNS=<Domain Name Server address>
+EMAIL=<email (RFC 822) address>
+URI=<Uniform Resource Indicator value>
+DN=<LDAP Directory Name value>
+RID=<Registered Identifier value>
+.fi
+.in -2
+.sp
+
+Valid Slot numbers can be specified without the keyword tag. Alternative name
+can also be issued with keyword tags.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+Subject Alternative Names the certificate. The argument that follows the
+\fB-A\fR option should be in the form of \fItag\fR=\fIvalue\fR. Valid tags are
+\fBIP\fR, \fBDNS\fR, \fBEMAIL\fR, \fBURI\fR, \fBDN\fR, and \fBRID\fR (See
+example below).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBX.509\fR distinguished name for the certificate subject. It typically has
+the form of: \fBC\fR=country, \fBO\fR=organization, \fBOU\fR=organizational
+unit, \fBCN\fR=common name. Valid tags are: \fBC\fR, \fBO\fR, \fBOU\fR, and
+\fBCN\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Encoding output format. \fBpem\fR for \fBPEM Base64\fR or \fBber\fR for
+\fBASN.1 BER\fR. If \fB-f\fR is not specified, \fBpem\fR is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIvalidity end_time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Finish certificate validity time. If the \fB-F\fR flag is not specified, the
+validity end time is calculated at four years from the validity start time. See
+\fBNOTES\fR for an explanation for the validity date and time syntax.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Key size. It can be \fB512\fR, \fB1024\fR, \fB2048\fR, \fB3072\fR, or
+\fB4096\fR. Use the following command to determine the key sizes supported by
+the Solaris Cryptographic Framework:
+.sp
+.in +2
+.nf
+% \fBcryptoadm list -vm\fR
+.fi
+.in -2
+.sp
+
+The mechanisms displayed by the preceding command are described in
+\fBpkcs11_softtoken\fR(5). If your system has hardware acceleration, the
+mechanisms supported by the hardware will be listed in a separate section for
+each provider. Mechanisms can be any of:
+.sp
+.in +2
+.nf
+CKM_RSA_PKCS_KEY_PAIR_GEN
+CKM_DSA_KEY_PAIR_GEN
+CKM_DH_PKCS_KEY_PAIR_GEN
+.fi
+.in -2
+.sp
+
+.LP
+Note -
+.sp
+.RS 2
+Some hardware does not support all key sizes. For example, the Sun
+Cryptographic Accelerator 4000's keystore (when using the \fB-T\fR option,
+below), supports only up to 2048-bit keys for RSA and 1024-bit keys for DSA.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIvalidity start_time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start certificate validity time. If the \fB-S\fR flag is not specified, the
+current date and time is used for the validity start time. See \fBNOTES\fR,
+below, for an explanation for the validity date and time syntax.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Key type. It can be \fBrsa-sha1\fR, \fBrsa-md5\fR, or \fBdsa-sha1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.sp .6
+.RS 4n
+PKCS#11 token identifier for hardware key storage. This specifies a hardware
+device instance in conformance to the PKCS#11 standard. A PKCS#11 library must
+be specified in \fB/etc/inet/ike/config\fR. (See \fBike.config\fR(4).)
+.sp
+A token identifier is a 32-character space-filled string. If the token given is
+less than 32 characters long, it will be automatically padded with spaces.
+.sp
+If there is more than one PKCS#11 library on a system, keep in mind that only
+one can be specified at a time in \fB/etc/inet/ike/config\fR. There can be
+multiple tokens (each with individual key storage) for a single PKCS#11 library
+instance.
+.RE
+
+.SH SECURITY
+.sp
+.LP
+This command can save private keys of a public-private key pair into a file.
+Any exposure of a private key may lead to compromise if the key is somehow
+obtained by an adversary.
+.sp
+.LP
+The PKCS#11 hardware object functionality can address some of the shortcomings
+of on-disk private keys. Because IKE is a system service, user intervention at
+boot is not desireable. The token's PIN, however, is still needed. The PINfor
+the PKCS#11 token, therefore, is stored where normally the on-disk
+cryptographic keys would reside. This design decision is deemed acceptable
+because, with a hardware key store, \fBpossession\fR of the key is still
+unavailable, only \fBuse\fR of the key is an issue if the host is compromised.
+Beyond the PIN, the security of \fBikecert\fR then reduces to the security of
+the PKCS#11 implementation. The PKCS#11 implementation should be scrutinized
+also.
+.sp
+.LP
+Refer to the afterword by Matt Blaze in Bruce Schneier's \fIApplied
+Cryptography: Protocols, Algorithms, and Source Code in C\fR for additional
+information.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRGenerating a Self-Signed Certificate
+.sp
+.LP
+The following is an example of a self-signed certificate:
+
+.sp
+.in +2
+.nf
+example# \fBikecert certlocal -ks -m 512 -t rsa-md5 -D "C=US, O=SUN" -A\fR
+IP=1.2.3.4
+Generating, please wait...
+Certificate generated.
+Certificate added to database.
+-----BEGIN X509 CERTIFICATE-----
+MIIBRDCB76ADAgECAgEBMA0GCSqGSIb3DQEBBAUAMBsxCzAJBgNVBAYTAlVTMQww
+CgYDVQQKEwNTVU4wHhcNMDEwMzE0MDEzMDM1WhcNMDUwMzE0MDEzMDM1WjAbMQsw
+CQYDVQQGEwJVUzEMMAoGA1UEChMDU1VOMFowDQYJKoZIhvcNAQEBBQADSQAwRgJB
+APDhqpKgjgRoRUr6twTMTtSuNsReEnFoReVer!ztpXpQK6ybYlRH18JIqU/uCV/r
+26R/cVXTy5qc5NbMwA40KzcCASOjIDAeMAsGA1UdDwQEAwIFoDAPBgNVHREECDAG
+hwQBAgMEMA0GCSqGSIb3DQEBBAUAA0EApTRD23KzN95GMvPD71hwwClukslKLVg8
+f1xm9ZsHLPJLRxHFwsqqjAad4j4wwwriiUmGAHLTGB0lJMl8xsgxag==
+-----END X509 CERTIFICATE-----
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRGenerating a CA Request
+.sp
+.LP
+Generating a \fBCA\fR request appears the same as the self-signed certificate.
+The only differences between the two is the option \fB-c\fR instead of
+\fB-s\fR, and the certificate data is a \fBCA\fR request.
+
+.sp
+.in +2
+.nf
+example# \fBikecert certlocal -kc -m 512 -t rsa-md5 \e
+ -D "C=US, O=SUN" -A IP=1.2.3.4\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRA CA Request Using a Hardware Key Store
+.sp
+.LP
+The following example illustrates the specification of a token using the
+\fB-T\fR option.
+
+.sp
+.in +2
+.nf
+example# \fB# ikecert certlocal -kc -m 1024 -t rsa-md5 -T vca0-keystore \e
+ -D "C=US, O=SUN" -A IP=1.2.3.4\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred. Writes an appropriate error message to standard error.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/secret/ike.privatekeys/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Private keys. A private key \fBmust\fR have a matching public-key certificate
+with the same filename in \fB/etc/inet/ike/publickeys/\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ike/publickeys/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Public-key certificates. The names are only important with regard to matching
+private key names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ike/crls/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Public key certificate revocation lists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ike/config\fR\fR
+.ad
+.sp .6
+.RS 4n
+Consulted for the pathname of a PKCS#11 library.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBikeadm\fR(1M), \fBin.iked\fR(1M), \fBgetdate\fR(3C), \fBike.config\fR(4),
+\fBattributes\fR(5), \fBpkcs11_softtoken\fR(5)
+.sp
+.LP
+Schneier, Bruce. \fIApplied Cryptography: Protocols, Algorithms, and Source
+Code in C\fR. Second Edition. John Wiley & Sons. New York, NY. 1996.
+.sp
+.LP
+RSA Labs, PKCS#11 v2.11: \fICryptographic Token Interface Standards\fR,
+November 2001.
+.SH NOTES
+.sp
+.LP
+The following is the validity date and time syntax when the \fB-F\fR or
+\fB-S\fR flags are used:
+.sp
+.LP
+For relative dates, the syntax is as follows:
+.sp
+.in +2
+.nf
+{+,-}[Ns][Nm][Nh][Nd][Nw][NM][Ny]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where:
+.sp
+.ne 2
+.mk
+.na
+\fBN\fR
+.ad
+.sp .6
+.RS 4n
+represents an integer
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBs\fR
+.ad
+.sp .6
+.RS 4n
+represents seconds
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBm\fR
+.ad
+.sp .6
+.RS 4n
+represents minutes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBh\fR
+.ad
+.sp .6
+.RS 4n
+represents hours
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBd\fR
+.ad
+.sp .6
+.RS 4n
+represents days
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBw\fR
+.ad
+.sp .6
+.RS 4n
+represents weeks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBM\fR
+.ad
+.sp .6
+.RS 4n
+represents months
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBy\fR
+.ad
+.sp .6
+.RS 4n
+represents years
+.RE
+
+.sp
+.LP
+These parameters can be given in any order. For example, "+3d12h" is three and
+a half days from now, and "-3y2M" is three years and 2 months ago.
+.sp
+.LP
+All parameters with fixed values can be added up in absolute seconds. Months
+and years, which have variable numbers of seconds, are calculated using
+calendar time. Months and years, which are not of fixed length, are defined
+such that adding a year or month means the same day next year or month. For
+instance, if it is Jan 26, 2005 and the certificate should expire 3 years and 1
+month from today, the expiration (end validity time) date will be Feb 26, 2008.
+Overflows are dealt with accordingly. For example, one month from Jan 31, 2005
+is March 3, 2005, since February has only 28 days.
+.sp
+.LP
+For absolute dates, the syntax of the date formats included in the file
+\fB/etc/datemsk\fR are accepted (See \fBgetdate\fR(3C) for details). Any date
+string prepended with a "+" or "-" is treated as a time relative to the current
+time, while others are treated as absolute dates. Sanity checking is also done
+to ensure that the end validity date is greater than the start validity date.
+For example, the following command would create a certificate with start date 1
+day and 2 hours ago and an end date of Jan 22nd, 2007 at 12:00:00 local time.
+.sp
+.in +2
+.nf
+# ikecert certlocal -ks -t rsa-sha1 -m 1024 \e
+ -D "CN=mycert, O=Sun, C=US" \e
+ -S -1d2h -F "01/22/2007 12:00:00"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+As \fBin.iked\fR(1M) can run only in the global zone and exclusive-IP zones,
+this command is not useful in shared-IP zones.
diff --git a/usr/src/man/man1m/in.chargend.1m b/usr/src/man/man1m/in.chargend.1m
new file mode 100644
index 0000000000..19bb8b6991
--- /dev/null
+++ b/usr/src/man/man1m/in.chargend.1m
@@ -0,0 +1,91 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.chargend 1M "23 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.chargend \- UDP or TCP character generator service daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.chargend\fR
+.fi
+
+.LP
+.nf
+FMRI \fIsvc\fR:/internet/chargen:default
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+FMRI stands for Fault Management Resource Identifier. It is used to identify
+resources managed by the Fault Manager. See \fBfmd\fR(1M) and \fBsmf\fR(5).
+.sp
+.LP
+The \fBin.chargend\fR service provides the server-side of the
+character-generator protocol. This protocol is used for debugging and bandwidth
+measurement and is available on both TCP and UDP transports, through port 19.
+.sp
+.LP
+The in.chargend service is an \fBinetd\fR(1M) \fBsmf\fR(5) delegated service.
+The \fBin.chargend\fR detects which transport is requested by examining the
+socket it is passed by the \fBinetd\fR daemon.
+.sp
+.ne 2
+.mk
+.na
+\fBTCP-based service\fR
+.ad
+.RS 21n
+.rt
+Once a connection is established, the \fBin.chargend\fR generates a stream of
+data. Any data received is discarded. The server generates data until the
+client program terminates the connection. Note that the data flow is limited by
+TCP flow control mechanisms.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBUDP-based service\fR
+.ad
+.RS 21n
+.rt
+The \fBin.chargend\fR listens for UDP datagrams. When a datagram is received,
+the server generates a UDP datagram in response containing a random number of
+ASCII characters (ranging from 0 to 512 characters). Any received data is
+ignored.
+.RE
+
+.sp
+.LP
+The \fBin.chargend\fR data consists of a pattern of 72 character lines
+containing the printable, 7-bit ASCII characters. Each line is terminated with
+a carriage return and a line feed character.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinetd\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+RFC 864
diff --git a/usr/src/man/man1m/in.comsat.1m b/usr/src/man/man1m/in.comsat.1m
new file mode 100644
index 0000000000..8e775c60f7
--- /dev/null
+++ b/usr/src/man/man1m/in.comsat.1m
@@ -0,0 +1,78 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.comsat 1M "27 Jul 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.comsat, comsat \- biff server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.comsat\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBcomsat\fR is the server process which listens for reports of incoming mail
+and notifies users who have requested to be told when mail arrives. It is
+invoked as needed by \fBinetd\fR(1M), and times out if inactive for a few
+minutes.
+.sp
+.LP
+\fBcomsat\fR listens on a datagram port associated with the \fBbiff\fR service
+specification (see \fBservices\fR(4)) for one line messages of the form
+.sp
+.LP
+\fIuser\fR\fB@\fR\fImailbox\fR\fB-\fR\fIoffset\fR
+.sp
+.LP
+If the \fIuser\fR specified is logged in to the system and the associated
+terminal has the owner execute bit turned on (by a \fBbiff y\fR), the
+\fIoffset\fR is used as a seek offset into the appropriate mailbox file, and
+the first 7 lines or 560 characters of the message are printed on the user's
+terminal. Lines which appear to be part of the message header other than the
+\fBFrom\fR, \fBTo\fR, \fBDate\fR, or \fBSubject\fR lines are not printed when
+displaying the message.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/utmpx\fR\fR
+.ad
+.RS 18n
+.rt
+user access and administration information
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M),
+\fBsvcadm\fR(1M),\fBservices\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The message header filtering is prone to error.
+.sp
+.LP
+The \fBin.comsat\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/comsat:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.daytimed.1m b/usr/src/man/man1m/in.daytimed.1m
new file mode 100644
index 0000000000..b991e3244a
--- /dev/null
+++ b/usr/src/man/man1m/in.daytimed.1m
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.daytimed 1M "23 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.daytimed \- UDP or TCP daytime protocol service daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.daytimed\fR
+.fi
+
+.LP
+.nf
+FMRI \fIsvc\fR:/internet/daytime:default
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+FMRI stands for Fault Management Resource Identifier. It is used to identify
+resources managed by the Fault Manager. See \fBfmd\fR(1M) and \fBsmf\fR(5).
+.sp
+.LP
+The \fBin.daytimed\fR service provides the server-side of the daytime protocol.
+This protocol is used for debugging and bandwidth measurement and is available
+on both TCP and UDP transports, through port 13.
+.sp
+.LP
+The \fBin.daytimed\fR service is an \fBinetd\fR(1M) \fBsmf\fR(5) delegated
+service. The \fBin.daytimed\fR detects which transport is requested by
+examining the socket it is passed by the \fBinetd\fR daemon.
+.sp
+.ne 2
+.mk
+.na
+\fBTCP-based service\fR
+.ad
+.RS 21n
+.rt
+Once a connection is established, the \fBin.daytimed\fR generates the current
+date and time in \fBctime\fR(3C) format as 7-bit ASCII and sends it through the
+connection. The server then closes the connection. Any data received from the
+client side of the connection is discarded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBUDP-based service\fR
+.ad
+.RS 21n
+.rt
+The \fBin.daytimed\fR listens for UDP datagrams. When a datagram is received,
+the server generates the current date and time in \fBctime\fR(3C) format as
+7-bit ASCII and inserts it in a UDP datagram sent in response to the client's
+request. Any received data is ignored.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinetd\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+RFC 867
diff --git a/usr/src/man/man1m/in.dhcpd.1m b/usr/src/man/man1m/in.dhcpd.1m
new file mode 100644
index 0000000000..a35694896e
--- /dev/null
+++ b/usr/src/man/man1m/in.dhcpd.1m
@@ -0,0 +1,510 @@
+'\" te
+.\" Copyright (c) 2004 by Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.dhcpd 1M "10 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.dhcpd \- Dynamic Host Configuration Protocol server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/in.dhcpd\fR [\fB-denv\fR] [\fB-h\fR \fIrelay_hops\fR] [\fB-i\fR \fIinterface,\fR ...]
+ [\fB-l\fR \fIsyslog_local_facility\fR] [\fB-b\fR automatic | manual]
+ [\fB-o\fR \fIDHCP_offer_time\fR] [\fB-t\fR \fIdhcptab_rescan_interval\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/in.dhcpd\fR [\fB-dv\fR] [\fB-h\fR \fIrelay_hops\fR] [\fB-i\fR \fIinterface,\fR]...
+ [\fB-l\fR \fIsyslog_local_facility\fR] \fB-r\fR \fIIP_address\fR | \fIhostname,\fR ...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.dhcpd\fR is a daemon that responds to Dynamic Host Configuration Protocol
+(\fBDHCP\fR) requests and optionally to \fBBOOTP\fR protocol requests. The
+daemon forks a copy of itself that runs as a background process. It must be run
+as root. The daemon has two run modes, \fBDHCP\fR server (with optional
+\fBBOOTP\fR compatibility mode) and \fBBOOTP\fR relay agent mode.
+.sp
+.LP
+The first line in the \fBSYNOPSIS\fR section illustrates the options available
+in the DHCP/BOOTP server mode. The second line in the SYNOPSIS section
+illustrates the options available when the daemon is run in \fBBOOTP\fR relay
+agent mode.
+.sp
+.LP
+The \fBDHCP\fR and \fBBOOTP\fR protocols are used to provide configuration
+parameters to Internet hosts. Client machines are allocated their \fBIP\fR
+addresses as well as other host configuration parameters through this
+mechanism.
+.sp
+.LP
+The \fBDHCP\fR/\fBBOOTP\fR daemon manages two types of \fBDHCP\fR data tables:
+the \fBdhcptab\fR configuration table and the DHCP network tables.
+.sp
+.LP
+See \fBdhcptab\fR(4) regarding the dhcptab configuration table and
+\fBdhcp_network\fR(4) regarding the \fBDHCP\fR network tables.
+.sp
+.LP
+The \fBdhcptab\fR contains macro definitions defined using a \fBtermcap\fR-like
+syntax which permits network administrators to define groups of \fBDHCP\fR
+configuration parameters to be returned to clients. However, a \fBDHCP/BOOTP\fR
+server always returns hostname, network broadcast address, network subnet mask,
+and \fBIP\fR maximum transfer unit (\fBMTU\fR) if requested by a client
+attached to the same network as the server machine. If those options have not
+been explicitly configured in the \fBdhcptab\fR, \fBin.dhcpd\fR returns
+reasonable default values.
+.sp
+.LP
+The \fBdhcptab\fR is read at startup, upon receipt of a \fBSIGHUP\fR signal, or
+periodically as specified by the \fB-t\fR option. A \fBSIGHUP\fR (sent using
+the command \fBsvcadm refresh network/dhcp-server\fR) causes the DHCP/BOOTP
+daemon to reread the \fBdhcptab\fR within an interval from \fB0\fR-\fB60\fR
+seconds (depending on where the DHCP daemon is in its polling cycle). For busy
+servers, users should run \fBsvcadm restart network/dhcp-server\fR to force the
+\fBdhcptab\fR to be reread.
+.sp
+.LP
+The DHCP network tables contain mappings of client identifiers to \fBIP\fR
+addresses. These tables are named after the network they support and the
+datastore used to maintain them.
+.sp
+.LP
+The DHCP network tables are consulted during runtime. A client request received
+from a network for which no DHCP network table exists is ignored.
+.sp
+.LP
+This command may change in future releases of Solaris software. Scripts,
+programs, or procedures that use this command might need modification when
+upgrading to future Solaris software releases.The command line options provided
+with the \fBin.dhcpd\fR daemon are used only for the current session, and
+include only some of the server options you can set. The \fBdhcpsvc.conf\fR(4)
+contains all the server default settings, and can be modified by using the
+\fBdhcpmgr\fR utility. See \fBdhcpsvc.conf\fR(4) for more details.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fB automatic | manual\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option enables \fBBOOTP\fR compatibility mode, allowing the \fBDHCP\fR
+server to respond to \fBBOOTP\fR clients. The option argument specifies whether
+the \fBDHCP\fR server should automatically allocate permanent lease \fBIP\fR
+addresses to requesting \fBBOOTP\fR clients if the clients are not registered
+in the DHCP network tables (\fBautomatic\fR) or respond only to \fBBOOTP\fR
+clients who have been manually registered in the DHCP network tables (\fB
+manual\fR). This option only affects \fBDHCP\fR server mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Debugging mode. The daemon remains as a foreground process, and displays
+verbose messages as it processes \fBDHCP\fR and/or \fBBOOTP\fR datagrams.
+Messages are displayed on the current TTY. This option can be used in both
+DHCP/BOOTP server mode and \fBBOOTP\fR relay agent mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fI relay_hops\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the maximum number of relay agent hops that can occur before the
+daemon drops the DHCP/BOOTP datagram. The default number of relay agent hops is
+4. This option affects both DHCP/BOOTP server mode and \fBBOOTP\fR relay agent
+mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI interface, .\|.\|.\fR\fR
+.ad
+.sp .6
+.RS 4n
+Selects the network interfaces that the daemon should monitor for DHCP/BOOTP
+datagrams. The daemon ignores DHCP/BOOTP datagrams on network interfaces not
+specified in this list. This option is only useful on machines that have
+multiple network interfaces. If this option is not specified, then the daemon
+listens for DHCP/BOOTP datagrams on all network interfaces. The option argument
+consists of a comma-separated list of interface names. It affects both
+DHCP/BOOTP server and \fBBOOTP\fR relay agent run modes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIsyslog_local_facility\fR\fR
+.ad
+.sp .6
+.RS 4n
+The presence of this option turns on transaction logging for the \fBDHCP\fR
+server or \fBBOOTP\fR relay agent. The value specifies the \fBsyslog\fR local
+facility (an integer from \fB0\fR to \fB7\fR inclusive) the DHCP daemon should
+use for tagging the transactions. Using a facility separate from the
+\fBLOG_DAEMON\fR facility allows the network administrator to capture these
+transactions separately from other DHCP daemon events for such purposes as
+generating transaction reports. See \fBsyslog\fR(3C), for details about local
+facilities. Transactions are logged using a record with 9 space-separated
+fields as follows:
+.RS +4
+.TP
+1.
+Protocol:
+.sp
+.in +2
+.nf
+ Relay mode: "BOOTP"
+ Server mode: "BOOTP" or "DHCP" based upon client
+ type.
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+2.
+Type:
+.sp
+.in +2
+.nf
+Relay mode: "RELAY-CLNT", "RELAY-SRVR"
+Server mode: "ASSIGN", "EXTEND", "RELEASE",
+ "DECLINE", "INFORM", "NAK" "ICMP-ECHO."
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+3.
+Transaction time: absolute time in seconds (unix time)
+.RE
+.RS +4
+.TP
+4.
+Lease time:
+.sp
+.in +2
+.nf
+Relay mode: Always 0.
+Server mode: 0 for ICMP-ECHO events, absolute time in
+ seconds (unix time) otherwise
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+5.
+Source IP address: Dotted Internet form
+.LP
+.nf
+Relay mode: Relay interface IP on RELAY-CLNT, INADDR_ANY on RELAY-SRVR. Server mode: Client IP.
+.fi
+
+.RE
+.RS +4
+.TP
+6.
+Destination IP address: Dotted Internet form
+.LP
+.nf
+Relay mode: Client IP on RELAY-CLNT, Server IP on RELAY-SRVR. Server mode: Server IP.
+.fi
+
+.RE
+.RS +4
+.TP
+7.
+Client Identifier: Hex representation (0-9, A-F)
+.LP
+.nf
+Relay mode: MAC address Server mode: BOOTP - MAC address; DHCP - client id
+.fi
+
+.RE
+.RS +4
+.TP
+8.
+Vendor Class identifier (white space converted to
+periods (.)).
+.LP
+.nf
+Relay mode: Always "N/A" Server mode: Vendor class ID tokenized by converting white space characters to periods (.)
+.fi
+
+.RE
+.RS +4
+.TP
+9.
+MAC address: Hex representation (0-9, A-F)
+.LP
+.nf
+Relay mode: MAC address Server mode: MAC address
+.fi
+
+.RE
+The format of this record is subject to change between releases.
+.sp
+Transactions are logged to the console if daemon is in debug mode (\fB-d\fR).
+.sp
+Logging transactions impact daemon performance.
+.sp
+It is suggested that you periodically rotate the DHCP transaction log file to
+keep it from growing until it fills the filesystem. This can be done in a
+fashion similar to that used for the general system message log
+\fB/var/adm/messages\fR and is best accomplished using the facilities provided
+by \fBlogadm\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable automatic duplicate \fBIP\fR address detection. When this option is
+specified, the \fBDHCP\fR server does not attempt to verify that an \fBIP
+address it is about to\fR offer a client is not in use. By default, the
+\fBDHCP\fR server pings an \fBIP\fR address before offering it to a DHCP/BOOTP
+client, to verify that the address is not in use by another machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fI DHCP_offer_time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of seconds the \fBDHCP\fR server should cache the offers
+it has extended to discovering \fBDHCP\fR clients. The default setting is
+\fB10\fR seconds. On slow network media, this value can be increased to
+compensate for slow network performance. This option affects only \fBDHCP\fR
+server mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fI IP_address | hostname, .\|.\|.\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option enables \fBBOOTP\fR relay agent mode. The option argument specifies
+a comma-separated list of \fBIP\fR addresses or hostnames of \fBDHCP\fR or
+\fBBOOTP\fR servers to which the relay agent is to forward \fBBOOTP\fR
+requests. When the daemon is started in this mode, any \fBDHCP\fR tables are
+ignored, and the daemon simply acts as a \fBBOOTP\fR relay agent.
+.sp
+A \fBBOOTP\fR relay agent listens to \fBUDP\fR port 68, and forwards
+\fBBOOTP\fR request packets received on this port to the destinations specified
+on the command line. It supports the \fBBROADCAST\fR flag described in
+\fBRFC\fR 1542. A \fBBOOTP\fR relay agent can run on any machine that has
+knowledge of local routers, and thus does not have to be an Internet gateway
+machine.
+.sp
+Note that the proper entries must be made to the \fBnetmasks\fR database so
+that the \fBDHCP\fR server being served by the \fBBOOTP\fR relay agents can
+identify the subnet mask of the foreign BOOTP/DHCP client's network. See
+\fBnetmasks\fR(4) for the format and use of this database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fI dhcptab_rescan_interval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the interval in minutes that the \fBDHCP\fR server should use to
+schedule the automatic rereading of the \fBdhcptab\fR information. Typically,
+you would use this option if the changes to the \fBdhcptab\fR are relatively
+frequent. Once the contents of the \fBdhcptab\fR have stabilized, you can turn
+off this option to avoid needless reinitialization of the server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose mode. The daemon displays more messages than in the default mode. Note
+that verbose mode can reduce daemon efficiency due to the time taken to display
+messages. Messages are displayed to the current \fBTTY\fR if the debugging
+option is used; otherwise, messages are logged to the \fBsyslogd\fR facility.
+This option can be used in both DHCP/BOOTP server mode and \fBBOOTP\fR relay
+agent mode.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRStarting a \fBDHCP\fR Server in \fBBOOTP\fR Compatibility Mode
+.sp
+.LP
+The following command starts a \fBDHCP\fR server in \fBBOOTP\fR compatibility
+mode, permitting the server to automatically allocate permanent \fBIP\fR
+addresses to \fBBOOTP\fR clients which are not registered in the server's
+table; limits the server's attention to incoming datagrams on network devices
+\fBle2\fR and \fBtr0\fR; drops \fBBOOTP\fR packets whose hop count exceeds 2;
+configures the \fBDHCP\fR server to cache extended \fBDHCP\fR offers for 15
+seconds; and schedules \fBdhcptab\fR rescans to occur every 10 minutes:
+
+.sp
+.in +2
+.nf
+\fB# in.dhcpd \fR\fB-i\fR\fB le2,tr0 \fR\fB-h\fR\fB 2 \fR\fB-o\fR\fB 15 \fR\fB-t\fR\fB 10 \fR\fB-b\fR\fB automatic\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRStarting the Daemon in \fBBOOTP\fR Relay Agent Mode
+.sp
+.LP
+The following command starts the daemon in \fBBOOTP\fR relay agent mode,
+registering the hosts \fBbladerunner\fR and \fB10.0.0.5\fR as relay
+destinations, with debugging and verbose modes enabled, and drops \fBBOOTP\fR
+packets whose hop count exceeds 5:
+
+.sp
+.in +2
+.nf
+\fB# in.dhcpd \fR\fB-d\fR\fB \fR\fB-v\fR\fB \fR\fB-h\fR\fB 5 \fR\fB-r\fR\fB bladerunner,10.0.0.5\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/dhcpsvc.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/init/hosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/inet/dhcp/nsu/rfc2136.so.1\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBcron\fR(1M), \fBdhcpmgr\fR(1M), \fBdhtadm\fR(1M),
+\fBinetadm\fR(1M), \fBinetd\fR(1M), \fBlogadm\fR(1M), \fBpntadm\fR(1M),
+\fBsvcadm\fR(1M), \fBsyslogd\fR(1M), \fBsyslog\fR(3C), \fBdhcpsvc.conf\fR(4),
+\fBdhcp_network\fR(4), \fBdhcptab\fR(4), \fBethers\fR(4), \fBhosts\fR(4),
+\fBnetmasks\fR(4), \fBnsswitch.conf\fR(4), \fBattributes\fR(5), \fBdhcp\fR(5),
+\fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+Alexander, S., and R. Droms, \fIDHCP Options and BOOTP Vendor Extensions\fR,
+RFC 2132, Silicon Graphics, Inc., Bucknell University, March 1997.
+.sp
+.LP
+Droms, R., \fIInteroperation Between DHCP and BOOTP\fR, RFC 1534, Bucknell
+University, October 1993.
+.sp
+.LP
+Droms, R., \fIDynamic Host Configuration Protocol\fR, RFC 2131, Bucknell
+University, March 1997.
+.sp
+.LP
+Wimer, W., \fIClarifications and Extensions for the Bootstrap Protocol\fR, RFC
+1542, Carnegie Mellon University, October 1993.
+.SH NOTES
+.sp
+.LP
+The \fBin.dhcpd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/dhcp-server
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.discardd.1m b/usr/src/man/man1m/in.discardd.1m
new file mode 100644
index 0000000000..6fff027d25
--- /dev/null
+++ b/usr/src/man/man1m/in.discardd.1m
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.discardd 1M "23 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.discardd \- UDP or TCP discard protocol service
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.discardd\fR
+.fi
+
+.LP
+.nf
+FMRI \fIsvc\fR:/internet/discard:default
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+FMRI stands for Fault Management Resource Identifier. It is used to identify
+resources managed by the Fault Manager. See \fBfmd\fR(1M) and \fBsmf\fR(5).
+.sp
+.LP
+The \fBin.discardd\fR service provides the server-side of the discard protocol.
+This protocol is used for debugging and bandwidth measurement and is available
+on both TCP and UDP transports through port 9.
+.sp
+.LP
+The \fBin.discardd\fR service is an \fBinetd\fR(1M) \fBsmf\fR(5) delegated
+service. The \fBin.discardd\fR detects which transport is requested by
+examining the socket it is passed by the \fBinetd\fR daemon.
+.sp
+.LP
+The discard service simply throws away any data it receives from the client.
+.sp
+.ne 2
+.mk
+.na
+\fBTCP-based service\fR
+.ad
+.RS 21n
+.rt
+Once a connection is established, the \fBin.discardd\fR discards any data
+received. No response is generated. The connection remains open until the
+client terminates it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBUDP-based service\fR
+.ad
+.RS 21n
+.rt
+The \fBin.discardd\fR listens for UDP datagrams. When a datagram is received,
+the server discards it. No response is sent.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinetd\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+RFC 863
diff --git a/usr/src/man/man1m/in.echod.1m b/usr/src/man/man1m/in.echod.1m
new file mode 100644
index 0000000000..8a8ef20f1b
--- /dev/null
+++ b/usr/src/man/man1m/in.echod.1m
@@ -0,0 +1,84 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.echod 1M "23 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.echod \- UDP or TCP echo protocol service daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.echod\fR
+.fi
+
+.LP
+.nf
+FMRI \fIsvc\fR:/internet/echo:default
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+FMRI stands for Fault Management Resource Identifier. It is used to identify
+resources managed by the Fault Manager. See \fBfmd\fR(1M) and \fBsmf\fR(5).
+.sp
+.LP
+The \fBin.echod\fR service provides the server-side of the echo protocol. This
+protocol is used for debugging and bandwidth measurement and is available on
+both TCP and UDP transports, through port 7.
+.sp
+.LP
+The \fBin.echod\fR service is an \fBinetd\fR(1M) \fBsmf\fR(5) delegated
+service. The \fBin.echod\fR detects which transport is requested by examining
+the socket it is passed by the \fBinetd\fR daemon.
+.sp
+.ne 2
+.mk
+.na
+\fBTCP-based service\fR
+.ad
+.RS 21n
+.rt
+Once a connection is established, the \fBin.echod\fR echoes any data received
+from the client back to the client. The server echoes data until the client
+program terminates the connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBUDP-based service\fR
+.ad
+.RS 21n
+.rt
+The \fBin.echod\fR listens for UDP datagrams. When a datagram is received, the
+server creates a UDP datagram containing the data it received and sends it to
+the client.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinetd\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+RFC 862
diff --git a/usr/src/man/man1m/in.fingerd.1m b/usr/src/man/man1m/in.fingerd.1m
new file mode 100644
index 0000000000..52b63947d7
--- /dev/null
+++ b/usr/src/man/man1m/in.fingerd.1m
@@ -0,0 +1,128 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.fingerd 1M "31 Jul 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.fingerd, fingerd \- remote user information server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.fingerd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfingerd\fR implements the server side of the Name/Finger protocol, specified
+in \fIRFC 742\fR. The Name/Finger protocol provides a remote interface to
+programs which display information on system status and individual users. The
+protocol imposes little structure on the format of the exchange between client
+and server. The client provides a single command line to the finger server
+which returns a printable reply.
+.sp
+.LP
+\fBfingerd\fR waits for connections on \fBTCP\fR port 79. Once connected, it
+reads a single command line terminated by RETURN-LINEFEED and passes the
+arguments to \fBfinger\fR(1), prepended with \fB-s\fR. \fBfingerd\fR closes its
+connections as soon as the output is finished.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/utmpx\fR\fR
+.ad
+.RS 20n
+.rt
+User and accounting information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 20n
+.rt
+System password file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/lastlog\fR\fR
+.ad
+.RS 20n
+.rt
+Last login times.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.plan \fR\fR
+.ad
+.RS 20n
+.rt
+User's plans.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.project \fR\fR
+.ad
+.RS 20n
+.rt
+User's projects.
+.RE
+
+.SH USAGE
+.sp
+.LP
+\fBfingerd\fR and \fBin.fingerd\fR are IPv6-enabled. See \fBip6\fR(7P).
+.SH SEE ALSO
+.sp
+.LP
+\fBfinger\fR(1), \fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M),
+\fBsvcadm\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5), \fBip6\fR(7P)
+.sp
+.LP
+Harrenstien, Ken, \fIRFC 742, NAME/FINGER\fR, Network Information Center, SRI
+International, Menlo Park, Calif., December 1977.
+.SH NOTES
+.sp
+.LP
+Connecting directly to the server from a \fBTIP\fR or an equally narrow-minded
+TELNET-protocol user program can result in meaningless attempts at option
+negotiation being sent to the server, which foul up the command line
+interpretation. \fBfingerd\fR should be taught to filter out \fBIAC\fR's and
+perhaps even respond negatively (\fBIAC\fR does not) to all option commands
+received.
+.sp
+.LP
+The \fBin.fingerd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/finger:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.ftpd.1m b/usr/src/man/man1m/in.ftpd.1m
new file mode 100644
index 0000000000..edb00efd1b
--- /dev/null
+++ b/usr/src/man/man1m/in.ftpd.1m
@@ -0,0 +1,1419 @@
+'\" te
+.\" Copyright (C) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.ftpd 1M "10 Nov 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.ftpd, ftpd \- File Transfer Protocol Server
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.ftpd\fR [\fB-4\fR] [\fB-A\fR] [\fB-a\fR] [\fB-C\fR] [\fB-d\fR] [\fB-I\fR] [\fB-i\fR] [\fB-K\fR] [\fB-L\fR] [\fB-l\fR]
+ [\fB-o\fR] [\fB-P\fR \fIdataport\fR] [\fB-p\fR \fIctrlport\fR] [\fB-Q\fR] [\fB-q\fR]
+ [\fB-r\fR \fIrootdir\fR] [\fB-S\fR] [\fB-s\fR] [\fB-T\fR \fImaxtimeout\fR] [\fB-t\fR \fItimeout\fR]
+ [\fB-u\fR \fIumask\fR] [\fB-V\fR] [\fB-v\fR] [\fB-W\fR] [\fB-w\fR] [\fB-X\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.ftpd\fR is the Internet File Transfer Protocol (FTP) server process. The
+server may be invoked by the Internet daemon \fBinetd\fR(1M) each time a
+connection to the FTP service is made or run as a standalone server. See
+\fBservices\fR(4).
+.SH OPTIONS
+.sp
+.LP
+\fBin.ftpd\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-4\fR\fR
+.ad
+.RS 17n
+.rt
+When running in standalone mode, listen for connections on an \fBAF_INET\fR
+type socket. The default is to listen on an \fBAF_INET6\fR type socket.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 17n
+.rt
+Enables use of the \fBftpaccess\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.RS 17n
+.rt
+Disables use of the \fBftpaccess\fR(4) file. Use of \fBftpaccess\fR is disabled
+by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 17n
+.rt
+Non-anonymous users need local credentials (for example, to authenticate to
+remote fileservers). So they should be prompted for a password unless they
+forwarded credentials as part of authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 17n
+.rt
+Writes debugging information to \fBsyslogd\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 17n
+.rt
+Logs the names of all files received by the \fBFTP\fR Server to
+\fBxferlog\fR(4). You can override the \fB-i\fR option through use of the
+\fBftpaccess\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.RS 17n
+.rt
+Disables the use of \fBAUTH\fR and \fBident\fR to determine the username on the
+client. See \fIRFC 931\fR. The \fBFTP\fR Server is built not to use \fBAUTH\fR
+and \fBident\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR\fR
+.ad
+.RS 17n
+.rt
+Connections are only allowed for users who can authenticate through the
+\fBftp\fR \fBAUTH\fR mechanism. (Anonymous \fBftp\fR may also be allowed if it
+is configured.) \fBftpd\fR will ask the user for a password if one is required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 17n
+.rt
+Logs each \fBFTP\fR session to \fBsyslogd\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 17n
+.rt
+Logs all commands sent to \fBin.ftpd\fR to \fBsyslogd\fR(1M). When the \fB-L\fR
+option is used, command logging will be on by default, once the FTP Server is
+invoked. Because the \fBFTP\fR Server includes \fBUSER\fR commands in those
+logged, if a user accidentally enters a password instead of the username, the
+password will be logged. You can override the \fB-L\fR option through use of
+the \fBftpaccess\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 17n
+.rt
+Logs the names of all files transmitted by the FTP Server to \fBxferlog\fR(4).
+You can override the \fB-o\fR option through use of the \fBftpaccess\fR(4)
+file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIdataport\fR\fR
+.ad
+.RS 17n
+.rt
+The FTP Server determines the port number by looking in the \fBservices\fR(4)
+file for an entry for the \fBftp-data\fR service. If there is no entry, the
+daemon uses the port just prior to the control connection port. Use the
+\fB-P\fR option to specify the data port number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIctrlport\fR\fR
+.ad
+.RS 17n
+.rt
+When run in standalone mode, the \fBFTP\fR Server determines the control port
+number by looking in the \fBservices\fR(4) file for an entry for the \fBftp\fR
+service. Use the \fB-p\fR option to specify the control port number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR\fR
+.ad
+.RS 17n
+.rt
+Disables \fBPID\fR files. This disables user limits. Large, busy sites that do
+not want to impose limits on the number of concurrent users can use this option
+to disable \fBPID\fR files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 17n
+.rt
+Uses \fBPID\fR files. The \fBlimit\fR directive uses \fBPID\fR files to
+determine the number of current users in each access class. By default,
+\fBPID\fR files are used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrootdir\fR\fR
+.ad
+.RS 17n
+.rt
+\fBchroot\fR(2) to \fIrootdir\fR upon loading. Use this option to improve
+system security. It limits the files that can be damaged should a break in
+occur through the daemon. This option is similar to anonymous \fBFTP\fR.
+Additional files are needed, which vary from system to system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.RS 17n
+.rt
+Places the daemon in standalone operation mode. The daemon runs in the
+background. This is useful for startup scripts that run during system
+initialization. See \fBinit.d\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 17n
+.rt
+Places the daemon in standalone operation mode. The daemon runs in the
+foreground. This is useful when run from \fB/etc/inittab\fR by \fBinit\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fImaxtimeout\fR\fR
+.ad
+.RS 17n
+.rt
+Sets the maximum allowable timeout period to \fImaxtimeout\fR seconds. The
+default maximum timeout limit is 7200 second (two hours). You can override the
+\fB-T\fR option through use of the \fBftpaccess\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItimeout\fR\fR
+.ad
+.RS 17n
+.rt
+Sets the inactivity timeout period to \fItimeout\fR seconds. The default
+timeout period is 900 seconds (15 minutes). You can override the \fB-t\fR
+option through use of the \fBftpaccess\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIumask\fR\fR
+.ad
+.RS 17n
+.rt
+Sets the default \fBumask\fR to \fIumask\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 17n
+.rt
+Displays copyright and version information, then terminate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 17n
+.rt
+Writes debugging information to \fBsyslogd\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR\fR
+.ad
+.RS 17n
+.rt
+Does not record user \fBlogin\fR and \fBlogout\fR in the \fBwtmpx\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.RS 17n
+.rt
+Records each user \fBlogin\fR and \fBlogout\fR in the \fBwtmpx\fR(4) file. By
+default, logins and logouts are recorded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR\fR
+.ad
+.RS 17n
+.rt
+Writes the output from the \fB-i\fR and \fB-o\fR options to the
+\fBsyslogd\fR(1M) file instead of \fBxferlog\fR(4). This allows the collection
+of output from several hosts on one central loghost. You can override the
+\fB-X\fR option through use of the \fBftpaccess\fR(4) file.
+.RE
+
+.SS "Requests"
+.sp
+.LP
+The FTP Server currently supports the following \fBFTP\fR requests. Case is not
+distinguished.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBABOR\fR\fR
+.ad
+.RS 8n
+.rt
+Abort previous command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBADAT\fR\fR
+.ad
+.RS 8n
+.rt
+Send an authentication protocol message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBALLO\fR\fR
+.ad
+.RS 8n
+.rt
+Allocate storage (vacuously).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAUTH\fR\fR
+.ad
+.RS 8n
+.rt
+Specify an authentication protocol to be performed. Currently only
+"\fBGSSAPI\fR" is supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAPPE\fR\fR
+.ad
+.RS 8n
+.rt
+Append to a file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCCC\fR\fR
+.ad
+.RS 8n
+.rt
+Set the command channel protection mode to "\fBClear\fR" (no protection). Not
+allowed if data channel is protected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCDUP\fR\fR
+.ad
+.RS 8n
+.rt
+Change to parent of current working directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCWD\fR\fR
+.ad
+.RS 8n
+.rt
+Change working directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDELE\fR\fR
+.ad
+.RS 8n
+.rt
+Delete a file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBENC\fR\fR
+.ad
+.RS 8n
+.rt
+Send a privacy and integrity protected command (given in argument).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEPRT\fR\fR
+.ad
+.RS 8n
+.rt
+Specify extended address for the transport connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEPSV\fR\fR
+.ad
+.RS 8n
+.rt
+Extended passive command request.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHELP\fR\fR
+.ad
+.RS 8n
+.rt
+Give help information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLIST\fR\fR
+.ad
+.RS 8n
+.rt
+Give list files in a directory (\fBls\fR \fB-lA\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLPRT\fR\fR
+.ad
+.RS 8n
+.rt
+Specify long address for the transport connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLPSV\fR\fR
+.ad
+.RS 8n
+.rt
+Long passive command request.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMIC\fR\fR
+.ad
+.RS 8n
+.rt
+Send an integrity protected command (given in argument).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMKD\fR\fR
+.ad
+.RS 8n
+.rt
+Make a directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMDTM\fR\fR
+.ad
+.RS 8n
+.rt
+Show last time file modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMODE\fR\fR
+.ad
+.RS 8n
+.rt
+Specify data transfer \fImode\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNLST\fR\fR
+.ad
+.RS 8n
+.rt
+Give name list of files in directory (\fBls\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNOOP\fR\fR
+.ad
+.RS 8n
+.rt
+Do nothing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPASS\fR\fR
+.ad
+.RS 8n
+.rt
+Specify password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPASV\fR\fR
+.ad
+.RS 8n
+.rt
+Prepare for server-to-server transfer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPBSZ\fR\fR
+.ad
+.RS 8n
+.rt
+Specify a protection buffer size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPROT\fR\fR
+.ad
+.RS 8n
+.rt
+Specify a protection level under which to protect data transfers. Allowed
+arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclear\fR\fR
+.ad
+.RS 11n
+.rt
+No protection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsafe\fR\fR
+.ad
+.RS 11n
+.rt
+Integrity protection
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprivate\fR\fR
+.ad
+.RS 11n
+.rt
+Integrity and encryption protection
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPORT\fR\fR
+.ad
+.RS 8n
+.rt
+Specify data connection port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPWD\fR\fR
+.ad
+.RS 8n
+.rt
+Print the current working directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQUIT\fR\fR
+.ad
+.RS 8n
+.rt
+Terminate session.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBREST\fR\fR
+.ad
+.RS 8n
+.rt
+Restart incomplete transfer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRETR\fR\fR
+.ad
+.RS 8n
+.rt
+Retrieve a file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRMD\fR\fR
+.ad
+.RS 8n
+.rt
+Remove a directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRNFR\fR\fR
+.ad
+.RS 8n
+.rt
+Specify rename-from file name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRNTO\fR\fR
+.ad
+.RS 8n
+.rt
+Specify rename-to file name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSITE\fR\fR
+.ad
+.RS 8n
+.rt
+Use nonstandard commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIZE\fR\fR
+.ad
+.RS 8n
+.rt
+Return size of file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTAT\fR\fR
+.ad
+.RS 8n
+.rt
+Return status of server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTOR\fR\fR
+.ad
+.RS 8n
+.rt
+Store a file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTOU\fR\fR
+.ad
+.RS 8n
+.rt
+Store a file with a unique name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTRU\fR\fR
+.ad
+.RS 8n
+.rt
+Specify data transfer \fIstructure\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSYST\fR\fR
+.ad
+.RS 8n
+.rt
+Show operating system type of server system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTYPE\fR\fR
+.ad
+.RS 8n
+.rt
+Specify data transfer \fBtype\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUSER\fR\fR
+.ad
+.RS 8n
+.rt
+Specify user name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXCUP\fR\fR
+.ad
+.RS 8n
+.rt
+Change to parent of current working directory. This request is deprecated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXCWD\fR\fR
+.ad
+.RS 8n
+.rt
+Change working directory. This request is deprecated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXMKD\fR\fR
+.ad
+.RS 8n
+.rt
+Make a directory. This request is deprecated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXPWD\fR\fR
+.ad
+.RS 8n
+.rt
+Print the current working directory. This request is deprecated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXRMD\fR\fR
+.ad
+.RS 8n
+.rt
+Remove a directory. This request is deprecated.
+.RE
+
+.sp
+.LP
+The following nonstandard or UNIX specific commands are supported by the
+\fBSITE\fR request:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBALIAS\fR\fR
+.ad
+.RS 15n
+.rt
+List aliases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCDPATH\fR\fR
+.ad
+.RS 15n
+.rt
+List the search path used when changing directories.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCHECKMETHOD\fR\fR
+.ad
+.RS 15n
+.rt
+List or set the \fBchecksum\fR method.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCHECKSUM\fR\fR
+.ad
+.RS 15n
+.rt
+Give the \fBchecksum\fR of a file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCHMOD\fR\fR
+.ad
+.RS 15n
+.rt
+Change mode of a file. For example, \fBSITE CHMOD 755 \fIfilename\fR\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEXEC\fR\fR
+.ad
+.RS 15n
+.rt
+Execute a program. For example, \fBSITE EXEC program params\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGPASS\fR\fR
+.ad
+.RS 15n
+.rt
+Give special group access password. For example, \fBSITE GPASS bar\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGROUP\fR\fR
+.ad
+.RS 15n
+.rt
+Request special group access. For example, \fBSITE GROUP foo\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGROUPS\fR\fR
+.ad
+.RS 15n
+.rt
+List supplementary group membership.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHELP\fR\fR
+.ad
+.RS 15n
+.rt
+Give help information. For example, \fBSITE HELP\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIDLE\fR\fR
+.ad
+.RS 15n
+.rt
+Set idle-timer. For example, \fBSITE IDLE 60\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUMASK\fR\fR
+.ad
+.RS 15n
+.rt
+Change \fBumask\fR. For example, \fBSITE UMASK 002\fR.
+.RE
+
+.sp
+.LP
+The remaining FTP requests specified in \fIRFC 959\fR are recognized, but not
+implemented.
+.sp
+.LP
+The \fBFTP\fR server will abort an active file transfer only when the
+\fBABOR\fR command is preceded by a Telnet "Interrupt Process" (IP) signal and
+a Telnet "Synch" signal in the command Telnet stream, as described in \fIRFC
+959\fR. If a \fBSTAT\fR command is received during a data transfer that has
+been preceded by a Telnet IP and Synch, transfer status will be returned.
+.sp
+.LP
+\fBin.ftpd\fR interprets file names according to the "globbing" conventions
+used by \fBcsh\fR(1). This allows users to utilize the metacharacters: \fB* ? [
+] { } ~\fR
+.sp
+.LP
+\fBin.ftpd\fR authenticates users according to the following rules:
+.sp
+.LP
+First, the user name must be in the password data base, the location of which
+is specified in \fBnsswitch.conf\fR(4). An encrypted password (an
+authentication token in PAM) must be present. A password must always be
+provided by the client before any file operations can be performed. For
+non-anonymous users, the PAM framework is used to verify that the correct
+password was entered. See \fBSECURITY\fR below.
+.sp
+.LP
+Second, the user name must not appear in either the \fB/etc/ftpusers\fR or the
+\fB/etc/ftpd/ftpusers\fR file. Use of the \fB/etc/ftpusers\fR files is
+deprecated, although it is still supported.
+.sp
+.LP
+Third, the users must have a standard shell returned by \fBgetusershell\fR(3C).
+.sp
+.LP
+Fourth, if the user name is \fBanonymous\fR or \fBftp\fR, an anonymous ftp
+account must be present in the password file for user \fBftp\fR. Use
+\fBftpconfig\fR(1M) to create the anonymous \fBftp\fR account and home
+directory tree.
+.sp
+.LP
+Fifth, if the GSS-API is used to authenticate the user, then
+\fBgss_auth_rules\fR(5) determines user access without a password needed.
+.sp
+.LP
+The FTP Server supports virtual hosting, which can be configured by using
+\fBftpaddhost\fR(1M).
+.sp
+.LP
+The FTP Server does not support sublogins.
+.SS "General FTP Extensions"
+.sp
+.LP
+The FTP Server has certain extensions. If the user specifies a filename that
+does not exist with a \fBRETR\fR (retrieve) command, the FTP Server looks for a
+conversion to change a file or directory that does into the one requested. See
+\fBftpconversions\fR(4).
+.sp
+.LP
+By convention, anonymous users supply their email address when prompted for a
+password. The FTP Server attempts to validate these email addresses. A user
+whose FTP client hangs on a long reply, for example, a multiline response,
+should use a dash (-) as the first character of the user's password, as this
+disables the Server's \fBlreply()\fR function.
+.sp
+.LP
+The FTP Server can also log all file transmission and reception. See
+\fBxferlog\fR(4) for details of the log file format.
+.sp
+.LP
+The \fBSITE EXEC\fR command may be used to execute commands in the
+\fB/bin/ftp-exec\fR directory. Take care that you understand the security
+implications before copying any command into the \fB/bin/ftp-exec\fR directory.
+For example, do not copy in \fB/bin/sh\fR. This would enable the user to
+execute other commands through the use of \fBsh -c\fR. If you have doubts about
+this feature, do not create the \fB/bin/ftp-exec\fR directory.
+.SH SECURITY
+.sp
+.LP
+For non-anonymous users, \fBin.ftpd\fR uses \fBpam\fR(3PAM) for authentication,
+account management, and session management, and can use Kerberos v5 for
+authentication.
+.sp
+.LP
+The \fBPAM\fR configuration policy, listed through \fB/etc/pam.conf\fR,
+specifies the module to be used for \fBin.ftpd\fR. Here is a partial
+\fBpam.conf\fR file with entries for the \fBin.ftpd\fR command using the UNIX
+authentication, account management, and session management module.
+.sp
+.in +2
+.nf
+ftp auth requisite pam_authtok_get.so.1
+ftp auth required pam_dhkeys.so.1
+ftp auth required pam_unix_auth.so.1
+
+ftp account required pam_unix_roles.so.1
+ftp account required pam_unix_projects.so.1
+ftp account required pam_unix_account.so.1
+
+ftp session required pam_unix_session.so.1
+.fi
+.in -2
+
+.sp
+.LP
+If there are no entries for the \fBftp\fR service, then the entries for the
+"other" service will be used. Unlike \fBlogin\fR, \fBpasswd\fR, and other
+commands, the \fBftp\fR protocol will only support a single password. Using
+multiple modules will prevent \fBin.ftpd\fR from working properly.
+.sp
+.LP
+To use Kerberos for authentication, a \fBhost/\fR\fI<FQDN>\fR Kerberos
+principal must exist for each Fully Qualified Domain Name associated with the
+\fBin.ftpd\fR server. Each of these \fBhost/\fR\fI<FQDN>\fR principals must
+have a \fBkeytab\fR entry in the \fB/etc/krb5/krb5.keytab\fR file on the
+\fBin.ftpd\fR server. An example principal might be:
+.sp
+.LP
+\fBhost/bigmachine.eng.example.com\fR
+.sp
+.LP
+See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
+principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+authentication.
+.sp
+.LP
+For anonymous users, who by convention supply their email address as a
+password, \fBin.ftpd\fR validates passwords according to the \fBpasswd-check\fR
+capability in the \fBftpaccess\fR file.
+.SH USAGE
+.sp
+.LP
+The \fBin.ftpd\fR command is IPv6-enabled. See \fBip6\fR(7P).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpaccess\fR\fR
+.ad
+.sp .6
+.RS 4n
+FTP Server configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpconversions\fR\fR
+.ad
+.sp .6
+.RS 4n
+FTP Server conversions database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpgroups\fR\fR
+.ad
+.sp .6
+.RS 4n
+FTP Server enhanced group access file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftphosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+FTP Server individual user host access file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpservers\fR\fR
+.ad
+.sp .6
+.RS 4n
+FTP Server virtual hosting configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpd/ftpusers\fR\fR
+.ad
+.sp .6
+.RS 4n
+File listing users for whom FTP login privileges are disallowed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ftpusers\fR\fR
+.ad
+.sp .6
+.RS 4n
+File listing users for whom FTP login privileges are disallowed. This use of
+this file is deprecated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/log/xferlog\fR\fR
+.ad
+.sp .6
+.RS 4n
+FTP Server transfer log file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/ftp.pids-\fIclassname\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.sp .6
+.RS 4n
+Extended database files that contain the history of user access and accounting
+information for the \fBwtmpx\fR database.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityExternal
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcsh\fR(1), \fBftp\fR(1), \fBftpcount\fR(1), \fBftpwho\fR(1), \fBls\fR(1),
+\fBsvcs\fR(1), \fBftpaddhost\fR(1M), \fBftpconfig\fR(1M), \fBftprestart\fR(1M),
+\fBftpshut\fR(1M), \fBgkadmin\fR(1M), \fBinetadm\fR(1M), \fBinetd\fR(1M),
+\fBkadmin\fR(1M), \fBsvcadm\fR(1M), \fBsyslogd\fR(1M), \fBchroot\fR(2),
+\fBumask\fR(2), \fBgetpwent\fR(3C), \fBgetusershell\fR(3C), \fBsyslog\fR(3C),
+\fBftpaccess\fR(4), \fBftpconversions\fR(4), \fBftpgroups\fR(4),
+\fBftphosts\fR(4), \fBftpservers\fR(4), \fBftpusers\fR(4), \fBgroup\fR(4),
+\fBpasswd\fR(4), \fBservices\fR(4), \fBxferlog\fR(4), \fBwtmpx\fR(4),
+\fBattributes\fR(5), \fBgss_auth_rules\fR(5), \fBpam_authtok_check\fR(5),
+\fBpam_authtok_get\fR(5), \fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5),
+\fBpam_passwd_auth\fR(5), \fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5),
+\fBpam_unix_session\fR(5), \fBsmf\fR(5), \fBip6\fR(7P)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+Allman, M., Ostermann, S., and Metz, C. \fIRFC 2428, FTP Extensions for IPv6
+and NATs\fR. The Internet Society. September 1998.
+.sp
+.LP
+Piscitello, D. \fIRFC 1639, FTP Operation Over Big Address Records (FOOBAR)\fR.
+Network Working Group. June 1994.
+.sp
+.LP
+Postel, Jon, and Joyce Reynolds. \fIRFC 959, File Transfer Protocol (FTP )\fR.
+Network Information Center. October 1985.
+.sp
+.LP
+St. Johns, Mike. \fIRFC 931, Authentication Server\fR. Network Working Group.
+January 1985.
+.sp
+.LP
+Linn, J., \fIGeneric Security Service Application Program Interface Version 2,
+Update 1, RFC 2743.\fR The Internet Society, January 2000.
+.sp
+.LP
+Horowitz, M., Lunt, S., \fIFTP Security Extensions, RFC 2228\fR. The Internet
+Society, October 1997.
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBin.ftpd\fR logs various errors to \fBsyslogd\fR(1M), with a facility code of
+daemon.
+.SH NOTES
+.sp
+.LP
+The anonymous \fBFTP\fR account is inherently dangerous and should be avoided
+when possible.
+.sp
+.LP
+The \fBFTP\fR Server must perform certain tasks as the superuser, for example,
+the creation of sockets with privileged port numbers. It maintains an effective
+user \fBID\fR of the logged in user, reverting to the superuser only when
+necessary.
+.sp
+.LP
+The \fBFTP\fR Server no longer supports the \fB/etc/default/ftpd\fR file.
+Instead of using \fBUMASK=nnn\fR to set the umask, use the \fBdefumask\fR
+capability in the \fBftpaccess\fR file. The banner greeting text capability is
+also now set through the \fBftpaccess\fR file by using the greeting text
+capability instead of by using \fBBANNER="..."\fR. However, unlike the
+\fBBANNER\fR string, the greeting text string is not passed to the shell for
+evaluation. See \fBftpaccess\fR(4).
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported. Similar functionality is
+provided by \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), and
+\fBpam_unix_session\fR(5).
+.sp
+.LP
+The \fBin.ftpd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/ftp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.iked.1m b/usr/src/man/man1m/in.iked.1m
new file mode 100644
index 0000000000..e044993e26
--- /dev/null
+++ b/usr/src/man/man1m/in.iked.1m
@@ -0,0 +1,484 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.iked 1M "27 Jan 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.iked \- daemon for the Internet Key Exchange (IKE)
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/in.iked\fR [\fB-d\fR] [\fB-f\fR \fIfilename\fR] [\fB-p\fR \fIlevel\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/in.iked\fR \fB-c\fR [\fB-f\fR \fIfilename\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.iked\fR performs automated key management for IPsec using the Internet
+Key Exchange (\fBIKE\fR) protocol.
+.sp
+.LP
+\fBin.iked\fR implements the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBIKE\fR authentication with either pre-shared keys, \fBDSS\fR signatures,
+\fBRSA\fR signatures, or \fBRSA\fR encryption.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Diffie-Hellman key derivation using either \fB768\fR, \fB1024\fR, or
+\fB1536\fR-bit public key moduli.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Authentication protection with cipher choices of \fBAES\fR, \fBDES\fR,
+Blowfish, or \fB3DES\fR, and hash choices of either \fBHMAC-MD5\fR or
+\fBHMAC-SHA-1\fR. Encryption in \fBin.iked\fR is limited to the \fBIKE\fR
+authentication and key exchange. See \fBipsecesp\fR(7P) for information
+regarding IPsec protection choices.
+.RE
+.sp
+.LP
+\fBin.iked\fR is managed by the following \fBsmf\fR(5) service:
+.sp
+.in +2
+.nf
+svc:/network/ipsec/ike
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This service is delivered disabled because the configuration file needs to be
+created before the service can be enabled. See \fBike.config\fR(4) for the
+format of this file.
+.sp
+.LP
+See "Service Management Facility" for information on managing the \fBsmf\fR(5)
+service.
+.sp
+.LP
+\fBin.iked\fR listens for incoming \fBIKE\fR requests from the network and for
+requests for outbound traffic using the \fBPF_KEY\fR socket. See
+\fBpf_key\fR(7P).
+.sp
+.LP
+\fBin.iked\fR has two support programs that are used for IKE administration and
+diagnosis: \fBikeadm\fR(1M) and \fBikecert\fR(1M).
+.sp
+.LP
+The \fBikeadm\fR(1M) command can read the \fB/etc/inet/ike/config\fR file as a
+\fBrule\fR, then pass the configuration information to the running
+\fBin.iked\fR daemon using a doors interface.
+.sp
+.in +2
+.nf
+example# \fBikeadm read rule /etc/inet/ike/config\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Refreshing the \fBike\fR \fBsmf\fR(5) service provided to manage the
+\fBin.iked\fR daemon sends a \fBSIGHUP\fR signal to the \fBin.iked\fR daemon,
+which will (re)read \fB/etc/inet/ike/config\fR and reload the certificate
+database.
+.sp
+.LP
+The preceding two commands have the same effect, that is, to update the running
+IKE daemon with the latest configuration. See "Service Management Facility" for
+more details on managing the \fBin.iked\fR daemon.
+.SS "Service Management Facility"
+.sp
+.LP
+The IKE daemon (\fBin.iked\fR) is managed by the service management facility,
+\fBsmf\fR(5). The following group of services manage the components of IPsec:
+.sp
+.in +2
+.nf
+svc:/network/ipsec/ipsecalgs (See ipsecalgs(1M))
+svc:/network/ipsec/policy (See ipsecconf(1M))
+svc:/network/ipsec/manual-key (See ipseckey(1M))
+svc:/network/ipsec/ike (see ike.config(4))
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The manual-key and \fBike\fR services are delivered \fBdisabled\fR because the
+system administrator must create configuration files for each service, as
+described in the respective man pages listed above.
+.sp
+.LP
+The correct administrative procedure is to create the configuration file for
+each service, then enable each service using \fBsvcadm\fR(1M).
+.sp
+.LP
+The \fBike\fR service has a dependency on the \fBipsecalgs\fR and \fBpolicy\fR
+services. These services should be enabled before the \fBike\fR service.
+Failure to do so results in the \fBike\fR service entering maintenance mode.
+.sp
+.LP
+If the configuration needs to be changed, edit the configuration file then
+refresh the service, as follows:
+.sp
+.in +2
+.nf
+example# \fBsvcadm refresh ike\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following properties are defined for the \fBike\fR service:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/admin_privilege\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the level that \fBikeadm\fR(1M) invocations can change or observe the
+running \fBin.iked\fR. The acceptable values for this property are the same as
+those for the \fB-p\fR option. See the description of \fB-p\fR in
+\fBOPTIONS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/config_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the configuration file to use. The default value is
+\fB/etc/inet/ike/config\fR. See \fBike.config\fR(4) for the format of this
+file. This property has the same effect as the \fB-f\fR flag. See the
+description of \fB-f\fR in \fBOPTIONS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/debug_level\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the amount of debug output that is written to the \fBdebug_logfile\fR
+file, described below. The default value for this is \fBop\fR or
+\fBoperator\fR. This property controls the recording of information on events
+such as re-reading the configuration file. Acceptable value for
+\fBdebug_level\fR are listed in the \fBikeadm\fR(1M) man page. The value
+\fBall\fR is equivalent to the \fB-d\fR flag. See the description of \fB-d\fR
+in \fBOPTIONS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/debug_logfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines where debug output should be written. The messages written here are
+from debug code within \fBin.iked\fR. Startup error messages are recorded by
+the \fBsmf\fR(5) framework and recorded in a service-specific log file. Use any
+of the following commands to examine the \fBlogfile\fR property:
+.sp
+.in +2
+.nf
+example# \fBsvcs -l ike\fR
+example# \fBsvcprop ike\fR
+example# \fBsvccfg -s ike listprop\fR
+.fi
+.in -2
+.sp
+
+The values for these log file properties might be different, in which case both
+files should be inspected for errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig/ignore_errors\fR\fR
+.ad
+.sp .6
+.RS 4n
+A boolean value that controls \fBin.iked\fR's behavior should the configuration
+file have syntax errors. The default value is \fBfalse\fR, which causes
+\fBin.iked\fR to enter maintenance mode if the configuration is invalid.
+.sp
+Setting this value to \fBtrue\fR causes the IKE service to stay online, but
+correct operation requires the administrator to configure the running daemon
+with \fBikeadm\fR(1M). This option is provided for compatibility with previous
+releases.
+.RE
+
+.sp
+.LP
+These properties can be modified using \fBsvccfg\fR(1M) by users who have been
+assigned the following authorization:
+.sp
+.in +2
+.nf
+solaris.smf.value.ipsec
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+PKCS#11 token objects can be unlocked or locked by using \fBikeadm\fR token
+login and \fBikeadm\fR token logout, respectively. Availability of private
+keying material stored on these PKCS#11 token objects can be observed with:
+\fBikeadm dump certcache\fR. The following authorizations allow users to log
+into and out of PKCS#11 token objects:
+.sp
+.in +2
+.nf
+solaris.network.ipsec.ike.token.login
+solaris.network.ipsec.ike.token.logout
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBauths\fR(1), \fBikeadm\fR(1M), \fBuser_attr\fR(4), \fBrbac\fR(5).
+.sp
+.LP
+The service needs to be refreshed using \fBsvcadm\fR(1M) before a new property
+value is effective. General, non-modifiable properties can be viewed with the
+\fBsvcprop\fR(1) command.
+.sp
+.in +2
+.nf
+# \fBsvccfg -s ipsec/ike setprop config/config_file = \e
+/new/config_file\fR
+# \fBsvcadm refresh ike\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling,
+refreshing, and requesting restart can be performed using \fBsvcadm\fR(1M). A
+user who has been assigned the authorization shown below can perform these
+actions:
+.sp
+.in +2
+.nf
+solaris.smf.manage.ipsec
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The service's status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+The \fBin.iked\fR daemon is designed to be run under \fBsmf\fR(5) management.
+While the \fBin.iked\fR command can be run from the command line, this is
+discouraged. If the \fBin.iked\fR command is to be run from the command line,
+the \fBike\fR \fBsmf\fR(5) service should be disabled first. See
+\fBsvcadm\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 15n
+.rt
+Check the syntax of a configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 15n
+.rt
+Use debug mode. The process stays attached to the controlling terminal and
+produces large amounts of debugging output. This option is deprecated. See
+"Service Management Facility" for more details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.RS 15n
+.rt
+Use \fIfilename\fR instead of \fB/etc/inet/ike/config\fR. See
+\fBike.config\fR(4) for the format of this file. This option is deprecated. See
+"Service Management Facility" for more details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIlevel\fR\fR
+.ad
+.RS 15n
+.rt
+Specify privilege level (\fIlevel\fR). This option sets how much
+\fBikeadm\fR(1M) invocations can change or observe about the running
+\fBin.iked\fR.
+.sp
+Valid \fIlevels\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 5n
+.rt
+Base level
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.RS 5n
+.rt
+Access to preshared key info
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.RS 5n
+.rt
+Access to keying material
+.RE
+
+If \fB-p\fR is not specified, \fIlevel\fR defaults to \fB0\fR.
+.sp
+This option is deprecated. See "Service Management Facility" for more details.
+.RE
+
+.SH SECURITY
+.sp
+.LP
+This program has sensitive private keying information in its image. Care should
+be taken with any core dumps or system dumps of a running \fBin.iked\fR daemon,
+as these files contain sensitive keying information. Use the \fBcoreadm\fR(1M)
+command to limit any corefiles produced by \fBin.iked\fR.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ike/config\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/secret/ike.privatekeys/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Private keys. A private key \fBmust\fR have a matching public-key certificate
+with the same filename in \fB/etc/inet/ike/publickeys/\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ike/publickeys/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Public-key certificates. The names are only important with regard to matching
+private key names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ike/crls/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Public key certificate revocation lists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/secret/ike.preshared\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBIKE\fR pre-shared secrets for Phase I authentication.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBcoreadm\fR(1M), \fBikeadm\fR(1M), \fBikecert\fR(1M),
+\fBsvccfg\fR(1M), \fBsvcadm\fR(1M), \fBike.config\fR(4), \fBattributes\fR(5),
+\fBsmf\fR(5), \fBipsecesp\fR(7P), \fBpf_key\fR(7P)
+.sp
+.LP
+Harkins, Dan and Carrel, Dave. \fIRFC 2409, Internet Key Exchange (IKE)\fR.
+Network Working Group. November 1998.
+.sp
+.LP
+Maughan, Douglas, Schertler, M., Schneider, M., Turner, J. \fIRFC 2408,
+Internet Security Association and Key Management Protocol (ISAKMP)\fR. Network
+Working Group. November 1998.
+.sp
+.LP
+Piper, Derrell, \fIRFC 2407, The Internet IP Security Domain of Interpretation
+for ISAKMP\fR. Network Working Group. November 1998.
diff --git a/usr/src/man/man1m/in.lpd.1m b/usr/src/man/man1m/in.lpd.1m
new file mode 100644
index 0000000000..7c6bb27d8c
--- /dev/null
+++ b/usr/src/man/man1m/in.lpd.1m
@@ -0,0 +1,144 @@
+'\" te
+.\" Copyright (C) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.lpd 1M "1 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.lpd \- BSD print protocol adaptor
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/print/in.lpd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.lpd\fR implements the network listening service for the \fBBSD\fR print
+protocol specified in \fBRFC\fR 1179. The \fBBSD\fR print protocol provides a
+remote interface for systems to interact with a local spooling system. The
+protocol defines five standard requests from the client to the server: starting
+queue processing, transferring print jobs, retrieving terse status, retrieving
+verbose status, and canceling print jobs.
+.sp
+.LP
+The \fBin.lpd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/lp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
+.sp
+.LP
+\fBin.lpd\fR uses the \fBconfig/log_from_remote\fR property to allow or
+disallow remote access. The default value of this property, \fBlocalhost\fR,
+disallows remote access.
+.sp
+.LP
+\fBinetd\fR waits for connections on \fBTCP\fR port 515. Upon receipt of a
+connect request, \fBin.lpd\fR is started to service the connection. Once the
+request has been filled, \fBin.lpd\fR closes the connection and exits.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAllowing Remote Access
+.sp
+.LP
+The following command allows remote access to \fBin.lpd\fR.
+
+.sp
+.in +2
+.nf
+# \fBinetadm -m svc:/application/print/rfc1179:default bind_addr=""\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printers.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+System printer configuration database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinters.conf.byname\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBNIS\fR version of \fB/etc/printers.conf\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinters.org_dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBNIS+\fR version of \fB/etc/printers.conf\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/print/bsd-adaptor/bsd_*.so*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Spooler translation modules.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBsvcadm\fR(1M),
+\fBprinters.conf\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/in.mpathd.1m b/usr/src/man/man1m/in.mpathd.1m
new file mode 100644
index 0000000000..f7da35120f
--- /dev/null
+++ b/usr/src/man/man1m/in.mpathd.1m
@@ -0,0 +1,360 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.mpathd 1M "13 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.mpathd \- IP multipathing daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/in.mpathd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBin.mpathd\fR daemon performs failure and repair detection for IP
+interfaces that have been placed into an IPMP group (or optionally, for all IP
+interfaces on the system). It also controls which IP interfaces in an IPMP
+group are "active" (being used by the system to send or receive IP data
+traffic) in a manner that is consistent with the administrator's configured
+policy.
+.sp
+.LP
+The \fBin.mpathd\fR daemon can detect IP interface failure and repair through
+two methods: by monitoring the \fBIFF_RUNNING\fR flag for each IP interface
+(link-based failure detection), and by sending and receiving ICMP probes on
+each IP interface (probe-based failure detection). Link-based failure detection
+is instantaneous and is always enabled (provided the network driver supports
+the feature); probe-based failure detection must be enabled through the
+configuration of one or more test addresses (described below), but tests the
+entire IP interface send and receive path. The \fBipmpstat\fR(1M) utility can
+be used to check which failure detection methods are enabled.
+.sp
+.LP
+If only link-based failure detection is enabled, then the health of the
+interface is determined solely from the state of the \fBIFF_RUNNING\fR flag.
+Otherwise, the interface is considered failed if either of the two methods
+indicate a failure, and repaired once both methods indicate the failure has
+been corrected. Not all interfaces in a group need to be configured with the
+same failure detection methods.
+.sp
+.LP
+As mentioned above, to perform probe-based failure detection \fBin.mpathd\fR
+requires a test address on each IP interface for the purpose of sending and
+receiving probes. Each address must be marked \fBNOFAILOVER\fR (see
+\fBifconfig\fR(1M)) and \fBin.mpathd\fR will be limited to probing targets on
+the same subnet. Each address may be configured statically or acquired by means
+of DHCP. To find targets, \fBin.mpathd\fR first consults the routing table for
+routes on the same subnet, and uses the specified next-hop. If no routes match,
+it sends all-hosts ICMP probes and selects a subset of the systems that
+respond. Thus, for probe-based failure detection to operate, there must be at
+least one neighbor on each subnet that responds to ICMP echo request probes.
+The \fBipmpstat\fR(1M) utility can be used to display both the current probe
+target information and the status of sent probes.
+.sp
+.LP
+Both IPv4 and IPv6 are supported. If an IP interface is plumbed for IPv4 and an
+IPv4 test address is configured then \fBin.mpathd\fR will start sending ICMPv4
+probes over that IP interface. Similarly, if an IP interface is plumbed for
+IPv6 and an IPv6 test address is configured, then \fBin.mpathd\fR will start
+sending ICMPv6 probes over that IP interface. However, note that
+\fBin.mpathd\fR will ignore IPv6 test addresses that are not link-local. If
+both IPv4 and IPv6 are plumbed, it is sufficient to configure only one of the
+two, that is, either an IPv4 test address or an IPv6 test address. If both IPv4
+and IPv6 test addresses are configured, \fBin.mpathd\fR probes using both
+ICMPv4 and ICMPv6.
+.sp
+.LP
+As mentioned above, \fBin.mpathd\fR also controls which IP interfaces in an
+IPMP group are "active" (used by the system to send and receive IP data
+traffic). Specifically, \fBin.mpathd\fR tracks the administrative configuration
+of each IPMP group and attempts to keep the number of active IP interfaces in
+each group consistent with that configuration. Therefore, if an active IP
+interface fails, \fBin.mpathd\fR will activate an \fBINACTIVE\fR interface in
+the group, provided one exists (it will prefer \fBINACTIVE\fR interfaces that
+are also marked \fBSTANDBY\fR). Likewise, if an IP interface repairs and the
+resulting repair leaves the IPMP group with more active interfaces than the
+administrative configuration specifies, \fBin.mpathd\fR will deactivate one of
+the interfaces (preferably one marked \fBSTANDBY\fR), except when the
+\fBFAILBACK\fR variable is used, as described below. Similar adjustments will
+be made by \fBin.mpathd\fR when offlining IP interfaces (for instance, in
+response to \fBif_mpadm\fR(1M)).
+.sp
+.LP
+The \fBin.mpathd\fR daemon accesses three variable values in
+\fB/etc/default/mpathd\fR: \fBFAILURE_DETECTION_TIME\fR, \fBFAILBACK\fR and
+\fBTRACK_INTERFACES_ONLY_WITH_GROUPS\fR.
+.sp
+.LP
+The \fBFAILURE_DETECTION_TIME\fR variable specifies the probe-based failure
+detection time. The shorter the failure detection time, the more probe traffic.
+The default value of \fBFAILURE_DETECTION_TIME\fR is 10 seconds. This means
+that IP interface failure will be detected by \fBin.mpathd\fR within 10
+seconds. The IP interface repair detection time is always twice the value of
+\fBFAILURE_DETECTION_TIME\fR. Note that failures and repairs detected by
+link-based failure detection are acted on immediately, though \fBin.mpathd\fR
+may ignore link state changes if it suspects that the link state is flapping
+due to defective hardware; see \fBDIAGNOSTICS\fR.
+.sp
+.LP
+By default, \fBin.mpathd\fR limits failure and repair detection to IP
+interfaces that are configured as part of a named IPMP group. Setting
+\fBTRACK_INTERFACES_ONLY_WITH_GROUPS\fR to \fBno\fR enables failure and repair
+detection on all IP interfaces, even if they are not part of a named IPMP
+group. IP interfaces that are tracked but not part of a named IPMP group are
+considered to be part of the "anonymous" IPMP group. In addition to having no
+name, this IPMP group is special in that its IP interfaces are not equivalent
+and thus cannot take over for one another in the event of an IP interface
+failure. That is, the anonymous IPMP group can only be used for failure and
+repair detection, and provides no high-availability or load-spreading.
+.sp
+.LP
+As described above, when \fBin.mpathd\fR detects that an IP interface has
+repaired, it activates it so that it will again be used to send and receive IP
+data traffic. However, if \fBFAILBACK\fR is set to \fBno\fR, then the IP
+interface will only be activated if no other active IP interfaces in the group
+remain. However, the interface may subsequently be activated if another IP
+interface in the group fails.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/mpathd\fR\fR
+.ad
+.RS 23n
+.rt
+Contains default values used by the \fBin.mpathd\fR daemon.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBif_mpadm\fR(1M), \fBifconfig\fR(1M), \fBipmpstat\fR(1M),
+\fBattributes\fR(5), \fBicmp\fR(7P), \fBicmp6\fR(7P),
+.sp
+.LP
+\fISystem Administration Guide: IP Services\fR
+.SH DIAGNOSTICS
+.sp
+.LP
+IP interface \fIinterface_name\fR has a hardware address which is not unique in
+group \fIgroup_name\fR; offlining
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+For probe-based failure detection, load-spreading, and other code IPMP features
+to work properly, each IP interface in an IPMP group must have a unique
+hardware address. If this requirement is not met, \fBin.mpathd\fR will
+automatically offline all but one of the IP interfaces with duplicate hardware
+addresses.
+.RE
+
+.sp
+.LP
+IP interface \fIinterface_name\fR now has a unique hardware address in group
+\fIgroup_name\fR; onlining
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+The previously-detected duplicate hardware address is now unique, and therefore
+\fBin.mpathd\fR has brought \fIinterface_name\fR back online.
+.RE
+
+.sp
+.LP
+Test address \fIaddress\fR is not unique in group; disabling probe-based
+failure detection on \fIinterface_name\fR
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+For \fBin.mpathd\fR to perform probe-based failure detection, each test address
+in the group must be unique.
+.RE
+
+.sp
+.LP
+No test address configured on interface \fIinterface_name\fR disabling
+probe-based failure detection on it
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+For \fBin.mpathd\fR to perform probe-based failure detection on an IP
+interface, it must be configured with a test address: IPv4, IPv6, or both.
+.RE
+
+.sp
+.LP
+IP \fIinterface_name\fR in group \fIgroup_name\fR is not plumbed for IPv[4|6],
+affecting IPv[4|6] connectivity
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+All IP interfaces in a multipathing group must be homogeneously plumbed. For
+example, if one IP interface is plumbed for IPv4, then all IP interfaces in the
+group must be plumbed for IPv4, or IPv4 packets will not be able to be reliably
+sent and received. The STREAMS modules pushed on all IP interfaces must also be
+identical.
+.RE
+
+.sp
+.LP
+The link has come up on \fIinterface_name\fR more than 2 times in the last
+minute; disabling repair until it stabilizes.
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+To limit the impact of interfaces with intermittent hardware (such as a bad
+cable), \fBin.mpathd\fR will not consider an IP interface with a frequently
+changing link state as repaired until the link state stabilizes.
+.RE
+
+.sp
+.LP
+Invalid failure detection time of \fItime\fR, assuming default 10000 ms
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+An invalid value was encountered for \fBFAILURE_DETECTION_TIME\fR in the
+\fB/etc/default/mpathd\fR file.
+.RE
+
+.sp
+.LP
+Too small failure detection time of \fItime\fR, assuming minimum of 100 ms
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+The minimum value that can be specified for \fBFAILURE_DETECTION_TIME\fR is
+currently 100 milliseconds.
+.RE
+
+.sp
+.LP
+Invalid value for FAILBACK \fIvalue\fR
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+Valid values for the boolean variable \fBFAILBACK\fR are \fByes\fR or \fBno\fR.
+.RE
+
+.sp
+.LP
+Invalid value for TRACK_INTERFACES_ONLY_WITH_GROUPS \fIvalue\fR
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+Valid values for the boolean variable \fBTRACK_INTERFACES_ONLY_WITH_GROUPS\fR
+are \fByes\fR or \fBno\fR.
+.RE
+
+.sp
+.LP
+Cannot meet requested failure detection time of \fItime\fR ms on (inet[6]
+\fIinterface_name\fR) new failure detection time for group \fIgroup_name\fR is
+\fItime\fR ms
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+The round trip time for \fBICMP\fR probes is higher than necessary to maintain
+the current failure detection time. The network is probably congested or the
+probe targets are loaded. \fBin.mpathd\fR automatically increases the failure
+detection time to whatever it can achieve under these conditions.
+.RE
+
+.sp
+.LP
+Improved failure detection time \fItime\fR ms on (inet[6] \fIinterface_name\fR)
+for group \fIgroup_name\fR
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+The round trip time for \fBICMP\fR probes has now decreased and \fBin.mpathd\fR
+has lowered the failure detection time correspondingly.
+.RE
+
+.sp
+.LP
+IP interface failure detected on \fIinterface_name\fR
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+\fBin.mpathd\fR has detected a failure on \fIinterface_name\fR, and has set the
+\fBIFF_FAILED\fR flag on \fIinterface_name\fR, ensuring that it will not be
+used for IP data traffic.
+.RE
+
+.sp
+.LP
+IP interface repair detected on \fIinterface_name\fR
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+\fBin.mpathd\fR has detected a repair on \fIinterface_name\fR, and has cleared
+the \fBIFF_FAILED\fR flag. Depending on the administrative configuration, the
+\fIinterface_name\fR may again be used for IP data traffic.
+.RE
+
+.sp
+.LP
+All IP interfaces in group \fIgroup\fR are now unusable
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+\fBin.mpathd\fR has determined that none of the IP interfaces in \fIgroup\fR
+can be used for IP data traffic, breaking network connectivity for the group.
+.RE
+
+.sp
+.LP
+At least 1 IP interface (\fIinterface_name\fR) in group \fIgroup\fR is now
+usable
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+\fBin.mpathd\fR has determined that at least one of the IP interfaces in
+\fIgroup\fR can again be used for IP data traffic, restoring network
+connectivity for the group.
+.RE
+
+.sp
+.LP
+The link has gone down on \fIinterface_name\fR
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+\fBin.mpathd\fR has detected that the \fBIFF_RUNNING\fR flag for
+\fIinterface_name\fR has been cleared, indicating that the link has gone down.
+.RE
+
+.sp
+.LP
+The link has come up on \fIinterface_name\fR
+.RS +4
+\fBDescription: \fR
+.sp
+.LP
+\fBin.mpathd\fR has detected that the \fBIFF_RUNNING\fR flag for
+\fIinterface_name\fR has been set, indicating that the link has come up.
+.RE
+
diff --git a/usr/src/man/man1m/in.ndpd.1m b/usr/src/man/man1m/in.ndpd.1m
new file mode 100644
index 0000000000..d8fe82bcbf
--- /dev/null
+++ b/usr/src/man/man1m/in.ndpd.1m
@@ -0,0 +1,285 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.ndpd 1M "10 Jan 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.ndpd \- daemon for IPv6 autoconfiguration
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/in.ndpd\fR [\fB-adt\fR] [\fB-f\fR \fIconfig_file\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.ndpd\fR provides both the host and router autoconfiguration components of
+Neighbor Discovery for IPv6 and Stateless and Stateful Address
+Autoconfiguration for IPv6. In particular, \fBin.ndpd\fR implements:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+router discovery;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+prefix discovery;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+parameter discovery;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+invocation of stateful address autoconfiguration;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+stateless address autoconfiguration; and
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+privacy extensions for stateless address autoconfiguration.
+.RE
+.sp
+.LP
+Other aspects of Neighbor Discovery are implemented by \fBip6\fR(7P),
+including:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+address resolution;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+neighbor unreachability detection; and
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+redirect.
+.RE
+.sp
+.LP
+The duplicate address detection function is implemented by the system kernel.
+.sp
+.LP
+\fBin.ndpd\fR is managed by the service management facility (SMF), by means of
+the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/routing/ndp:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the \fB/etc/inet/ndpd.conf\fR file does not exist or does not set the
+variable \fBAdvSendAdvertisements\fR to true for a network interface, then
+\fBin.ndpd\fR will make the node a host for that interface, that is, sending
+router solicitation messages and then using router advertisement messages it
+receives to autoconfigure the node. Note that \fBin.ndpd\fR only autoconfigures
+the addresses of global or site-local scope from the prefix advertisement.
+.sp
+.LP
+If \fBAdvSendAdvertisements\fR is set to true for an interface, then
+\fBin.ndpd\fR will perform router functions on that interface, that is, sending
+router advertisement messages to autoconfigure the attached hosts, but not use
+any advertisements it receives for autoconfiguration. However, when sending
+advertisements, \fBin.ndpd\fR will use the advertisements it sends itself to
+autoconfigure its prefixes.
+.sp
+.LP
+Stateless autoconfiguration requires no manual configuration of hosts, minimal
+(if any) configuration of routers, and no additional servers. The stateless
+mechanism enables a host to generate its own addresses and uses local
+information as well as non-local information that is advertised by routers to
+generate the addresses. \fBin.ndpd\fR will plumb logical interfaces for each of
+these addresses.
+.sp
+.LP
+Stateful autoconfiguration involves the \fBdhcpagent\fR(1M) daemon and the use
+of the DHCPv6 protocol. The \fBdhcpagent\fR daemon is responsible for plumbing
+the logical interfaces for the acquired addresses, maintaining the leases, and
+handling duplicate addresses. \fBin.ndpd\fR starts the \fBdhcpagent\fR daemon
+automatically and signals when DHCPv6 should be started. \fBin.ndpd\fR also
+detects when \fBdhcpagent\fR configures the logical interfaces, and sets the
+appropriate prefix length on each according to received Routing Advertisement
+messages. \fBin.ndpd\fR will not stop \fBdhcpagent\fR; use \fBifconfig\fR(1M)
+to control \fBdhcpagent\fR if necessary.
+.sp
+.LP
+Temporary addresses that are autoconfigured for an interface can also be
+implemented. A temporary address token is enabled for one or more interfaces on
+a host. However, unlike standard, autoconfigured IPv6 addresses, a temporary
+address consists of the site prefix and a randomly generated 64 bit number.
+This random number becomes the interface ID segment of the IPv6 address. A
+link-local address is not generated with the temporary address as the interface
+ID.
+.sp
+.LP
+If the kernel detects a duplicate temporary address, \fBin.ndpd\fR will
+automatically choose another.
+.sp
+.LP
+Routers advertise all prefixes that have been assigned on the link. IPv6 hosts
+use Neighbor Discovery to obtain a subnet prefix from a local router. Hosts
+automatically create IPv6 addresses by combining the subnet prefix with an
+interface IDs that is generated from an interface's MAC address. In the absence
+of routers, a host can generate only link-local addresses. Link-local addresses
+can only be used for communication with nodes on the same link.
+.sp
+.LP
+For information on how to enable IPv6 address autoconfiguration, see \fI\fR
+.SH OPTIONS
+.sp
+.LP
+Supported options and equivalent SMF service properties are listed below. SMF
+service properties are set using a command of the form:
+.sp
+.in +2
+.nf
+# \fBrouteadm -m ndp:default \fIkey\fR=\fIvalue\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn off stateless and stateful address auto configuration. When set, the
+daemon does not autoconfigure any addresses and does not renumber any
+addresses. This option does the same thing as the following lines in
+\fBndpd.conf\fR(4):
+.sp
+.in +2
+.nf
+ifdefault StatefulAddrConf off
+ifdefault StatelessAddrConf off
+.fi
+.in -2
+
+Use of this option is equivalent to setting the \fBstateless_addr_conf\fR
+property to false.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn on large amounts of debugging output on \fBstdout\fR. When set, the
+program runs in the foreground and stays attached to the controlling terminal.
+Use of this option is equivalent to setting the \fBdebug\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \ \fIconfig_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIconfig_file\fR for configuration information instead of the default
+\fB/etc/inet/ndpd.conf\fR. Use of this option is equivalent to setting the
+\fBconfig_file\fR property to the configuration file to be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn on tracing (printing) of all sent and received packets to\fBstdout\fR.
+When set, the program runs in the foreground and stays attached to the
+controlling terminal. As such, this option cannot be run under the SMF.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ndpd.conf\fR\fR
+.ad
+.RS 23n
+.rt
+Configuration file. This file is not necessary on a host, but it is required on
+a router to enable \fBin.ndpd\fR to advertise autoconfiguration information to
+the hosts.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdhcpagent\fR(1M), \fBifconfig\fR(1M), \fBrouteadm\fR(1M), \fBsvcadm\fR(1M),
+\fBndpd.conf\fR(4), \fBattributes\fR(5), \fBicmp6\fR(7P),\fBip6\fR(7P),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+Narten, T., Nordmark, E., Simpson, W.\fIRFC 2461, Neighbor Discovery for IP
+Version 6 (IPv6)\fR. The Internet Society. December 1998.
+.sp
+.LP
+Thomson, S., Narten, T. \fIRFC 2462, IPv6 Stateless Address
+Autoconfiguration\fR. The Internet Society. December 1998.
+.sp
+.LP
+Narten, T., and Draves, R. RFC 3041, Privacy Extensions for Stateless Address
+Autoconfiguration in IPv6. The Internet Society. January 2001.
+.SH DIAGNOSTICS
+.sp
+.LP
+Receipt of a \fBSIGHUP\fR signal will make \fBin.ndpd\fR restart and reread
+\fB/etc/inet/ndpd.conf\fR.
+.SH NOTES
+.sp
+.LP
+The \fBin.ndpd\fR daemon service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/routing/ndp:default
+.fi
+.in -2
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M) or
+\fBrouteadm\fR(1M).
diff --git a/usr/src/man/man1m/in.rarpd.1m b/usr/src/man/man1m/in.rarpd.1m
new file mode 100644
index 0000000000..a2a00ec686
--- /dev/null
+++ b/usr/src/man/man1m/in.rarpd.1m
@@ -0,0 +1,185 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.rarpd 1M "20 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.rarpd, rarpd \- DARPA Reverse Address Resolution Protocol server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.rarpd\fR [\fB-d\fR] \fB-a\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/in.rarpd\fR [\fB-d\fR] \fIdevice\fR \fIunit\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.rarpd\fR starts a daemon that responds to Reverse Address Resolution
+Protocol (RARP) requests. The daemon forks a copy of itself that runs in
+background. It must be run as root.
+.sp
+.LP
+RARP is used by machines at boot time to discover their Internet Protocol (IP)
+address. The booting machine provides its Ethernet address in a \fBRARP\fR
+request message. Using the \fBethers\fR and \fBhosts\fR databases,
+\fBin.rarpd\fR maps this Ethernet address into the corresponding \fBIP\fR
+address which it returns to the booting machine in an \fBRARP\fR reply message.
+The booting machine must be listed in both databases for \fBin.rarpd\fR to
+locate its \fBIP\fR address. \fBin.rarpd\fR issues no reply when it fails to
+locate an \fBIP\fR address.
+.sp
+.LP
+\fBin.rarpd\fR uses the \fBSTREAMS-based\fR Data Link Provider Interface (DLPI)
+message set to communicate directly with the datalink device driver.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Get the list of available network interfaces from \fBIP\fR using the
+\fBSIOCGIFADDR\fR ioctl and start a \fBRARP\fR daemon process on each interface
+returned.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Print assorted debugging messages while executing.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRStarting An \fBin.rarpd\fR Daemon For Each Network Interface
+Name Returned From \fB/dev/ip:\fR
+.sp
+.LP
+The following command starts an \fBin.rarpd\fR for each network interface name
+returned from \fB/dev/ip:\fR
+
+.sp
+.in +2
+.nf
+example# /usr/sbin/in.rarpd \fB-a\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRStarting An \fBin.rarpd\fR Daemon On The Device \fB/dev/le\fR
+With The Device Instance Number \fB0\fR
+.sp
+.LP
+The following command starts one \fBin.rarpd\fR on the device \fB/dev/le\fR
+with the device instance number \fB0\fR.
+
+.sp
+.in +2
+.nf
+example# /usr/sbin/in.rarpd le 0
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ethers\fR\fR
+.ad
+.RS 15n
+.rt
+File or other source, as specified by \fBnsswitch.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/hosts\fR\fR
+.ad
+.RS 15n
+.rt
+File or other source, as specified by \fBnsswitch.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/tftpboot\fR\fR
+.ad
+.RS 15n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/ip\fR\fR
+.ad
+.RS 15n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/arp\fR\fR
+.ad
+.RS 15n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBboot\fR(1M), \fBifconfig\fR(1M), \fBsvcadm\fR(1M),
+\fBethers\fR(4), \fBhosts\fR(4), \fBnetconfig\fR(4),
+\fBnsswitch.conf\fR(4),\fBattributes \fR(5), \fBsmf\fR(5), \fBdlpi\fR(7P)
+.sp
+.LP
+Finlayson, R., Mann, T., Mogul, J., and Theimer, M., \fIRFC 903, A Reverse
+Address Resolution Protocol\fR, Network Information Center, SRI International,
+June 1984.
+.SH NOTES
+.sp
+.LP
+The \fBin.rarpd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rarp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.rdisc.1m b/usr/src/man/man1m/in.rdisc.1m
new file mode 100644
index 0000000000..3dcf7c3def
--- /dev/null
+++ b/usr/src/man/man1m/in.rdisc.1m
@@ -0,0 +1,202 @@
+'\" te
+.\" Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.rdisc 1M "9 Nov 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.rdisc, rdisc \- network router discovery daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.rdisc\fR [\fB-a\fR] [\fB-f\fR] [\fB-s\fR] [\fIsend-address\fR] [\fIreceive-address\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/in.rdisc\fR \fB-r\fR [\fB-p\fR \fIpreference\fR] [\fB-T\fR \fIinterval\fR]
+ [\fIsend-address\fR] [\fIreceive-address\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.rdisc\fR remains part of the software distribution of the Solaris
+Operating Environment. It is, however, not used by default. \fBin.routed\fR(1M)
+includes the functionality provided by \fBin.rdisc\fR. See \fBrouteadm\fR(1M)
+for details of how to specify the IPV4 routing daemon.
+.sp
+.LP
+\fBin.rdisc\fR implements the \fBICMP\fR router discovery protocol. The first
+form of the command is used on hosts and the second form is used on routers.
+.sp
+.LP
+\fBin.rdisc\fR can be invoked in either the first form (host mode) or second
+form (router mode).
+.sp
+.LP
+On a host, \fBin.rdisc\fR populates the network routing tables with default
+routes. On a router, advertises the router to all the hosts.
+.sp
+.LP
+\fBin.rdisc\fR is managed by the service management facility (SMF), by means of
+the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/routing/rdisc:default
+.fi
+.in -2
+.sp
+
+.SS "Host (First Form)"
+.sp
+.LP
+On a host, \fBin.rdisc\fR listens on the \fBALL_HOSTS\fR (224.0.0.1) multicast
+address for \fBROUTER_ADVERTISE\fR messages from routers. The received messages
+are handled by first ignoring those listed router addresses with which the host
+does not share a network. Among the remaining addresses, the ones with the
+highest preference are selected as default routers and a default route is
+entered in the kernel routing table for each one of them.
+.sp
+.LP
+Optionally, \fBin.rdisc\fR can avoid waiting for routers to announce themselves
+by sending out a few \fBROUTER_SOLICITATION\fR messages to the
+\fBALL_ROUTERS\fR (224.0.0.2) multicast address when it is started.
+.sp
+.LP
+A timer is associated with each router address. The address will no longer be
+considered for inclusion in the routing tables if the timer expires before a
+new \fIadvertise\fR message is received from the router. The address will also
+be excluded from consideration if the host receives an \fIadvertise\fR message
+with the preference being maximally negative or with a lifetime of zero.
+.SS "Router (Second Form)"
+.sp
+.LP
+When \fBin.rdisc\fR is started on a router, it uses the \fBSIOCGIFCONF\fR
+\fBioctl\fR(2) to find the interfaces configured into the system and it starts
+listening on the \fBALL_ROUTERS\fR multicast address on all the interfaces that
+support multicast. It sends out \fIadvertise\fR messages to the \fBALL_HOSTS\fR
+multicast address advertising all its \fBIP\fR addresses. A few initial
+\fIadvertise\fR messages are sent out during the first 30 seconds and after
+that it will transmit \fIadvertise\fR messages approximately every 600 seconds.
+.sp
+.LP
+When \fBin.rdisc\fR receives a \fIsolicitation\fR message, it sends an
+\fIadvertise\fR message to the host that sent the \fIsolicitation\fR message.
+.sp
+.LP
+When \fBin.rdisc\fR is terminated by a signal, it sends out an \fIadvertise\fR
+message with the preference being maximally negative.
+.SH OPTIONS
+.sp
+.LP
+Supported options and equivalent SMF service properties are listed below. SMF
+service properties are set using a command of the form:
+.sp
+.in +2
+.nf
+# \fBrouteadm -m rdisc:default \fIkey\fR=\fIvalue\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 17n
+.rt
+Accept all routers independent of the preference they have in their
+\fIadvertise\fR messages. Normally, \fBin.rdisc\fR only accepts (and enters in
+the kernel routing tables) the router or routers with the highest preference.
+Use of this option is equivalent to setting the \fBaccept_all\fR property to
+true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 17n
+.rt
+Run \fBin.rdisc\fR forever even if no routers are found. Normally,
+\fBin.rdisc\fR gives up if it has not received any \fIadvertise\fR message
+after soliciting three times, in which case it exits with a non-zero exit code.
+If \fB-f\fR is not specified in the first form then \fB-s\fR must be specified.
+For SMF execution, this option is required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 17n
+.rt
+Act as a router, rather than a host. Use of this option is equivalent to
+setting the \fBact_as_router\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 17n
+.rt
+Send three \fIsolicitation\fR messages initially to quickly discover the
+routers when the system is booted. When \fB-s\fR is specified, \fBin.rdisc\fR
+exits with a non-zero exit code if it can not find any routers. This can be
+overridden with the \fB-f\fR option. This option is not compatible with SMF
+execution and is not supported for the \fBrdisc\fR service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpreference\fR\fR
+.ad
+.RS 17n
+.rt
+Set the preference transmitted in the \fIsolicitation\fR messages. The default
+is zero. Use of this option is equivalent to setting the \fBpreference\fR
+property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIinterval\fR\fR
+.ad
+.RS 17n
+.rt
+Set the interval between transmitting the \fIadvertise\fR messages. The default
+time is 600 seconds. Use of this option is equivalent to setting the
+\fBtransmit_interval\fR property.
+.RE
+
+.sp
+.LP
+The \fBsend-address\fR and \fBreceive-address\fR daemon options can be set by
+means of the \fBsend_address\fR and \fBreceive_address\fR properties.
+.SH SEE ALSO
+.sp
+.LP
+\fBin.routed\fR(1M), \fBrouteadm\fR(1M), \fBsvcadm\fR(1M), \fBioctl\fR(2),
+\fBgateways\fR(4), \fBattributes\fR(5), \fBsmf\fR(5), \fBicmp\fR(7P),
+\fBinet\fR(7P)
+.sp
+.LP
+Deering, S.E., editor, \fIICMP Router Discovery Messages\fR, \fBRFC\fR 1256,
+Network Information Center, SRI International, Menlo Park, California,
+September 1991.
diff --git a/usr/src/man/man1m/in.rexecd.1m b/usr/src/man/man1m/in.rexecd.1m
new file mode 100644
index 0000000000..db0210c9f5
--- /dev/null
+++ b/usr/src/man/man1m/in.rexecd.1m
@@ -0,0 +1,195 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.rexecd 1M "4 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.rexecd, rexecd \- remote execution server
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.rexecd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.rexecd\fR is the server for the \fBrexec\fR(3SOCKET) routine. The server
+provides remote execution facilities with authentication based on user names
+and passwords. It is invoked automatically as needed by \fBinetd\fR(1M), and
+then executes the following protocol:
+.RS +4
+.TP
+1.
+The server reads characters from the socket up to a null (\fB\e0\fR) byte.
+The resultant string is interpreted as an \fBASCII\fR number, base 10.
+.RE
+.RS +4
+.TP
+2.
+If the number received in step 1 is non-zero, it is interpreted as the port
+number of a secondary stream to be used for the \fBstderr\fR. A second
+connection is then created to the specified port on the client's machine.
+.RE
+.RS +4
+.TP
+3.
+A null terminated user name of at most 16 characters is retrieved on the
+initial socket.
+.RE
+.RS +4
+.TP
+4.
+A null terminated password of at most 16 characters is retrieved on the
+initial socket.
+.RE
+.RS +4
+.TP
+5.
+A null terminated command to be passed to a shell is retrieved on the
+initial socket. The length of the command is limited by the upper bound on the
+size of the system's argument list.
+.RE
+.RS +4
+.TP
+6.
+\fBrexecd\fR then validates the user as is done at login time and, if the
+authentication was successful, changes to the user's home directory, and
+establishes the user and group protections of the user. If any of these steps
+fail the connection is aborted and a diagnostic message is returned.
+.RE
+.RS +4
+.TP
+7.
+A null byte is returned on the connection associated with the \fBstderr\fR
+and the command line is passed to the normal login shell of the user. The
+shell inherits the network connections established by \fBrexecd\fR.
+.RE
+.SH USAGE
+.sp
+.LP
+\fBin.rexecd\fR and \fBrexecd\fR are IPv6-enabled. See \fBip6\fR(7P).
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetd\fR(1M), \fBinetadm\fR(1M), \fBsvcadm\fR(1M),
+\fBrexec\fR(3SOCKET), \fBattributes\fR(5), \fBsmf\fR(5), \fBip6\fR(7P)
+.SH DIAGNOSTICS
+.sp
+.LP
+All diagnostic messages are returned on the connection associated with the
+\fBstderr\fR, after which any network connections are closed. An error is
+indicated by a leading byte with a value of 1 (0 is returned in step 7 above
+upon successful completion of all the steps prior to the command execution).
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusername too long\fR\fR
+.ad
+.RS 24n
+.rt
+The name is longer than 16 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpassword too long\fR\fR
+.ad
+.RS 24n
+.rt
+The password is longer than 16 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcommand too long\fR\fR
+.ad
+.RS 24n
+.rt
+The command line passed exceeds the size of the argument list (as configured
+into the system).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLogin incorrect.\fR\fR
+.ad
+.RS 24n
+.rt
+No password file entry for the user name existed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPassword incorrect.\fR\fR
+.ad
+.RS 24n
+.rt
+The wrong password was supplied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNo remote directory.\fR\fR
+.ad
+.RS 24n
+.rt
+The \fBchdir\fR command to the home directory failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTry again.\fR\fR
+.ad
+.RS 24n
+.rt
+A \fBfork\fR by the server failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/bin/sh: ...\fR\fR
+.ad
+.RS 24n
+.rt
+The user's login shell could not be started.
+.RE
+
+.SH NOTES
+.sp
+.LP
+The \fBin.rexecd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rexec:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.ripngd.1m b/usr/src/man/man1m/in.ripngd.1m
new file mode 100644
index 0000000000..c75555cae3
--- /dev/null
+++ b/usr/src/man/man1m/in.ripngd.1m
@@ -0,0 +1,238 @@
+'\" te
+.\" Copyright (C) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.ripngd 1M "26 Jan 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.ripngd \- network routing daemon for IPv6
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.ripngd\fR [\fB-s\fR] [\fB-q\fR] [\fB-t\fR] [\fB-p\fR \fIn\fR] [\fB-P\fR] [\fB-v\fR ]
+ [\fIlogfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.ripngd\fR is the IPv6 equivalent of \fBin.routed\fR(1M). It is invoked at
+boot time to manage the network routing tables. The routing daemon uses the
+Routing Information Protocol for IPv6.
+.sp
+.LP
+\fBin.ripngd\fR is managed by the service management facility (SMF), by means
+of the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/routing/ripng:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In normal operation, \fBin.ripngd\fR listens on the \fBudp\fR(7P) socket port
+521 for routing information packets. If the host is an internetwork router, it
+periodically supplies copies of its routing tables to any directly connected
+hosts and networks.
+.sp
+.LP
+When \fBin.ripngd\fR is started, it uses the \fBSIOCGLIFCONF\fR \fBioctl\fR(2)
+to find those directly connected IPv6 interfaces configured into the system and
+marked "up"; the software loopback interface is ignored. If multiple interfaces
+are present, it is assumed the host will forward packets between networks.
+\fBin.ripngd\fR then multicasts a request packet on each IPv6 interface and
+enters a loop, listening for request and response packets from other hosts.
+.sp
+.LP
+When a request packet is received, \fBin.ripngd\fR formulates a reply based on
+the information maintained in its internal tables. The response packet contains
+a list of known routes. With each route is a number specifying the number of
+bits in the prefix. The prefix is the number of bits in the high order part of
+an address that indicate the subnet or network that the route describes. Each
+route reported also has a "\fIhop count\fR" metric. A count of 16 or greater is
+considered "infinity." The metric associated with each route returned provides
+a metric relative to the sender.
+.sp
+.LP
+The request packets received by \fBin.ripngd\fR are used to update the routing
+tables if one of the following conditions is satisfied:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+No routing table entry exists for the destination network or host, and the
+metric indicates the destination is "reachable", that is, the \fIhop count\fR
+is not infinite.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The source host of the packet is the same as the router in the existing routing
+table entry. That is, updated information is being received from the very
+internetwork router through which packets for the destination are being routed.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The existing entry in the routing table has not been updated for a period of
+time, defined to be 90 seconds, and the route is at least as cost-effective as
+the current route.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The new route describes a shorter route to the destination than the one
+currently stored in the routing tables; this is determined by comparing the
+metric of the new route against the one stored in the table.
+.RE
+.sp
+.LP
+When an update is applied, \fBin.ripngd\fR records the change in its internal
+tables and generates a response packet to all directly connected hosts and
+networks. To allow possible unstable situations to settle, \fBin.ripngd\fR
+waits a short period of time (no more than 30 seconds) before modifying the
+kernel's routing tables.
+.sp
+.LP
+In addition to processing incoming packets, \fBin.ripngd\fR also periodically
+checks the routing table entries. If an entry has not been updated for 3
+minutes, the entry's metric is set to infinity and marked for deletion.
+Deletions are delayed an additional 60 seconds to insure the invalidation is
+propagated throughout the internet.
+.sp
+.LP
+Hosts acting as internetwork routers gratuitously supply their routing tables
+every 30 seconds to all directly connected hosts and networks.
+.SH OPTIONS
+.sp
+.LP
+\fB\fR\fBin.ripngd\fR supports the options listed below. Listed with the
+options are the equivalent SMF property values. These are set for the
+\fBripng:default\fR service with a command of the form:
+.sp
+.in +2
+.nf
+# \fBrouteadm -m ripng:default \fIkey\fR=\fIvalue\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIn\fR\fR
+.ad
+.RS 8n
+.rt
+Send and receive the routing packets from other routers using the \fBUDP \fR
+port number \fIn\fR. Use of this option is equivalent to setting the
+\fBudp_port\fR property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.RS 8n
+.rt
+Do not use poison reverse. Use of this option is equivalent to setting the
+\fBpoison_reverse\fR property to false.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 8n
+.rt
+Do not supply routing information. Use of this option is equivalent to setting
+the \fBquiet_mode\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 8n
+.rt
+Force \fBin.ripngd\fR to supply routing information whether it is acting as an
+internetwork router or not. Use of this option is equivalent to setting the
+\fBsupply_routes\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 8n
+.rt
+Print all packets sent or received to standard output. \fBin.ripngd\fR will not
+divorce itself from the controlling terminal. Accordingly, interrupts from the
+keyboard will kill the process. Not supported by the \fBripng\fR service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 8n
+.rt
+Print all changes made to the routing tables to standard output with a
+timestamp. Use of this option is equivalent to setting the \fBverbose\fR
+property to true.
+.sp
+Any other argument supplied to this option is interpreted as the name of the
+file in which the actions of \fBin.ripngd\fR, as specified by this option or by
+\fB-t\fR, should be logged instead of being sent to standard output.
+.sp
+The logfile can be specified for the \fBripng\fR service by means of the
+\fBlog_file\fR property.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBin.routed\fR(1M), \fBrouteadm\fR(1M), \fBsvcadm\fR(1M), \fBioctl\fR(2),
+\fBattributes\fR(5), \fBsmf\fR(5), \fBudp\fR(7P)
+.sp
+.LP
+G. Malkin, R. Minnear, \fIRFC 2080, RIPng for IPv6\fR, January 1997.
+.SH NOTES
+.sp
+.LP
+The kernel's routing tables may not correspond to those of \fBin.ripngd\fR for
+short periods of time while processes that utilize existing routes exit; the
+only remedy for this is to place the routing process in the kernel.
+.sp
+.LP
+\fBin.ripngd\fR currently does not support all of the functionality of
+\fBin.routed\fR(1M). Future releases may support more if appropriate.
+.sp
+.LP
+\fBin.ripngd\fR initially obtains a routing table by examining the interfaces
+configured on a machine. It then sends a request on all directly connected
+networks for more routing information. \fBin.ripngd\fR does not recognize or
+use any routing information already established on the machine prior to
+startup. With the exception of interface changes, \fBin.ripngd\fR does not see
+any routing table changes that have been done by other programs on the machine,
+for example, routes added, deleted or flushed by means of the \fBroute\fR(1M)
+command. Therefore, these types of changes should not be done while
+\fBin.ripngd\fR is running. Rather, shut down \fBin.ripngd\fR, make the changes
+required, and then restart \fBin.ripngd\fR.
diff --git a/usr/src/man/man1m/in.rlogind.1m b/usr/src/man/man1m/in.rlogind.1m
new file mode 100644
index 0000000000..4b22e35a6a
--- /dev/null
+++ b/usr/src/man/man1m/in.rlogind.1m
@@ -0,0 +1,424 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2005, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.rlogind 1M "10 Nov 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.rlogind, rlogind \- remote login server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.rlogind\fR [\fB-k5eExXciPp\fR] [\fB-s\fR \fItos\fR] [\fB-S\fR \fIkeytab\fR]
+ [\fB-M\fR \fIrealm\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.rlogind\fR is the server for the \fBrlogin\fR(1) program. The server
+provides a remote login facility with authentication based on Kerberos V5 or
+privileged port numbers.
+.sp
+.LP
+\fBin.rlogind\fR is invoked by \fBinetd\fR(1M) when a remote login connection
+is established. When Kerberos V5 authentication is required (see option
+\fB-k\fR below), the authentication sequence is as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Check Kerberos V5 authentication.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Check authorization according to the rules in \fBkrb5_auth_rules\fR(5).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Prompt for a password if any checks fail and \fB/etc/pam.conf\fR is configured
+to do so.
+.RE
+.sp
+.LP
+In order for Kerberos authentication to work, a \fBhost/\fR\fI<FQDN>\fR
+Kerberos principal must exist for each Fully Qualified Domain Name associated
+with the \fBin.rlogind\fR server. Each of these \fBhost/\fR\fI<FQDN>\fR
+principals must have a \fBkeytab\fR entry in the \fB/etc/krb5/krb5.keytab\fR
+file on the \fBin.rlogind\fR server. An example principal might be:
+.sp
+.LP
+\fBhost/bigmachine.eng.example.com\fR
+.sp
+.LP
+See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
+principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+authentication.
+.sp
+.LP
+If Kerberos V5 authentication is not enabled, then the authentication procedure
+follows the standard \fBrlogin\fR protocol:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The server checks the client's source port. If the port is not in the range
+512-1023, the server aborts the connection.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The server checks the client's source address. If an entry for the client
+exists in both \fB/etc/hosts\fR and \fB/etc/hosts.equiv\fR, a user logging in
+from the client is not prompted for a password. If the address is associated
+with a host for which no corresponding entry exists in \fB/etc/hosts\fR, the
+user is prompted for a password, regardless of whether or not an entry for the
+client is present in \fB/etc/hosts.equiv\fR. See \fBhosts\fR(4) and
+\fBhosts.equiv\fR(4).
+.RE
+.sp
+.LP
+Once the source port and address have been checked, \fBin.rlogind\fR allocates
+a pseudo-terminal and manipulates file descriptors so that the slave half of
+the pseudo-terminal becomes the \fBstdin\fR, \fBstdout\fR, and \fBstderr\fR for
+a login process. The login process is an instance of the \fBlogin\fR(1)
+program, invoked with the \fB-r\fR.
+.sp
+.LP
+The login process then proceeds with the \fBpam\fR(3PAM) authentication
+process. See \fBSECURITY\fR below. If automatic authentication fails, it
+reprompts the user to login.
+.sp
+.LP
+The parent of the login process manipulates the master side of the
+pseudo-terminal, operating as an intermediary between the login process and the
+client instance of the \fBrlogin\fR program. In normal operation, a packet
+protocol is invoked to provide Ctrl-S and Ctrl-Q type facilities and propagate
+interrupt signals to the remote programs. The login process propagates the
+client terminal's baud rate and terminal type, as found in the environment
+variable, \fBTERM\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-5\fR\fR
+.ad
+.RS 13n
+.rt
+Same as \fB-k\fR, for backwards compatibility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 13n
+.rt
+Requires Kerberos V5 clients to present a cryptographic checksum of initial
+connection information like the name of the user that the client is trying to
+access in the initial authenticator. This checksum provides additionl security
+by preventing an attacker from changing the initial connection information.
+This option is mutually exclusive with the \fB-i\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 13n
+.rt
+Creates an encrypted session.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.RS 13n
+.rt
+Same as \fB-e\fR, for backwards compatibility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 13n
+.rt
+Ignores authenticator checksums if provided. This option ignores authenticator
+checksums presented by current Kerberos clients to protect initial connection
+information. Option \fB-i\fR is the opposite of option \fB-c\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 13n
+.rt
+Allows Kerberos V5 authentication with the \fB\&.k5login\fR access control file
+to be trusted. If this authentication system is used by the client and the
+authorization check is passed, then the user is allowed to log in.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fIrealm\fR\fR
+.ad
+.RS 13n
+.rt
+Uses the indicated Kerberos V5 realm. By default, the daemon will determine its
+realm from the settings in the \fBkrb5.conf\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 13n
+.rt
+Prompts for authentication only if other authentication checks fail.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.RS 13n
+.rt
+Prompts for a password in addition to other authentication methods.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fItos\fR\fR
+.ad
+.RS 13n
+.rt
+Sets the \fBIP\fR \fBTOS\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIkeytab\fR\fR
+.ad
+.RS 13n
+.rt
+Sets the \fBKRB5\fR keytab file to use. The\fB/etc/krb5/krb5.keytab\fR file is
+used by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 13n
+.rt
+Same as \fB-e\fR, for backwards compatibility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR\fR
+.ad
+.RS 13n
+.rt
+Same as \fB-e\fR, for backwards compatibility.
+.RE
+
+.SH USAGE
+.sp
+.LP
+\fBrlogind\fR and \fBin.rlogind\fR are IPv6-enabled. See \fBip6\fR(7P).
+\fBIPv6\fR is not currently supported with Kerberos V5 authentication.
+.sp
+.LP
+Typically, Kerberized \fBrlogin\fR service runs on port 543 (klogin) and
+Kerberized, encrypted \fBrlogin\fR service runs on port 2105 (eklogin). The
+corresponding FMRI entries are:
+.sp
+.in +2
+.nf
+svc:/network/login:klogin (rlogin with kerberos)
+svc:/network/login:eklogin (rlogin with kerberos and encryption)
+.fi
+.in -2
+.sp
+
+.SH SECURITY
+.sp
+.LP
+\fBin.rlogind\fR uses \fBpam\fR(3PAM) for authentication, account management,
+and session management. The \fBPAM\fR configuration policy, listed through
+\fB/etc/pam.conf\fR, specifies the modules to be used for \fBin.rlogind\fR.
+Here is a partial \fBpam.conf\fR file with entries for the \fBrlogin\fR command
+using the "rhosts" and UNIX authentication modules, and the UNIX account,
+session management, and password management modules.
+.sp
+
+.sp
+.TS
+tab();
+lw(0i) lw(1.38i) lw(4.13i)
+lw(0i) lw(1.38i) lw(4.13i)
+.
+rloginauth sufficientpam_rhosts_auth.so.1
+rloginauth requisitepam_authtok_get.so.1
+rloginauth requiredpam_dhkeys.so.1
+rloginauth requiredpam_unix_auth.so.1
+
+rloginaccount requiredpam_unix_roles.so.1
+rloginaccount requiredpam_unix_projects.so.1
+rloginaccount requiredpam_unix_account.so.1
+
+rloginsession requiredpam_unix_session.so.1
+.TE
+
+.sp
+.LP
+With this configuration, the server checks the client's source address. If an
+entry for the client exists in both \fB/etc/hosts\fR and
+\fB/etc/hosts.equiv\fR, a user logging in from the client is not prompted for a
+password. If the address is associated with a host for which no corresponding
+entry exists in \fB/etc/hosts\fR, the user is prompted for a password,
+regardless of whether or not an entry for the client is present in
+\fB/etc/hosts.equiv\fR. See \fBhosts\fR(4) and \fBhosts.equiv\fR(4).
+.sp
+.LP
+When running a Kerberized rlogin service (with or without the encryption
+option), the pam service name that should be used is "\fBkrlogin\fR".
+.sp
+.LP
+If there are no entries for the \fBrlogin\fR service, then the entries for the
+"other" service will be used. If multiple authentication modules are listed,
+then the user may be prompted for multiple passwords. Removing the
+\fBpam_rhosts_auth.so.1\fR entry will disable the \fB/etc/hosts.equiv\fR and
+\fB~/.rhosts\fR authentication protocol and the user would always be forced to
+type the password. The \fIsufficient\fR flag indicates that authentication
+through the \fBpam_rhosts_auth.so.1\fR module is sufficient to authenticate the
+user. Only if this authentication fails is the next authentication module used.
+.SH SEE ALSO
+.sp
+.LP
+\fBlogin\fR(1), \fBsvcs\fR(1), \fBrlogin\fR(1), \fBgkadmin\fR(1M),
+\fBin.rshd\fR(1M), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBkadmin\fR(1M),
+\fBsvcadm\fR(1M), \fBpam\fR(3PAM), \fBhosts\fR(4), \fBhosts.equiv\fR(4),
+\fBkrb5.conf\fR(4), \fBpam.conf\fR(4), \fBattributes\fR(5), \fBenviron\fR(5),
+\fBkrb5_auth_rules\fR(5), \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), \fBpam_unix_session\fR(5),
+\fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH DIAGNOSTICS
+.sp
+.LP
+All diagnostic messages are returned on the connection associated with the
+\fBstderr\fR, after which any network connections are closed. An error is
+indicated by a leading byte with a value of 1.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHostname for your address unknown.\fR\fR
+.ad
+.sp .6
+.RS 4n
+No entry in the host name database existed for the client's machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTry again.\fR\fR
+.ad
+.sp .6
+.RS 4n
+A \fIfork\fR by the server failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/bin/sh:\fR .\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+The user's login shell could not be started.
+.RE
+
+.SH NOTES
+.sp
+.LP
+The authentication procedure used here assumes the integrity of each client
+machine and the connecting medium. This is insecure, but it is useful in an
+``open'' environment.
+.sp
+.LP
+A facility to allow all data exchanges to be encrypted should be present.
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported. Similar functionality is
+provided by \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), and
+\fBpam_unix_session\fR(5).
+.sp
+.LP
+The \fBin.rlogind\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/login:rlogin (rlogin)
+svc:/network/login:klogin (rlogin with kerberos)
+svc:/network/login:eklogin (rlogin with kerberos and encryption)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.routed.1m b/usr/src/man/man1m/in.routed.1m
new file mode 100644
index 0000000000..35b7ca4552
--- /dev/null
+++ b/usr/src/man/man1m/in.routed.1m
@@ -0,0 +1,518 @@
+'\" te
+.\" Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.routed 1M "24 Jul 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.routed, routed \- network routing daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.routed\fR [\fB-AdghmnqsStVz\fR] [\fB-T\fR \fItracefile\fR [\fB-v\fR]]
+ [\fB-F\fR \fInet\fR[/mask ][,metric]] [\fB-P\fR \fIparams\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The daemon \fBin.routed\fR, often referred to as \fBrouted\fR, is invoked at
+boot time to manage the network routing tables. It uses Routing Information
+Protocol, RIPv1 (RFC 1058), RIPv2 (RFC 2453), and Internet Router Discovery
+Protocol (RFC 1256) to maintain the kernel routing table. The RIPv1 protocol is
+based on the reference 4.3BSD daemon.
+.sp
+.LP
+\fBin.routed\fR is managed by means of the service management facility (SMF),
+using the fault management resource identifier (FMRI):
+.sp
+.in +2
+.nf
+svc:/network/routing/route:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The daemon listens on a \fBudp\fR socket for the \fBroute\fR service (see
+\fBservices\fR(4)) for Routing Information Protocol packets. It also sends and
+receives multicast Router Discovery ICMP messages. If the host is a router,
+\fBin.routed\fR periodically supplies copies of its routing tables to any
+directly connected hosts and networks. It also advertises or solicits default
+routes using Router Discovery ICMP messages.
+.sp
+.LP
+When started (or when a network interface is later turned on), \fBin.routed\fR
+uses an \fBAF_ROUTE\fR address family facility to find those directly connected
+interfaces configured into the system and marked "up". It adds necessary routes
+for the interfaces to the kernel routing table. Soon after being first started,
+and provided there is at least one interface on which RIP has not been
+disabled, \fBin.routed\fR deletes all pre-existing non-static routes in the
+kernel table. Static routes in the kernel table are preserved and included in
+RIP responses if they have a valid RIP metric (see \fBroute\fR(1M)).
+.sp
+.LP
+If more than one interface is present (not counting the loopback interface), it
+is assumed that the host should forward packets among the connected networks.
+After transmitting a RIP request and Router Discovery Advertisements or
+Solicitations on a new interface, the daemon enters a loop, listening for RIP
+request and response and Router Discovery packets from other hosts.
+.sp
+.LP
+When a request packet is received, \fBin.routed\fR formulates a reply based on
+the information maintained in its internal tables. The response packet
+generated contains a list of known routes, each marked with a "hop count"
+metric (a count of 16 or greater is considered "infinite"). Advertised metrics
+reflect the metric associated with an interface (see \fBifconfig\fR(1M)), so
+setting the metric on an interface is an effective way to steer traffic.
+.sp
+.LP
+Responses do not include routes with a first hop on the requesting network, to
+implement in part split-horizon. Requests from query programs such as
+\fBrtquery\fR(1M) are answered with the complete table.
+.sp
+.LP
+The routing table maintained by the daemon includes space for several gateways
+for each destination to speed recovery from a failing router. RIP response
+packets received are used to update the routing tables, provided they are from
+one of the several currently recognized gateways or advertise a better metric
+than at least one of the existing gateways.
+.sp
+.LP
+When an update is applied, \fBin.routed\fR records the change in its own tables
+and updates the kernel routing table if the best route to the destination
+changes. The change in the kernel routing table is reflected in the next batch
+of response packets sent. If the next response is not scheduled for a while, a
+flash update response containing only recently changed routes is sent.
+.sp
+.LP
+In addition to processing incoming packets, in.routed also periodically checks
+the routing table entries. If an entry has not been updated for 3 minutes, the
+entry's metric is set to infinity and marked for deletion. Deletions are
+delayed until the route has been advertised with an infnite metric to insure
+the invalidation is propagated throughout the local internet. This is a form of
+poison reverse.
+.sp
+.LP
+Routes in the kernel table that are added or changed as a result of ICMP
+Redirect messages are deleted after a while to minimize black-holes. When a TCP
+connection suffers a timeout, the kernel tells \fBin.routed\fR, which deletes
+all redirected routes through the gateway involved, advances the age of all RIP
+routes through the gateway to allow an alternate to be chosen, and advances of
+the age of any relevant Router Discovery Protocol default routes.
+.sp
+.LP
+Hosts acting as internetwork routers gratuitously supply their routing tables
+every 30 seconds to all directly connected hosts and networks. These RIP
+responses are sent to the broadcast address on nets that support broadcasting,
+to the destination address on point-to-point links, and to the router's own
+address on other networks. If RIPv2 is enabled, multicast packets are sent on
+interfaces that support multicasting.
+.sp
+.LP
+If no response is received on a remote interface, if there are errors while
+sending responses, or if there are more errors than input or output (see
+\fBnetstat\fR(1M)), then the cable or some other part of the interface is
+assumed to be disconnected or broken, and routes are adjusted appropriately.
+.sp
+.LP
+The Internet Router Discovery Protocol is handled similarly. When the daemon is
+supplying RIP routes, it also listens for Router Discovery Solicitations and
+sends Advertisements. When it is quiet and listening to other RIP routers, it
+sends Solicitations and listens for Advertisements. If it receives a good
+Advertisement and it is not multi-homed, it stops listening for broadcast or
+multicast RIP responses. It tracks several advertising routers to speed
+recovery when the currently chosen router dies. If all discovered routers
+disappear, the daemon resumes listening to RIP responses. It continues
+listening to RIP while using Router Discovery if multi-homed to ensure all
+interfaces are used.
+.sp
+.LP
+The Router Discovery standard requires that advertisements have a default
+"lifetime" of 30 minutes. That means should something happen, a client can be
+without a good route for 30 minutes. It is a good idea to reduce the default to
+45 seconds using \fB\fR\fB-P\fR \fBrdisc_interval=45\fR on the command line or
+\fBrdisc_interval=45\fR in the \fB/etc/gateways\fR file. See \fBgateways\fR(4).
+.sp
+.LP
+While using Router Discovery (which happens by default when the system has a
+single network interface and a Router Discover Advertisement is received),
+there is a single default route and a variable number of redirected host routes
+in the kernel table. On a host with more than one network interface, this
+default route will be via only one of the interfaces. Thus, multi-homed hosts
+running with \fB-q\fR might need the \fBno_rdisc\fR argument described below.
+.sp
+.LP
+To support "legacy" systems that can handle neither RIPv2 nor Router Discovery,
+you can use the \fBpm_rdisc\fR parameter in the \fB/etc/gateways\fR. See
+\fBgateways\fR(4).
+.sp
+.LP
+By default, neither Router Discovery advertisements nor solicitations are sent
+over point-to-point links (for example, PPP). The Solaris OE uses a netmask of
+all ones (255.255.255.255) on point-to-point links.
+.sp
+.LP
+\fBin.routed\fR supports the notion of "distant" passive or active gateways.
+When the daemon is started, it reads the file \fB/etc/gateways\fR to find such
+distant gateways that cannot be located using only information from a routing
+socket, to discover if some of the local gateways are passive, and to obtain
+other parameters. Gateways specified in this manner should be marked passive if
+they are not expected to exchange routing information, while gateways marked
+active should be willing to exchange RIP packets. Routes through passive
+gateways are installed in the kernel's routing tables once upon startup and are
+not included in transmitted RIP responses.
+.sp
+.LP
+Distant active gateways are treated like network interfaces. RIP responses are
+sent to the distant active gateway. If no responses are received, the
+associated route is deleted from the kernel table and RIP responses are
+advertised via other interfaces. If the distant gateway resumes sending RIP
+responses, the associated route is restored.
+.sp
+.LP
+Distant active gateways can be useful on media that do not support broadcasts
+or multicasts but otherwise act like classic shared media, such as some ATM
+networks. One can list all RIP routers reachable on the HIPPI or ATM network in
+\fB/etc/gateways\fR with a series of "host" lines. Note that it is usually
+desirable to use RIPv2 in such situations to avoid generating lists of inferred
+host routes.
+.sp
+.LP
+Gateways marked external are also passive, but are not placed in the kernel
+routing table, nor are they included in routing updates. The function of
+external entries is to indicate that another routing process will install such
+a route if necessary, and that other routes to that destination should not be
+installed by \fBin.routed\fR. Such entries are required only when both routers
+might learn of routes to the same destination.
+.SH OPTIONS
+.sp
+.LP
+Listed below are available options. Any other argument supplied is interpreted
+as the name of a file in which the actions of \fBin.routed\fR should be logged.
+It is better to use \fB-T\fR (described below) instead of appending the name of
+the trace file to the command. Associated SMF properties for these options are
+described, and can be set by means of a command of the form:
+.sp
+.in +2
+.nf
+# \fBrouteadm -m route:default \fIname\fR=\fIvalue\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not ignore RIPv2 authentication if we do not care about RIPv2
+authentication. This option is required for conformance with RFC 2453. However,
+it makes no sense and breaks using RIP as a discovery protocol to ignore all
+RIPv2 packets that carry authentication when this machine does not care about
+authentication. This option is equivalent to setting the \fBignore_auth\fR
+property value to false.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not run in the background. This option is meant for interactive use and is
+not usable under the SMF.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fBnet[/\fImask\fR][,\fImetric\fR]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Minimize routes in transmissions via interfaces with addresses that match
+\fInet\fR (network number)/\fImask\fR (netmask), and synthesizes a default
+route to this machine with the \fImetric\fR. The intent is to reduce RIP
+traffic on slow, point-to-point links, such as PPP links, by replacing many
+large UDP packets of RIP information with a single, small packet containing a
+"fake" default route. If \fImetric\fR is absent, a value of 14 is assumed to
+limit the spread of the "fake" default route. This is a dangerous feature that,
+when used carelessly, can cause routing loops. Notice also that more than one
+interface can match the specified network number and mask. See also \fB-g\fR.
+Use of this option is equivalent to setting the \fBminimize_routes\fR property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used on internetwork routers to offer a route to the "default" destination. It
+is equivalent to \fB-F\fR \fB0/0,1\fR and is present mostly for historical
+reasons. A better choice is \fB-P\fR \fBpm_rdisc\fR on the command line or
+\fBpm_rdisc\fR in the \fB/etc/gateways\fR file. A larger metric will be used
+with the latter alternatives, reducing the spread of the potentially dangerous
+default route. The \fB-g\fR (or \fB-P\fR) option is typically used on a gateway
+to the Internet, or on a gateway that uses another routing protocol whose
+routes are not reported to other local routers. Note that because a metric of 1
+is used, this feature is dangerous. Its use more often creates chaos with a
+routing loop than solves problems. Use of this option is equivalent to setting
+the \fBoffer_default_route\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes host or point-to-point routes not to be advertised, provided there is a
+network route going the same direction. That is a limited kind of aggregation.
+This option is useful on gateways to LANs that have other gateway machines
+connected with point-to-point links such as SLIP. Use of this option is
+equivalent to setting the \fBadvertise_host_routes\fR property to false.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cause the machine to advertise a host or point-to-point route to its primary
+interface. It is useful on multi-homed machines such as NFS servers. This
+option should not be used except when the cost of the host routes it generates
+is justified by the popularity of the server. It is effective only when the
+machine is supplying routing information, because there is more than one
+interface. The \fB-m\fR option overrides the \fB-q\fR option to the limited
+extent of advertising the host route. Use of this option is equivalent to
+setting the \fBadvertise_host_routes_primary\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not install routes in kernel. By default, routes are installed in the
+kernel. Use of this option is equivalent to setting the \fBinstall_routes\fR
+property to false.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIparams\fR\fR
+.ad
+.sp .6
+.RS 4n
+Equivalent to adding the parameter line \fIparams\fR to the \fB/etc/gateways\fR
+file. Can also be set by means of the \fBparameters\fR property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Opposite of the \fB-s\fR option. This is the default when only one interface is
+present. With this explicit option, the daemon is always in "quiet mode" for
+RIP and does not supply routing information to other computers. Use of this
+option is equivalent to setting the \fBquiet_mode\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force \fBin.routed\fR to supply routing information. This is the default if
+multiple network interfaces are present on which RIP or Router Discovery have
+not been disabled, and if the \fB/dev/ip\fR \fBndd\fR variable
+\fBip_forwarding\fR is set to 1. Use of this option is equivalent to setting
+the \fBsupply_routes\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBin.routed\fR is not acting as an internetwork router, instead of entering
+the whole routing table in the kernel, it enters only a default route for each
+internetwork router. This reduces the memory requirements without losing any
+routing reliability. This option is provided for compatibility with the
+previous, RIPv1-only \fBin.routed\fR. Use of this option is generally
+discouraged. Use of this option is equivalent to setting the
+\fBdefault_routes_only\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Runs in the foreground (as with \fB-d\fR) and logs the contents of the packets
+received (as with \fB-zz\fR). This is for compatibility with prior versions of
+Solaris and has no SMF equivalent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fItracefile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Increases the debugging level to at least 1 and causes debugging information to
+be appended to the trace file. Because of security concerns, do not to run
+\fBin.routed\fR routinely with tracing directed to a file. Use of this option
+is equivalent to setting the \fBlog_file\fR property to \fBtrace file path\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables debug. Similar to \fB-z\fR, except, where \fB-z\fR increments
+\fBtrace_level\fR, \fB-v\fR sets \fBtrace_level\fR to 1. Also, \fB-v\fR
+requires the \fB-T\fR option. Use of this option is equivalent to setting the
+\fBdebug\fR property to true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the version of the daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fR
+.ad
+.sp .6
+.RS 4n
+Increase the debugging level, which causes more information to be logged on the
+tracefile specified with \fB-T\fR or stdout. The debugging level can be
+increased or decreased with the \fBSIGUSR1\fR or \fBSIGUSR2\fR signals or with
+the \fBrtquery\fR(1M) command.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/defaultrouter\fR\fR
+.ad
+.RS 22n
+.rt
+If this file is present and contains the address of a default router, the
+system startup script does not run \fBin.routed\fR. See \fBdefaultrouter\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/gateways\fR\fR
+.ad
+.RS 22n
+.rt
+List of distant gateways and general configuration options for \fBin.routed\fR.
+See \fBgateways\fR(4).
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBroute\fR(1M), \fBrouteadm\fR(1M), \fBrtquery\fR(1M), \fBsvcadm\fR(1M),
+\fBioctl\fR(2), \fBinet\fR(3SOCKET), \fBdefaultrouter\fR(4), \fBgateways\fR(4),
+\fBattributes\fR(5), \fBicmp\fR(7P), \fBinet\fR(7P), \fBudp\fR(7P)
+.sp
+.LP
+\fIInternet Transport Protocols, XSIS 028112, Xerox System Integration
+Standard\fR
+.sp
+.LP
+\fIRouting Information Protocol, v2 (RFC 2453, STD 0056, November 1998)\fR
+.sp
+.LP
+\fIRIP-v2 MD5 Authentication (RFC 2082, January 1997)\fR
+.sp
+.LP
+\fIRouting Information Protocol, v1 (RFC 1058, June 1988)\fR
+.sp
+.LP
+\fIICMP Router Discovery Messages (RFC 1256, September 1991)\fR
+.SH NOTES
+.sp
+.LP
+In keeping with its intended design, this daemon deviates from RFC 2453 in two
+notable ways:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+By default, \fBin.routed\fR does not discard authenticated RIPv2 messages when
+RIP authentication is not configured. There is little to gain from dropping
+authenticated packets when RIPv1 listeners will gladly process them. Using the
+\fB-A\fR option causes \fBin.routed\fR to conform to the RFC in this case.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Unauthenticated RIP requests are never discarded, even when RIP authentication
+is configured. Forwarding tables are not secret and can be inferred through
+other means such as test traffic. RIP is also the most common router-discovery
+protocol, and hosts need to send queries that will be answered.
+.RE
+.sp
+.LP
+\fBin.routed\fR does not always detect unidirectional failures in network
+interfaces, for example, when the output side fails.
diff --git a/usr/src/man/man1m/in.rshd.1m b/usr/src/man/man1m/in.rshd.1m
new file mode 100644
index 0000000000..74d6bb2135
--- /dev/null
+++ b/usr/src/man/man1m/in.rshd.1m
@@ -0,0 +1,488 @@
+'\" te
+.\" Copyright (C) 2005, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.rshd 1M "10 Nov 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.rshd, rshd \- remote shell server
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.rshd\fR [\fB-k5eciU\fR] [\fB-s\fR \fItos\fR] [\fB-S\fR \fIkeytab\fR] [\fB-M\fR \fIrealm\fR]
+ [\fB-L\fR \fIenv_var\fR] \fIhost.port\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.rshd\fR is the server for the \fBrsh\fR(1) program. The server provides
+remote execution facilities with authentication based on Kerberos V5 or
+privileged port numbers.
+.sp
+.LP
+\fBin.rshd\fR is invoked by \fBinetd\fR(1M) each time a shell service is
+requested.
+.sp
+.LP
+When Kerberos V5 authentication is required (this can be set with
+Kerberos-specific options listed below), the following protocol is initiated:
+.RS +4
+.TP
+1.
+Check Kerberos V5 authentication.
+.RE
+.RS +4
+.TP
+2.
+Check authorization according to rules in \fBkrb5_auth_rules\fR(5).
+.RE
+.RS +4
+.TP
+3.
+A null byte is returned on the initial socket and the command line is passed
+to the normal login shell of the user. (The \fBPATH\fR variable is set to
+\fB/usr/bin\fR.) The shell inherits the network connections established by
+\fBin.rshd\fR.
+.RE
+.sp
+.LP
+In order for Kerberos authentication to work, a \fBhost/\fR\fI<FQDN>\fR
+Kerberos principal must exist for each Fully Qualified Domain Name associated
+with the \fBin.rshd\fR server. Each of these \fBhost/\fR\fI<FQDN>\fR principals
+must have a \fBkeytab\fR entry in the \fB/etc/krb5/krb5.keytab\fR file on the
+\fBin.rshd\fR server. An example principal might be:
+.sp
+.LP
+\fBhost/bigmachine.eng.example.com\fR
+.sp
+.LP
+See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
+principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+authentication.
+.sp
+.LP
+If Kerberos V5 authentication is not enabled, then \fBin.rshd\fR executes the
+following protocol:
+.RS +4
+.TP
+1.
+The server checks the client's source port. If the port is not in the range
+512-1023, the server aborts the connection. The client's host address (in hex)
+and port number (in decimal) are the arguments passed to \fBin.rshd\fR.
+.RE
+.RS +4
+.TP
+2.
+The server reads characters from the socket up to a null (\fB\0\fR) byte.
+The resultant string is interpreted as an \fBASCII\fR number, base 10.
+.RE
+.RS +4
+.TP
+3.
+If the number received in step 2 is non-zero, it is interpreted as the port
+number of a secondary stream to be used for the \fBstderr\fR. A second
+connection is then created to the specified port on the client's machine. The
+source port of this second connection is also in the range 512-1023.
+.RE
+.RS +4
+.TP
+4.
+A null-terminated user name of at most 16 characters is retrieved on the
+initial socket. This user name is interpreted as the user identity on the
+\fIclient\fR's machine.
+.RE
+.RS +4
+.TP
+5.
+A null terminated user name of at most 16 characters is retrieved on the
+initial socket. This user name is interpreted as a user identity to use on the
+\fIserver\fR's machine.
+.RE
+.RS +4
+.TP
+6.
+A null terminated command to be passed to a shell is retrieved on the
+initial socket. The length of the command is limited by the upper bound on the
+size of the system's argument list.
+.RE
+.RS +4
+.TP
+7.
+\fBin.rshd\fR then validates the user according to the following steps. The
+remote user name is looked up in the password file and a \fBchdir\fR is
+performed to the user's home directory. If the lookup fails, the connection is
+terminated. If the \fBchdir\fR fails, it does a \fBchdir\fR to \fB/\fR (root).
+If the user is not the superuser, (user \fBID\fR 0), and if the pam_rhosts_auth
+\fBPAM\fR module is configured for authentication, the file
+\fB/etc/hosts.equiv\fR is consulted for a list of hosts considered
+"equivalent". If the client's host name is present in this file, the
+authentication is considered successful. See the SECURITY section below for a
+discussion of \fBPAM\fR authentication.
+.sp
+If the lookup fails, or the user is the superuser, then the file
+\fB\&.rhosts\fR in the home directory of the remote user is checked for the
+machine name and identity of the user on the client's machine. If this lookup
+fails, the connection is terminated
+.RE
+.RS +4
+.TP
+8.
+A null byte is returned on the initial connection and the command line is
+passed to the normal login shell of the user. The \fBPATH\fR variable is set to
+\fB/usr/bin\fR. The shell inherits the network connections established by
+\fBin.rshd\fR.
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-5\fR\fR
+.ad
+.RS 14n
+.rt
+Same as \fB-k\fR, for backwards compatibility
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 14n
+.rt
+Requires Kerberos V5 clients to present a cryptographic checksum of initial
+connection information like the name of the user that the client is trying to
+access in the initial authenticator. This checksum provides additionl security
+by preventing an attacker from changing the initial connection information.
+This option is mutually exclusive with the \fB-i\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 14n
+.rt
+Requires the client to encrypt the connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 14n
+.rt
+Ignores authenticator checksums if provided. This option ignores authenticator
+checksums presented by current Kerberos clients to protect initial connection
+information. Option \fB-i\fR is the opposite of option \fB-c\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 14n
+.rt
+Allows Kerberos V5 authentication with the \fB\&.k5login\fR access control file
+to be trusted. If this authentication system is used by the client and the
+authorization check is passed, then the user is allowed to log in.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR \fIenv_var\fR\fR
+.ad
+.RS 14n
+.rt
+List of environment variables that need to be saved and passed along.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fIrealm\fR\fR
+.ad
+.RS 14n
+.rt
+Uses the indicated Kerberos V5 realm. By default, the daemon will determine its
+realm from the settings in the \fBkrb5.conf\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fItos\fR\fR
+.ad
+.RS 14n
+.rt
+Sets the \fBIP\fR \fBTOS\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIkeytab\fR\fR
+.ad
+.RS 14n
+.rt
+Sets the \fBKRB5\fR keytab file to use. The\fB/etc/krb5/krb5.keytab\fR file is
+used by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR\fR
+.ad
+.RS 14n
+.rt
+Refuses connections that cannot be mapped to a name through the
+\fBgetnameinfo\fR(3SOCKET) function.
+.RE
+
+.SH USAGE
+.sp
+.LP
+\fBrshd\fR and \fBin.rshd\fR are IPv6-enabled. See \fBip6\fR(7P). \fBIPv6\fR is
+not currently supported with Kerberos V5 authentication.
+.sp
+.LP
+The Kerberized \fBrshd\fR service runs on port 544 (kshell). The corresponding
+FMRI entry is: :
+.sp
+.in +2
+.nf
+svc:/network/shell:kshell (rshd with kerberos (ipv4 only))
+.fi
+.in -2
+.sp
+
+.SH SECURITY
+.sp
+.LP
+\fBin.rshd\fR uses \fBpam\fR(3PAM) for authentication, account management, and
+session management. The \fBPAM\fR configuration policy, listed through
+\fB/etc/pam.conf\fR, specifies the modules to be used for \fBin.rshd\fR. Here
+is a partial \fBpam.conf\fR file with entries for the \fBrsh\fR command using
+rhosts authentication, \fBUNIX\fR account management, and session management
+module.
+.sp
+
+.sp
+.TS
+tab();
+lw(.79i) lw(.79i) lw(.79i) lw(3.14i)
+lw(.79i) lw(.79i) lw(.79i) lw(3.14i)
+.
+rshauthrequiredpam_rhosts_auth.so.1
+
+rshaccountrequiredpam_unix_roles.so.1
+rshsessionrequiredpam_unix_projects.so.1
+rshsessionrequiredpam_unix_account.so.1
+
+rshsessionrequiredpam_unix_session.so.1
+.TE
+
+.sp
+.LP
+If there are no entries for the \fBrsh\fR service, then the entries for the
+"other" service are used. To maintain the authentication requirement for
+\fBin.rshd\fR, the rsh entry must always be configured with the
+\fBpam_rhosts_auth.so.1\fR module.
+.sp
+.LP
+\fBin.rshd\fR can authenticate using Kerberos V5 authentication or
+\fBpam\fR(3PAM). For Kerberized \fBrsh\fR service, the appropriate \fBPAM\fR
+service name is \fBkrsh\fR.
+.SH FILES
+.sp
+.LP
+\fB/etc/hosts.equiv\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.k5login\fR\fR
+.ad
+.RS 23n
+.rt
+File containing Kerberos principals that are allowed access.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/krb5.conf\fR\fR
+.ad
+.RS 23n
+.rt
+Kerberos configuration file.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBrsh\fR(1), \fBsvcs\fR(1), \fBgkadmin\fR(1M), \fBinetadm\fR(1M),
+\fBinetd\fR(1M), \fBkadmin\fR(1M), \fBsvcadm\fR(1M), \fBpam\fR(3PAM),
+\fBgetnameinfo\fR(3SOCKET), \fBhosts\fR(4), \fBkrb5.conf\fR(4),
+\fBpam.conf\fR(4), \fB attributes\fR(5), \fBenviron\fR(5),
+\fBkrb5_auth_rules\fR(5), \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_rhosts_auth\fR(5), \fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5),
+\fBpam_unix_session\fR(5), \fBsmf\fR(5), \fBip6\fR(7P)
+.sp
+.LP
+\fI\fR
+.SH DIAGNOSTICS
+.sp
+.LP
+The following diagnostic messages are returned on the connection associated
+with \fBstderr\fR, after which any network connections are closed. An error is
+indicated by a leading byte with a value of 1 in step 8 above (\fB0\fR is
+returned above upon successful completion of all the steps prior to the command
+execution).
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlocuser too long\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the user on the client's machine is longer than 16 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremuser too long\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the user on the remote machine is longer than 16 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcommand too long\fR\fR
+.ad
+.sp .6
+.RS 4n
+The command line passed exceeds the size of the argument list (as configured
+into the system).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHostname for your address unknown.\fR\fR
+.ad
+.sp .6
+.RS 4n
+No entry in the host name database existed for the client's machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLogin incorrect.\fR\fR
+.ad
+.sp .6
+.RS 4n
+No password file entry for the user name existed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPermission denied.\fR\fR
+.ad
+.sp .6
+.RS 4n
+The authentication procedure described above failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCan't make pipe.\fR\fR
+.ad
+.sp .6
+.RS 4n
+The pipe needed for the \fBstderr\fR was not created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTry again.\fR\fR
+.ad
+.sp .6
+.RS 4n
+A \fIfork\fR by the server failed.
+.RE
+
+.SH NOTES
+.sp
+.LP
+The authentication procedure used here assumes the integrity of each client
+machine and the connecting medium. This is insecure, but it is useful in an
+"open" environment.
+.sp
+.LP
+A facility to allow all data exchanges to be encrypted should be present.
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported. Similar functionality is
+provided by \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), and
+\fBpam_unix_session\fR(5).
+.sp
+.LP
+The \fBin.rshd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/shell:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.rwhod.1m b/usr/src/man/man1m/in.rwhod.1m
new file mode 100644
index 0000000000..9a0a0bdb06
--- /dev/null
+++ b/usr/src/man/man1m/in.rwhod.1m
@@ -0,0 +1,137 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2001, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.rwhod 1M "8 Dec 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.rwhod, rwhod \- system status server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.rwhod\fR [\fB-m\fR [\fIttl\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.rwhod\fR is the server which maintains the database used by the
+\fBrwho\fR(1) and \fBruptime\fR(1) programs. Its operation is predicated on
+the ability to broadcast or multicast messages on a network.
+.sp
+.LP
+\fBin.rwhod\fR operates as both a producer and consumer of status information.
+As a producer of information it periodically queries the state of the system
+and constructs status messages which are broadcast or multicast on a network.
+As a consumer of information, it listens for other \fBin.rwhod\fR servers'
+status messages, validating them, then recording them in a collection of files
+located in the directory \fB/var/spool/rwho\fR.
+.sp
+.LP
+The \fBrwho\fR server transmits and receives messages at the port indicated in
+the \fBrwho\fR service specification, see \fBservices\fR(4). The messages sent
+and received are defined in \fB/usr/include/protocols/rwhod.h\fR and are of the
+form:
+.sp
+.in +2
+.nf
+struct outmp {
+ char out_line[8]; /* tty name */
+ char out_name[8]; /* user id */
+ long out_time; /* time on */
+};
+struct whod {
+ char wd_vers;
+ char wd_type;
+ char wd_fill[2];
+ int wd_sendtime;
+ int wd_recvtime;
+ char wd_hostname[32];
+ int wd_loadav[3];
+ int wd_boottime;
+ struct whoent {
+ struct outmp we_utmp;
+ int we_idle;
+ } wd_we[1024 / sizeof (struct whoent)];
+ };
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+All fields are converted to network byte order prior to transmission. The load
+averages are as calculated by the \fBw\fR(1) program, and represent load
+averages over the 1, 5, and 15 minute intervals prior to a server's
+transmission. The host name included is that returned by the \fBuname\fR(2)
+system call. The array at the end of the message contains information about the
+users who are logged in to the sending machine. This information includes the
+contents of the \fButmpx\fR(4) entry for each non-idle terminal line and a
+value indicating the time since a character was last received on the terminal
+line.
+.sp
+.LP
+Messages received by the \fBrwho\fR server are discarded unless they originated
+at a \fBrwho\fR server's port. In addition, if the host's name, as specified
+in the message, contains any unprintable \fBASCII\fR characters, the message is
+discarded. Valid messages received by \fBin.rwhod\fR are placed in files named
+\fBwhod.\fR\fBhostname\fR in the directory \fB/var/spool/rwho\fR. These files
+contain only the most recent message, in the format described above.
+.sp
+.LP
+Status messages are generated approximately once every 3 minutes.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-m\fR\fB \fR[\fI ttl \fR]\fR
+.ad
+.RS 14n
+.rt
+Use the rwho \fBIP\fR multicast address (224.0.1.3) when transmitting. Receive
+announcements both on this multicast address and on the \fBIP\fR broadcast
+address. If \fIttl\fR is not specified \fBin.rwhod\fR multicasts on all
+interfaces but with the \fBIP\fR TimeToLive set to 1 (that is, packets are not
+forwarded by multicast routers.) If \fIttl\fR is specified \fBin.rwhod\fR
+only transmits packets on one interface and setting the \fBIP\fR TimeToLive to
+the specified \fIttl\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/rwho/whod.*\fR\fR
+.ad
+.RS 26n
+.rt
+information about other machines
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBruptime\fR(1), \fBrwho\fR(1), \fBw\fR(1), \fBuname\fR(2), \fBservices\fR(4),
+\fButmpx\fR(4), \fBattributes\fR(5)
+.SH WARNINGS
+.sp
+.LP
+This service can cause network performance problems when used by several hosts
+on the network. It is not run at most sites by default. If used, include the
+\fB-m\fR multicast option.
+.SH NOTES
+.sp
+.LP
+This service takes up progressively more network bandwidth as the number of
+hosts on the local net increases. For large networks, the cost becomes
+prohibitive.
+.sp
+.LP
+\fBin.rwhod\fR should relay status information between networks. People often
+interpret the server dying as a machine going down.
diff --git a/usr/src/man/man1m/in.talkd.1m b/usr/src/man/man1m/in.talkd.1m
new file mode 100644
index 0000000000..7b568bdd4d
--- /dev/null
+++ b/usr/src/man/man1m/in.talkd.1m
@@ -0,0 +1,51 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.talkd 1M "31 Jul 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.talkd, talkd \- server for talk program
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.talkd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBtalkd\fR is a server used by the \fBtalk\fR(1) program. It listens at the
+\fBUDP\fR port indicated in the ``talk'' service description; see
+\fBservices\fR(4). The actual conversation takes place on a \fBTCP\fR
+connection that is established by negotiation between the two machines
+involved.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBtalk\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M),
+\fBsvcadm\fR(1M), \fBservices\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The protocol is architecture dependent.
+.sp
+.LP
+The \fBin.talkd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/talk
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.telnetd.1m b/usr/src/man/man1m/in.telnetd.1m
new file mode 100644
index 0000000000..a175c2d250
--- /dev/null
+++ b/usr/src/man/man1m/in.telnetd.1m
@@ -0,0 +1,434 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2005, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.telnetd 1M "10 Nov 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.telnetd, telnetd \- DARPA TELNET protocol server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.telnetd\fR [\fB-a\fR \fIauthmode\fR] [\fB-EXUh\fR] [\fB-s\fR \fItos\fR]
+ [\fB-S\fR \fIkeytab\fR] [\fB-M\fR \fIrealm\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.telnetd\fR is a server that supports the \fBDARPA\fR standard
+\fBTELNET\fR virtual terminal protocol. \fBin.telnetd\fR is normally invoked in
+the internet server (see \fBinetd\fR(1M)), for requests to connect to the
+\fBTELNET\fR port as indicated by the \fB/etc/services\fR file (see
+\fBservices\fR(4)).
+.sp
+.LP
+\fBin.telnetd\fR operates by allocating a pseudo-terminal device for a client,
+then creating a login process which has the slave side of the pseudo-terminal
+as its standard input, output, and error. \fBin.telnetd\fR manipulates the
+master side of the pseudo-terminal, implementing the \fBTELNET\fR protocol and
+passing characters between the remote client and the login process.
+.sp
+.LP
+When a \fBTELNET\fR session starts up, \fBin.telnetd\fR sends \fBTELNET\fR
+options to the client side indicating a willingness to do \fIremote\fR
+\fBecho\fR of characters, and to \fIsuppress\fR \fIgo\fR \fIahead\fR. The
+pseudo-terminal allocated to the client is configured to operate in "cooked"
+mode, and with \fBXTABS\fR, \fBICRNL\fR and \fBONLCR\fR enabled. See
+\fBtermio\fR(7I).
+.sp
+.LP
+\fBin.telnetd\fR is willing to do: \fIecho\fR, \fIbinary\fR, \fIsuppress\fR
+\fIgo\fR \fIahead\fR, and \fItiming\fR \fImark\fR. \fBin.telnetd\fR is willing
+to have the remote client do: \fIbinary\fR, \fIterminal\fR \fItype\fR,
+\fIterminal\fR \fIsize\fR, \fIlogout\fR \fIoption\fR, and \fIsuppress\fR
+\fIgo\fR \fIahead\fR.
+.sp
+.LP
+\fBin.telnetd\fR also allows environment variables to be passed, provided that
+the client negotiates this during the initial option negotiation. The
+\fBDISPLAY\fR environment variable may be sent this way, either by the
+\fBTELNET\fR general environment passing methods, or by means of the
+\fBXDISPLOC\fR \fBTELNET\fR option. \fBDISPLAY\fR can be passed in the
+environment option during the same negotiation where \fBXDISPLOC\fR is used.
+Note that if you use both methods, use the same value for both. Otherwise, the
+results may be unpredictable.
+.sp
+.LP
+These options are specified in Internet standards \fIRFC 1096\fR, \fIRFC
+1408\fR, \fIRFC 1510\fR, \fIRFC 1571\fR, \fIRFC 2941\fR, \fIRFC 2942\fR, \fIRFC
+2946\fR, and \fIRFC 1572\fR. The following Informational draft is also
+supported: \fIRFC 2952\fR.
+.sp
+.LP
+The banner printed by \fBin.telnetd\fR is configurable. The default is (more or
+less) equivalent to `\fBuname\fR \fB-sr\fR` and will be used if no banner is
+set in \fB/etc/default/telnetd\fR. To set the banner, add a line of the form
+.sp
+.in +2
+.nf
+BANNER="..."
+.fi
+.in -2
+
+.sp
+.LP
+to \fB/etc/default/telnetd\fR. Nonempty banner strings are fed to shells for
+evaluation. The default banner may be obtained by
+.sp
+.in +2
+.nf
+BANNER="\e\er\e\en\e\er\e\en`uname -s` `uname -r`\e\er\e\en\e\er\e\en"
+.fi
+.in -2
+
+.sp
+.LP
+and no banner will be printed if \fB/etc/default/telnetd\fR contains
+.sp
+.in +2
+.nf
+BANNER=""
+.fi
+.in -2
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIauthmode\fR\fR
+.ad
+.RS 15n
+.rt
+This option may be used for specifying what mode should be used for
+authentication. There are several valid values for \fIauthmode\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvalid\fR\fR
+.ad
+.RS 9n
+.rt
+Only allows connections when the remote user can provide valid authentication
+information to identify the remote user, and is allowed access to the specified
+account without providing a password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuser\fR\fR
+.ad
+.RS 9n
+.rt
+Only allows connections when the remote user can provide valid authentication
+information to identify the remote user. The \fBlogin\fR(1) command will
+provide any additional user verification needed if the remote user is not
+allowed automatic access to the specified account.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone\fR\fR
+.ad
+.RS 9n
+.rt
+This is the default state. Authentication information is not required. If no or
+insufficient authentication information is provided, then the \fBlogin\fR(1)
+program provides the necessary user verification.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoff\fR\fR
+.ad
+.RS 9n
+.rt
+This disables the authentication code. All user verification happens through
+the \fBlogin\fR(1) program.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.RS 15n
+.rt
+Disables encryption support negotiation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 15n
+.rt
+Disables displaying host specific information before login has been completed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fIrealm\fR\fR
+.ad
+.RS 15n
+.rt
+Uses the indicated Kerberos V5 realm. By default, the daemon will determine its
+realm from the settings in the \fBkrb5.conf\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fItos\fR\fR
+.ad
+.RS 15n
+.rt
+Sets the \fBIP\fR \fBTOS\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIkeytab\fR\fR
+.ad
+.RS 15n
+.rt
+Sets the \fBKRB5\fR keytab file to use. The\fB/etc/krb5/krb5.keytab\fR file is
+used by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR\fR
+.ad
+.RS 15n
+.rt
+Refuses connections that cannot be mapped to a name through the
+\fBgetnameinfo\fR(3SOCKET) function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR\fR
+.ad
+.RS 15n
+.rt
+Disables Kerberos V5 authentication support negotiation.
+.RE
+
+.SH USAGE
+.sp
+.LP
+\fBtelnetd\fR and \fBin.telnetd\fR are IPv6-enabled. See \fBip6\fR(7P).
+.SH SECURITY
+.sp
+.LP
+\fBin.telnetd\fR can authenticate using Kerberos V5 authentication,
+\fBpam\fR(3PAM), or both. By default, the telnet server will accept valid
+Kerberos V5 authentication credentials from a \fBtelnet\fR client that supports
+Kerberos. \fBin.telnetd\fR can also support an encrypted session from such a
+client if the client requests it.
+.sp
+.LP
+The \fBtelnet\fR protocol only uses single DES for session
+protection\(emclients request service tickets with single DES session keys. The
+KDC must know that host service principals that offer the \fBtelnet\fR service
+support single DES, which, in practice, means that such principals must have
+single DES keys in the KDC database.
+.sp
+.LP
+In order for Kerberos authentication to work, a \fBhost/\fR\fI<FQDN>\fR
+Kerberos principal must exist for each Fully Qualified Domain Name associated
+with the \fBtelnetd\fR server. Each of these \fBhost/\fR\fI<FQDN>\fR principals
+must have a \fBkeytab\fR entry in the \fB/etc/krb5/krb5.keytab\fR file on the
+\fBtelnetd\fR server. An example principal might be:
+.sp
+.LP
+\fBhost/bigmachine.eng.example.com\fR
+.sp
+.LP
+See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
+principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+authentication.
+.sp
+.LP
+\fBin.telnetd\fR uses \fBpam\fR(3PAM) for authentication, account management,
+session management, and password management. The \fBPAM\fR configuration
+policy, listed through \fB/etc/pam.conf\fR, specifies the modules to be used
+for \fBin.telnetd\fR. Here is a partial \fBpam.conf\fR file with entries for
+the \fBtelnet\fR command using the UNIX authentication, account management,
+session management, and password management modules.
+.sp
+.in +2
+.nf
+telnet auth requisite pam_authtok_get.so.1
+telent auth required pam_dhkeys.so.1
+telent auth required pam_unix_auth.so.1
+
+telnet account requisite pam_roles.so.1
+telnet account required pam_projects.so.1
+telnet account required pam_unix_account.so.1
+
+telnet session required pam_unix_session.so.1
+
+telnet password required pam_dhkeys.so.1
+telent password requisite pam_authtok_get.so.1
+telnet password requisite pam_authtok_check.so.1
+telnet password required pam_authtok_store.so.1
+.fi
+.in -2
+
+.sp
+.LP
+If there are no entries for the \fBtelnet\fR service, then the entries for the
+"other" service will be used. If multiple authentication modules are listed,
+then the user may be prompted for multiple passwords.
+.sp
+.LP
+For a Kerberized telnet service, the correct \fBPAM\fR service name is
+\fBktelnet\fR.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/telnetd\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlogin\fR(1), \fBsvcs\fR(1), \fBtelnet\fR(1), \fBgkadmin\fR(1M),
+\fBinetadm\fR(1M), \fBinetd\fR(1M), \fBkadmin\fR(1M), \fBsvcadm\fR(1M),
+\fBpam\fR(3PAM), \fBgetnameinfo\fR(3SOCKET), \fBissue\fR(4),
+\fBkrb5.conf\fR(4), \fBpam.conf\fR(4), \fBservices\fR(4), \fBattributes\fR(5),
+\fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), \fBpam_unix_session\fR(5),
+\fBsmf\fR(5), \fBip6\fR(7P), \fBtermio\fR(7I)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+Alexander, S. \fIRFC 1572, TELNET Environment Option\fR. Network Information
+Center, SRI International, Menlo Park, Calif., January 1994.
+.sp
+.LP
+Borman, Dave. \fIRFC 1408, TELNET Environment Option\fR. Network Information
+Center, SRI International, Menlo Park, Calif., January 1993.
+.sp
+.LP
+Borman, Dave. \fIRFC 1571, TELNET Environment Option Interoperability
+Issues\fR. Network Information Center, SRI International, Menlo Park, Calif.,
+January 1994.
+.sp
+.LP
+Crispin, Mark. \fIRFC 727, TELNET Logout Option\fR. Network Information Center,
+SRI International, Menlo Park, Calif., April 1977.
+.sp
+.LP
+Marcy, G. \fIRFC 1096, TELNET X Display Location Option\fR. Network Information
+Center, SRI International, Menlo Park, Calif., March 1989.
+.sp
+.LP
+Postel, Jon, and Joyce Reynolds. \fIRFC 854, TELNET Protocol Specification\fR.
+Network Information Center, SRI International, Menlo Park, Calif., May 1983.
+.sp
+.LP
+Waitzman, D. \fIRFC 1073, TELNET Window Size Option\fR. Network Information
+Center, SRI International, Menlo Park, Calif., October 1988.
+.sp
+.LP
+Kohl, J., Neuman, C., \fIThe Kerberos Network Authentication Service (V5), RFC
+1510\fR. September 1993.
+.sp
+.LP
+Ts'o, T. and J. Altman, \fITelnet Authentication Option, RFC 2941\fR. September
+2000.
+.sp
+.LP
+Ts'o, T., \fITelnet Authentication: Kerberos Version 5, RFC 2942\fR. September
+2000.
+.sp
+.LP
+Ts'o, T., \fITelnet Data Encryption Option, RFC 2946\fR. September 2000.
+.sp
+.LP
+Ts'o, T., \fITelnet Encryption: DES 64 bit Cipher Feedback, RFC 2952\fR.
+September 2000.
+.SH NOTES
+.sp
+.LP
+Some \fBTELNET\fR commands are only partially implemented.
+.sp
+.LP
+Binary mode has no common interpretation except between similar operating
+systems.
+.sp
+.LP
+The terminal type name received from the remote client is converted to lower
+case.
+.sp
+.LP
+The \fIpacket\fR interface to the pseudo-terminal should be used for more
+intelligent flushing of input and output queues.
+.sp
+.LP
+\fBin.telnetd\fR never sends \fBTELNET\fR \fIgo\fR \fIahead\fR commands.
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported.. Similar functionality is
+provided by \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), and
+\fBpam_unix_session\fR(5).
+.sp
+.LP
+The \fBin.telnetd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/telnet
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/in.tftpd.1m b/usr/src/man/man1m/in.tftpd.1m
new file mode 100644
index 0000000000..92ef32c23e
--- /dev/null
+++ b/usr/src/man/man1m/in.tftpd.1m
@@ -0,0 +1,148 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.tftpd 1M "5 Nov 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.tftpd, tftpd \- Internet Trivial File Transfer Protocol server
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.tftpd\fR [\fB-d\fR] [\fB-T\fR \fIrexmtval\fR] [\fB-s\fR] [\fIhomedir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBtftpd\fR is a server that supports the Internet Trivial File Transfer
+Protocol (TFTP).
+.sp
+.LP
+Before responding to a request, the server attempts to change its current
+directory to \fIhomedir\fR; the default directory is \fB/tftpboot\fR.
+.sp
+.LP
+The use of \fBtftp\fR does not require an account or password on the remote
+system. Due to the lack of authentication information, \fBin.tftpd\fR will
+allow only publicly readable files to be accessed. Files may be written only if
+they already exist and are publicly writable. Note that this extends the
+concept of "public" to include all users on all hosts that can be reached
+through the network. This may not be appropriate on all systems, and its
+implications should be considered before enabling this service.
+.sp
+.LP
+\fBin.tftpd\fR runs with the user \fBID\fR and group \fBID\fR set to
+\fB[GU]ID_NOBODY\fR under the assumption that no files exist with that owner or
+group. However, nothing checks this assumption or enforces this restriction.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 15n
+.rt
+Debug. When specified it sets the \fBSO_DEBUG\fR socket option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 15n
+.rt
+Secure. When specified, the directory change to \fIhomedir\fR must succeed. The
+daemon also changes its root directory to \fIhomedir\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIrexmtval\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies the value of the retransmission timeout in seconds. This also affects
+the maximum session timeout in that the latter is set to five times the
+retransmission timeout value.
+.RE
+
+.SH USAGE
+.sp
+.LP
+The \fBin.tftpd\fR server is IPv6-enabled. See \fBip6\fR(7P).
+.sp
+.LP
+\fBin.tftpd\fR supports transfers of greater than 32 MB, per RFC 2348.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBtftp\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M),
+\fBsvcadm\fR(1M), \fBnetconfig\fR(4), \fBattributes\fR(5), \fBsmf\fR(5),
+\fBip6\fR(7P)
+.sp
+.LP
+Malkin, G. and Harkin, A. \fIRFC 2347, TFTP Option Extension\fR. The Internet
+Society. May 1998
+.sp
+.LP
+Malkin, G. and Harkin, A. \fIRFC 2348, TFTP Blocksize Option\fR. The Internet
+Society. May 1998
+.sp
+.LP
+Malkin, G. and Harkin, A. \fIRFC 2349, TFTP Timeout Interval and Transfer Size
+Options\fR. The Internet Society. May 1998
+.sp
+.LP
+Sollins, K.R. \fIRFC 1350, The TFTP Protocol (Revision 2)\fR. Network Working
+Group. July 1992.
+.SH NOTES
+.sp
+.LP
+The \fBtftpd\fR server only acknowledges the transfer size option that is sent
+with a \fBread\fR request when the octet transfer mode is specified.
+.sp
+.LP
+The \fBin.tftpd.1m\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/tftp/udp6:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
+.sp
+.LP
+Unlike most \fBsmf\fR(5) services, a manifest for the \fBtftp\fR service is not
+included in the system. To create one and enable this service, the
+administrator should:
+.RS +4
+.TP
+1.
+Edit \fB/etc/inet/inetd.conf\fR and uncomment the \fBtftp\fR entry.
+.RE
+.RS +4
+.TP
+2.
+Run \fB/usr/sbin/inetconv\fR.
+.RE
+.sp
+.LP
+After you run \fBinetconv\fR, the \fBsvc:/network/tftp/udp6:default\fR service
+is created and enabled.
diff --git a/usr/src/man/man1m/in.timed.1m b/usr/src/man/man1m/in.timed.1m
new file mode 100644
index 0000000000..991fa63197
--- /dev/null
+++ b/usr/src/man/man1m/in.timed.1m
@@ -0,0 +1,84 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.timed 1M "23 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.timed \- UDP or TCP time protocol service daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBin.timed\fR
+.fi
+
+.LP
+.nf
+FMRI \fIsvc\fR:/internet/time:default
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+FMRI stands for Fault Management Resource Identifier. It is used to identify
+resources managed by the Fault Manager. See \fBfmd\fR(1M) and \fBsmf\fR(5).
+.sp
+.LP
+The \fBin.timed\fR service provides the server-side of the time protocol. The
+time server sends to requestors the time in seconds since midnight, January 1,
+1900. The time protocol is available on both TCP and UDP transports through
+port 37.
+.sp
+.LP
+The in.timed service is an \fBinetd\fR(1M) \fBsmf\fR(5) delegated service. The
+\fBin.timed\fR detects which transport is requested by examining the socket it
+is passed by the \fBinetd\fR daemon.
+.sp
+.ne 2
+.mk
+.na
+\fBTCP-based service\fR
+.ad
+.RS 21n
+.rt
+Once a connection is established, the \fBin.timed\fR sends the time as a 32-bit
+binary number and closes the connection. Any received data is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBUDP-based service\fR
+.ad
+.RS 21n
+.rt
+The \fBin.timed\fR listens for UDP datagrams. When a datagram is received, the
+server generates a UDP datagram containing the time as a 32-bit binary number
+and sends it to the client. Any received data is ignored.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinetd\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+RFC 868
diff --git a/usr/src/man/man1m/in.uucpd.1m b/usr/src/man/man1m/in.uucpd.1m
new file mode 100644
index 0000000000..652d483f20
--- /dev/null
+++ b/usr/src/man/man1m/in.uucpd.1m
@@ -0,0 +1,189 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH in.uucpd 1M "12 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+in.uucpd, uucpd \- UUCP server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/in.uucpd\fR [\fB-n\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBin.uucpd\fR is the server for supporting \fBUUCP\fR connections over
+networks.
+.sp
+.LP
+\fBin.uucpd\fR is invoked by \fBinetd\fR(1M) when a \fBUUCP\fR connection is
+established, that is, a connection to the port indicated in the "uucp" service
+specification, and executes the following protocol. See \fBservices\fR(4):
+.RS +4
+.TP
+1.
+The server prompts with \fBlogin:\fR. The \fBuucico\fR(1M) process at the
+other end must supply a username.
+.RE
+.RS +4
+.TP
+2.
+Unless the username refers to an account without a password, the server then
+prompts with \fBPassword:\fR. The \fBuucico\fR process at the other end must
+supply the password for that account.
+.RE
+.sp
+.LP
+If the username is not valid, or is valid but refers to an account that does
+not have \fB/usr/lib/uucp/uucico\fR as its login shell, or if the password is
+not the correct password for that account, the connection is dropped.
+Otherwise, \fBuucico\fR is run, with the user \fBID\fR, group \fBID\fR, group
+set, and home directory for that account, with the environment variables
+\fBUSER\fR and \fB LOGNAME\fR set to the specified username, and with a
+\fB-u\fR flag specifying the username. Unless the \fB-n\fR flag is specified,
+entries are made in \fB/var/adm/utmpx\fR, \fB/var/adm/wtmpx\fR, and
+\fB/var/adm/lastlog\fR for the username. \fBin.uucpd\fR must be invoked by a
+user with appropriate privilege (usually root) in order to be able to verify
+that the password is correct.
+.SH SECURITY
+.sp
+.LP
+\fBin.uucpd\fR uses \fBpam\fR(3PAM) for authentication, account management, and
+session management. The \fBPAM\fR configuration policy, listed through
+\fB/etc/pam.conf\fR, specifies the modules to be used for \fBin.uucpd\fR. Here
+is a partial \fBpam.conf\fR file with entries for \fBuucp\fR using the UNIX
+authentication, account management, and session management module.
+.sp
+.in +2
+.nf
+uucp auth requisite pam_authtok_get.so.1
+uucp auth required pam_dhkeys.so.1
+uucp auth required pam_unix_auth.so.1
+
+uucp account requisite pam_roles.so.1
+uucp account required pam_projects.so.1
+uucp account required pam_unix_account.so.1
+
+uucp session required pam_unix_session.so.1
+.fi
+.in -2
+
+.sp
+.LP
+If there are no entries for the \fBuucp\fR service, then the entries for the
+"other" service will be used. If multiple authentication modules are listed,
+then the peer may be prompted for multiple passwords.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/utmpx\fR\fR
+.ad
+.RS 20n
+.rt
+accounting
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.RS 20n
+.rt
+accounting
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/lastlog\fR\fR
+.ad
+.RS 20n
+.rt
+time of last login
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBsvcadm\fR(1M),
+\fBuucico\fR(1M), \fBpam\fR(3PAM), \fBpam.conf\fR(4), \fBservices\fR(4),
+\fBattributes\fR(5), \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), \fBpam_unix_session\fR(5),
+\fBsmf\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+All diagnostic messages are returned on the connection, after which the
+connection is closed.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuser read\fR\fR
+.ad
+.RS 20n
+.rt
+An error occurred while reading the username.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpasswd read\fR\fR
+.ad
+.RS 20n
+.rt
+An error occurred while reading the password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLogin incorrect.\fR\fR
+.ad
+.RS 20n
+.rt
+The username is invalid or refers to an account with a login shell other than
+\fB/usr/lib/uucp/uucico\fR, or the password is not the correct password for the
+account.
+.RE
+
+.SH NOTES
+.sp
+.LP
+The \fBin.uucpd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/uucp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported. Similar functionality is
+provided by \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), and
+\fBpam_unix_session\fR(5).
diff --git a/usr/src/man/man1m/inetadm.1m b/usr/src/man/man1m/inetadm.1m
new file mode 100644
index 0000000000..5ee16f118c
--- /dev/null
+++ b/usr/src/man/man1m/inetadm.1m
@@ -0,0 +1,354 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH inetadm 1M "5 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+inetadm \- observe or configure inetd-controlled services
+.SH SYNOPSIS
+.LP
+.nf
+\fBinetadm\fR
+.fi
+
+.LP
+.nf
+\fBinetadm\fR \fB-?\fR
+.fi
+
+.LP
+.nf
+\fBinetadm\fR \fB-p\fR
+.fi
+
+.LP
+.nf
+\fBinetadm\fR \fB-l\fR {\fIFMRI\fR | \fIpattern\fR}
+.fi
+
+.LP
+.nf
+\fBinetadm\fR \fB-e\fR {\fIFMRI\fR | \fIpattern\fR}
+.fi
+
+.LP
+.nf
+\fBinetadm\fR \fB-d\fR {\fIFMRI\fR | \fIpattern\fR}
+.fi
+
+.LP
+.nf
+\fBinetadm\fR \fB-m\fR {\fIFMRI\fR | \fIpattern\fR}... {\fIname\fR=\fIvalue\fR}...
+.fi
+
+.LP
+.nf
+\fBinetadm\fR \fB-M\fR {\fIname\fR=\fIvalue\fR}...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBinetadm\fR utility provides the following capabilities for
+\fBinetd\fR-managed SMF services:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Provides a list of all such services installed.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Lists the services' properties and values.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Allows enabling and disabling of services.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Allows modification of the services'property values, as well as the default
+values provided by \fBinetd\fR.
+.RE
+.sp
+.LP
+See \fBsmf\fR(5) for a description of an SMF service.
+.sp
+.LP
+With no arguments, \fBinetadm\fR lists all services under \fBinetd\fR(1M)
+control, including such attributes as their current run state and whether or
+not they are enabled.
+.SH OPTIONS
+.sp
+.LP
+For options taking one or more FMRI operands (see \fBsmf\fR(5) for a
+description of an FMRI), if the operand specifies a service (instead of a
+service instance), and that service has only a single instance, \fBinetadm\fR
+operates on that instance.
+.sp
+.LP
+If a service name is supplied and it contains more than one instances or a
+pattern is supplied and and it matches more than one instance, a warning
+message is displayed and that operand is ignored.
+.sp
+.LP
+For those options taking \fIname\fR=\fIvalue\fR parameters, a description of
+each of the possible names and the allowed values is found in the
+\fBinetd\fR(1M) man page.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists all default \fBinet\fR service property values provided by \fBinetd\fR in
+the form of \fIname\fR=\fIvalue\fR pairs. If the value is of boolean type, it
+is listed as TRUE or FALSE.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR {\fIFMRI\fR | \fIpattern\fR}...\fR
+.ad
+.sp .6
+.RS 4n
+List all properties for the specified service instances as
+\fIname\fR=\fIvalue\fR pairs. In addition, if the property value is inherited
+from the default value provided by \fBinetd\fR, the \fIname\fR=\fIvalue\fR pair
+is identified by the token (default). Property inheritance occurs when
+properties do not have a specified service instance default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR {\fIFMRI\fR | \fIpattern\fR}...\fR
+.ad
+.sp .6
+.RS 4n
+Enable the specified service instances.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR {\fIFMRI\fR | \fIpattern\fR}...\fR
+.ad
+.sp .6
+.RS 4n
+Disable the specified service instances.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR {\fIFMRI\fR | \fIpattern\fR}...{\fIname\fR=\fIvalue\fR}...\fR
+.ad
+.sp .6
+.RS 4n
+Change the values of the specified properties of the identified service
+instances. Properties are specified as whitespace-separated
+\fIname\fR=\fIvalue\fR pairs. To remove an instance-specific value and accept
+the default value for a property, simply specify the property without a value,
+for example, \fBname=\fR .
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR {\fIname\fR=\fIvalue\fR}...\fR
+.ad
+.sp .6
+.RS 4n
+Change the values of the specified \fBinetd\fR default properties. Properties
+are specified as whitespace-separated \fIname\fR=\fIvalue\fR pairs.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying Properties for a Service
+.sp
+.LP
+The following command displays the properties for the \fBspray\fR service.
+
+.sp
+.in +2
+.nf
+# inetadm -l network/rpc/spray:default
+SCOPE NAME=VALUE
+ name="sprayd"
+ endpoint_type="tli"
+ proto="datagram_v"
+ isrpc=TRUE
+ rpc_low_version=1
+ rpc_high_version=1
+ wait=TRUE
+ exec="/usr/lib/netsvc/spray/rpc.sprayd"
+ user="root"
+default bind_addr=""
+default bind_fail_max=-1
+default bind_fail_interval=-1
+default max_con_rate=-1
+default max_copies=-1
+default con_rate_offline=-1
+default failrate_cnt=40
+default failrate_interval=60
+default inherit_env=TRUE
+default tcp_trace=FALSE
+default tcp_wrappers=FALSE
+default connection_backlog=10
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRDisplaying Default Properties
+.sp
+.LP
+The following command displays default properties.
+
+.sp
+.in +2
+.nf
+# inetadm -p
+NAME=VALUE
+bind_addr=""
+bind_fail_max=-1
+bind_fail_interval=-1
+max_con_rate=-1
+max_copies=-1
+con_rate_offline=-1
+failrate_cnt=40
+failrate_interval=60
+inherit_env=TRUE
+tcp_trace=FALSE
+tcp_wrappers=FALSE
+default connection_backlog=10
+.fi
+.in -2
+
+.LP
+\fBExample 3 \fRChanging Property Values for a Service
+.sp
+.LP
+The following command changes \fBrpc_high_version\fR to \fB3\fR and
+\fBtcp_trace\fR to \fBTRUE\fR for the \fBspray\fR service.
+
+.sp
+.in +2
+.nf
+# inetadm -m network/rpc/spray:default \e
+ rpc_high_version=3 tcp_trace=TRUE
+# inetadm -l network/rpc/spray:default
+SCOPE NAME=VALUE
+ name="sprayd"
+ endpoint_type="tli"
+ proto="datagram_v"
+ isrpc=TRUE
+ rpc_low_version=1
+ rpc_high_version=3
+ wait=TRUE
+ exec="/usr/lib/netsvc/spray/rpc.sprayd"
+ user="root"
+default bind_addr=""
+default bind_fail_max=-1
+default bind_fail_interval=-1
+default max_con_rate=-1
+default max_copies=-1
+default con_rate_offline=-1
+default failrate_cnt=40
+default failrate_interval=60
+default inherit_env=TRUE
+ tcp_trace=TRUE
+default tcp_wrappers=FALSE
+default connection_backlog=10
+.fi
+.in -2
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Operation completed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+A fatal error occurred. An accompanying error message will provide further
+information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid arguments were supplied, such as an ambiguous service FMRI or pattern.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinetd\fR(1M), \fBsvccfg\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/inetconv.1m b/usr/src/man/man1m/inetconv.1m
new file mode 100644
index 0000000000..67c4b8f79d
--- /dev/null
+++ b/usr/src/man/man1m/inetconv.1m
@@ -0,0 +1,276 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc.
+.\" All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH inetconv 1M "21 Oct 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+inetconv \- convert \fBinetd.conf\fR entries into smf service manifests, import
+them into smf repository
+.SH SYNOPSIS
+.LP
+.nf
+\fBinetconv\fR \fB-?\fR
+.fi
+
+.LP
+.nf
+\fBinetconv\fR [\fB-f\fR] [\fB-n\fR] [\fB-i\fR \fIsrcfile\fR] [\fB-o\fR \fIdestdir\fR]
+.fi
+
+.LP
+.nf
+\fBinetconv\fR \fB-e\fR [\fB-n\fR] [\fB-i\fR \fIsrcfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBinetconv\fR utility converts a file containing records of
+\fBinetd.conf\fR(4) into \fBsmf\fR(5) service manifests, and then import those
+manifests into the \fBsmf\fR repository. Once the \fBinetd.conf\fR file has
+been converted, the only way to change aspects of an inet service is to use the
+\fBinetadm\fR(1M) utility.
+.sp
+.LP
+There is a one-to-one correspondence between a service line in the input file
+and the manifest generated. By default, the manifests are named using the
+following template:
+.sp
+.in +2
+.nf
+\fI<svcname>\fR-\fI<proto>\fR\fB\&.xml\fR
+.fi
+.in -2
+
+.sp
+.LP
+The \fI<svcname>\fR token is replaced by the service's name and the
+\fI<proto>\fR token by the service's protocol. Any slash (\fB/\fR) characters
+that exist in the source line for the service name or protocol are replaced
+with underscores (\fB_\fR).
+.sp
+.LP
+The service line is recorded as a property of the converted service.
+.sp
+.LP
+During the conversion process, if a service line is found to be malformed or to
+be for an internal \fBinetd\fR service, no manifest is generated and that
+service line is skipped.
+.sp
+.LP
+The input file is left untouched by the conversion process.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR\fR
+.ad
+.RS 14n
+.rt
+Display a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 14n
+.rt
+Enable \fBsmf\fR services which are listed in the input file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 14n
+.rt
+If a service manifest of the same name as the one to be generated is found in
+the destination directory, \fBinetconv\fR will overwrite that manifest if this
+option is specified. Otherwise, an error message is generated and the
+conversion of that service is not performed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIsrcfile\fR\fR
+.ad
+.RS 14n
+.rt
+Permits the specification of an alternate input file \fIsrcfile\fR. If this
+option is not specified, then the \fBinetd.conf\fR(4) file is used as input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 14n
+.rt
+Turns off the auto-import of the manifests generated during the conversion
+process. Later, if you want to import a generated manifest into the
+\fBsmf\fR(5) repository, you can do so through the use of the \fBsvccfg\fR(1M)
+utility.
+.sp
+If the \fB-e\fR option is specified, the \fB-n\fR option only displays the
+\fBsmf\fR services that would be enabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 14n
+.rt
+Permits the specification of an alternate destination directory \fIdestdir\fR
+for the generated manifests. If this option is not specified, then the
+manifests are placed in \fB/var/svc/manifest/network/rpc\fR, if the service is
+a RPC service, or \fB/var/svc/manifest/network\fR otherwise.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRGenerating \fBsmf\fR Manifests from \fBinetd.conf\fR
+.sp
+.LP
+The following command generates \fBsmf\fR(5) manifests from \fBinetd.conf\fR(4)
+and places them in \fB/var/tmp\fR, overwriting any preexisting manifests of the
+same name, and then imports them into the \fBsmf\fR repository.
+
+.sp
+.in +2
+.nf
+# inetconv -f -o /var/tmp
+100232/10 -> /var/tmp/100232_10-rpc_udp.xml
+Importing 100232_10-rpc_udp.xml ...Done
+telnet -> /var/tmp/telnet-tcp6.xml
+Importing telnet-tcp6.xml ...Done
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRGenerating Manifests from an Alternate Input File
+.sp
+.LP
+The following command specifies a different input file and does not load the
+resulting manifests into the \fBsmf\fR repository.
+
+.sp
+.in +2
+.nf
+# inetconv -n -i /export/test/inet.svcs -o /var/tmp
+100232/10 -> /var/tmp/100232_10-rpc_udp.xml
+telnet -> /var/tmp/telnet-tcp6.xml
+.fi
+.in -2
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Operation completed successfully (no errors).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid options specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+One or more service lines are malformed, and thus no manifest(s) were generated
+for them.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred importing one or more of the generated manifests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+A system error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/svc/manifest/network/{rpc}/\fI<svcname>\fR-\fI<proto>\fR\&.xml\fR\fR
+.ad
+.sp .6
+.RS 4n
+default output manifest file name
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinetadm\fR(1M), \fBinetd\fR(1M), \fBsvccfg\fR(1M), \fBinetd.conf\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/inetd.1m b/usr/src/man/man1m/inetd.1m
new file mode 100644
index 0000000000..9fb097f67a
--- /dev/null
+++ b/usr/src/man/man1m/inetd.1m
@@ -0,0 +1,901 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH inetd 1M "5 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+inetd \- Solaris Management Facility delegated restarter for inet services
+.SH SYNOPSIS
+.LP
+.nf
+\fBinetd\fR [\fIconfiguration-file\fR] start | stop | refresh
+.fi
+
+.LP
+.nf
+ svc:/network/inetd:default
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBinetd\fR is the delegated restarter for internet services for the Service
+Management Facility (SMF). Its basic responsibilities are to manage service
+states in response to administrative requests, system failures, and service
+failures; and, when appropriate, to listen for network requests for services.
+.sp
+.LP
+Services are no longer managed by editing the inetd configuration file,
+\fBinetd.conf\fR(4). Instead, you use \fBinetconv\fR(1M) to convert the
+configuration file content into SMF format services, then manage these services
+using \fBinetadm\fR(1M) and \fBsvcadm\fR(1M). Once a service has been converted
+by \fBinetconv\fR, any changes to the legacy data in the \fBinetd\fR config
+file will not become effective. However, \fBinetd\fR does alert the
+administrator when it notices change in the configuration file. See the start
+description under the "inetd Methods" section for further information.
+.sp
+.LP
+Also note that the current \fBinetd\fR cannot be run from outside the SMF. This
+means it cannot be run from the command line, as was supported by the previous
+\fBinetd\fR. If you attempt to do this, a message is sent to stderr displaying
+mappings between the options supported by the previous \fBinetd\fR to the SMF
+version of \fBinetd\fR.
+.sp
+.LP
+\fBinetd\fR listens for connections on behalf of all services that are in
+either the \fBonline\fR or \fBdegraded\fR state. A service enters one of these
+states when the service is enabled by the user and \fBinetd\fR manages to
+listen on its behalf. A listen attempt can fail if another server (whether
+standalone or a third-party internet service) is already listening on the same
+port. When this occurs, \fBinetd\fR logs this condition and continues trying to
+bind to the port at configured intervals a configured number of times. See the
+property \fBbind_fail_max\fR under "Service Properties," below, for more
+details.
+.sp
+.LP
+The configuration of all \fBinetd\fR's managed SMF services is read when it is
+started. It is reread when \fBinetd\fR is refreshed, which occurs in response
+to an SMF request, or when it receives a SIGHUP signal. See the \fBrefresh\fR
+description under "inetd Methods" for the behavior on configuration refresh.
+.sp
+.LP
+You can use the \fBinetadm\fR(1M) or \fBsvccfg\fR(1M) utilities to make
+configuration changes to Internet services within the SMF repository.
+\fBinetadm\fR has the advantage over \fBsvccfg\fR in that it provides an
+Internet/RPC service context.
+.SS "Service States"
+.sp
+.LP
+As part of its service management duties, \fBinetd\fR implements a state
+machine for each of its managed services. The states in this machine are made
+up of the \fBsmf\fR(5) set of states. The semantics of these states are as
+follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuninitialized\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBinetd\fR has yet to process this service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBonline\fR\fR
+.ad
+.sp .6
+.RS 4n
+The service is handling new network requests and might have existing
+connections active.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdegraded\fR\fR
+.ad
+.sp .6
+.RS 4n
+The service has entered this state because it was able to listen and process
+requests for some, but not all, of the protocols specified for the service,
+having exhausted its listen retries. Existing network connections might be
+active.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoffline\fR\fR
+.ad
+.sp .6
+.RS 4n
+Connections might be active, but no new requests are being handled. This is a
+transient state. A service might be \fBoffline\fR for any of the following
+reasons:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The service's dependencies are unmet. When its dependencies become met the
+service's state will be re-evaluated.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The service has exceeded its configured connection rate limit,
+\fBmax_con_rate\fR. The service's state is re-evaluated when its connection
+offline timer, \fBcon_rate_offline\fR, expires.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The service has reached its allowed number of active connections,
+\fBmax_copies\fR. The service's state is re-evaluated when the number of active
+connections drops below \fBmax_copies\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBinetd\fR failed to listen on behalf of the service on all its protocols. As
+mentioned above, \fBinetd\fR retries up to a configured maximum number of
+times, at configured intervals.The service's state is re-evaluated when either
+a listen attempt is successful or the retry limit is reached.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+The service has been turned off by an administrator, is not accepting new
+connections, and has none active. Administrator intervention is required to
+exit this state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaintenance\fR\fR
+.ad
+.sp .6
+.RS 4n
+A service is in this state because it is either malfunctioning and needs
+adminstrator attention or because an administrator has requested it.
+.sp
+Events constituting malfunctioning include: \fBinetd\fR's inability to listen
+on behalf on any of the service's protocols before exceeding the service's bind
+retry limit, non-start methods returning with non-success return values, and
+the service exceeding its failure rate.
+.sp
+You request the maintenance state to perform maintenance on the service, such
+as applying a patch. No new requests are handled in this state, but existing
+connections might be active. Administrator intervention is required to exit
+this state.
+.RE
+
+.sp
+.LP
+Use \fBinetadm\fR(1M) to obtain the current state of a managed service.
+.SS "Service Methods"
+.sp
+.LP
+As part of certain state transitions \fBinetd\fR will execute, if supplied, one
+of a set of methods provided by the service. The set of supported methods are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinetd_start\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executed to handle a request for an \fBonline\fR or \fBdegraded\fR service.
+Since there is no separate state to distinguish a service with active
+connections, this method is not executed as part of a state transition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinetd_offline\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executed when a service is taken from the \fBonline\fR or \fBdegraded\fR state
+to the \fBoffline\fR state. For a \fBwait\fR-type service that at the time of
+execution is performing its own listening, this method should result in it
+ceasing listening. This method will be executed before the \fBdisable\fR method
+in the case an \fBonline\fR/\fBdegraded\fR service is disabled. This method is
+required to be implemented for a \fBwait\fR-type service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinetd_online\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executed when a service transitions from the \fBoffline\fR state to the
+\fBonline\fR state. This method allows a service author to carry out some
+preparation prior to a service starting to handle requests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinetd_disable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executed when a service transitions from the \fBoffline\fR state to the
+\fBdisabled\fR state. It should result in any active connections for a service
+being terminated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinetd_refresh\fR\fR
+.ad
+.sp .6
+.RS 4n
+Executed when both of the following conditions are met:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBinetd\fR is refreshed, by means of the framework or a SIGHUP, or a request
+comes in to refresh the service, and
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the service is currently in the \fBonline\fR state and there are no
+configuration changes that would result in the service needing to be taken
+\fBoffline\fR and brought back again.
+.RE
+.RE
+
+.sp
+.LP
+The only compulsory method is the \fBinetd_start\fR method. In the absence of
+any of the others, \fBinetd\fR runs no method but behaves as if one was run
+successfully.
+.SS "Service Properties"
+.sp
+.LP
+Configuration for SMF-managed services is stored in the SMF repository. The
+configuration is made up of the basic configuration of a service, the
+configuration for each of the service's methods, and the default configuration
+applicable to all \fBinetd\fR-managed services.
+.sp
+.LP
+For details on viewing and modifying the configuration of a service and the
+defaults, refer to \fBinetadm\fR(1M).
+.sp
+.LP
+The basic configuration of a service is stored in a property group named
+\fBinetd\fR in the service. The properties comprising the basic configuration
+are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbind_addr\fR\fR
+.ad
+.sp .6
+.RS 4n
+The address of the network interface to which the service should be bound. An
+empty string value causes the service to accept connections on any network
+interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbind_fail_interval\fR\fR
+.ad
+.sp .6
+.RS 4n
+The time interval in seconds between a failed bind attempt and a retry. The
+values \fB0\fR and \fB-1\fR specify that no retries are attempted and the first
+failure is handled the same as exceeding \fBbind_fail_max\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbind_fail_max\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of times \fBinetd\fR retries binding to a service's
+associated port before giving up. The value \fB-1\fR specifies that no retry
+limit is imposed. If none of the service's protocols were bound to before any
+imposed limit is reached, the service goes to the \fBmaintenance\fR state;
+otherwise, if not all of the protocols were bound to, the service goes to the
+\fBdegraded\fR state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcon_rate_offline\fR\fR
+.ad
+.sp .6
+.RS 4n
+The time in seconds a service will remain offline if it exceeds its configured
+maximum connection rate, \fBmax_con_rate\fR. The values \fB0\fR and \fB-1\fR
+specify that connection rate limiting is disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnection_backlog\fR\fR
+.ad
+.sp .6
+.RS 4n
+The backlog queue size. Represents a limit on the number of incoming client
+requests that can be queued at the listening endpoints for servers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBendpoint_type\fR\fR
+.ad
+.sp .6
+.RS 4n
+The type of the socket used by the service or the value \fBtli\fR to signify a
+TLI-based service. Valid socket type values are: \fBstream\fR, \fBdgram\fR,
+\fBraw\fR, \fBseqpacket\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailrate_cnt\fR\fR
+.ad
+.sp .6
+.RS 4n
+The count portion of the service's failure rate limit. The failure rate limit
+applies to \fBwait\fR-type services and is reached when \fIcount\fR instances
+of the service are started within a given time. Exceeding the rate results in
+the service being transitioned to the \fBmaintenance\fR state. This is
+different from the behavior of the previous \fBinetd\fR, which continued to
+retry every 10 minutes, indefinitely. The \fBfailrate_cnt\fR check accounts for
+badly behaving servers that fail before consuming the service request and which
+would otherwise be continually restarted, taxing system resources. Failure rate
+is equivalent to the \fB-r\fR option of the previous \fBinetd\fR. The values
+\fB0\fR and \fB-1\fR specify that this feature is disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailrate_interval\fR\fR
+.ad
+.sp .6
+.RS 4n
+The time portion in seconds of the service's failure rate. The values \fB0\fR
+and \fB-1\fR specify that the failure rate limit feature is disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinherit_env\fR\fR
+.ad
+.sp .6
+.RS 4n
+If true, pass \fBinetd\fR's environment on to the service's start method.
+Regardless of this setting, \fBinetd\fR will set the variables \fBSMF_FMRI\fR,
+\fBSMF_METHOD\fR, and \fBSMF_RESTARTER\fR in the start method's environment, as
+well as any environment variables set in the method context. These variables
+are described in \fBsmf_method\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBisrpc\fR\fR
+.ad
+.sp .6
+.RS 4n
+If true, this is an RPC service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmax_con_rate\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum allowed connection rate, in connections per second, for a
+\fBnowait\fR-type service. The values \fB0\fR and \fB-1\fR specify that that
+connection rate limiting is disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmax_copies\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of copies of a \fBnowait\fR service that can run
+concurrently. The values \fB0\fR and \fB-1\fR specify that copies limiting is
+disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Can be set to one of the following values:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a service name understood by \fBgetservbyname\fR(3SOCKET);
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+if \fBisrpc\fR is set to \fBtrue\fR, a service name understood by
+\fBgetrpcbyname\fR(3NSL);
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+if \fBisrpc\fR is set to \fBtrue\fR, a valid RPC program number.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproto\fR\fR
+.ad
+.sp .6
+.RS 4n
+In the case of socket-based services, this is a list of protocols supported by
+the service. Valid protocols are: \fBtcp\fR, \fBtcp6\fR, \fBtcp6only\fR,
+\fBudp\fR, \fBudp6\fR, and \fBudp6only\fR. In the case of TLI services, this is
+a list of netids recognized by \fBgetnetconfigent\fR(3NSL) supported by the
+service, plus the values \fBtcp6only\fR and \fBudp6only\fR. RPC/TLI services
+also support nettypes in this list, and \fBinetd\fR first tries to interpret
+the list member as a nettype for these service types. The values \fBtcp6only\fR
+and \fBudp6only\fR are new to \fBinetd\fR; these values request that
+\fBinetd\fR listen only for and pass on true \fBIPv6\fR requests (not IPv4
+mapped ones). See "Configuring Protocols for Sockets-Based Services," below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrpc_low_version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lowest supported RPC version. Required when \fBisrpc\fR is set to \fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrpc_high_version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Highest supported RPC version. Required when \fBisrpc\fR is set to \fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtcp_trace\fR\fR
+.ad
+.sp .6
+.RS 4n
+If true, and this is a \fBnowait\fR-type service, \fBinetd\fR logs the client's
+IP address and TCP port number, along with the name of the service, for each
+incoming connection, using the \fBsyslog\fR(3C) facility. \fBinetd\fR uses the
+\fBsyslog\fR facility \fBcode\fR daemon and \fBnotice\fR priority level. See
+\fBsyslog.conf\fR(4) for a description of \fBsyslog\fR codes and severity
+levels. This logging is separate from the logging done by the TCP wrappers
+facility.
+.sp
+\fBtcp_trace\fR is equivalent to the previous \fBinetd\fR's \fB-t\fR option
+(and the \fB/etc/default/inetd\fR property \fBENABLE_CONNECTION_LOGGING\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtcp_wrappers\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR, enable TCP wrappers access control. This applies only to
+services with \fBendpoint_type\fR set to \fBstreams\fR and \fBwait\fR set to
+\fBfalse\fR. The \fBsyslog\fR facility \fBcode\fR daemon is used to log allowed
+connections (using the \fBnotice\fR severity level) and denied traffic (using
+the \fBwarning\fR severity level). See \fBsyslog.conf\fR(4) for a description
+of \fBsyslog\fR codes and severity levels. The stability level of the TCP
+wrappers facility and its configuration files is External. As the TCP wrappers
+facility is not controlled by Sun, intra-release incompatibilities are not
+uncommon. See \fBattributes\fR(5).
+.sp
+For more information about configuring TCP wrappers, you can refer to the
+\fBtcpd(1M)\fR and \fBhosts_access(4)\fR man pages, which are delivered as part
+of the Solaris operating system at \fB/usr/sfw/man\fR. These pages are not part
+of the standard Solaris man pages, available at \fB/usr/man\fR.
+.sp
+\fBtcp_wrappers\fR is equivalent to the previous inetd's
+\fB/etc/default/inetd\fR property \fBENABLE_TCPWRAPPERS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwait\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBtrue\fR this is a \fBwait\fR-type service, otherwise it is a
+\fBnowait\fR-type service. A \fBwait\fR-type service has the following
+characteristics:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Its \fBinetd_start\fR method will take over listening duties on the service's
+bound endpoint when it is executed.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBinetd\fR will wait for it to exit after it is executed before it resumes
+listening duties.
+.RE
+Datagram servers must be configured as being of type \fBwait\fR, as they are
+always invoked with the original datagram endpoint that will participate in
+delivering the service bound to the specified service. They do not have
+separate "listening" and "accepting" sockets. Connection-oriented services,
+such as TCP stream services can be designed to be either of type \fBwait\fR or
+\fBnowait\fR.
+.RE
+
+.sp
+.LP
+A number of the basic properties are optional for a service. In their absence,
+their values are taken from the set of default values present in the
+\fBdefaults\fR property group in the \fBinetd\fR service. These properties,
+with their seed values, are listed below. Note that these values are
+configurable through \fBinetadm\fR(1M).
+.sp
+.in +2
+.nf
+bind_fail_interval -1
+bind_fail_max -1
+con_rate_offline -1
+connection_backlog 10
+failrate_count 40
+failrate_time 60
+inherit_env true
+max_con_rate -1
+max_copies -1
+tcp_trace false
+tcp_wrappers false
+.fi
+.in -2
+
+.sp
+.LP
+Each method specified for a service will have its configuration stored in the
+SMF repository, within a property group of the same name as the method. The set
+of properties allowable for these methods includes those specified for the
+services managed by \fBsvc.startd\fR(1M). (See \fBsvc.startd\fR(1M) for further
+details.) Additionally, for the \fBinetd_start\fR method, you can set the
+\fBarg0\fR property.
+.sp
+.LP
+The \fBarg0\fR property allows external wrapper programs to be used with
+\fBinetd\fR services. Specifically, it allows the first argument,
+\fBargv[0]\fR, of the service's start method to be something other than the
+path of the server program.
+.sp
+.LP
+In the case where you want to use an external wrapper program and pass
+arguments to the service's daemon, the arguments should be incorporated as
+arguments to the wrapper program in the \fBexec\fR property. For example:
+.sp
+.in +2
+.nf
+exec='/path/to/wrapper/prog service_daemon_args'
+arg0='/path/to/service/daemon'
+.fi
+.in -2
+
+.sp
+.LP
+In addition to the special method tokens mentioned in \fBsmf_method\fR(5),
+\fBinetd\fR also supports the \fB:kill_process\fR token for \fBwait\fR-type
+services. This results in behavior identical to that if the \fB:kill\fR token
+were supplied, except that the \fBkill\fR signal is sent only to the parent
+process of the \fBwait\fR-type service's \fBstart\fR method, not to all members
+of its encompassing process contract (see \fBprocess\fR(4)).
+.SS "Configuring Protocols for Sockets-Based Services"
+.sp
+.LP
+When configuring \fBinetd\fR for a sockets-based service, you have the choice,
+depending on what is supported by the service, of the alternatives described
+under the \fBproto\fR property, above. The following are guidelines for which
+\fBproto\fR values to use:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For a service that supports only IPv4: \fBtcp\fR and \fBudp\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For a service that supports only IPv6: \fBtcp6only\fR and \fBudp6only\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For a service that supports both IPv4 and IPv6:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Obsolete and not recommended: \fBtcp6\fR and \fBudp6\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Recommended: use two separate entries that differ only in the proto field. One
+entry has \fBtcp\fR and the other has \fBtcp6only\fR, or \fBudp\fR plus
+\fBudp6only\fR.
+.RE
+.RE
+.sp
+.LP
+See EXAMPLES for an example of a configuration of a service that supports both
+IPv4 and IPv6.
+.SS "\fBinetd\fR Methods"
+.sp
+.LP
+\fBinetd\fR provides the methods listed below for consumption by the master
+restarter, \fBsvc.startd\fR(1M).
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstart\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes \fBinetd\fR to start providing service. This results in \fBinetd\fR
+beginning to handle \fBsmf\fR requests for its managed services and network
+requests for those services that are in either the \fBonline\fR or
+\fBdegraded\fR state.
+.sp
+In addition, \fBinetd\fR also checks if the \fBinetd.conf\fR(4)-format
+configuration file it is monitoring has changed since the last
+\fBinetconv\fR(1M) conversion was carried out. If it has, then a message
+telling the administrator to re-run \fBinetconv\fR to effect the changes made
+is logged in \fBsyslog\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstop\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes \fBinetd\fR to stop providing service. At this point, \fBinetd\fR
+transitions each of its services that are not in either the \fBmaintenance\fR
+or \fBdisabled\fR states to the \fBoffline\fR state, running any appropriate
+methods in the process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefresh\fR\fR
+.ad
+.sp .6
+.RS 4n
+Results in a refresh being performed for each of its managed services and the
+\fBinetd.conf\fR(4) format configuration file being checked for change, as in
+the \fBstart\fR method. When a service is refreshed, its behavior depends on
+its current state:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+if it is in the \fBmaintenance\fR or \fBdisabled\fR states, no action is
+performed because the configuration will be read and consumed when the service
+leaves the state;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+if it is in the \fBoffline\fR state, the configuration will be read and any
+changes consumed immediately;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+if it is in the \fBonline\fR or \fBdegraded\fR state and the configuration has
+changed such that a re-binding is necessary to conform to it, then the service
+will be transitioned to the \fBoffline\fR state and back again, using the new
+configuration for the bind;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+if it is in the \fBonline\fR state and a re-binding is not necessary, then the
+\fBinetd_refresh\fR method of the service, if provided, will be run to allow
+\fBonline\fR \fBwait\fR-type services to consume any other changes.
+.RE
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+No options are supported.
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIconfiguration-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an alternate location for the legacy service file
+(\fBinetd.conf\fR(4)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstart\fR|\fBstop\fR|\fBrefresh\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies which of \fBinetd\fR's methods should be run.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConfiguring a Service that Supports Both IPv4 and IPv6
+.sp
+.LP
+The following commands illustrate the existence of services that support both
+IPv4 and IPv6 and assign \fBproto\fR properties to those services.
+
+.sp
+.in +2
+.nf
+example# \fBsvcs -a | grep mysvc\fR
+online 15:48:29 svc:/network/mysvc:dgram4
+online 15:48:29 svc:/network/mysvc:dgram6
+online 15:51:47 svc:/network/mysvc:stream4
+online 15:52:10 svc:/network/mysvc:stream6
+
+# \fBinetadm -M network/rpc/mysvc:dgram4 proto=udp\fR
+# \fBinetadm -M network/rpc/mysvc:dgram6 proto=udp6only\fR
+# \fBinetadm -M network/rpc/mysvc:stream4 proto=tcp\fR
+# \fBinetadm -M network/rpc/mysvc:stream6 proto=tcp6only\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBsvcs\fR(1) and \fBinetadm\fR(1M) for descriptions of those commands.
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfmd\fR(1M), \fBinetadm\fR(1M), \fBinetconv\fR(1M), \fBsvcadm\fR(1M),
+\fBsvccfg\fR(1M), \fBsvcs\fR(1), \fBsvc.startd\fR(1M), \fBsyslog\fR(3C),
+\fBgetnetconfigent\fR(3NSL), \fBgetrpcbyname\fR(3NSL),
+\fBgetservbyname\fR(3SOCKET), \fBinetd.conf\fR(4), \fBprocess\fR(4),
+\fBsyslog.conf\fR(4), \fBattributes\fR(5), \fBsmf\fR(5), \fBsmf_method\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBinetd\fR daemon performs the same function as, but is implemented
+significantly differently from, the daemon of the same name in Solaris 9 and
+prior Solaris operating system releases. In the current Solaris release,
+\fBinetd\fR is part of the Solaris Management Facility (see \fBsmf\fR(5)) and
+will run only within that facility.
+.sp
+.LP
+The \fB/etc/default/inetd\fR file has been deprecated. The functionality
+represented by the properties \fBENABLE_CONNECTION_LOGGING\fR and
+\fBENABLE_TCP_WRAPPERS\fR are now available as the \fBtcp_trace\fR and
+\fBtcp_wrappers\fR properties, respectively. These properties are described
+above, under "Service Properties".
diff --git a/usr/src/man/man1m/infocmp.1m b/usr/src/man/man1m/infocmp.1m
new file mode 100644
index 0000000000..343d5080c8
--- /dev/null
+++ b/usr/src/man/man1m/infocmp.1m
@@ -0,0 +1,374 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH infocmp 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+infocmp \- compare or print out terminfo descriptions
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/infocmp\fR [\fB-d\fR] [\fB-c\fR] [\fB-n\fR] [\fB-I\fR] [\fB-L\fR] [\fB-C\fR] [\fB-r\fR] [\fB-u\fR]
+ [\fB-s\fR | d | i | l | c] [\fB-v\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR]
+ [\fB-A\fR \fI directory\fR] [\fB-B\fR \fIdirectory\fR] [\fItermname\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBinfocmp\fR compares a binary \fBterminfo\fR entry with other terminfo
+entries, rewrites a \fBterminfo\fR description to take advantage of the
+\fBuse=\fR terminfo field, or prints out a \fBterminfo\fR description from the
+binary file ( \fBterm\fR ) in a variety of formats. It displays boolean fields
+first, then numeric fields, followed by the string fields. If no options are
+specified and zero, or one \fItermname\fR is specified, the \fB-I\fR option is
+assumed. If more than one \fItermname\fR is specified, the \fB-d\fR option is
+assumed.
+.SH OPTIONS
+.sp
+.LP
+The \fB-d\fR \fB,\fR \fB-c\fR \fB,\fR and \fB-n\fR options can be used for
+comparisons. \fBinfocmp\fR compares the \fBterminfo\fR description of the first
+terminal \fItermname\fR with each of the descriptions given by the entries for
+the other terminal's \fItermname\fR. If a capability is defined for only one of
+the terminals, the value returned will depend on the type of the capability:
+\fBF\fR for boolean variables, \fB\(mi1\fR for integer variables, and
+\fINULL\fR for string variables.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Produce a list of each capability that is different between two entries. This
+option is useful to show the difference between two entries, created by
+different people, for the same or similar terminals.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Produce a list of each capability that is common between two entries.
+Capabilities that are not set are ignored. This option can be used as a quick
+check to see if the \fB-u\fR option is worth using.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Produce a list of each capability that is in neither entry. If no
+\fItermname\fR is given, the environment variable \fBTERM\fR will be used for
+both of the \fItermname\fRs. This can be used as a quick check to see if
+anything was left out of a description.
+.RE
+
+.sp
+.LP
+The \fB-I\fR \fB,\fR \fB-L\fR \fB,\fR and \fB-C\fR options will produce a
+source listing for each terminal named.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.RS 6n
+.rt
+Use the \fBterminfo\fR names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 6n
+.rt
+Use the long C variable name listed in < \fBterm.h\fR >.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 6n
+.rt
+Use the \fBtermcap\fR names. The source produced by the \fB-C\fR option may be
+used directly as a \fBtermcap\fR entry, but not all of the parameterized
+strings may be changed to the \fBtermcap\fR format. \fBinfocmp\fR will attempt
+to convert most of the parameterized information, but anything not converted
+will be plainly marked in the output and commented out. These should be edited
+by hand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+When using \fB-C\fR \fB,\fR put out all capabilities in \fBtermcap\fR form.
+.RE
+
+.sp
+.LP
+If no \fItermname\fR is given, the environment variable \fBTERM\fR will be used
+for the terminal name.
+.sp
+.LP
+All padding information for strings will be collected together and placed at
+the beginning of the string where \fBtermcap\fR expects it. Mandatory padding
+(padding information with a trailing '/') will become optional.
+.sp
+.LP
+All \fBtermcap\fR variables no longer supported by \fBterminfo ,\fR but are
+derivable from other \fBterminfo\fR variables, will be displayed. Not all
+\fBterminfo\fR capabilities will be translated; only those variables which were
+part of \fBtermcap\fR will normally be displayed. Specifying the \fB-r\fR
+option will take off this restriction, allowing all capabilities to be
+displayed in \fBtermcap\fR form.
+.sp
+.LP
+Note that because padding is collected to the beginning of the capability, not
+all capabilities are displayed. Mandatory padding is not supported. Because
+\fBtermcap\fR strings are not as flexible, it is not always possible to convert
+a \fBterminfo\fR string capability into an equivalent \fBtermcap\fR format. A
+subsequent conversion of the \fBtermcap\fR file back into \fBterminfo\fR format
+will not necessarily reproduce the original \fBterminfo\fR source.
+.sp
+.LP
+Some common \fBterminfo\fR parameter sequences, their \fBtermcap\fR
+equivalents, and some terminal types which commonly have such sequences, are:
+.sp
+.in +2
+.nf
+\fBterminfo termcap\fR Representative Terminals
+\fB%p1%c %.\fR adm
+\fB%p1%d %d\fR hp, ANSI standard, vt100
+\fB%p1%'x'%+%c %+x\fR concept
+\fB%i %i\fR ANSI standard, vt100
+\fB%p1%?%'x'%>%t%p1%'y'%+%; %>xy\fR concept
+\fB%p2\fR is printed before \fB%p1 %r\fR hp
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 6n
+.rt
+Produce a \fBterminfo\fR source description of the first terminal
+\fItermname\fR which is relative to the sum of the descriptions given by the
+entries for the other terminals' \fItermname\fRs. It does this by analyzing the
+differences between the first \fItermname\fR and the other \fItermnames\fR and
+producing a description with \fBuse=\fR fields for the other terminals. In this
+manner, it is possible to retrofit generic \fBterminfo\fR entries into a
+terminal's description. Or, if two similar terminals exist, but were coded at
+different times, or by different people so that each description is a full
+description, using \fBinfocmp\fR will show what can be done to change one
+description to be relative to the other.
+.RE
+
+.sp
+.LP
+A capability is displayed with an at-sign (@) if it no longer exists in the
+first \fItermname\fR, but one of the other \fItermname\fR entries contains a
+value for it. A capability's value is displayed if the value in the first
+\fItermname\fR is not found in any of the other \fItermname\fR entries, or if
+the first of the other \fItermname\fR entries that has this capability gives a
+different value for that capability.
+.sp
+.LP
+The order of the other \fItermname\fR entries is significant. Since the
+\fBterminfo\fR compiler \fBtic\fR does a left-to-right scan of the
+capabilities, specifying two \fBuse=\fR entries that contain differing entries
+for the same capabilities will produce different results, depending on the
+order in which the entries are given. \fBinfocmp\fR will flag any such
+inconsistencies between the other \fItermname\fR entries as they are found.
+.sp
+.LP
+Alternatively, specifying a capability \fIafter\fR a \fBuse=\fR entry that
+contains, it will cause the second specification to be ignored. Using
+\fBinfocmp\fR to recreate a description can be a useful check to make sure that
+everything was specified correctly in the original source description.
+.sp
+.LP
+Another error that does not cause incorrect compiled files, but will slow down
+the compilation time, is specifying superfluous \fBuse=\fR fields.
+\fBinfocmp\fR will flag any superfluous \fBuse=\fR fields.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 11n
+.rt
+Sorts the fields within each type according to the argument below:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 5n
+.rt
+Leave fields in the order that they are stored in the \fBterminfo\fR database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.RS 5n
+.rt
+Sort by \fBterminfo\fR name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\fR\fR
+.ad
+.RS 5n
+.rt
+Sort by the long C variable name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 5n
+.rt
+Sort by the \fBtermcap\fR name.
+.RE
+
+If the \fB-s\fR option is not given, the fields are sorted alphabetically by
+the \fBterminfo\fR name within each type, except in the case of the \fB-C\fR or
+the \fB-L\fR options, which cause the sorting to be done by the \fBtermcap\fR
+name or the long C variable name, respectively.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 11n
+.rt
+Print out tracing information on standard error as the program runs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 11n
+.rt
+Print out the version of the program in use on standard error and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\(mi1\fR\fR
+.ad
+.RS 11n
+.rt
+Print the fields one to a line. Otherwise, the fields are printed several to a
+line to a maximum width of 60 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fIwidth\fR\fR
+.ad
+.RS 11n
+.rt
+Changes the output to \fIwidth\fR characters.
+.RE
+
+.sp
+.LP
+The location of the compiled \fBterminfo\fR database is taken from the
+environment variable \fB\fR\fBTERM\fR\fBINFO \fR. If the variable is not
+defined, or the terminal is not found in that location, the system
+\fBterminfo\fR database, usually in \fB/usr/share/lib/terminfo\fR, is used. The
+options \fB-A\fR and \fB-B\fR may be used to override this location.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIdirectory\fR\fR
+.ad
+.RS 16n
+.rt
+Set \fB\fR\fBTERM\fR\fBINFO \fR for the first \fItermname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR \fIdirectory\fR\fR
+.ad
+.RS 16n
+.rt
+Set \fB\fR\fBTERM\fR\fBINFO \fR for the other \fItermname\fRs. With this, it is
+possible to compare descriptions for a terminal with the same name located in
+two different databases. This is useful for comparing descriptions for the same
+terminal created by different people.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/terminfo/?/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Compiled terminal description database.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcaptoinfo\fR(1M), \fBtic\fR(1M), \fBcurses\fR(3CURSES), \fBterminfo\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/init.1m b/usr/src/man/man1m/init.1m
new file mode 100644
index 0000000000..d2e1338c2f
--- /dev/null
+++ b/usr/src/man/man1m/init.1m
@@ -0,0 +1,606 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH init 1M "2 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+init, telinit \- process control initialization
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/init\fR [0123456abcQqSs]
+.fi
+
+.LP
+.nf
+\fB/etc/telinit\fR [0123456abcQqSs]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBinit\fR is the default primordial user process. (Options given to the kernel
+during boot may result in the invocation of an alternative primordial user
+process, as described on \fBkernel\fR(1M)). \fBinit\fR initiates the core
+components of the service management facility, \fBsvc.configd\fR(1M) and
+\fBsvc.startd\fR(1M), and restarts these components if they fail. For backwards
+compatibility, \fBinit\fR also starts and restarts general processes according
+to \fB/etc/inittab\fR, as desribed below.
+.sp
+.LP
+The run levels and system booting descriptions given below are provided for
+compatibility purposes only, and otherwise made obsolete by the service
+management facility, \fBsmf\fR(5).
+.SS "init Failure"
+.sp
+.LP
+If \fBinit\fR exits for any reason other than system shutdown, it will be
+restarted with process-\fBID\fR 1.
+.SS "Run Level Defined"
+.sp
+.LP
+At any given time, the system is in one of eight possible run levels. A run
+level is a software configuration under which only a selected group of
+processes exists. Processes spawned by \fBinit\fR for each of these run levels
+are defined in \fB/etc/inittab\fR. \fBinit\fR can be in one of eight run
+levels, \fB0\(mi6\fR and \fBS\fR or \fBs\fR (\fBS\fR and \fBs\fR are
+identical). The run level changes when a privileged user runs \fB/sbin/init\fR.
+.SS "init and System Booting"
+.sp
+.LP
+When the system is booted, \fBinit\fR is invoked and the following occurs.
+First, it reads \fB/etc/default/init\fR to set environment variables. This is
+typically where \fBTZ\fR (time zone) and locale-related environments such as
+\fBLANG\fR or \fBLC_CTYPE\fR get set. (See the FILES section at the end of this
+page.) \fBinit\fR then looks in \fB/etc/inittab\fR for the \fBinitdefault\fR
+entry (see \fBinittab\fR(4)). If the \fBinitdefault\fR entry:
+.sp
+.ne 2
+.mk
+.na
+\fBexists\fR
+.ad
+.sp .6
+.RS 4n
+\fBinit\fR usually uses the run level specified in that entry as the initial
+run level to enter only if the options/milestone property has not been
+specified for \fBsvc.startd\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdoes not exist\fR
+.ad
+.sp .6
+.RS 4n
+The service management facility, \fBsmf\fR(5), examines its configuration
+specified in \fBsvc.startd\fR(1M), and enters the milestone specified by the
+options/milestone property.
+.RE
+
+.sp
+.LP
+The \fBinitdefault\fR entry in \fB/etc/inittab\fR corresponds to the following
+run levels:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR or \fBs\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBinit\fR goes to the single-user state. In this state, the system console
+device (\fB/dev/console\fR) is opened for reading and writing and the command
+\fB/sbin/su\fR, (see \fBsu\fR(1M)), is invoked. Use either \fBinit\fR or
+\fBtelinit\fR to change the run level of the system. Note that if the shell is
+terminated (using an end-of-file), \fBinit\fR only re-initializes to the
+single-user state if \fB/etc/inittab\fR does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0-6\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBinit\fR enters the corresponding run level. Run levels \fB0\fR, \fB5\fR, and
+\fB6\fR are reserved states for shutting the system down. Run levels \fB2\fR,
+\fB3\fR, and \fB4\fR are available as multi-user operating states.
+.RE
+
+.sp
+.LP
+If this is the first time since power up that \fBinit\fR has entered a run
+level other than single-user state, \fBinit\fR first scans \fB/etc/inittab\fR
+for \fBboot\fR and \fBbootwait\fR entries (see \fBinittab\fR(4)). These entries
+are performed before any other processing of \fB/etc/inittab\fR takes place,
+providing that the run level entered matches that of the entry. In this way any
+special initialization of the operating system, such as mounting file systems,
+can take place before users are allowed onto the system. \fBinit\fR then scans
+\fB/etc/inittab\fR and executes all other entries that are to be processed for
+that run level.
+.sp
+.LP
+To spawn each process in \fB/etc/inittab\fR, \fBinit\fR reads each entry and
+for each entry that should be respawned, it forks a child process. After it has
+spawned all of the processes specified by \fB/etc/inittab\fR, \fBinit\fR waits
+for one of its descendant processes to die, a \fBpowerfail\fR signal, or a
+signal from another \fBinit\fR or \fBtelinit\fR process to change the system's
+run level. When one of these conditions occurs, \fBinit\fR re-examines
+\fB/etc/inittab\fR.
+.SS "inittab Additions"
+.sp
+.LP
+New entries can be added to \fB/etc/inittab\fR at any time; however, \fBinit\fR
+still waits for one of the above three conditions to occur before re-examining
+\fB/etc/inittab\fR. To get around this, \fBinit Q\fR or \fBinit q\fR command
+wakes \fBinit\fR to re-examine \fB/etc/inittab\fR immediately.
+.sp
+.LP
+When \fBinit\fR comes up at boot time and whenever the system changes from the
+single-user state to another run state, \fBinit\fR sets the \fBioctl\fR(2)
+states of the console to those modes saved in the file \fB/etc/ioctl.syscon\fR.
+\fBinit\fR writes this file whenever the single-user state is entered.
+.SS "Run Level Changes"
+.sp
+.LP
+When a run level change request is made, \fBinit\fR or a designate sends the
+warning signal (\fBSIGTERM\fR) to all processes that are undefined in the
+target run level. A minimum interval of five seconds is observed before
+\fBinit\fR or its designate forcibly terminates these processes by sending a
+kill signal (\fBSIGKILL\fR). Additionally, init informs \fBsvc.startd\fR(1M)
+that the run level is changing. \fBsvc.startd\fR(1M) then restricts the system
+to the set of services which the milestone corresponding to the run-level
+change depends on.
+.sp
+.LP
+When \fBinit\fR receives a signal telling it that a process it spawned has
+died, it records the fact and the reason it died in \fB/var/adm/utmpx\fR and
+\fB/var/adm/wtmpx\fR if it exists (see \fBwho\fR(1)). A history of the
+processes spawned is kept in \fB/var/adm/wtmpx.\fR
+.sp
+.LP
+If \fBinit\fR receives a \fBpowerfail\fR signal (\fBSIGPWR\fR) it scans
+\fB/etc/inittab\fR for special entries of the type \fBpowerfail\fR and
+\fBpowerwait\fR. These entries are invoked (if the run levels permit) before
+any further processing takes place. In this way \fBinit\fR can perform various
+cleanup and recording functions during the powerdown of the operating system.
+.SS "Environment Variables in /etc/default/init"
+.sp
+.LP
+You can set default values for environment variables, for such items as
+timezone and character formatting, in \fB/etc/default/init\fR. See the FILES
+section, below, for a list of these variables.
+.SS "telinit"
+.sp
+.LP
+\fBtelinit\fR, which is linked to \fB/sbin/init\fR, is used to direct the
+actions of \fBinit\fR. It takes a one-character argument and signals \fBinit\fR
+to take the appropriate action.
+.SH SECURITY
+.sp
+.LP
+\fBinit\fR uses \fBpam\fR(3PAM) for session management. The \fBPAM\fR
+configuration policy, listed through \fB/etc/pam.conf\fR, specifies the session
+management module to be used for \fBinit\fR. Here is a partial \fBpam.conf\fR
+file with entries for \fBinit\fR using the UNIX session management module.
+.sp
+.in +2
+.nf
+init session required pam_unix_session.so.1
+.fi
+.in -2
+
+.sp
+.LP
+If there are no entries for the \fBinit\fR service, then the entries for the
+"other" service will be used.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Go into firmware.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Put the system in system administrator mode. All local file systems are
+mounted. Only a small set of essential kernel processes are left running. This
+mode is for administrative tasks such as installing optional utility packages.
+All files are accessible and no users are logged in on the system.
+.sp
+This request corresponds to a request for \fBsmf\fR(5) to restrict the system
+milestone to svc:/milestone/single-user:default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Put the system in multi-user mode. All multi-user environment terminal
+processes and daemons are spawned. This state is commonly referred to as the
+multi-user state.
+.sp
+This request corresponds to a request for \fBsmf\fR(5) to restrict the system
+milestone to svc:/milestone/multi-user:default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.sp .6
+.RS 4n
+Extend multi-user mode by making local resources available over the network.
+.sp
+This request corresponds to a request for \fBsmf\fR(5) to restrict the system
+milestone to svc:/milestone/multi-user-server:default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.sp .6
+.RS 4n
+Is available to be defined as an alternative multi-user environment
+configuration. It is not necessary for system operation and is usually not
+used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shut the machine down so that it is safe to remove the power. Have the machine
+remove power, if possible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.sp .6
+.RS 4n
+Stop the operating system and reboot to the state defined by the
+\fBinitdefault\fR entry in \fB/etc/inittab\fR.
+.sp
+On x86 systems, service \fBsvc:/system/boot-config:default\fR is enabled by
+default. When the \fBconfig/fastreboot_default\fR property is set to
+\fBtrue\fR, \fBinit 6\fR will bypass the firmware.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBa\fR,\fBb\fR,\fBc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Process only those \fB/etc/inittab\fR entries having the \fBa\fR, \fBb\fR, or
+\fBc\fR run level set. These are pseudo-states, which may be defined to run
+certain commands, but which do not cause the current run level to change.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQ\fR,\fBq\fR\fR
+.ad
+.sp .6
+.RS 4n
+Re-examine \fB/etc/inittab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR, \fBs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enter single-user mode. This is the only run level that doesn't require the
+existence of a properly formatted \fB/etc/inittab\fR file. If this file does
+not exist, then by default, the only legal run level that \fBinit\fR can enter
+is the single-user mode. When in single-user mode, the filesystems required for
+basic system operation will be mounted. When the system comes down to
+single-user mode, these file systems will remain mounted (even if provided by a
+remote file server), and any other local filesystems will also be left mounted.
+During the transition down to single-user mode, all processes started by
+\fBinit\fR or \fBinit.d\fR scripts that should only be running in multi-user
+mode are killed. In addition, any process that has a \fButmpx\fR entry will be
+killed. This last condition insures that all port monitors started by the
+\fBSAC\fR are killed and all services started by these port monitors, including
+\fBttymon\fR login services, are killed.
+.sp
+This request corresponds to a request for \fBsmf\fR(5) to restrict the system
+milestone to svc:/milestone/single-user:default.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/console\fR\fR
+.ad
+.sp .6
+.RS 4n
+System console device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/init\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains environment variables and their default values. For example, for the
+timezone variable, \fBTZ\fR, you might specify \fBTZ=US/Pacific\fR. The
+variables are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTZ\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either specifies the timezone information (see \fBctime\fR(3C)) or the name of
+a timezone information file \fB/usr/share/lib/zoneinfo\fR.
+.sp
+Refer to the \fBTIMEZONE\fR(4) man page before changing this setting.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCMASK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The mask (see \fBumask\fR(1)) that \fBinit\fR uses and that every process
+inherits from the \fBinit\fR process. If not set, \fBinit\fR uses the mask it
+inherits from the kernel. Note that \fBinit\fR always attempts to apply a
+\fBumask\fR of 022 before creating a file, regardless of the setting of
+\fBCMASK\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_CTYPE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Character characterization information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_MESSAGES\fR\fR
+.ad
+.sp .6
+.RS 4n
+Message translation
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_MONETARY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Monetary formatting information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_NUMERIC\fR\fR
+.ad
+.sp .6
+.RS 4n
+Numeric formatting information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_TIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Time formatting information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_ALL\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, all other \fBLC_*\fR environmental variables take-on this value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLANG\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBLC_ALL\fR is not set, and any particular \fBLC_*\fR is also not set, the
+value of \fBLANG\fR is used for that particular environmental variable.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inittab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls process dispatching by \fBinit\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ioctl.syscon\fR\fR
+.ad
+.sp .6
+.RS 4n
+ioctl states of the console, as saved by \fBinit\fR when single-user state is
+entered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/svc/volatile/init.state\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBinit\fR state necessary to recover from failure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/utmpx\fR\fR
+.ad
+.sp .6
+.RS 4n
+User access and administration information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.sp .6
+.RS 4n
+History of user access and administration information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB/var/run/initpipe\fR
+.ad
+.sp .6
+.RS 4n
+A named pipe used for internal communication.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlogin\fR(1), \fBsh\fR(1), \fBstty\fR(1), \fBwho\fR(1), \fBkernel\fR(1M),
+\fBshutdown\fR(1M), \fBsu\fR(1M), \fBsvc.configd\fR(1M), \fBsvc.startd\fR(1M),
+\fBttymon\fR(1M), \fBioctl\fR(2), \fBkill\fR(2), \fBctime\fR(3C),
+\fBpam\fR(3PAM), \fBinit.d\fR(4), \fBinittab\fR(4), \fBpam.conf\fR(4),
+\fBTIMEZONE\fR(4), \fButmpx\fR(4), \fBattributes\fR(5),
+\fBpam_unix_session\fR(5), \fBsmf\fR(5), \fBtermio\fR(7I)
+.SH DIAGNOSTICS
+.sp
+.LP
+If \fBinit\fR finds that it is respawning an entry from \fB/etc/inittab\fR more
+than ten times in two minutes, it assumes that there is an error in the command
+string in the entry and generates an error message on the system console. It
+then refuses to respawn this entry until either five minutes has elapsed or it
+receives a signal from a user-spawned \fBinit\fR or \fBtelinit\fR command. This
+prevents \fBinit\fR from eating up system resources when someone makes a
+typographical error in the \fBinittab\fR file, or a program is removed that is
+referenced in \fB/etc/inittab\fR.
+.SH NOTES
+.sp
+.LP
+\fBinit\fR and \fBtelinit\fR can be run only by a privileged user.
+.sp
+.LP
+The \fBS\fR or \fBs\fR state must not be used indiscriminately in
+\fB/etc/inittab\fR. When modifying this file, it is best to avoid adding this
+state to any line other than \fBinitdefault\fR.
+.sp
+.LP
+If a default state is not specified in the \fBinitdefault\fR entry in
+\fB/etc/inittab\fR, state \fB6\fR is entered. Consequently, the system will
+loop by going to firmware and rebooting continuously.
+.sp
+.LP
+If the \fButmpx\fR file cannot be created when booting the system, the system
+will boot to state "\fBs\fR" regardless of the state specified in the
+\fBinitdefault\fR entry in \fB/etc/inittab\fR. This can occur if the \fB/var\fR
+file system is not accessible.
+.sp
+.LP
+When a system transitions down to the \fBS\fR or \fBs\fR state, the
+\fB/etc/nologin\fR file (see \fBnologin\fR(4)) is created. Upon subsequent
+transition to run level 2, this file is removed.
+.sp
+.LP
+\fBinit\fR uses \fB/var/run/initpipe\fR, a named pipe, for internal
+communication.
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported. Similar functionality is
+provided by \fBpam_unix_session\fR(5).
diff --git a/usr/src/man/man1m/inityp2l.1m b/usr/src/man/man1m/inityp2l.1m
new file mode 100644
index 0000000000..c30def94ce
--- /dev/null
+++ b/usr/src/man/man1m/inityp2l.1m
@@ -0,0 +1,141 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH inityp2l 1M "10 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+inityp2l \- create NIS (YP) to LDAP configuration files
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/inityp2l\fR [\fB-m\fR \fImapping_file_name\fR]
+ [\fB-c\fR \fIconfig_file_name\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBinityp2l\fR utility assists with creation of the \fBNISLDAPmapping\fR
+and \fBypserv\fR files. See \fBNISLDAPmapping\fR(4) and\fBypserv\fR(4).
+\fBinityp2l\fR examines the NIS maps on a system. and through a dialogue with
+the user, determines which NIS to (and from) LDAP mappings are required. A
+\fBNISLDAPmapping\fR file is then created based on this information. The
+utility asks users about their LDAP server configuration and a \fBypserv\fR
+file is created based on this information.
+.sp
+.LP
+The \fBinityp2l\fR utility handles mappings for standard NIS maps and the
+\fBauto.*\fR series of maps. If requested, it creates default mappings for
+custom maps, with each map entry represented as a single DIT string.
+\fBinityp2l\fR does not handle full custom mapping, but if requested,
+\fBinityp2l\fR will insert comments into the \fBNISLDAPmapping\fR file that
+indicate where these should be added.
+.sp
+.LP
+To write to the \fBNISLDAPmapping\fR or \fBypserv\fR files is potentially
+dangerous. \fBinityp2l\fR warns the user and asks for confirmation before:
+.RS +4
+.TP
+1.
+it overwrites either file
+.RE
+.RS +4
+.TP
+2.
+it writes to the default \fBNISLDAPmapping\fR file location, if this file
+did not previously exist. This is important because the existence of a file in
+this location causes NIS components to work NIS to LDAP (N2L) mode when next
+restarted, rather than to traditional NIS mode.
+.RE
+.sp
+.LP
+\fBinityp2l\fR assists with rapid creation of a simple N2L configuration files.
+It is not a general purpose tool for the management of these files. An
+advanced user who would like to maintain the files or use custom mappings
+should examine the output of \fBinityp2l\fR and customize it by using a
+standard text editor.
+.SH OPTIONS
+.sp
+.LP
+\fBinityp2l\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Specify the name of the generated \fBypserv\fR file. The default location is
+described in .
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 6n
+.rt
+Specify the name of the generated \fBNISLDAPmapping\fR file. The default is
+described in .
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp\fR \fR
+.ad
+.RS 26n
+.rt
+The directory to be searched for candidate domains (\fB/var/yp/*\fR) and NIS
+maps (\fB/var/yp/*/*\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/NISLDAPmapping\fR\fR
+.ad
+.RS 26n
+.rt
+The default location for the generated \fBNISLDAPmapping\fR file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/ypserv\fR\fR
+.ad
+.RS 26n
+.rt
+The default location for the generated \fBypserv\fR file
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBNISLDAPmapping\fR(4), \fBypserv\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/install.1m b/usr/src/man/man1m/install.1m
new file mode 100644
index 0000000000..4e1164ab90
--- /dev/null
+++ b/usr/src/man/man1m/install.1m
@@ -0,0 +1,243 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH install 1M "3 Nov 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+install \- install commands
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/install\fR \fB-c\fR \fIdira\fR [\fB-m\fR \fImode\fR] [\fB-u\fR \fIuser\fR] [\fB-g\fR \fIgroup\fR]
+ [\fB-o\fR] [\fB-s\fR] \fIfile\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/install\fR \fB-f\fR \fIdirb\fR [\fB-m\fR \fImode\fR] [\fB-u\fR \fIuser\fR] [\fB-g\fR \fIgroup\fR]
+ [\fB-o\fR] [\fB-s\fR] \fIfile\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/install\fR \fB-n\fR \fIdirc\fR [\fB-m\fR \fImode\fR] [\fB-u\fR \fIuser\fR] [\fB-g\fR \fIgroup\fR]
+ [\fB-o\fR] [\fB-s\fR] \fIfile\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/install\fR \fB-d\fR | \fB-i\fR [\fB-m\fR \fImode\fR] [\fB-u\fR \fIuser\fR] [\fB-g\fR \fIgroup\fR]
+ [\fB-o\fR] [\fB-s\fR] \fIdirx\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/install\fR [\fB-m\fR \fImode\fR] [\fB-u\fR \fIuser\fR] [\fB-g\fR \fIgroup\fR] [\fB-o\fR] [\fB-s\fR] \fIfile\fR
+ [\fIdirx\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBinstall\fR is most commonly used in ``makefiles'' (see \fBmake\fR(1S)) to
+install a \fBfile\fR in specific locations, or to create directories within a
+file system. Each \fBfile\fR is installed by copying it into the appropriate
+directory.
+.sp
+.LP
+\fBinstall\fR uses no special privileges to copy files from one place to
+another. The implications of this are:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+You must have permission to read the files to be installed.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+You must have permission to copy into the destination directory.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+You must have permission to change the modes on the final copy of the file if
+you want to use the \fB-m\fR option.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+You must be super-user if you want to specify the ownership of the installed
+file with the \fB-u\fR or \fB-g\fR options. If you are not the super-user, the
+installed file is owned by you, regardless of who owns the original.
+.RE
+.sp
+.LP
+Note that if the \fBROOT\fR environment variable is set, each of the default
+directory paths are prefixed by its value (for example, \fB$ROOT/bin\fR and so
+on).
+.sp
+.LP
+\fBinstall\fR prints messages telling the user exactly what files it is
+replacing or creating and where they are going.
+.sp
+.LP
+If no options or directories (\fIdirx\fR .\|.\|.) are given, \fBinstall\fR
+searches a set of default directories ( \fB/bin\fR, \fB/usr/bin\fR, \fB/etc\fR,
+\fB/lib\fR, and \fB/usr/lib\fR, in that order) for a file with the same name as
+\fBfile\fR. When the first occurrence is found, \fBinstall\fR issues a message
+saying that it is overwriting that file with \fBfile\fR, and proceeds to do so.
+If the file is not found, the program states this and exits.
+.sp
+.LP
+If one or more directories (\fIdirx\fR .\|.\|.) are specified after \fBfile\fR,
+those directories are searched before the default directories.
+.sp
+.LP
+This version of \fBinstall\fR (\fB/usr/sbin/install\fR) is not compatible with
+the \fBinstall\fR binaries in many versions of Unix other than Solaris. For a
+higher degree of compatibility with other Unix versions, use
+\fB/usr/ucb/install\fR, which is described in the \fBinstall\fR(1B) man page.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIdira\fR\fR
+.ad
+.RS 12n
+.rt
+Install \fBfile\fR in the directory specified by \fIdira\fR, if \fBfile\fR does
+not yet exist. If it is found, \fBinstall\fR issues a message saying that the
+file already exists, and exits without overwriting it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIdirb\fR\fR
+.ad
+.RS 12n
+.rt
+Force \fBfile\fR to be installed in given directory, even if the file already
+exists. If the file being installed does not already exist, the mode and owner
+of the new file is set to \fB755\fR and \fBbin\fR \fB,\fR respectively. If the
+file already exists, the mode and owner is that of the already existing file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIdirc\fR\fR
+.ad
+.RS 12n
+.rt
+If \fBfile\fR is not found in any of the searched directories, it is put in the
+directory specified in \fIdirc\fR. The mode and owner of the new file is set to
+\fB755\fR and \fBbin\fR, respectively.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 12n
+.rt
+Create a directory. Missing parent directories are created as required as in
+\fBmkdir \fR\fB-p\fR. If the directory already exists, the owner, group and
+mode is set to the values given on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 12n
+.rt
+Ignore default directory list, searching only through the given directories
+(\fIdirx\fR .\|.\|.).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImode\fR\fR
+.ad
+.RS 12n
+.rt
+The mode of the new file is set to \fImode\fR. Set to \fB0755\fR by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuser\fR\fR
+.ad
+.RS 12n
+.rt
+The owner of the new file is set to \fIuser\fR. Only available to the
+super-user. Set to \fBbin\fR by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgroup\fR\fR
+.ad
+.RS 12n
+.rt
+The group id of the new file is set to \fIgroup\fR. Only available to the
+super-user. Set to \fBbin\fR by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 12n
+.rt
+If \fBfile\fR is found, save the ``found'' file by copying it to
+\fBOLD\fR\fBfile\fR in the directory in which it was found. This option is
+useful when installing a frequently used file such as \fB/bin/sh\fR or
+\fB/lib/saf/ttymon\fR, where the existing file cannot be removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 12n
+.rt
+Suppress printing of messages other than error messages.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBinstall\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH SEE ALSO
+.sp
+.LP
+\fBchgrp\fR(1), \fBchmod\fR(1), \fBchown\fR(1), \fBcp\fR(1), \fBinstall\fR(1B),
+\fBmake\fR(1S), \fBmkdir\fR(1), \fBattributes\fR(5), \fBlargefile\fR(5)
diff --git a/usr/src/man/man1m/installf.1m b/usr/src/man/man1m/installf.1m
new file mode 100644
index 0000000000..ba88cfba54
--- /dev/null
+++ b/usr/src/man/man1m/installf.1m
@@ -0,0 +1,492 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH installf 1M "30 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+installf \- add a file to the software installation database
+.SH SYNOPSIS
+.LP
+.nf
+\fBinstallf\fR [\fB-c\fR \fIclass\fR] [ [\fB-M\fR] \fB-R\fR \fIroot_path\fR] [\fB-V\fR \fIfs_file\fR] \fIpkginst\fR \fIpathname\fR
+ [\fIftype\fR [\fImajor\fR \fIminor\fR] [\fImode\fR \fIowner\fR \fIgroup\fR]]
+.fi
+
+.LP
+.nf
+\fBinstallf\fR [\fB-c\fR \fIclass\fR] [ [\fB-M\fR] \fB-R\fR \fIroot_path\fR] [\fB-V\fR \fIfs_file\fR] \fIpkginst\fR -
+.fi
+
+.LP
+.nf
+\fBinstallf\fR \fB-f\fR [\fB-c\fR \fIclass\fR] [ [\fB-M\fR] \fB-R\fR \fIroot_path\fR] [\fB-V\fR \fIfs_file\fR] \fIpkginst\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBinstallf\fR informs the system that a pathname not listed in the
+\fBpkgmap\fR(4) file is being created or modified. It should be invoked before
+any file modifications have occurred.
+.sp
+.LP
+When the second synopsis is used, the pathname descriptions will be read from
+standard input. These descriptions are the same as would be given in the first
+synopsis but the information is given in the form of a list. The descriptions
+should be in the form:
+.sp
+.LP
+\fIpathname\fR [ \fIftype\fR [\| \fImajor\fR \fIminor\fR ] [ \fImode\fR
+\fIowner\fR \fIgroup\fR ]\|]
+.sp
+.LP
+After all files have been appropriately created and/or modified, \fBinstallf\fR
+should be invoked with the \fB-f\fR synopsis to indicate that installation is
+final. Links will be created at this time and, if attribute information for a
+pathname was not specified during the original invocation of \fBinstallf\fR, or
+was not already stored on the system, the current attribute values for the
+pathname will be stored. Otherwise, \fBinstallf\fR verifies that attribute
+values match those given on the command line, making corrections as necessary.
+In all cases, the current content information is calculated and stored
+appropriately.
+.sp
+.LP
+Package commands are \fBlargefile\fR(5)-aware. They handle files larger than 2
+GB in the same way they handle smaller files. In their current implementations,
+\fBpkgadd\fR(1M), \fBpkgtrans\fR(1) and other package commands can process a
+datastream of up to 4 GB.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass\fR\fR
+.ad
+.RS 16n
+.rt
+Class to which installed objects should be associated. Default class is
+\fBnone\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 16n
+.rt
+Indicates that installation is complete. This option is used with the final
+invocation of \fBinstallf\fR (for all files of a given class).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.RS 16n
+.rt
+Instruct \fBinstallf\fR not to use the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file for determining the client's mount points. This option assumes the mount
+points are correct on the server and it behaves consistently with Solaris 2.5
+and earlier releases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-R\fR \fIroot_path\fR\fR
+.ad
+.RS 16n
+.rt
+Define the full path name of a directory to use as the \fIroot_path\fR. All
+files, including package system information files, are relocated to a directory
+tree starting in the specified \fIroot_path\fR. The \fIroot_path\fR can be
+specified when installing to a client from a server (for example,
+\fB/export/root/client1\fR).
+.sp
+\fBinstallf\fR inherits the value of the \fBPKG_INSTALL_ROOT\fR environment
+variable. (See ENVIRONMENT VARIABLES, below.) If \fBPKG_INSTALL_ROOT\fR is set,
+such as when the \fB-R\fR option is used with \fBpkgadd\fR(1M) or
+\fBpkgrm\fR(1M), there is no need to use the \fBinstallf\fR \fB-R\fR option.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fIfs_file\fR\fR
+.ad
+.RS 16n
+.rt
+Specify an alternative \fIfs_file\fR to map the client's file systems. For
+example, used in situations where the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file is non-existent or unreliable.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkginst\fR\fR
+.ad
+.RS 12n
+.rt
+Name of package instance with which the pathname should be associated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpathname\fR\fR
+.ad
+.RS 12n
+.rt
+Pathname that is being created or modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIftype\fR\fR
+.ad
+.RS 12n
+.rt
+A one-character field that indicates the file type. Possible file types
+include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 5n
+.rt
+block special device
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 5n
+.rt
+character special device
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 5n
+.rt
+directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBe\fR\fR
+.ad
+.RS 5n
+.rt
+a file to be edited upon installation or removal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.RS 5n
+.rt
+a standard executable or data file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\fR\fR
+.ad
+.RS 5n
+.rt
+linked file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+named pipe
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+symbolic link
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBv\fR\fR
+.ad
+.RS 5n
+.rt
+volatile file (one whose contents are expected to change)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBx\fR\fR
+.ad
+.RS 5n
+.rt
+an exclusive directory
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImajor\fR\fR
+.ad
+.RS 12n
+.rt
+The major device number. The field is only specified for block or character
+special devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIminor\fR\fR
+.ad
+.RS 12n
+.rt
+The minor device number. The field is only specified for block or character
+special devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImode\fR\fR
+.ad
+.RS 12n
+.rt
+The octal mode of the file (for example, 0664). A question mark (\fB?\fR)
+indicates that the mode will be left unchanged, implying that the file already
+exists on the target machine. This field is not used for linked or symbolically
+linked files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIowner\fR\fR
+.ad
+.RS 12n
+.rt
+The owner of the file (for example, \fBbin\fR or \fBroot\fR). The field is
+limited to 14 characters in length. A question mark (\fB?\fR) indicates that
+the owner will be left unchanged, implying that the file already exists on the
+target machine. This field is not used for linked or symbolically linked files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgroup\fR\fR
+.ad
+.RS 12n
+.rt
+The group to which the file belongs (for example, \fBbin\fR or \fBsys\fR). The
+field is limited to 14 characters in length. A question mark (\fB?\fR)
+indicates that the group will be left unchanged, implying that the file already
+exists on the target machine. This field is not used for linked or symbolically
+linked files.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRBasic Usage
+.sp
+.LP
+The following example shows the use of \fBinstallf\fR, invoked from an optional
+pre-install or post-install script:
+
+.sp
+.in +2
+.nf
+# create /dev/xt directory
+# (needs to be done before drvinstall)
+installf $PKGINST /dev/xt d 755 root sys ||
+ exit 2
+majno=`/usr/sbin/drvinstall \fB-m\fR /etc/master.d/xt
+ \fB-d\fR $BASEDIR/data/xt.o \fB-v\fR1.0` ||
+ exit 2
+i=00
+while [ $i \(milt $limit ]
+do
+ for j in 0 1 2 3 4 5 6 7
+ do
+ echo /dev/xt$i$j c $majno `expr $i ? 8 + $j`
+ 644 root sys |
+ echo /dev/xt$i$j=/dev/xt/$i$j
+ done
+ i=`expr $i + 1`
+ [ $i \(mile 9 ] && i="0$i" #add leading zero
+done | installf $PKGINST \(mi || exit 2
+# finalized installation, create links
+installf \fB-f\fR $PKGINST || exit 2
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+\fBinstallf\fR inherits the value of the following environment variable. This
+variable is set when \fBpkgadd\fR(1M) or \fBpkgrm\fR(1M) is invoked with the
+\fB-R\fR option.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPKG_INSTALL_ROOT\fR\fR
+.ad
+.RS 20n
+.rt
+If present, defines the full path name of a directory to use as the system's
+\fBPKG_INSTALL_ROOT\fR path. All product and package information files are then
+looked for in the directory tree, starting with the specified
+\fBPKG_INSTALL_ROOT\fR path. If not present, the default system path of \fB/\fR
+is used.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkginfo\fR(1), \fBpkgmk\fR(1), \fBpkgparam\fR(1), \fBpkgproto\fR(1),
+\fBpkgtrans\fR(1), \fBpkgadd\fR(1M), \fBpkgask\fR(1M), \fBpkgchk\fR(1M),
+\fBpkgrm\fR(1M), \fBremovef\fR(1M), \fBpkgmap\fR(4), \fBspace\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+When \fIftype\fR is specified, all applicable fields, as shown below, must be
+defined:
+.sp
+
+.sp
+.TS
+tab() box;
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fIftype\fRRequired Fields
+\fBp\fR, \fBx\fR, \fBd\fR, \fBf\fR, \fBv\fR, or \fBe\fR\fBmode owner group\fR
+\fBc\fR or \fBb\fR\fBmajor minor mode owner group\fR
+.TE
+
+.sp
+.LP
+The \fBinstallf\fR command will create directories, named pipes and special
+devices on the original invocation. Links are created when \fBinstallf\fR is
+invoked with the \fB-f\fR option to indicate installation is complete.
+.sp
+.LP
+Links should be specified as \fIpath1\fR\fB=\fR\fIpath2.\fR \fIpath1\fR
+indicates the destination and \fIpath2\fR indicates the source file.
+.sp
+.LP
+Files installed with \fBinstallf\fR will be placed in the class \fBnone\fR,
+unless a class is defined with the command. Subsequently, they will be removed
+when the associated package is deleted. If this file should not be deleted at
+the same time as the package, be certain to assign it to a class which is
+ignored at removal time. If special action is required for the file before
+removal, a class must be defined with the command and an appropriate class
+action script delivered with the package.
+.sp
+.LP
+When classes are used, \fBinstallf\fR must be used in one of the following
+forms:
+.sp
+.in +2
+.nf
+installf \fB-c\fR class1 .\|.\|.\|
+installf \fB-f\fR \fB-c\fR class1 .\|.\|.\|
+installf \fB-c\fR class2 .\|.\|.\|
+installf \fB-f\fR \fB-c\fR class2 .\|.\|.\|
+.fi
+.in -2
+.sp
+
diff --git a/usr/src/man/man1m/installgrub.1m b/usr/src/man/man1m/installgrub.1m
new file mode 100644
index 0000000000..3a717055b7
--- /dev/null
+++ b/usr/src/man/man1m/installgrub.1m
@@ -0,0 +1,166 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH installgrub 1M "2 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+installgrub \- install GRUB in a disk partition or a floppy
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/installgrub\fR [\fB-fm\fR] \fIstage1\fR \fIstage2\fR \fIraw-device\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBinstallgrub\fR command is an x86-only program. GRUB stands for GRand
+Unified Bootloader.
+.sp
+.LP
+\fBinstallgrub\fR installs GRUB stage 1 and stage 2 files on the boot area of a
+disk partition. If you specify the \fB-m\fR option, \fBinstallgrub\fR installs
+the stage 1 file on the master boot sector of the disk.
+.SH OPTIONS
+.sp
+.LP
+The \fBinstallgrub\fR command accepts the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Suppresses interaction when overwriting the master boot sector.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 6n
+.rt
+Installs GRUB \fIstage1\fR on the master boot sector interactively. You must
+use this option if Solaris is installed on an extended partition.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBinstallgrub\fR command accepts the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIstage1\fR\fR
+.ad
+.RS 14n
+.rt
+The name of the GRUB stage 1 file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIstage2\fR\fR
+.ad
+.RS 14n
+.rt
+The name of the GRUB stage 2 file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw-device\fR\fR
+.ad
+.RS 14n
+.rt
+The name of the device onto which GRUB code is to be installed. It must be a
+character device that is readable and writable. For disk devices, specify the
+slice where the GRUB menu file is located. (For Solaris it is the root slice.)
+For a floppy disk, it is \fB/dev/rdiskette\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRInstalling GRUB on a Hard Disk Slice
+.sp
+.LP
+The following command installs GRUB on a system where the root slice is
+\fBc0d0s0\fR:
+
+.sp
+.in +2
+.nf
+example# /sbin/installgrub /boot/grub/stage1 \e
+ /boot/grub/stage2 /dev/rdsk/c0d0s0
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRInstalling GRUB on a Floppy
+.sp
+.LP
+The following command installs GRUB on a formatted floppy:
+
+.sp
+.in +2
+.nf
+example# mount -F pcfs /dev/diskette /mnt
+# mkdir -p /mnt/boot/grub
+# cp /boot/grub/* /mnt/boot/grub
+# umount /mnt
+# cd /boot/grub
+# /sbin/installgrub stage1 stage2 /dev/rdiskette
+.fi
+.in -2
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/boot/grub\fR\fR
+.ad
+.RS 14n
+.rt
+Directory where GRUB files reside.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBboot\fR(1M), \fBfdisk\fR(1M), \fBfmthard\fR(1M), \fBkernel\fR(1M),
+\fBattributes\fR(5)
+.SH WARNINGS
+.sp
+.LP
+Installing GRUB on the master boot sector (\fB-m\fR option) overrides any boot
+manager currently installed on the machine. The system will always boot the
+GRUB in the Solaris partition regardless of which \fBfdisk\fR partition is
+active.
diff --git a/usr/src/man/man1m/intrd.1m b/usr/src/man/man1m/intrd.1m
new file mode 100644
index 0000000000..76b1ee59ca
--- /dev/null
+++ b/usr/src/man/man1m/intrd.1m
@@ -0,0 +1,69 @@
+'\" te
+.\" Copyright (c) 1999, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH intrd 1M "21 Jun 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+intrd \- interrupt distribution daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/intrd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBintrd\fR daemon is started at boot time to monitor the assignments
+between interrupts and \fBCPU\fRs. If \fBintrd\fR decides that the current
+assignments are imbalanced and harmful to system performance, it will generate
+and implement new assignments.
+.sp
+.LP
+Any notifications will be delivered via \fBsyslogd\fR(1M).
+.sp
+.LP
+Because \fBintrd\fR dynamically monitors a system for optimal performance, it
+consumes a small amount of CPU time, even on an otherwise idle system. This
+behavior is normal.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface Stability Unstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBsyslogd\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The interrupt distribution daemon is managed by the service management
+facility, \fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/intrd:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/intrstat.1m b/usr/src/man/man1m/intrstat.1m
new file mode 100644
index 0000000000..860ae88797
--- /dev/null
+++ b/usr/src/man/man1m/intrstat.1m
@@ -0,0 +1,217 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH intrstat 1M "16 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+intrstat \- report interrupt statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/intrstat\fR [\fB-c\fR \fIcpulist\fR | \fB-C\fR \fIprocessor_set_id\fR] [\fB-T\fR u | d ]
+ [\fB-x\fR \fIopt\fR[=\fIval\fR]] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBintrstat\fR utility gathers and displays run-time interrupt statistics.
+The output is a table of device names and CPU IDs, where each row of the table
+denotes a device, and each column of the table denotes a CPU. Each cell in the
+table contains both the raw number of interrupts for the given device on the
+given CPU, and the percentage of absolute time spent in that device's interrupt
+handler on that CPU.
+.sp
+.LP
+The device name is given in the form of
+\fB{\fR\fIname\fR}\fI#\fR\fB{\fR\fIinstance\fR\fB}\fR. The name is the
+normalized driver name, and typically corresponds to the name of the module
+implementing the driver. See \fBddi_driver_name\fR(9F). Many Sun-delivered
+drivers have their own manual pages. See \fBIntro\fR(7).
+.sp
+.LP
+If standard output is a terminal, the table contains as many columns of data as
+can fit within the terminal width. If standard output is not a terminal, the
+table contains at most four columns of data. By default, data is gathered and
+displayed for all CPUs. If the data cannot fit in a single table, it is printed
+across multiple tables. The set of CPUs for which data is displayed can be
+optionally specified with the \fB-c\fR or \fB-C\fR option.
+.sp
+.LP
+By default, \fBintrstat\fR displays data once per second and runs indefinitely.
+Both of these behaviors can be optionally controlled with the interval and
+count parameters, respectively. See \fBOPERANDS\fR.
+.sp
+.LP
+Because \fBintrstat\fR uses dynamic discovery, it reports only on devices that
+raise interrupts while the command is running. Any devices that are silent
+while \fBintrstat\fR is running are not displayed.
+.sp
+.LP
+\fBintrstat\fR induces a small system-wide performance degradation. As a
+result, only the super-user can run \fBintrstat\fR by default. The \fISolaris
+Dynamic Tracing Guide\fR explains how administrators can grant privileges to
+other users to permit them to run \fBintrstat\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcpulist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays data for the CPUs specified by \fIcpulist\fR.
+.sp
+\fIcpulist\fR can be a single processor ID (for example, \fB4\fR), a range of
+processor IDs (for example, \fB4-6\fR), or a comma separated list of processor
+IDs or processor ID ranges (for example, \fB4,5,6\fR or \fB4,6-8\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIprocessor_set_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays data for the CPUs in the processor set specified by
+\fIprocessor_set_id\fR.
+.sp
+\fBintrstat\fR modifies its output to always reflect the CPUs in the specified
+processor set. If a CPU is added to the set, \fBintrstat\fR modifies its output
+to include the added CPU. If a CPU is removed from the set, \fBintrstat\fR
+modifies its output to exclude the removed CPU. At most one processor set can
+be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIopt\fR[=\fIval\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Enable or modify a DTrace runtime option or D compiler option. The list of
+options is found in the \fISolaris Dynamic Tracing Guide\fR. A boolean option
+is enabled by specifying its name. Options with values are set by separating
+the option name and value with an equal sign (\fB=\fR)
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates the number of intervals to execute before exiting.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates the number of seconds to be executed before exiting.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBintrstat\fR Without Options
+.sp
+.LP
+Without options, \fBintrstat\fR displays a table of trap types and CPUs. At
+most, four columns can fit in the default terminal width. If there are more
+than four CPUs, multiple tables are displayed.
+
+.sp
+.LP
+The following example runs \fBintrstat\fR on a uniprocessor Intel IA/32-based
+laptop:
+
+.sp
+.in +2
+.nf
+example# intrstat
+ device | cpu0 %tim
+ -----------------+---------------
+ ata#0 | 166 0.4
+ ata#1 | 0 0.0
+ audioi810#0 | 6 0.0
+ i8042#0 | 281 0.7
+ iprb#0 | 6 0.0
+ uhci#1 | 6 0.0
+ uhci#2 | 6 0.0
+
+ device | cpu0 %tim
+ -----------------+---------------
+ ata#0 | 161 0.5
+ ata#1 | 0 0.0
+ audioi810#0 | 6 0.0
+ i8042#0 | 303 0.6
+ iprb#0 | 6 0.0
+ uhci#1 | 6 0.0
+ uhci#2 | 6 0.0
+ ...
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command-line syntax is Evolving. The human-readable output is Unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBdtrace\fR(1M), \fBtrapstat\fR(1M), \fBattributes\fR(5), \fBIntro\fR(7),
+\fBddi_driver_name\fR(9F)
+.sp
+.LP
+\fISolaris Dynamic Tracing Guide\fR
diff --git a/usr/src/man/man1m/iostat.1m b/usr/src/man/man1m/iostat.1m
new file mode 100644
index 0000000000..ad954aba89
--- /dev/null
+++ b/usr/src/man/man1m/iostat.1m
@@ -0,0 +1,750 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH iostat 1M "23 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+iostat \- report I/O statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/iostat\fR [\fB-cCdDeEiImMnpPrstxXYz\fR] [\fB-l\fR \fIn\fR] [\fB-T\fR u | d]
+ [\fIdisk\fR]... [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBiostat\fR utility iteratively reports terminal, disk, and tape \fBI/O\fR
+activity, as well as \fBCPU\fR utilization. The first line of output is for all
+time since boot; each subsequent line is for the prior interval only.
+.sp
+.LP
+To compute this information, the kernel maintains a number of counters. For
+each disk, the kernel counts reads, writes, bytes read, and bytes written. The
+kernel also takes hi-res time stamps at queue entry and exit points, which
+allows it to keep track of the residence time and cumulative residence-length
+product for each queue. Using these values, \fBiostat\fR produces highly
+accurate measures of throughput, utilization, queue lengths, transaction rates
+and service time. For terminals collectively, the kernel simply counts the
+number of input and output characters.
+.sp
+.LP
+During execution of the kernel status command, the \fBstate\fR of the system
+can change. If relevant, a state change message is included in the \fBiostat\fR
+output, in one of the following forms:
+.sp
+.in +2
+.nf
+<<device added: sd0>>
+<<device removed: sd0>>
+<<partition added: sd0,a>>
+<<partition removed: sd0,a>>
+<<NFS mounted: nfs1>>
+<<NFS unmounted: nfs1>>
+<<multi-path added: ssd4>>
+<<multi-path removed: ssd4>>
+<<controller added: c1>>
+<<controller removed: c1>>
+<<processors added: 1, 3>>
+<<processors removed: 1, 3>>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that the \fBnames\fR printed in these state change messages are affected
+by the \fB-n\fR and \fB-m\fR options as appropriate.
+.sp
+.LP
+For more general system statistics, use \fBsar\fR(1), \fBsar\fR(1M), or
+\fBvmstat\fR(1M).
+.SS "Output"
+.sp
+.LP
+The output of the \fBiostat\fR utility includes the following information.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdevice\fR\fR
+.ad
+.RS 10n
+.rt
+name of the disk
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr/s\fR\fR
+.ad
+.RS 10n
+.rt
+reads per second
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw/s\fR\fR
+.ad
+.RS 10n
+.rt
+writes per second
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkr/s\fR\fR
+.ad
+.RS 10n
+.rt
+kilobytes read per second
+.sp
+The average I/O size during the interval can be computed from \fBkr/s\fR
+divided by \fBr/s\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkw/s\fR\fR
+.ad
+.RS 10n
+.rt
+kilobytes written per second
+.sp
+The average I/O size during the interval can be computed from \fBkw/s\fR
+divided by \fBw/s\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwait\fR\fR
+.ad
+.RS 10n
+.rt
+average number of transactions waiting for service (queue length)
+.sp
+This is the number of I/O operations held in the device driver queue waiting
+for acceptance by the device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBactv\fR\fR
+.ad
+.RS 10n
+.rt
+average number of transactions actively being serviced (removed from the queue
+but not yet completed)
+.sp
+This is the number of I/O operations accepted, but not yet serviced, by the
+device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsvc_t\fR\fR
+.ad
+.RS 10n
+.rt
+average response time of transactions, in milliseconds
+.sp
+The \fBsvc_t\fR output reports the overall \fBresponse\fR time, rather than the
+\fBservice\fR time, of a device. The overall time includes the time that
+transactions are in queue and the time that transactions are being serviced.
+The time spent in queue is shown with the \fB-x\fR option in the \fBwsvc_t\fR
+output column. The time spent servicing transactions is the true service time.
+Service time is also shown with the \fB-x\fR option and appears in the
+\fBasvc_t\fR output column of the same report.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%w\fR\fR
+.ad
+.RS 10n
+.rt
+percent of time there are transactions waiting for service (queue non-empty)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%b\fR\fR
+.ad
+.RS 10n
+.rt
+percent of time the disk is busy (transactions in progress)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwsvc_t\fR\fR
+.ad
+.RS 10n
+.rt
+average service time in wait queue, in milliseconds
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBasvc_t\fR\fR
+.ad
+.RS 10n
+.rt
+average service time of active transactions, in milliseconds
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwt\fR\fR
+.ad
+.RS 10n
+.rt
+the I/O wait time is no longer calculated as a percentage of \fBCPU\fR time,
+and this statistic will always return zero.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 12n
+.rt
+Report the percentage of time the system has spent in user mode, in system
+mode, waiting for \fBI/O,\fR and idling. See the NOTES section for more
+information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 12n
+.rt
+When the \fB-x\fR option is also selected, report extended disk statistics
+aggregated by \fIcontroller id\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 12n
+.rt
+For each disk, report the number of kilobytes transferred per second, the
+number of transfers per second, and the average service time in milliseconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 12n
+.rt
+For each disk, report the reads per second, writes per second, and percentage
+disk utilization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 12n
+.rt
+Display device error summary statistics. The total errors, hard errors, soft
+errors, and transport errors are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.RS 12n
+.rt
+Display all device error statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 12n
+.rt
+In \fB-E\fR output, display the \fBDevice ID\fR instead of the \fBSerial No\fR.
+The \fBDevice Id\fR is a unique identifier registered by a driver through
+\fBddi_devid_register\fR(9F).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.RS 12n
+.rt
+Report the counts in each interval, rather than rates (where applicable).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIn\fR\fR
+.ad
+.RS 12n
+.rt
+Limit the number of disks included in the report to \fIn\fR; the disk limit
+defaults to 4 for \fB-d\fR and \fB-D\fR, and unlimited for \fB-x\fR. Note:
+disks explicitly requested (see \fIdisk\fR below) are not subject to this disk
+limit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 12n
+.rt
+Report file system mount points. This option is most useful if the \fB-P\fR or
+\fB-p\fR option is also specified or used in conjunction with \fB-Xn\fR or
+\fB-en\fR. The \fB-m\fR option is useful only if the mount point is actually
+listed in the output. This option can only be used in conjunction with the
+\fB-n\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.RS 12n
+.rt
+Display data throughput in \fBMB\fR/sec instead of KB/sec.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 12n
+.rt
+Display names in descriptive format. For example, \fBcXtYdZ\fR, \fBrmt/N\fR,
+\fBserver:/export/path\fR.
+.sp
+By default, disks are identified by instance names such as \fBssd23\fR or
+\fBmd301\fR. Combining the \fB-n\fR option with the \fB-x\fR option causes disk
+names to display in the \fBcXtYdZsN\fR format which is more easily associated
+with physical hardware characteristics. The \fBcXtYdZsN\fR format is
+particularly useful in FibreChannel (FC) environments where the FC World Wide
+Name appears in the \fBt\fR field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 12n
+.rt
+For each disk, report per-partition statistics in addition to per-device
+statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.RS 12n
+.rt
+For each disk, report per-partition statistics only, no per-device statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 12n
+.rt
+Display data in a comma-separated format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 12n
+.rt
+Suppress messages related to \fBstate changes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 12n
+.rt
+Report the number of characters read and written to terminals per second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR u | d\fR
+.ad
+.RS 12n
+.rt
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR\fR
+.ad
+.RS 12n
+.rt
+For disks under \fBscsi_vhci\fR(7D) control, in addition to disk \fIlun\fR
+statistics, also report statistics for \fIlun\fR.\fIcontroller\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 12n
+.rt
+Report extended disk statistics. By default, disks are identified by instance
+names such as \fBssd23\fR or \fBmd301\fR. Combining the \fBx\fR option with the
+\fB-n\fR option causes disk names to display in the \fBcXtYdZsN\fR format, more
+easily associated with physical hardware characteristics. Using the
+\fBcXtYdZsN\fR format is particularly helpful in the FibreChannel environments
+where the FC World Wide Name appears in the \fBt\fR field.
+.sp
+If no output display is requested (no \fB-x\fR, \fB-e\fR, \fB-E\fR), \fB-x\fR
+is implied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Y\fR\fR
+.ad
+.RS 12n
+.rt
+For disks under \fBscsi_vhci\fR(7D) control, in addition to disk \fIlun\fR
+statistics, also report statistics for \fIlun\fR.\fItargetport\fR and
+\fIlun\fR.\fItargetport\fR.\fIcontroller\fR.
+.sp
+In \fB-n\fR (descriptive) mode the \fItargetport\fR is shown in using the
+\fBtarget-port\fR property of the path. Without \fB-n\fR the \fItargetport\fR
+is shown using the shorter \fBport-id\fR. All target ports with the same
+\fBtarget-port\fR property value share the same \fBport-id\fR. The
+\fBtarget-port\fR-to-\fBport-id\fR association does not persist across reboot.
+.sp
+If no output display is requested (no \fB-x\fR, \fB-e\fR, \fB-E\fR), \fB-x\fR
+is implied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fR
+.ad
+.RS 12n
+.rt
+Do not print lines whose underlying data values are all zeros.
+.RE
+
+.sp
+.LP
+The option set \fB-xcnCXTdz\fR \fIinterval\fR is particularly useful for
+determining whether disk I/O problems exist and for identifying problems.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 12n
+.rt
+Display only \fIcount\fR reports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdisk\fR\fR
+.ad
+.RS 12n
+.rt
+Explicitly specify the disks to be reported; in addition to any explicit disks,
+any active disks up to the disk limit (see \fB-l\fR above) will also be
+reported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 12n
+.rt
+Report once each \fIinterval\fR seconds.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBiostat\fR to Generate User and System Operation
+Statistics
+.sp
+.LP
+The following command displays two reports of extended device statistics,
+aggregated by \fIcontroller id\fR, for user (\fBus\fR) and system (\fBsy\fR)
+operations. Because the \fB-n\fR option is used with the \fB-x\fR option,
+devices are identified by controller names.
+
+.sp
+.in +2
+.nf
+example% \fBiostat\fR \fB-xcnCXTdz\fR \fB5\fR
+
+
+Mon Nov 24 14:58:36 2003
+ cpu
+ us sy wt id
+ 14 31 0 20
+ extended device statistics
+ r/s w/s kr/s kw wait actv wsvc_t asvc_t %w %b device
+ 3.8 29.9 145.8 44.0 0.0 0.2 0.1 6.4 0 5 c0
+666.3 814.8 12577.6 17591.1 91.3 82.3 61.6 55.6 0 2 c12
+180.0 234.6 4401.1 5712.6 0.0 147.7 0.0 356.3 0 98 d10
+
+Mon Nov 24 14:58:41 2003
+ cpu
+ us sy wt id
+ 11 31 0 22
+ extended device statistics
+ r/s w/s kr/s kw wait actv wsvc_t asvc_t %w %b device
+ 0.8 41.0 5.2 20.5 0.0 0.2 0.2 4.4 0 6 c0
+565.3 581.7 8573.2 10458.9 0.0 26.6 0.0 23.2 0 3 c12
+106.5 81.3 3393.2 1948.6 0.0 5.7 0.0 30.1 0 99 d10
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing \fBiostat\fR to Generate TTY Statistics
+.sp
+.LP
+The following command displays two reports on the activity of five disks in
+different modes of operation. Because the \fB-x\fR option is used, disks are
+identified by instance names.
+
+.sp
+.in +2
+.nf
+example% \fBiostat\fR \fB-x\fR \fBtc 5 2\fR
+
+
+ extended device statistics tty cpu
+device r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt id
+sd0 0.4 0.3 10.4 8.0 0.0 0.0 36.9 0 1 0 10 0 0 0 99
+sd1 0.0 0.0 0.3 0.4 0.0 0.0 35.0 0 0
+sd6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
+nfs1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
+nfs2 0.0 0.0 0.0 0.1 0.0 0.0 35.6 0 0
+ extended device statistics tty cpu
+device r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt id
+sd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 155 0 0 0 100
+sd1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
+sd6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
+nfs1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
+nfs2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
+
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing \fBiostat\fR to Generate Partition and Device Statistics
+.sp
+.LP
+The following command generates partition and device statistics for each disk.
+Because the \fB-n\fR option is used with the \fB-x\fR option, disks are
+identified by controller names.
+
+.sp
+.in +2
+.nf
+example% \fBiostat -xnp\fR
+
+ extended device statistics
+r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
+0.4 0.3 10.4 7.9 0.0 0.0 0.0 36.9 0 1 c0t0d0
+0.3 0.3 9.0 7.3 0.0 0.0 0.0 37.2 0 1 c0t0d0s0
+0.0 0.0 0.1 0.5 0.0 0.0 0.0 34.0 0 0 c0t0d0s1
+0.0 0.0 0.0 0.1 0.0 0.0 0.6 35.0 0 0 fuji:/export/home/user3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRShow Translation from Instance Name to Descriptive Name
+.sp
+.LP
+The following example illustrates the use of \fBiostat\fR to translate a
+specific instance name to a descriptive name.
+
+.sp
+.in +2
+.nf
+example% \fBiostat -xn sd1\fR
+ extended device statistics
+r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
+0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c8t1d0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRShow Target Port and Controller Activity for a Specific Disk
+.sp
+.LP
+In the following example, there are four controllers, all connected to the same
+target port.
+
+.sp
+.in +2
+.nf
+# \fBiostat -Y ssd22\fR
+ extended device statistics
+device r/s w/s kr/s kw/s wait actv svc_t %w %b
+ssd22 0.2 0.0 1.5 0.0 0.0 0.0 0.7 0 0
+ssd22.t2 0.2 0.0 1.5 0.0 0.0 0.0 0.0 0 0
+ssd22.t2.fp0 0.0 0.0 0.4 0.0 0.0 0.0 0.0 0 0
+ssd22.t2.fp1 0.0 0.0 0.4 0.0 0.0 0.0 0.0 0 0
+ssd22.t2.fp2 0.0 0.0 0.4 0.0 0.0 0.0 0.0 0 0
+ssd22.t2.fp3 0.0 0.0 0.4 0.0 0.0 0.0 0.0 0 0
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+Invocation is evolving. Human readable output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBdate\fR(1), \fBsar\fR(1), \fBsar\fR(1M), \fBmpstat\fR(1M), \fBvmstat\fR(1M),
+\fBtime\fR(2), \fBattributes\fR(5), \fBscsi_vhci\fR(7D)
+.SH NOTES
+.sp
+.LP
+The sum of \fBCPU\fR utilization might vary slightly from 100 because of
+rounding errors in the production of a percentage figure.
+.sp
+.LP
+The \fBsvc_t\fR response time is not particularly significant when the
+\fBI/0\fR (\fBr/s\fR+\fBw/s\fR) rates are under 0.5 per second. Harmless spikes
+are fairly normal in such cases.
+.sp
+.LP
+The \fBmpstat\fR utility reports the same \fBwt\fR, \fBusr\fR, and \fBsys\fR
+statistics. See \fBmpstat\fR(1M) for more information.
+.sp
+.LP
+When executed in a \fBzone\fR and if the pools facility is active,
+\fBiostat\fR(1M) will only provide information for those processors in the
+processor set of the pool to which the \fBzone\fR is bound.
diff --git a/usr/src/man/man1m/ipaddrsel.1m b/usr/src/man/man1m/ipaddrsel.1m
new file mode 100644
index 0000000000..a5883a0ee1
--- /dev/null
+++ b/usr/src/man/man1m/ipaddrsel.1m
@@ -0,0 +1,332 @@
+'\" te
+.\" Copyright (C) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ipaddrsel 1M "6 Feb 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipaddrsel \- configure IPv6 default address selection
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ipaddrsel\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipaddrsel\fR \fB-f\fR \fIfile\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipaddrsel\fR \fB-d\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Use the \fBipaddrsel\fR utility to configure the IPv6 default address selection
+policy table. The policy table is a longest-matching-prefix lookup table that
+is used for IPv6 source address selection and for destination address ordering
+when resolving names to \fBAF_INET6\fR addresses. For a description of how the
+policy table is used for source address selection, see \fBinet6\fR(7P). For a
+description of how the policy table is used for destination address ordering,
+see \fBgetaddrinfo\fR(3SOCKET).
+.sp
+.LP
+The unmodified policy table is valid for all typical IPv6 deployments. Modify
+the table only if a circumstance exists for which the default behavior of the
+IPv6 source address selection or destination address ordering mechanism is
+unsatisfactory. See the section for examples of such circumstances. You should
+carefully consider your addressing strategy before you change the table from
+the provided default.
+.sp
+.LP
+When the \fBipaddrsel\fR command is issued without any arguments, the address
+selection policy currently in use is printed. The format of the output is
+compatible with the format of the configuration file that the \fB-f\fR option
+accepts.
+.LP
+Note -
+.sp
+.RS 2
+If the \fBusesrc\fR subcommand to \fBifconfig\fR(1M) is applied to a particular
+physical interface, the selection policy specified by \fBusesrc\fR overrides
+the source address selection policies specified by \fBipaddrsel\fR. This is
+true for packets that are locally generated and for applications that do not
+choose a non-zero source address using \fBbind\fR(3SOCKET).
+.RE
+.SS "The Configuration File"
+.sp
+.LP
+The configuration file that the \fB-f\fR option accepts can contain either
+comment lines or policy entries. Comment lines have a '\fB#\fR' character as
+the first non-blank character. and they are ignored by the \fBipaddrsel\fR
+utility. Policy entry lines have the following format:
+.sp
+.in +2
+.nf
+\fIprefix\fR/\fIprefix_length\fR \fIprecedence\fR \fIlabel\fR [# \fIcomment\fR]
+.fi
+.in -2
+
+.sp
+.LP
+The \fIprefix\fR must be an IPv6 prefix in a format consistent with
+\fBinet\fR(3SOCKET). The \fIprefix_length\fR is an integer ranging from 0 to
+128. The IPv6 source address selection and destination address ordering
+algorithms determine the precedence or label of an address by doing a
+longest-prefix-match lookup using the prefixes in this table, much like
+next-hop determination for a destination is done by doing a
+longest-prefix-match lookup using an IP routing table.
+.sp
+.LP
+The precedence is a non-negative integer that represents how the destination
+address ordering mechanism will sort addresses returned from name lookups. In
+general, addresses with a higher precedence will be in front of addresses with
+a lower precedence. Other factors, such as destinations with undesirable source
+addresses can, however, override these precedence values.
+.sp
+.LP
+The label is a string of at most fifteen characters, not including the
+\fINULL\fR terminator. The label allows particular source address prefixes to
+be used with destination prefixes of the same label. Specifically, for a
+particular destination address, the IPv6 source address selection algorithm
+prefers source addresses whose label is equal that of the destination.
+.sp
+.LP
+The label may be followed by an optional comment.
+.sp
+.LP
+The file must contain a default policy entry, which is an entry with
+\fB::0/0\fR as its \fIprefix\fR and \fIprefix_length\fR. This is to ensure that
+all possible addresses match a policy.
+.SH OPTIONS
+.sp
+.LP
+The \fBippadrsel\fR utility supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfile\fR\fR
+.ad
+.RS 11n
+.rt
+Replace the address selection policy table with the policy specified in the
+\fIfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 11n
+.rt
+Revert the kernel's address selection policy table back to the default table.
+Invoking \fBipaddrsel\fR in this way only changes the currently running
+kernel's policy table, and does not alter the configuration file
+\fB/etc/inet/ipaddrsel.conf\fR. To revert the configuration file back to its
+default settings, use \fBipaddrsel\fR \fB-d\fR, then dump the contents of the
+table to the configuration file by redirecting the output of \fBipaddrsel\fR to
+\fB/etc/inet/ipaddrsel.conf\fR.
+.sp
+.in +2
+.nf
+example# \fBipaddrsel -d\fR
+example# \fBipaddrsel > /etc/inet/ipaddrsel.conf\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRThe Default Policy in \fB/etc/inet/ipaddrsel.conf\fR
+.sp
+.LP
+The following example is the default policy that is located in
+\fB/etc/inet/ipaddrsel.conf\fR:
+
+.sp
+.in +2
+.nf
+# Prefix Precedence Label
+::1/128 50 Loopback
+::/96 20 IPv4_Compatible
+::ffff:0.0.0.0/96 10 IPv4
+2002::/16 30 6to4
+::/0 40 Default
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAssigning a Lower Precedence to Link-local and Site-local
+Addresses
+.sp
+.LP
+By default, the destination address ordering rules sort addresses of smaller
+scope before those of larger scope. For example, if a name resolves to a global
+and a site-local address, the site local address would be ordered before the
+global address. An administrator can override this ordering rule by assigning a
+lower precedence to addresses of smaller scope, as the following table
+demonstrates.
+
+.sp
+.in +2
+.nf
+# Prefix Precedence Label
+::1/128 50 Loopback
+::/0 40 Default
+2002::/16 30 6to4
+fec0::/10 27 Site-Local
+fe80::/10 23 Link-Local
+::/96 20 IPv4_Compatible
+::ffff:0.0.0.0/96 10 IPv4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRAssigning Higher Precedence to IPv4 Destinations
+.sp
+.LP
+By default, IPv6 addresses are ordered in front of IPv4 addresses in name
+lookups. \fB::ffff:0.0.0.0/96\fR has the lowest precedence in the default
+table. In the following example, IPv4 addresses are assigned higher precedence
+and are ordered in front of IPv6 destinations:
+
+.sp
+.in +2
+.nf
+# Prefix Precedence Label
+::1/128 50 Loopback
+::/0 40 Default
+2002::/16 30 6to4
+::/96 20 IPv4_Compatible
+::ffff:0.0.0.0/96 60 IPv4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fREnsuring that a Particular Source Address is Used
+.sp
+.LP
+This example ensures that a particular source address is used only when
+communicating with destinations in a particular network.
+
+.sp
+.LP
+The following policy table assigns a label of 5 to a particular source address
+on the local system, \fB2001:1111:1111::1\fR. The table assigns the same label
+to a network, \fB2001:2222:2222::/48\fR. The result of this policy is that the
+\fB2001:1111:1111::1\fR source address will only be used when communicating
+with destinations contained in the \fB2001:2222:2222::/48\fR network. For this
+example, this network is the \fBClientNet\fR, which could represent a
+particular client's network.
+
+.sp
+.in +2
+.nf
+# Prefix Precedence Label
+::1/128 50 Loopback
+2001:1111:1111::1/128 40 ClientNet
+2001:2222:2222::/48 40 ClientNet
+::/0 40 Default
+2002::/16 30 6to4
+::/96 20 IPv4_Compatible
+::ffff:0.0.0.0/96 10 IPv4
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This example assumes that the local system has one physical interface, and that
+all global prefixes are assigned to that physical interface.
+
+.SH EXIT STATUS
+.sp
+.LP
+\fBipaddrsel\fR returns the following exit values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+\fBipaddrsel\fR successfully completed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred. If a failure is encountered, the kernel's current policy
+table is unchanged.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ipaddrsel.conf\fR\fR
+.ad
+.RS 28n
+.rt
+The file that contains the IPv6 default address selection policy to be
+installed at boot time. This file is loaded before any Internet services are
+started.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBnscd\fR(1M), \fBinet\fR(3SOCKET), \fBgetaddrinfo\fR(3SOCKET),
+\fBipaddrsel.conf\fR(4), \fBattributes\fR(5), \fBinet6\fR(7P)
+.SH NOTES
+.sp
+.LP
+The ipnodes cache kept by \fBnscd\fR(1M) contains addresses that are ordered
+using the destination address ordering algorithm, which is one of the reasons
+why \fBipaddrsel\fR is called before \fBnscd\fR in the boot sequence. If
+\fBipaddrsel\fR is used to change the address selection policy after \fBnscd\fR
+has started, you should invalidate the \fBnscd\fR ipnodes cache invalidated by
+invoking the following command:
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/nscd -i ipnodes\fR
+.fi
+.in -2
+.sp
+
diff --git a/usr/src/man/man1m/ipf.1m b/usr/src/man/man1m/ipf.1m
new file mode 100644
index 0000000000..645e3c873b
--- /dev/null
+++ b/usr/src/man/man1m/ipf.1m
@@ -0,0 +1,559 @@
+'\" te
+.\" To view license terms, attribution, and copyright for IP Filter, the default path is /usr/lib/ipf/IPFILTER.LICENCE. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed
+.\" location.
+.\" Portions Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.TH ipf 1M "25 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipf \- alter packet filtering lists for IP packet input and output
+.SH SYNOPSIS
+.LP
+.nf
+\fBipf\fR [\fB-6AdDEInoPRrsvVyzZ\fR] [\fB-l\fR block | pass | nomatch]
+ [\fB-T\fR \fIoptionlist\fR] [\fB-F\fR i | o | a | s | S] \fB-f\fR \fIfilename\fR
+ [\fB-f\fR \fIfilename\fR...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipf\fR utility is part of a suite of commands associated with the
+Solaris IP Filter feature. See \fBipfilter\fR(5).
+.sp
+.LP
+The \fBipf\fR utility opens the filenames listed (treating a hyphen (\fB-\fR)
+as stdin) and parses the file for a set of rules which are to be added or
+removed from the packet filter rule set.
+.sp
+.LP
+If there are no parsing problems, each rule processed by \fBipf\fR is added to
+the kernel's internal lists. Rules are added to the end of the internal lists,
+matching the order in which they appear when given to \fBipf\fR.
+.sp
+.LP
+\fBipf\fR's use is restricted through access to \fB/dev/ipauth\fR,
+\fB/dev/ipl\fR, and \fB/dev/ipstate\fR. The default permissions of these files
+require \fBipf\fR to be run as root for all operations.
+.SS "Enabling Solaris IP Filter Feature"
+.sp
+.LP
+Solaris IP Filter is installed with the Solaris operating system. However,
+packet filtering is not enabled by default. Use the following procedure to
+activate the Solaris IP Filter feature.
+.RS +4
+.TP
+1.
+Assume a role that includes the IP Filter Management rights profile (see
+\fBrbac\fR(5)) or become superuser.
+.RE
+.RS +4
+.TP
+2.
+Configure system and services' firewall policies. See \fBsvc.ipfd\fR(1M) and
+\fBipf\fR(4).
+.RE
+.RS +4
+.TP
+3.
+(Optional) Create a network address translation (NAT) configuration file.
+See \fBipnat.conf\fR(4).
+.RE
+.RS +4
+.TP
+4.
+(Optional) Create an address pool configuration file. See \fBippool\fR(4).
+.sp
+Create an \fBipool.conf\fR file if you want to refer to a group of addresses as
+a single address pool. If you want the address pool configuration file to be
+loaded at boot time, create a file called \fB/etc/ipf/ippool.conf\fR in which
+to put the address pool. If you do not want the address pool configuration file
+to be loaded at boot time, put the \fBippool.conf\fR file in a location other
+than \fB/etc/ipf\fR and manually activate the rules.
+.RE
+.RS +4
+.TP
+5.
+Enable Solaris IP Filter, as follows:
+.sp
+.in +2
+.nf
+# \fBsvcadm enable network/ipfilter\fR
+.fi
+.in -2
+.sp
+
+.RE
+.sp
+.LP
+To re-enable packet filtering after it has been temporarily disabled either
+reboot the machine or enter the following command:
+.sp
+.in +2
+.nf
+# \fBsvcadm enable network/ipfilter\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...which essentially executes the following \fBipf\fR commands:
+.RS +4
+.TP
+1.
+Enable Solaris IP Filter:
+.sp
+.in +2
+.nf
+# \fBipf -E\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+2.
+Load \fBippools\fR:
+.sp
+.in +2
+.nf
+\fB# ippool -f\fR \fI<ippool configuration file>\fR
+.fi
+.in -2
+.sp
+
+See \fBippool\fR(1M).
+.RE
+.RS +4
+.TP
+3.
+(Optional) Activate packet filtering:
+.sp
+.in +2
+.nf
+\fBipf -f\fR \fI<ipf configuration file>\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+4.
+(Optional) Activate NAT:
+.sp
+.in +2
+.nf
+\fBipnat -f\fR \fI<IPNAT configuration file>\fR
+.fi
+.in -2
+.sp
+
+See \fBipnat\fR(1M).
+.RE
+.LP
+Note -
+.sp
+.RS 2
+If you reboot your system, the IPfilter configuration is automatically
+activated.
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-6\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is required to parse IPv6 rules and to have them loaded. Loading of
+IPv6 rules is subject to change in the future.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the list to make changes to the active list (default).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn debug mode on. Causes a hex dump of filter rules to be generated as it
+processes each one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the filter (if enabled). Not effective for loadable kernel versions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable the filter (if disabled). Not effective for loadable kernel versions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fBi\fR | \fBo\fR | \fBa\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies which filter list to flush. The parameter should either be \fBi\fR
+(input), \fBo\fR (output) or \fBa\fR (remove all filter rules). Either a single
+letter or an entire word starting with the appropriate letter can be used. This
+option can be before or after any other, with the order on the command line
+determining that used to execute options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fBs\fR | \fBS\fR\fR
+.ad
+.sp .6
+.RS 4n
+To flush entries from the state table, use the \fB-F\fR option in conjuction
+with either \fBs\fR (removes state information about any non-fully established
+connections) or \fBS\fR (deletes the entire state table). You can specify only
+one of these two options. A fully established connection will show up in
+\fBipfstat\fR \fB-s\fR output as \fB4/4\fR, with deviations either way
+indicating the connection is not fully established.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies which files \fBipf\fR should use to get input from for modifying the
+packet filter rule lists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the list to make changes to the inactive list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fBpass\fR | \fBblock\fR | \fBnomatch\fR\fR
+.ad
+.sp .6
+.RS 4n
+Toggles default logging of packets. Valid arguments to this option are
+\fBpass\fR, \fBblock\fR and \fBnomatch\fR. When an option is set, any packet
+which exits filtering and matches the set category is logged. This is most
+useful for causing all packets that do not match any of the loaded rules to be
+logged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevents \fBipf\fR from making any ioctl calls or doing anything which would
+alter the currently running kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force rules by default to be added/deleted to/from the output list, rather than
+the (default) input list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add rules as temporary entries in the authentication rule table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable both IP address-to-hostname resolution and port number-to-service name
+resolution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove matching filter rules rather than add them to the internal lists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Swap the currently active filter list to be an alternative list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIoptionlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows run-time changing of IPFilter kernel variables. To allow for changing,
+some variables require IPFilter to be in a disabled state (\fB-D\fR), others do
+not. The \fIoptionlist\fR parameter is a comma-separated list of tuning
+commands. A tuning command is one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Retrieve a list of all variables in the kernel, their maximum, minimum, and
+current value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsingle variable name\fR
+.ad
+.sp .6
+.RS 4n
+Retrieve its current value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBvariable name with a following assignment\fR
+.ad
+.sp .6
+.RS 4n
+To set a new value.
+.RE
+
+Examples follow:
+.sp
+.in +2
+.nf
+# Print out all IPFilter kernel tunable parameters
+ipf -T list
+
+# Display the current TCP idle timeout and then set it to 3600
+ipf -D -T fr_tcpidletimeout,fr_tcpidletimeout=3600 -E
+
+# Display current values for fr_pass and fr_chksrc, then set
+# fr_chksrc to 1.
+ipf -T fr_pass,fr_chksrc,fr_chksrc=1
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn verbose mode on. Displays information relating to rule processing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show version information. This will display the version information compiled
+into the \fBipf\fR binary and retrieve it from the kernel code (if running or
+present). If it is present in the kernel, information about its current state
+will be displayed; for example, whether logging is active, default filtering,
+and so forth).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.sp .6
+.RS 4n
+Manually resync the in-kernel interface list maintained by IP Filter with the
+current interface status list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fR
+.ad
+.sp .6
+.RS 4n
+For each rule in the input file, reset the statistics for it to zero and
+display the statistics prior to them being zeroed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Z\fR\fR
+.ad
+.sp .6
+.RS 4n
+Zero global statistics held in the kernel for filtering only. This does not
+affect fragment or state statistics.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/ipauth\fR\fR
+.ad
+.br
+.na
+\fB\fB/dev/ipl\fR\fR
+.ad
+.br
+.na
+\fB\fB/dev/ipstate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Links to IP Filter pseudo devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ipf/ipf.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Location of \fBipf\fR startup configuration file. See \fBipf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/ipfilter/examples/\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains numerous IP Filter examples.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBipfstat\fR(1M), \fBipmon\fR(1M), \fBipnat\fR(1M), \fBippool\fR(1M),
+\fBsvcadm\fR(1M), \fBsvc.ipfd\fR(1M), \fBipf\fR(4), \fBipnat.conf\fR(4),
+\fBippool\fR(4), \fBattributes\fR(5), \fBipfilter\fR(5)
+.sp
+.LP
+\fI\fR
+.SH DIAGNOSTICS
+.sp
+.LP
+Needs to be run as root for the packet filtering lists to actually be affected
+inside the kernel.
diff --git a/usr/src/man/man1m/ipfs.1m b/usr/src/man/man1m/ipfs.1m
new file mode 100644
index 0000000000..8d6a740fd0
--- /dev/null
+++ b/usr/src/man/man1m/ipfs.1m
@@ -0,0 +1,248 @@
+'\" te
+.\" To view license terms, attribution, and copyright for IP Filter, the default path is /usr/lib/ipf/IPFILTER.LICENCE. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed
+.\" location.
+.\" Portions Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.TH ipfs 1M "3 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipfs \- saves and restores information for NAT and state tables
+.SH SYNOPSIS
+.LP
+.nf
+\fBipfs\fR [\fB-nv\fR] \fB-l\fR
+.fi
+
+.LP
+.nf
+\fBipfs\fR [\fB-nv\fR] \fB-u\fR
+.fi
+
+.LP
+.nf
+\fBipfs\fR [\fB-nv\fR] [\fB-d\fR \fIdirname\fR] \fB-R\fR
+.fi
+
+.LP
+.nf
+\fBipfs\fR [\fB-nv\fR] [\fB-d\fR \fIdirname\fR] \fB-W\fR
+.fi
+
+.LP
+.nf
+\fBipfs\fR [\fB-nNSv\fR] [\fB-f\fR \fIfilename\fR] \fB-r\fR
+.fi
+
+.LP
+.nf
+\fBipfs\fR [\fB-nNSv\fR] [\fB-f\fR \fIfilename\fR] \fB-w\fR
+.fi
+
+.LP
+.nf
+\fBipfs\fR [\fB-nNSv\fR] \fB-f\fR \fIfilename\fR \fB-i\fR \fI<if1>\fR,\fI<if2>\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipfs\fR utility enables the saving of state information across reboots.
+Specifically, the utility allows state information created for NAT entries and
+rules using "keep state" to be locked (modification prevented) and then saved
+to disk. Then, after a reboot, that information is restored. The result of this
+state-saving is that connections are not interrupted.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Change the default directory used with \fB-R\fR and \fB-W\fR options for saving
+state information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Do not take any action that would affect information stored in the kernel or on
+disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Provides a verbose description of \fBipfs\fR activities.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.RS 6n
+.rt
+Operate on NAT information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.RS 6n
+.rt
+Operate on filtering state information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 6n
+.rt
+Unlock state tables in the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+Lock state tables in the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Read information in from the specified file and load it into the kernel. This
+requires the state tables to have already been locked and does not change the
+lock once complete.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.RS 6n
+.rt
+Write information out to the specified file and from the kernel. This requires
+the state tables to have already been locked and does not change the lock once
+complete.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 6n
+.rt
+Restores all saved state information, if any, from two files, \fBipstate.ipf\fR
+and \fBipnat.ipf\fR, stored in the \fB/var/db/ipf\fR directory. This directory
+can be changed with the \fB-d\fR option. The state tables are locked at the
+beginning of this operation and unlocked once complete.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR\fR
+.ad
+.RS 6n
+.rt
+Saves in-kernel state information, if any, out to two files, \fBipstate.ipf\fR
+and \fBipnat.ipf\fR, stored in the \fB/var/db/ipf\fR directory. This directory
+can be changed with the \fB-d\fR option. The state tables are locked at the
+beginning of this operation and unlocked once complete.
+.RE
+
+.SH FILES
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/db/ipf/ipstate.ipf\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/db/ipf/ipnat.ipf\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ipl\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ipstate\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ipnat\fR
+.RE
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBipf\fR(1M), \fBipmon\fR(1M), \fBipnat\fR(1M), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+Arguably, the \fB-W\fR and \fB-R\fR operations should set the locking and,
+rather than undo it, restore it to what it was previously.
+.sp
+.LP
+Fragment table information is currently not saved.
diff --git a/usr/src/man/man1m/ipfstat.1m b/usr/src/man/man1m/ipfstat.1m
new file mode 100644
index 0000000000..ef8f80d957
--- /dev/null
+++ b/usr/src/man/man1m/ipfstat.1m
@@ -0,0 +1,455 @@
+'\" te
+.\" To view license terms, attribution, and copyright for IP Filter, the default path is /usr/lib/ipf/IPFILTER.LICENCE. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed
+.\" location.
+.\" Portions Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.TH ipfstat 1M "3 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipfstat \- reports on packet filter statistics and filter list
+.SH SYNOPSIS
+.LP
+.nf
+\fBipfstat\fR [\fB-6aACdfghIilnoRstv\fR]
+.fi
+
+.LP
+.nf
+\fBipfstat\fR [\fB-C\fR] [\fB-D\fR \fIaddrport\fR] [\fB-P\fR \fIprotocol\fR] [\fB-S\fR \fIaddrport\fR]
+ [\fB-T\fR \fIrefreshtime\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipfstat\fR command is part of a suite of commands associated with the
+Solaris IP Filter feature. See \fBipfilter\fR(5).
+.sp
+.LP
+The \fBipfstat\fR command examines \fB/dev/kmem\fR using the symbols
+\fB_fr_flags\fR, \fB_frstats\fR, \fB_filterin\fR, and \fB_filterout\fR. To run
+and work, it needs to be able to read both \fB/dev/kmem\fR and the kernel
+itself.
+.sp
+.LP
+The default behavior of \fBipfstat\fR is to retrieve and display the statistics
+which have been accumulated over time as the kernel has put packets through the
+filter.
+.sp
+.LP
+The role of \fBipfstat\fR is to display current kernel statistics gathered as a
+result of applying the filters in place (if any) to packets going in and out of
+the kernel. This is the default operation when no command line parameters are
+present. When supplied with either \fB-i\fR or \fB-o\fR, \fBipfstat\fR will
+retrieve and display the appropriate list of filter rules currently installed
+and in use by the kernel.
+.sp
+.LP
+\fBipfstat\fR uses kernel device files to obtain information. The default
+permissions of these files require \fBipfstat\fR to be run as root for all
+operations.
+.sp
+.LP
+The \fBipfstat\fR command supports the \fBkstat\fR(3KSTAT) kernel facility.
+Because of this support, as an alternative to \fBipfstat\fR, you can use
+\fBkstat\fR(1M). For example:
+.sp
+.LP
+# kstat \(hym ipf
+.sp
+.LP
+Using the \fBipfstat\fR \fB-t\fR option causes \fBipfstat\fR to enter the state
+top mode. In this mode the state table is displayed similarly to the way the
+Unix \fBtop\fR utility displays the process table. The \fB-C\fR, \fB-D\fR,
+\fB-P\fR, \fB-S\fR and \fB-T\fR command line options can be used to restrict
+the state entries that will be shown and to specify the frequency of display
+updates.
+.sp
+.LP
+In state top mode, use the following keys to influence the displayed
+information:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 5n
+.rt
+Select information to display.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\fR\fR
+.ad
+.RS 5n
+.rt
+Redraw the screen.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBq\fR\fR
+.ad
+.RS 5n
+.rt
+Quit the program.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+Switch between different sorting criteria.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 5n
+.rt
+Reverse the sorting criteria.
+.RE
+
+.sp
+.LP
+States can be sorted by protocol number, by number of IP packets, by number of
+bytes, and by time-to-live of the state entry. The default is to sort by the
+number of bytes. States are sorted in descending order, but you can use the
+\fBr\fR key to sort them in ascending order.
+.sp
+.LP
+It is not possible to interactively change the source, destination, and
+protocol filters or the refresh frequency. This must be done from the command
+line.
+.sp
+.LP
+The screen must have at least 80 columns for correct display. However,
+\fBipfstat\fR does not check the screen width.
+.sp
+.LP
+Only the first \fIX\fR-5 entries that match the sort and filter criteria are
+displayed (where \fIX\fR is the number of rows on the display). There is no way
+to see additional entries.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-6\fR\fR
+.ad
+.RS 18n
+.rt
+Display filter lists and states for IPv6, if available. This option might
+change in the future.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 18n
+.rt
+Display the accounting filter list and show bytes counted against each rule.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.RS 18n
+.rt
+Display packet authentication statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 18n
+.rt
+Valid only in combination with \fB-t\fR. Display "closed" states as well in the
+top. Normally, a TCP connection is not displayed when it reaches the
+\fBCLOSE_WAIT\fR protocol state. With this option enabled, all state entries
+are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 18n
+.rt
+Produce debugging output when displaying data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIaddrport\fR\fR
+.ad
+.RS 18n
+.rt
+Valid only in combination with \fB-t\fR. Limit the state top display to show
+only state entries whose destination IP address and port match the
+\fIaddrport\fR argument. The \fIaddrport\fR specification is of the form
+\fIipaddress\fR[,\fIport\fR]. The \fIipaddress\fR and \fIport\fR should be
+either numerical or the string \fBany\fR (specifying any IP address and any
+port, in that order). If the \fB-D\fR option is not specified, it defaults to
+\fB-D\fR \fBany,any\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 18n
+.rt
+Show fragment state information (statistics) and held state information (in the
+kernel) if any is present.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 18n
+.rt
+Show groups currently configured (both active and inactive).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 18n
+.rt
+Show per-rule the number of times each one scores a "hit". For use in
+combination with \fB-i\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 18n
+.rt
+Display the filter list used for the input side of the kernel IP processing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.RS 18n
+.rt
+Swap between retrieving \fBinactive\fR/\fBactive\fR filter list details. For
+use in combination with \fB-i\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 18n
+.rt
+When used with \fB-s\fR, show a list of active state entries (no statistics).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 18n
+.rt
+Show the rule number for each rule as it is printed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 18n
+.rt
+Display the filter list used for the output side of the kernel IP processing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprotocol\fR\fR
+.ad
+.RS 18n
+.rt
+Valid only in combination with \fB-t\fR. Limit the state top display to show
+only state entries that match a specific protocol. The argument can be a
+protocol name (as defined in \fB/etc/protocols\fR) or a protocol number. If
+this option is not specified, state entries for any protocol are specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 18n
+.rt
+Disable both IP address-to-hostname resolution and port number-to-service name
+resolution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIaddrport\fR\fR
+.ad
+.RS 18n
+.rt
+Valid only in combination with \fB-t\fR. Limit the state top display to show
+only state entries whose source IP address and port match the \fIaddrport\fR
+argument. The \fIaddrport\fR specification is of the form
+\fIipaddress\fR[,\fIport\fR]. The \fIipaddress\fR and \fIport\fR should be
+either numerical or the string \fBany\fR (specifying any IP address and any
+port, in that order). If the \fB-S\fR option is not specified, it defaults to
+\fB-S\fR \fBany,any\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 18n
+.rt
+Show packet/flow state information (statistics only).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIrefreshtime\fR\fR
+.ad
+.RS 18n
+.rt
+Valid only in combination with \fB-t\fR. Specifies how often the state
+\fBtop\fR display should be updated. The refresh time is the number of seconds
+between an update. Any positive integer can be used. The default (and minimal
+update time) is 1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 18n
+.rt
+Show the state table in a way similar to the way the Unix utility, \fBtop\fR,
+shows the process table. States can be sorted in a number of different ways.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 18n
+.rt
+Turn verbose mode on. Displays additional debugging information.
+.RE
+
+.SH FILES
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/kmem\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ksyms\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ipl\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ipstate\fR
+.RE
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBipf\fR(1M), \fBkstat\fR(1M), \fBkstat\fR(3KSTAT), \fBattributes\fR(5),
+\fBipfilter\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/ipmon.1m b/usr/src/man/man1m/ipmon.1m
new file mode 100644
index 0000000000..3540b8709e
--- /dev/null
+++ b/usr/src/man/man1m/ipmon.1m
@@ -0,0 +1,417 @@
+'\" te
+.\" To view license terms, attribution, and copyright for IP Filter, the default path is /usr/lib/ipf/IPFILTER.LICENCE. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed
+.\" location.
+.\" Portions Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.TH ipmon 1M "3 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipmon \- monitors /dev/ipl for logged packets
+.SH SYNOPSIS
+.LP
+.nf
+\fBipmon\fR [\fB-abDFhnpstvxX\fR] [\fB-N\fR \fIdevice\fR] [ [o] [NSI]] [\fB-O\fR [NSI]]
+ [\fB-P\fR \fIpidfile\fR] [\fB-S\fR \fIdevice\fR] [\fB-f\fR \fIdevice\fR] [\fIfilename\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipmon\fR command is part of a suite of commands associated with the
+Solaris IP Filter feature. See \fBipfilter\fR(5).
+.sp
+.LP
+The \fBipmon\fR command opens \fB/dev/ipl\fR for reading and awaits data to be
+saved from the packet filter. The binary data read from the device is reprinted
+in human readable form. However, IP addresses are not mapped back to hostnames,
+nor are ports mapped back to service names. The output goes to standard output,
+by default, or a filename, if specified on the command line. Should the
+\fB-s\fR option be used, output is sent instead to \fBsyslogd\fR(1M). Messages
+sent by means of \fBsyslog\fR have the day, month, and year removed from the
+message, but the time (including microseconds), as recorded in the log, is
+still included.
+.sp
+.LP
+Messages generated by \fBipmon\fR consist of whitespace-separated fields.
+Fields common to all messages are:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The date of packet receipt. This is suppressed when the message is sent to
+\fBsyslog\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The time of packet receipt. This is in the form
+\fIHH\fR:\fIMM\fR:\fISS\fR.\fIF\fR, for hours, minutes, seconds, and fractions
+of a second (which can be several digits long).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The name of the interface on which the packet was processed, for example,
+\fBib1\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The group and rule number of the rule, for example, \fB@0:17\fR. These can be
+viewed with \fBipfstat\fR \fB-in\fR for input rules or \fBipfstat\fR \fB-in\fR
+for output rules. See \fBipfstat\fR(1M).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The action: \fBp\fR for passed, \fBb\fR for blocked, \fBs\fR for a short
+packet, \fBn\fR did not match any rules, or \fBL\fR for a log rule.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The addresses. This is actually three fields: the source address and port
+(separated by a comma), the symbol \(->, and the destination address and port.
+For example: \fB209.53.17.22,80 \(-> 198.73.220.17,1722\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBPR\fR followed by the protocol name or number, for example, \fBPR tcp\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBlen\fR followed by the header length and total length of the packet, for
+example, \fBlen 20 40\fR.
+.RE
+.sp
+.LP
+If the packet is a TCP packet, there will be an additional field starting with
+a hyphen followed by letters corresponding to any flags that were set. See
+\fBipf.conf\fR(4) for a list of letters and their flags.
+.sp
+.LP
+If the packet is an ICMP packet, there will be two fields at the end, the first
+always being \fBicmp\fR, the next being the ICMP message and submessage type,
+separated by a slash. For example, \fBicmp 3/3\fR for a port unreachable
+message.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Open all of the device logfiles for reading log entries. All entries are
+displayed to the same output device (stderr or syslog).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.sp .6
+.RS 4n
+For rules which log the body of a packet, generate hex output representing the
+packet contents after the headers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cause \fBipmon\fR to turn itself into a daemon. Using subshells or
+backgrounding of \fBipmon\fR is not required to turn it into an orphan so it
+can run indefinitely.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternative device/file from which to read the log information for
+normal IP Filter log records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Flush the current packet log buffer. The number of bytes flushed is displayed,
+even if the result is zero.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays usage information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+IP addresses and port numbers will be mapped, where possible, back into
+hostnames and service names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the logfile to be opened for reading NAT log records from or to
+\fIdevice\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIletter\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify which log files from which to actually read data. \fBN\fR, NAT logfile;
+\fBS\fR, state logfile; \fBI\fR, normal IP Filter logfile. The \fB-a\fR option
+is equivalent to using \fB-o\fR \fBNSI\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR \fIletter\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify which log files you do not wish to read from. This is most commonly
+used in conjunction with the \fB-a\fR. Letters available as parameters are the
+same as for \fB-o\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cause the port number in log messages always to be printed as a number and
+never attempt to look it up.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpidfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write the PD of the \fBipmon\fR process to a file. By default this is
+\fB/var/run/ipmon.pid\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Packet information read in will be sent through \fBsyslogd\fR rather than saved
+to a file. The default facility when compiled and installed is \fBlocal0\fR.
+The following levels are used:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOG_INFO\fR\fR
+.ad
+.sp .6
+.RS 4n
+Packets logged using the \fBlog\fR keyword as the action rather than \fBpass\fR
+or \fBblock\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOG_NOTICE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Packets logged that are also passed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOG_WARNING\fR\fR
+.ad
+.sp .6
+.RS 4n
+Packets logged that are also blocked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOG_ERR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Packets that have been logged and that can be considered "short".
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the logfile to be opened for reading state log records from or to
+\fIdevice\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read the input file/device in the way performed by \fBtail\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show TCP \fBwindow\fR, \fBack\fR, and \fBsequence\fR fields
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the packet data in hex.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the log header record data in hex.
+.RE
+
+.SH FILES
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ipl\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ipnat\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/dev/ipstate\fR
+.RE
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBipf\fR(1M), \fBipfstat\fR(1M), \fBipnat\fR(1M), \fBattributes\fR(5),
+\fBipfilter\fR(5)
+.sp
+.LP
+\fI\fR
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBipmon\fR expects data that it reads to be consistent with how it should be
+saved and aborts if it fails an assertion which detects an anomaly in the
+recorded data.
diff --git a/usr/src/man/man1m/ipmpstat.1m b/usr/src/man/man1m/ipmpstat.1m
new file mode 100644
index 0000000000..c1be02f0a2
--- /dev/null
+++ b/usr/src/man/man1m/ipmpstat.1m
@@ -0,0 +1,942 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ipmpstat 1M "10 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipmpstat \- display IPMP subsystem status
+.SH SYNOPSIS
+.LP
+.nf
+\fBipmpstat\fR [\fB-n\fR] [\fB-o\fR \fIfield\fR[,...] [\fB-P\fR]] \fB-a\fR|\fB-g\fR|\fB-i\fR|\fB-p\fR|\fB-t\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipmpstat\fR command concisely displays information about the IPMP
+subsystem. It supports five different output modes, each of which provides a
+different view of the IPMP subsystem (address, group, interface, probe, and
+target), described below. At most one output mode may be specified per
+invocation, and the displayed information is guaranteed to be self-consistent.
+It also provides a parseable output format which may be used by scripts to
+examine the state of the IPMP subsystem. Only basic privileges are needed to
+invoke \fBipmpstat\fR, with the exception of probe mode which requires all
+privileges.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display IPMP data address information ("address" output mode).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display IPMP group information ("group" output mode).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display IP interface information ("interface" output mode).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display IP addresses numerically, rather than attempting to resolve them to
+hostnames. This option may be used in any output mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+Display only the specified output fields, in order. The list of field names is
+case-insensitive and comma-separated. The field names that are supported depend
+on the selected output mode, described below. The special field name \fBall\fR
+may be used to display all fields for a given output mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display IPMP probe information ("probe" output mode).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display IPMP target information ("target" output mode).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display using a machine-parseable format, described below. If this option is
+specified, an explicit list of fields must be specified using the \fB-o\fR
+option.
+.RE
+
+.SH OUTPUT MODES
+.sp
+.LP
+The \fBipmpstat\fR utility supports the output modes listed below. Note that
+these modes map to some of the options described above.
+.sp
+.ne 2
+.mk
+.na
+\fBAddress Mode\fR
+.ad
+.sp .6
+.RS 4n
+Address mode displays the state of all IPMP data addresses on the system. The
+following output fields are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBADDRESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The hostname (or IP address) associated with the information. Note that because
+duplicate down addresses may exist, the address must be taken together with the
+\fBGROUP\fR to form a unique identity. For a given IPMP group, if duplicate
+addresses exist, at most one will be displayed, and an up address will always
+take precedence.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The state of the address. Either \fBup\fR if the address is \fBIFF_UP\fR (see
+\fBifconfig\fR(1M)), or \fBdown\fR if the address is not \fBIFF_UP\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGROUP\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IPMP IP interface hosting the address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINBOUND\fR\fR
+.ad
+.sp .6
+.RS 4n
+The underlying IP interface that will receive packets for this address. This
+may change in response to external events such as IP interface failure. If this
+field is empty, then the system will not accept IP packets sent to this address
+(for example, because the address is down or because there are no active IP
+interfaces left in the IPMP group).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOUTBOUND\fR\fR
+.ad
+.sp .6
+.RS 4n
+The underlying IP interfaces that will send packets using this source address.
+This may change in response to external events such as IP interface failure. If
+this field is empty, then the system will not send packets with this address as
+a source (for example, because the address is down or because there are no
+active IP interfaces left in the IPMP group).
+.RE
+
+If \fB-o\fR is not specified, all output fields are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBGroup Mode\fR
+.ad
+.sp .6
+.RS 4n
+Group mode displays the state of all IPMP groups on the system. The following
+output fields are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGROUP\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IPMP IP interface name associated with the information. For the anonymous
+group (see \fBin.mpathd\fR(1M)), this field will be empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGROUPNAME\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IPMP group name. For the anonymous group, this field will be empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The state of the group:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBok\fR\fR
+.ad
+.RS 12n
+.rt
+All interfaces in the group are usable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdegraded\fR\fR
+.ad
+.RS 12n
+.rt
+Some (but not all) interfaces in the group are usable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailed\fR\fR
+.ad
+.RS 12n
+.rt
+No interfaces in the group are usable.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFDT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The probe-based failure detection time. If probe-based failure detection is
+disabled, this field will be empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINTERFACES\fR\fR
+.ad
+.sp .6
+.RS 4n
+The list of underlying IP interfaces in the group. The list is divided into
+three parts:
+.RS +4
+.TP
+1.
+Active interfaces are listed first and not enclosed in any brackets or
+parenthesis. Active interfaces are those being used by the system to send or
+receive data traffic.
+.RE
+.RS +4
+.TP
+2.
+\fBINACTIVE\fR interfaces are listed next and enclosed in parenthesis.
+\fBINACTIVE\fR interfaces are those that are functioning, but not being used
+according to administrative policy.
+.RE
+.RS +4
+.TP
+3.
+Unusable interfaces are listed last and enclosed in brackets. Unusable
+interfaces are those that cannot be used at all in their present configuration
+(for example, \fBFAILED\fR or \fBOFFLINE\fR).
+.RE
+.RE
+
+If \fB-o\fR is not specified, all output fields are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBInterface Mode\fR
+.ad
+.sp .6
+.RS 4n
+Interface mode displays the state of all IP interfaces that are tracked by
+\fBin.mpathd\fR on the system. The following output fields are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINTERFACE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IP interface name associated with the information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBACTIVE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fByes\fR or \fBno\fR, depending on whether the IP interface is being
+used by the system for IP data traffic.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGROUP\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IPMP IP interface associated with the IP interface. For IP interfaces in
+the anonymous group (see \fBin.mpathd\fR(1M)), this field will be empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLAGS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Assorted information about the IP interface:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.RS 5n
+.rt
+Unusable due to being \fBINACTIVE\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+Marked \fBSTANDBY\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+.rt
+Nominated to send/receive IPv4 multicast for its IPMP group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 5n
+.rt
+Nominated to send/receive IPv4 broadcast for its IPMP group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBM\fR\fR
+.ad
+.RS 5n
+.rt
+Nominated to send/receive IPv6 multicast for its IPMP group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 5n
+.rt
+Unusable due to being \fBdown\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBh\fR\fR
+.ad
+.RS 5n
+.rt
+Unusable due to being brought \fBOFFLINE\fR by \fBin.mpathd\fR because of a
+duplicate hardware address.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINK\fR\fR
+.ad
+.sp .6
+.RS 4n
+The state of link-based failure detection:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBup\fR\fR
+.ad
+.sp .6
+.RS 4n
+The link is up.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdown\fR\fR
+.ad
+.sp .6
+.RS 4n
+The link is down.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunknown\fR\fR
+.ad
+.sp .6
+.RS 4n
+The network driver does not report link state changes.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPROBE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The state of probe-based failure detection:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBok\fR\fR
+.ad
+.sp .6
+.RS 4n
+Probes detect no problems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailed\fR\fR
+.ad
+.sp .6
+.RS 4n
+Probes detect failure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunknown\fR\fR
+.ad
+.sp .6
+.RS 4n
+Probes cannot be sent since no suitable probe targets are known.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+Probes have been disabled because a unique IP test address has not been
+configured.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The overall state of the interface:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBok\fR\fR
+.ad
+.sp .6
+.RS 4n
+The interface is online and functioning properly based on the configured
+failure detection methods.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailed\fR\fR
+.ad
+.sp .6
+.RS 4n
+The interface is online but has a link state of \fBdown\fR or a probe state of
+\fBfailed\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoffline\fR\fR
+.ad
+.sp .6
+.RS 4n
+The interface is offline.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunknown\fR\fR
+.ad
+.sp .6
+.RS 4n
+The interface is online but may or may not be functioning because the
+configured failure detection methods are in \fBunknown\fR states.
+.RE
+
+.RE
+
+If \fB-o\fR is not specified, all output fields are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBProbe Mode\fR
+.ad
+.sp .6
+.RS 4n
+Probe mode displays information about the probes being sent by \fBin.mpathd\fR.
+Unlike other output modes, this mode runs until explicitly terminated using
+\fBCtrl-C\fR. The following output fields are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+The time the probe was sent, relative to when \fBipmpstat\fR was started. If
+the probe was sent prior to starting \fBipmpstat\fR, the time will be negative.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPROBE\fR\fR
+.ad
+.sp .6
+.RS 4n
+An identifier representing the probe. The identifier will start at zero and
+will monotonically increment for each probe sent by \fBin.mpathd\fR over a
+given interface. To enable more detailed analysis by packet monitoring tools,
+this identifier matches the \fBicmp_seq\fR field of the ICMP probe packet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINTERFACE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IP interface the probe was sent on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTARGET\fR\fR
+.ad
+.sp .6
+.RS 4n
+The hostname (or IP address) of the target the probe was sent to.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNETRTT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The network round-trip-time for the probe. This is the time between when the IP
+module sends the probe and when the IP module receives the acknowledgment. If
+\fBin.mpathd\fR has concluded that the probe has been lost, this field will be
+empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRTT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total round-trip-time for the probe. This is the time between when
+\fBin.mpathd\fR starts executing the code to send the probe, and when it
+completes processing the \fBack\fR. If \fBin.mpathd\fR has concluded that the
+probe has been lost, this field will be empty. Spikes in the total round-trip
+time that are not present in the network round-trip time indicate that the
+local system itself is overloaded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRTTAVG\fR\fR
+.ad
+.sp .6
+.RS 4n
+The average round-trip-time to \fBTARGET\fR over \fBINTERFACE\fR. This aids
+identification of slow targets. If there is insufficient data to calculate the
+average, this field will be empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRTTDEV\fR\fR
+.ad
+.sp .6
+.RS 4n
+The standard deviation for the round-trip-time to \fBTARGET\fR over
+\fBINTERFACE\fR. This aids identification of jittery targets. If there is
+insufficient data to calculate the standard deviation, this field will be
+empty.
+.RE
+
+If \fB-o\fR is not specified, all fields except for \fBRTTAVG\fR and
+\fBRTTDEV\fR are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBTarget Mode\fR
+.ad
+.sp .6
+.RS 4n
+Target mode displays IPMP probe target information. The following output fields
+are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINTERFACE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The IP interface name associated with the information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMODE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The probe target discovery mode:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBroutes\fR\fR
+.ad
+.RS 13n
+.rt
+Probe targets found by means of the routing table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmulticast\fR\fR
+.ad
+.RS 13n
+.rt
+Probe targets found by means of multicast ICMP probes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisabled\fR\fR
+.ad
+.RS 13n
+.rt
+Probe-based failure detection is disabled.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTESTADDR\fR\fR
+.ad
+.sp .6
+.RS 4n
+The hostname (or IP address) that will be used for sending and receiving
+probes. If a unique test address has not been configured, this field will be
+empty. Note that if an IP interface is configured with both IPv4 and IPv6 test
+addresses, probe target information will be displayed separately for each test
+address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTARGETS\fR\fR
+.ad
+.sp .6
+.RS 4n
+A space-separated list of probe target hostnames (or IP addresses), in firing
+order. If no probe targets could be found, this field will be empty.
+.RE
+
+If \fB-o\fR is not specified, all output fields are displayed.
+.RE
+
+.SH OUTPUT FORMAT
+.sp
+.LP
+By default, \fBipmpstat\fR uses a human-friendly tabular format for its output
+modes, where each row contains one or more fields of information about a given
+object, which is in turn uniquely identified by one or more of those fields. In
+this format, a header identifying the fields is displayed above the table (and
+after each screenful of information), fields are separated by whitespace, empty
+fields are represented by \fB--\fR (double hyphens), and other visual aids are
+used. If the value for a field cannot be determined, its value will be
+displayed as "\fB?\fR" and a diagnostic message will be output to standard
+error.
+.sp
+.LP
+Machine-parseable format also uses a tabular format, but is designed to be
+efficient to programmatically parse. Specifically, machine-parseable format
+differs from human-friendly format in the following ways:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+No headers are displayed.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Fields with empty values yield no output, rather than showing \fB--\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Fields are separated by a single colon (\fB:\fR), rather than variable amounts
+of whitespace.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If multiple fields are requested, and a literal \fB:\fR or a backslash
+(\fB\e\fR) occur in a field's value, they are escaped by prefixing them with
+\fB\e\fR\&.
+.RE
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRObtaining Failure Detection Time of a Specific Interface
+.sp
+.LP
+The following code uses the machine-parseable output format to create a
+\fBksh\fR function that outputs the failure detection time of a given IPMP IP
+interface:
+
+.sp
+.in +2
+.nf
+ getfdt() {
+ ipmpstat -gP -o group,fdt | while IFS=: read group fdt; do
+ [[ "$group" = "$1" ]] && { echo "$fdt"; return; }
+ done
+ }
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+.LP
+\fB/usr/sbin/ipmpstat\fR:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+_
+Machine-Parseable FormatCommitted
+_
+Human-Friendly FormatNot-an-Interface
+.TE
+
+.sp
+.LP
+\fB/sbin/ipmpstat\fR is not a Committed interface.
+.SH SEE ALSO
+.sp
+.LP
+\fBif_mpadm\fR(1M), \fBifconfig\fR(1M), \fBin.mpathd\fR(1M),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ipnat.1m b/usr/src/man/man1m/ipnat.1m
new file mode 100644
index 0000000000..8636e098ee
--- /dev/null
+++ b/usr/src/man/man1m/ipnat.1m
@@ -0,0 +1,230 @@
+'\" te
+.\" To view license terms, attribution, and copyright for IP Filter, the default path is /usr/lib/ipf/IPFILTER.LICENCE. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed
+.\" location.
+.\" Portions Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.TH ipnat 1M "3 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipnat \- user interface to the NAT subsystem
+.SH SYNOPSIS
+.LP
+.nf
+\fBipnat\fR [\fB-CdFhlnRrsv\fR] \fB-f\fR \fIfilename\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipnat\fR utility opens a specified file (treating \fB-\fR as stdin) and
+parses it for a set of rules that are to be added or removed from the IP NAT.
+.sp
+.LP
+If there are no parsing problems, each rule processed by \fBipnat\fR is added
+to the kernel's internal lists. Rules are appended to the internal lists,
+matching the order in which they appear when given to \fBipnat\fR.
+.sp
+.LP
+\fBipnat\fR's use is restricted through access to \fB/dev/ipauth\fR,
+\fB/dev/ipl\fR, and \fB/dev/ipstate\fR. The default permissions of these files
+require \fBipnat\fR to be run as root for all operations.
+.sp
+.LP
+\fBipnat\fR's use is restricted through access to \fB/dev/ipnat\fR. The default
+permissions of \fB/dev/ipnat\fR require \fBipnat\fR to be run as root for all
+operations.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 15n
+.rt
+Delete all entries in the current NAT rule listing (NAT rules).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 15n
+.rt
+Turn debug mode on. Causes a hex dump of filter rules to be generated as it
+processes each one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 15n
+.rt
+Delete all active entries in the current NAT translation table (currently
+active NAT mappings).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.RS 15n
+.rt
+Parse specified file for rules to be added or removed from the IP NAT.
+\fIfilename\fR can be stdin.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 15n
+.rt
+Print number of hits for each MAP/Redirect filter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 15n
+.rt
+Show the list of current NAT table entry mappings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 15n
+.rt
+Prevents \fBipf\fR from doing anything, such as making ioctl calls, which might
+alter the currently running kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 15n
+.rt
+Disable both IP address-to-hostname resolution and port number-to-service name
+resolution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 15n
+.rt
+Remove matching NAT rules rather than add them to the internal lists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 15n
+.rt
+Retrieve and display NAT statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 15n
+.rt
+Turn verbose mode on. Displays information relating to rule processing and
+active rules/table entries.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/ipnat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Link to IP Filter pseudo device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/kmem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Special file that provides access to virtual address space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ipf/ipnat.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Location of \fBipnat\fR startup configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/ipfilter/examples/\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains numerous IP Filter examples.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBipf\fR(1M), \fBipfstat\fR(1M), \fBipnat\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ippool.1m b/usr/src/man/man1m/ippool.1m
new file mode 100644
index 0000000000..b9031885d0
--- /dev/null
+++ b/usr/src/man/man1m/ippool.1m
@@ -0,0 +1,378 @@
+'\" te
+.\" To view license terms, attribution, and copyright for IP Filter, the default path is /usr/lib/ipf/IPFILTER.LICENCE. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed
+.\" location.
+.\" Portions Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.TH ippool 1M "3 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ippool \- user interface to the IP Filter pools
+.SH SYNOPSIS
+.LP
+.nf
+\fBippool\fR \fB-a\fR [\fB-dnv\fR] [\fB-m\fR \fIpoolname\fR] [\fB-o\fR \fIrole\fR] \fB-i\fR \fIipaddr\fR
+ [/\fInetmask\fR]
+.fi
+
+.LP
+.nf
+\fBippool\fR \fB-A\fR [\fB-dnv\fR] [\fB-m\fR \fIpoolname\fR] [\fB-o\fR \fIrole\fR] [\fB-S\fR \fIseed\fR]
+ [\fB-t\fR \fItype\fR]
+.fi
+
+.LP
+.nf
+\fBippool\fR \fB-f\fR \fIfile\fR [\fB-dnuv\fR]
+.fi
+
+.LP
+.nf
+\fBippool\fR \fB-F\fR [\fB-dv\fR] [\fB-o\fR \fIrole\fR] [\fB-t\fR \fItype\fR]
+.fi
+
+.LP
+.nf
+\fBippool\fR \fB-h\fR [\fB-dv\fR] [\fB-m\fR \fIpoolname\fR] [\fB-t\fR \fItype\fR]
+.fi
+
+.LP
+.nf
+\fBippool\fR \fB-l\fR [\fB-dv\fR] [\fB-m\fR \fIpoolname\fR] [\fB-t\fR \fItype\fR]
+.fi
+
+.LP
+.nf
+\fBippool\fR \fB-r\fR [\fB-dnv\fR] [\fB-m\fR \fIpoolname\fR] [\fB-o\fR \fIrole\fR] \fB-i\fR \fIipaddr\fR
+ [/\fInetmask\fR]
+.fi
+
+.LP
+.nf
+\fBippool\fR \fB-R\fR [\fB-dnv\fR] [\fB-m\fR \fIpoolname\fR] [\fB-o\fR \fIrole\fR] [\fB-t\fR \fItype\fR]
+.fi
+
+.LP
+.nf
+\fBippool\fR \fB-s\fR [\fB-dtv\fR] [\fB-M\fR \fIcore\fR] [\fB-N\fR \fInamelist\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBippool\fR utility is used to manage information stored in the IP pools
+subsystem of IP Filter software. Configuration file information can be parsed
+and loaded into the kernel and currently configured pools can be removed,
+changed, or inspected.
+.sp
+.LP
+\fBippool\fR's use is restricted through access to \fB/dev/ippool\fR. The
+default permissions of \fB/dev/ippool\fR require \fBippool\fR to be run as root
+for all operations.
+.sp
+.LP
+The command line options used are divided into two sections: the global options
+and the instance-specific options.
+.sp
+.LP
+\fBippool\fR's use is restricted through access to \fB/dev/ipauth\fR,
+\fB/dev/ipl\fR, and \fB/dev/ipstate\fR. The default permissions of these files
+require \fBippool\fR to be run as root for all operations.
+.SH OPTIONS
+.sp
+.LP
+\fBippool\fR supports the option categories described below.
+.SS "Global Options"
+.sp
+.LP
+The following global options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Toggle debugging of processing the configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Prevents \fBippool\fR from doing anything, such as making ioctl calls, that
+would alter the currently running kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Turn verbose mode on.
+.RE
+
+.SS "Instance-Specific Options"
+.sp
+.LP
+The following instance-specific options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 11n
+.rt
+Add a new data node to an existing pool in the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.RS 11n
+.rt
+Add a new (empty) pool to the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfile\fR\fR
+.ad
+.RS 11n
+.rt
+Read in IP pool configuration information from \fIfile\fR and load it into the
+kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 11n
+.rt
+Flush loaded pools from the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 11n
+.rt
+Display a list of pools of the type: hash loaded in the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 11n
+.rt
+Display a list of pools of the type: tree loaded in the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 11n
+.rt
+Remove an existing data node from a pool in the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 11n
+.rt
+Remove an existing pool from within the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 11n
+.rt
+Display IP pool statistical information.
+.RE
+
+.SS "Other Options"
+.sp
+.LP
+The following, additional options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIipaddr\fR[/\fInetmask\fR]\fR
+.ad
+.RS 23n
+.rt
+Sets the IP address for the operation being undertaken with an all-one's mask
+or, optionally, a specific netmask, given in either dotted-quad notation or as
+a single integer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIpoolname\fR\fR
+.ad
+.RS 23n
+.rt
+Sets the pool name for the current operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fIcore\fR\fR
+.ad
+.RS 23n
+.rt
+Specify an alternative path to \fB/dev/kmem\fR from which to retrieve
+statistical information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR \fInamelist\fR\fR
+.ad
+.RS 23n
+.rt
+Specify an alternative path to lookup symbol name information when retrieving
+statistical information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIrole\fR\fR
+.ad
+.RS 23n
+.rt
+Sets the role with which this pool is to be used. Currently only \fBipf\fR,
+\fBauth\fR, and \fBcount\fR are accepted as arguments to this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIseed\fR\fR
+.ad
+.RS 23n
+.rt
+Sets the hashing seed to the number specified. For use with hash-type pools
+only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItype\fR\fR
+.ad
+.RS 23n
+.rt
+Sets the type of pool being defined. Must be one of \fBpool\fR, \fBhash\fR, or
+\fBgroup-map\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 23n
+.rt
+When parsing a configuration file, rather than load new pool data into the
+kernel, unload it.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/ippool\fR\fR
+.ad
+.RS 24n
+.rt
+Link to IP Filter pseudo device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/kmem\fR\fR
+.ad
+.RS 24n
+.rt
+Special file that provides access to virtual address space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ipf/ippool.conf\fR\fR
+.ad
+.RS 24n
+.rt
+Location of \fBippool\fR startup configuration file.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBipf\fR(1M), \fBipfstat\fR(1M), \fBippool\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ipqosconf.1m b/usr/src/man/man1m/ipqosconf.1m
new file mode 100644
index 0000000000..e3b3aa1973
--- /dev/null
+++ b/usr/src/man/man1m/ipqosconf.1m
@@ -0,0 +1,1156 @@
+'\" te
+.\" Copyright (C) 2004, 2009 Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ipqosconf 1M "18 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipqosconf \- configure the IPQoS facility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ipqosconf\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipqosconf\fR \fB-a\fR \fIconf_file\fR [\fB-vs\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipqosconf\fR \fB-c\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipqosconf\fR \fB-f\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipqosconf\fR \fB-l\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipqosconf\fR \fB-L\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipqosconf\fR utility configures the Quality of Service facility of the
+Internet Protocol (\fBIP\fR). Only superusers can use this command.
+.sp
+.LP
+Without arguments, \fBipqosconf\fR displays the actual \fBIPQoS\fR
+configuration.
+.sp
+.LP
+Configuration is not preserved across reboot. You must apply the configuration
+every time that the machine reboots. To apply the configuration early in the
+boot phase, you can populate the \fB/etc/inet/ipqosinit.conf\fR file, which is
+then read from the \fBsvc:/network/initial:default\fR service.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIconf_file\fR\fR
+.ad
+.RS 16n
+.rt
+Apply the configuration in \fIconf_file\fR. If the \fIconf_file\fR is
+\fB\(mi\fR, \fBipqosconf\fR reads from standard input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 16n
+.rt
+Populate the boot file with the current configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 16n
+.rt
+Flush the configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 16n
+.rt
+List the current applied configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 16n
+.rt
+List the current configuration in verbose mode.
+.sp
+In addition to the information that the \fB-l\fR option provides, the \fB-L\fR
+option provides filters and classes configured through other means than the
+\fBiqposconf\fR command. This option also provides the full set of filters that
+were created by \fBipqosconf\fR by representing a multi-homed host in a
+configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 16n
+.rt
+Log messages to \fBsyslog\fR during an \fB-a\fR operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 16n
+.rt
+Toggle verbose mode during an \fB-a\fR operation.
+.sp
+The \fB-v\fR option causes all messages to go to the console in addition to
+their normal destination. Messages intended to go to \fBsyslog\fR, because the
+\fB-s\fR flag is set or because it is a log message, still go to \fBsyslog\fR
+as well as the console.
+.RE
+
+.SH CONFIGURATION FILE
+.sp
+.LP
+The configuration file is composed of a format version and a succession of
+configuration (action) blocks. There are different configuration blocks for
+each type of action that is being configured.
+.SS "Format Version"
+.sp
+.LP
+The first line of the configuration file specifies the format version contained
+in the configuration file.
+.sp
+.LP
+The following entry specifies the format version:
+.sp
+.in +2
+.nf
+fmt_version \fIx\fR.\fIx\fR
+.fi
+.in -2
+
+.sp
+.LP
+where \fIx\fR.\fIx\fR is the format version. \fB1.0\fR is the only supported
+version.
+.SS "Configuration Blocks"
+.sp
+.LP
+Following the format version, are a succession of configuration (action) blocks
+that are different for each type of action being configured. A configuration
+block always has the following structure:
+.sp
+.in +2
+.nf
+action {
+ name action_name
+ module module_name
+ params_clause | ""
+ cf_clauses
+}
+
+action_name ::= string
+module_name ::= ipgpc | dlcosmk | dscpmk | flowacct | tswtclmt |
+ tokenmt
+
+params_clause ::= params {
+ parameters
+ params_stats | ""
+ }
+
+parameters ::= prm_name_value parameters | ""
+
+prm_name_value ::= \fIparam_name\fR \fIparam_value\fR
+.fi
+.in -2
+.sp
+
+.SS "Modules"
+.sp
+.LP
+The \fIparam_name\fR and the types of \fIparam_value\fR are specific to a given
+module.
+.sp
+.in +2
+.nf
+params_stats ::= global_stats boolean
+
+cf_clauses ::= class_clause cf_clauses |
+ filter_clause cf_clauses | ""
+
+class_clause ::= class {
+ name class_name
+ next_action next_action_name
+ class_stats | ""
+ }
+
+class_name ::= string
+next_action_name ::= string
+class_stats ::= enable_stats boolean
+boolean ::= TRUE | FALSE
+
+filter_clause ::= filter {
+ name filter_name
+ class class_name
+ parameters
+ }
+
+filter_name ::= string
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+There must be exactly one configuration block belonging to module \fBipgpc\fR.
+The action must be named \fBipgpc.classify\fR. All other actions should be
+reachable from \fBipgpc\fR by way of parameters of type action or the
+next_action of a class.
+.sp
+.LP
+The set of types that are used for parameters of the different modules are:
+.sp
+.in +2
+.nf
+action ::= string
+protocol ::= 1..255
+port ::= 1..65535
+uint8 ::= 0..255
+uint32 ::= 0..4294967296
+int32 ::= -2147483648..2147483648
+address ::= <see the description section>
+ifname ::= <interface name recognized by SIOGLIFINDEX ioctl>
+enum ::= string | { string_list }
+boolean ::= TRUE | FALSE
+integer_array ::= { range_value_list }
+map_index ::= uint32
+address ::= ip_address | ip_node_name
+user ::= uid | username
+uid ::= 0..65535
+username ::= string
+string_list ::= string sl_entrys
+sl_entrys ::= ',' string sl_entrys | ""
+range_value_list ::= range_value_entry range_value_entrys
+range_value_entry ::= range ':' integer_array_value
+range ::= uint32 '-' uint32
+integer_array_value ::= string | integer_array_number
+integer_array_number ::= uint8 | uint32
+range_value_entrys ::= ';' range_value_entry range_value_entrys | ""
+ip_node_name ::= string
+ip_address ::= v4_address | v6_address
+v4_address ::= v4_ip_address / v4_cidr_mask |
+v4_ip_address
+v4_cidr_mask ::= 1-32
+v6_address ::= v6_ip_address / v6_cidr_mask |
+v6_ip_address
+v6_cidr_mask ::= 1-128
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+METER module tokenmt configuration syntax:
+.sp
+.in +2
+.nf
+red_action_name action
+yellow_action_name action
+green_action_name action
+committed_rate uint32
+committed_burst uint32
+peak_rate uint32
+<if present this signifies that this will be a two rate meter, not
+ a single rate meter>
+peak_burst uint32
+<this is the 'peak' burst size for a two rate meter, but
+ the 'excess' burst size for a single rate meter>
+color_aware boolean
+color_map integer_array
+global_stats boolean
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+METER module tswtclmt configuration syntax:
+.sp
+.in +2
+.nf
+red_action_name action
+yellow_action_name action
+green_action_name action
+committed_rate uint32
+peak_rate uint32
+window uint32
+global_stats boolean
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+MARKER module dscpmk configuration syntax:
+.sp
+.in +2
+.nf
+next_action action
+dscp_map int_array
+dscp_detailed_stats boolean
+global_stats boolean
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+MARKER module dlcosmk configuration syntax:
+.sp
+.in +2
+.nf
+next_action action
+cos map_index
+global_stats boolean
+.fi
+.in -2
+
+.sp
+.LP
+CLASSIFIER module ipgpc configuration syntax:
+.sp
+.in +2
+.nf
+user user
+projid int32
+if_name ifname
+direction enum {
+ LOCAL_IN,
+ LOCAL_OUT,
+ FWD_IN,
+ FWD_OUT}
+protocol protocol
+dsfield uint8
+dsfield_mask uint8
+saddr address
+daddr address
+sport port
+dport port
+priority uint32
+precedence uint32
+ip_version enum {
+ V4,
+ V6 }
+global_stats boolean
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+ACCOUNTING module flowacct configuration syntax:
+.sp
+.in +2
+.nf
+next_action action
+timer uint32
+timeout uint32
+max_limit uint32
+.fi
+.in -2
+.sp
+
+.SS "Types"
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaction\fR\fR
+.ad
+.RS 17n
+.rt
+A string of characters with a matching action definition. The character string
+can be up to twenty three characters in length. To allow for spaces the string
+needs to be enclosed in quotes and cannot span lines. Two special actions are
+pre-defined and can not have an explicit action definition. The two pre-defined
+actions are \fBcontinue\fR and \fBdrop\fR. continue causes the packet that is
+passed to it to continue normal processing. \fBdrop\fR causes the packet that
+is passed to it to be dropped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaddress\fR\fR
+.ad
+.RS 17n
+.rt
+A machine name or address recognized by \fBgetipnodebyname\fR(3SOCKET). If a
+machine name is specified, and \fBip_version\fR has been defined, the query is
+done using that address family. If a machine name is not specified and
+\fBip_version\fR has not been defined, the query is done using the
+\fBAI_DEFAULT\fR flag to \fBgetipnodebyname()\fR(\fB\&..AF_INET6..\fR).
+\fBCIDR\fR address masks following an IP address are allowed. Specify the
+\fBCIDR\fR address masks as \fB1\fR-\fB32\fR (for \fBv4\fR) or
+\fB1\fR-\fB128\fR (for \fBv6\fR). \fBCIDR\fR addresses are disallowed for node
+names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIenum\fR\fR
+.ad
+.RS 17n
+.rt
+Either one of the supported values or comma delimited list of support values,
+enclosed in curly braces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIifname\fR\fR
+.ad
+.RS 17n
+.rt
+A non-\fINULL\fR, existing interface name recognized by the \fBSIOGLIFINDEX\fR
+socket ioctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinteger_array\fR\fR
+.ad
+.RS 17n
+.rt
+A comma delimited set of \fIrange\fR/\fIvalue\fR pairs, enclosed in curly
+braces.
+.sp
+Specify \fIrange\fR in the format \fIx\fR-\fIy\fR, where \fIx\fR and \fIy\fR
+are integers that denote the range of array indexes to which the value applies.
+The minimum value for both \fIx\fR and \fIy\fR is \fB0\fR. The maximum value
+for \fIx\fR is particular to the parameter. Any array indexes not referred to
+in the set of ranges are left at their previous value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImap_index\fR\fR
+.ad
+.RS 17n
+.rt
+A non-negative integer used as an index into any maps associated with a
+parameter of this type.
+.sp
+The maximum value of this type is dictated by the number of entries in the
+associated maps. The index starts at \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIport\fR\fR
+.ad
+.RS 17n
+.rt
+Either a service name recognized by \fBgetservbyname\fR(3SOCKET) or an integer
+\fB1\fR-\fB65535\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprotocol\fR\fR
+.ad
+.RS 17n
+.rt
+Either a protocol name recognized by \fBgetprotobyname\fR(3SOCKET) or an
+integer \fB1\fR-\fB255\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIstring\fR\fR
+.ad
+.RS 17n
+.rt
+A character string. Enclose \fIstring\fR in quotes. \fIstring\fR cannot span
+multiple lines.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIuser\fR\fR
+.ad
+.RS 17n
+.rt
+Either a valid user ID or username for the system that is being configured.
+.RE
+
+.SS "Parameters"
+.sp
+.LP
+The configuration file can contain the following parameters
+.sp
+.ne 2
+.mk
+.na
+\fBcolor_aware\fR
+.ad
+.RS 23n
+.rt
+A value of \fBTRUE\fR or \fBFALSE\fR, indicating whether or not the configured
+action takes account of the previous packet coloring when classifying.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcolor_map\fR
+.ad
+.RS 23n
+.rt
+An integer array that defines which values of the \fBdscp\fR field correspond
+with which colors for when the \fBcolor_aware\fR parameter is set to
+\fBTRUE\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcommitted_burst\fR
+.ad
+.RS 23n
+.rt
+The committed burst size in bits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcommitted_rate\fR
+.ad
+.RS 23n
+.rt
+The committed rate in bits per second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcos\fR
+.ad
+.RS 23n
+.rt
+The value used to determine the underlying driver level priority applied to the
+packet which is defined in \fB802.1D\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdaddr\fR
+.ad
+.RS 23n
+.rt
+The destination address of the datagram.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdirection\fR
+.ad
+.RS 23n
+.rt
+The value used to build a filter matching only part of the traffic.
+.sp
+This parameter is of type \fBenum\fR with valid values of \fBLOCAL_IN\fR (local
+bound traffic), \fBLOCAL_OUT\fR (local sourced traffic), \fBFWD_IN\fR
+(forwarded traffic entering the system), and \fBFWD_OUT\fR (forwarded traffic
+exiting the system).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdport\fR
+.ad
+.RS 23n
+.rt
+The destination port of the datagram.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdscp_detailed_stats\fR
+.ad
+.RS 23n
+.rt
+A value of \fBTRUE\fR or \fBFALSE\fR that determines whether detailed
+statistics are switched on for this \fBdscp\fR action.
+.sp
+Specify \fBTRUE\fR to switch on or \fBFALSE\fR to switch off.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdscp_map\fR
+.ad
+.RS 23n
+.rt
+The \fIinteger_array\fR that supplies the values that IP packets with a given
+\fBdscp\fR value have their dscp re-marked with.
+.sp
+The existing value is used to index into the array where the new value is taken
+from. The array is of size \fB64\fR, meaning valid indexes are \fB0\fR-\fB63\fR
+and valid values are also \fB0\fR-\fB63\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdsfield\fR
+.ad
+.RS 23n
+.rt
+The \fBDS\fR field of the \fBIP\fR datagram header. This is an 8-bit value,
+with each bit position corresponding with the same one in the header; this
+enables matches to be done on the CU bits. If you specify this parameter, you
+must also specify the \fBdsfield_mask\fR parameter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdsfield_mask\fR\fR
+.ad
+.RS 23n
+.rt
+The mask applied to the \fBdsfield\fR parameter to determine the bits against
+which to match. This is an 8-bit value, with each bit position corresponding
+with the same one in the \fBdsfield\fR parameter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal_stats\fR
+.ad
+.RS 23n
+.rt
+A value of \fBTRUE\fR or \fBFALSE\fR to enable or disable the statistic
+collection for this action.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgreen_action_name\fR
+.ad
+.RS 23n
+.rt
+The action to be executed for packets that are deemed to be green.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBif_name\fR
+.ad
+.RS 23n
+.rt
+The name of an interface recognized by the \fBSIOGLIFINDEX\fR ioctl. This
+parameter is of type \fBifname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBip_version\fR
+.ad
+.RS 23n
+.rt
+This parameter is of type \fBenum\fR and has valid values of \fBV4\fR and
+\fBV6\fR.
+.sp
+If it is set to \fBV4\fR only then only \fBipv4\fRaddresses are requested for a
+specified hostname. If it is set to \fBV6\fR, only \fBipv6\fR addresses are
+returned if there are any, otherwise \fBv4\fR mapped \fBv6\fR addresses are
+returned. If both \fBV4\fR and \fBV6\fR are specified, or if \fBip_version\fR
+is not specified, then both \fBipv4\fR and \fBipv6\fR addresses are requested
+for a specified hostname.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmax_limit\fR
+.ad
+.RS 23n
+.rt
+The maximum number of flow entries present at one time in the \fBflowacct\fR
+actions in the memory resident table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnext_action\fR
+.ad
+.RS 23n
+.rt
+The action to be executed when the current action is complete.
+.sp
+This value can be either the name of an action defined in the configuration
+file, or one of the two special action types: \fBdrop\fR and \fBcontinue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpeak_burst\fR
+.ad
+.RS 23n
+.rt
+The peak burst size, for a two rate meter, or excess burst size, for a single
+rate meter, in bits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpeak_rate\fR
+.ad
+.RS 23n
+.rt
+The peak rate in bits per second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprecedence\fR
+.ad
+.RS 23n
+.rt
+An integer that is used to order filters. If there are two matching filters
+that have the same priority value, the one with the lower precedence value is
+the one matched. This parameter should be used because the order of the filters
+in a configuration file has no influence on their relative precedence.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpriority\fR
+.ad
+.RS 23n
+.rt
+An integer that represents the relative priority of a filter. If there are two
+matching filters, the one with the higher priority value is the one matched.
+Multiple filters can have the same priority.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprojid\fR
+.ad
+.RS 23n
+.rt
+The project ID of the process sending the data. This value is always \fB-1\fR
+for received traffic.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprotocol\fR
+.ad
+.RS 23n
+.rt
+The Upper Layer Protocol against which this entry is matched.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBred_action_name\fR
+.ad
+.RS 23n
+.rt
+The action to be executed for packets that are determined to be red.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsaddr\fR
+.ad
+.RS 23n
+.rt
+The source address of the datagram.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsport\fR
+.ad
+.RS 23n
+.rt
+The source port of the datagram.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtimeout\fR
+.ad
+.RS 23n
+.rt
+The timeout in milliseconds after which flows are written to the accounting
+file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtimer\fR
+.ad
+.RS 23n
+.rt
+The period in milliseconds at which timed-out flows are checked for.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuser\fR
+.ad
+.RS 23n
+.rt
+The user ID or username of the process sending the data. This value is always
+\fB-1\fR for received traffic.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwindow\fR
+.ad
+.RS 23n
+.rt
+The window size in ms.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fByellow_action_name\fR
+.ad
+.RS 23n
+.rt
+The action to be executed for packets that are determined to be yellow.
+.RE
+
+.SH SECURITY
+.sp
+.LP
+None.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSending All Traffic From eng to the AF 1 Class of Service
+.sp
+.LP
+This example sends all traffic from \fBeng\fR to the \fBAF 1\fR class of
+service. It is documented in four separate steps:
+
+.sp
+.LP
+The following step creates a \fBtokenmt\fR action with three outcomes:
+
+.sp
+.in +2
+.nf
+#meter for class 1.
+action {
+ name AF_CL1
+ module tokenmt
+ params{
+ committed_rate 64
+ committed_burst 75
+ peak_burst 150
+ global_stats TRUE
+ red_action_name drop
+ yellow_action_name markAF12
+ green_action_name markAF11
+ }
+}
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following step creates two \fBdscpmk\fR actions:
+
+.sp
+.in +2
+.nf
+#class 1, low drop precedence.
+action {
+ name markAF11
+ module dscpmk
+ params{
+ dscp_map {0-63:28}
+ dscp_detailed_stats TRUE
+ global_stats TRUE
+ next_action acct1
+ }
+}
+#class 1, medium drop precedence.
+action {
+ name markAF12
+ module dscpmk
+ params {
+ dscp_map {0-63:30}
+ dscp_detailed_stats TRUE
+ global_stats TRUE
+ next_action acct1
+ }
+}
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following step creates an accounting action:
+
+.sp
+.in +2
+.nf
+#billing for transmitted class 1 traffic.
+action {
+ name acct1
+ module flowacct
+ params {
+ timer 10
+ timeout 30
+ global_stats TRUE
+max_limit 1024
+next_action continue
+ }
+}
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following step creates an \fBipgpc\fR action:
+
+.sp
+.in +2
+.nf
+#traffic from eng sent, traffic from ebay dropped.
+action {
+ name ipgpc.classify
+ module ipgpc
+ class {
+ name from_eng
+ enable_stats TRUE
+ next_action AF_CL1
+ }
+ class {
+ name from_ebay
+ enable_stats TRUE
+ next_action drop
+ }
+
+ filter {
+ name from_eng
+ saddr eng-subnet
+ class from_eng
+ }
+ filter {
+ name from_ebay
+ saddr ebay-subnet
+ class from_ebay
+ }
+}
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ipqosinit.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains the \fBIPQoS\fR configuration loaded at boot time. If this file
+exists, it is read from the \fBnetwork/initial:default\fR service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ipqosconf.1.sample\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sample configuration file for an application server
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ipqosconf.2.sample\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sample configuration file that meters the traffic for a specified application
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ipqosconf.3.sample\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sample configuration file that marks the ethernet headers of web traffic with a
+given user priority
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsyslog\fR(3C), \fBgetipnodebyname\fR(3SOCKET),
+\fBgetprotobyname\fR(3SOCKET), \fBgetservbyname\fR(3SOCKET),
+\fBattributes\fR(5), \fBdlcosmk\fR(7IPP), \fBdscpmk\fR(7IPP),
+\fBflowacct\fR(7IPP), \fBipgpc\fR(7IPP), \fBipqos\fR(7IPP),
+\fBtokenmt\fR(7IPP), \fBtswtclmt\fR(7IPP)
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBipqosconf\fR sends messages to \fBsyslog\fR of facility user, severity
+notice when any changes are made to the \fBIPQoS\fR configuration.
+.sp
+.LP
+Errors that occur during an \fBipqosconf\fR operation send an error message to
+the console by default. For the application of a new configuration if the
+\fB-s\fR option is set then these messages are sent to \fBsyslog\fR as facility
+user, severity error instead. If the \fB-v\fR option is present during an
+application then all error and change notificationmessages are sent to the
+console as well as their default destination.
diff --git a/usr/src/man/man1m/ipsecalgs.1m b/usr/src/man/man1m/ipsecalgs.1m
new file mode 100644
index 0000000000..1c2e7fdcaa
--- /dev/null
+++ b/usr/src/man/man1m/ipsecalgs.1m
@@ -0,0 +1,643 @@
+'\" te
+.\" Copyright (C) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ipsecalgs 1M "5 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipsecalgs \- configure the IPsec protocols and algorithms table
+.SH SYNOPSIS
+.LP
+.nf
+\fBipsecalgs\fR
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-l\fR
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-s\fR
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-a\fR [\fB-P\fR \fIprotocol-number\fR | \fB-p\fR \fIprotocol-name\fR] \fB-k\fR \fIkeylen-list\fR
+ [\fB-i\fR \fIinc\fR] [\fB-K\fR \fIdefault-keylen\fR] \fB-b\fR \fIblocklen-list\fR \fB-n\fR \fIalg-names\fR
+ \fB-N\fR \fIalg-number\fR \fB-m\fR \fImech-name\fR [\fB-f\fR] [\fB-s\fR]
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-P\fR \fIprotocol-number\fR \fB-p\fR \fIprotocol-name\fR
+ [\fB-e\fR \fIexec-mode\fR] [\fB-f\fR] [\fB-s\fR]
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-r\fR \fB-p\fR \fIprotocol-name\fR [] \fB-n\fR \fIalg-name\fR [\fB-s\fR]
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-r\fR \fB-p\fR \fIprotocol-name\fR [] \fB-N\fR \fIalg-number\fR [\fB-s\fR]
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-R\fR \fB-P\fR \fIprotocol-number\fR [\fB-s\fR]
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-R\fR \fB-p\fR \fIprotocol-name\fR [\fB-s\fR]
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-e\fR \fIexec-mode\fR \fB-P\fR \fIprotocol-number\fR [\fB-s\fR]
+.fi
+
+.LP
+.nf
+\fBipsecalgs\fR \fB-e\fR \fIexec-mode\fR \fB-p\fR \fIprotocol-name\fR [\fB-s\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Use the \fBipsecalgs\fR command to query and modify the IPsec protocol and
+algorithms stored in \fB/etc/inet/ipsecalgs\fR. You can use the \fBipsecalgs\fR
+command to do the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+list the currently defined IPsec protocols and algorithms
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+modify IPsec protocols definitions
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+modify IPsec algorithms definitions
+.RE
+.sp
+.LP
+\fBNever\fR edit the \fB/etc/inet/ipsecalgs\fR file manually. The valid IPsec
+protocols and algorithms are described by the ISAKMP DOI. See \fIRFC 2407\fR.
+In the general sense, a Domain of Interpretation (DOI) defines data formats,
+network traffic exchange types, and conventions for naming security-relevant
+information such as security policies or cryptographic algorithms and modes.
+For \fBipsecalgs\fR, the DOI defines naming and numbering conventions for
+algorithms and the protocols they belong to. These numbers are defined by the
+Internet Assigned Numbers Authority (IANA). Each algorithm belongs to a
+protocol. Algorithm information includes supported key lengths, block or MAC
+length, and the name of the cryptographic mechanism corresponding to that
+algorithm. This information is used by the IPsec modules, \fBipsecesp\fR(7P)
+and \fBipsecah\fR(7P), to determine the authentication and encryption
+algorithms that can be applied to IPsec traffic.
+.sp
+.LP
+The following protocols are predefined:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIPSEC_PROTO_ESP\fR\fR
+.ad
+.RS 19n
+.rt
+Defines the encryption algorithms (transforms) that can be used by IPsec to
+provide data confidentiality.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIPSEC_PROTO_AH\fR\fR
+.ad
+.RS 19n
+.rt
+Defines the authentication algorithms (transforms) that can be used by IPsec to
+provide authentication.
+.RE
+
+.sp
+.LP
+The mechanism name specified by an algorithm entry must correspond to a valid
+Solaris Cryptographic Framework mechanism. You can obtain the list of available
+mechanisms by using the \fBcryptoadm\fR(1M) command.
+.sp
+.LP
+Applications can retrieve the supported algorithms and their associated
+protocols by using the functions \fBgetipsecalgbyname\fR(3NSL),
+\fBgetipsecalgbynum\fR(3NSL), \fBgetipsecprotobyname\fR(3NSL) and
+\fBgetipsecprotobynum\fR(3NSL).
+.sp
+.LP
+Modifications to the protocols and algorithm by default update only the
+contents of the \fB/etc/inet/ipsecalgs\fR configuration file. In order for the
+new definitions to be used for IPsec processing, the changes must be
+communicated to the kernel using the \fB-s\fR option. See \fBNOTES\fR for a
+description of how the \fBipsecalgs\fR configuration is synchronized with the
+kernel at system restart.
+.sp
+.LP
+When invoked without arguments, \fBipsecalgs\fR displays the list of mappings
+that are currently defined in \fB/etc/inet/ipsecalgs\fR. You can obtain the
+corresponding kernel table of protocols and algorithms by using the \fB-l\fR
+option.
+.SH OPTIONS
+.sp
+.LP
+\fBipsecalgs\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Adds an algorithm of the protocol specified by the \fB-P\fR option. The
+algorithm name(s) are specified with the \fB-n\fR option. The supported key
+lengths and block sizes are specified with the \fB-k\fR, \fB-i\fR, and \fB-b\fR
+options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies the block or MAC lengths of an algorithm, in bytes. Set more than one
+block length by separating the values with commas.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Designates the execution mode of cryptographic requests for the specified
+protocol in the absence of cryptographic hardware provider. See
+\fBcryptoadm\fR(1M). \fIexec-mode\fR can be one of the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsync\fR\fR
+.ad
+.RS 9n
+.rt
+Cryptographic requests are processed synchronously in the absence of a
+cryptographic hardware provider. This execution mode leads to better latency
+when no cryptographic hardware providers are available
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBasync\fR\fR
+.ad
+.RS 9n
+.rt
+Cryptographic requests are always processed asynchronously in the absence of
+cryptographic hardware provider. This execution can improve the resource
+utilization on a multi-CPU system, but can lead to higher latency when no
+cryptographic hardware providers are available.
+.RE
+
+This option can be specified when defining a new protocol or to modify the
+execution mode of an existing protocol. By default, the \fBsync\fR execution
+mode is used in the absence of a cryptographic hardware provider.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Used with the \fB-a\fR option to force the addition of an algorithm or protocol
+if an entry with the same name or number already exists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies the valid key length increments in bits. This option must be used
+when the valid key lengths for an algorithm are specified by a range with the
+\fB-k\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies the default key lengths for an algorithm, in bits. If the \fB-K\fR
+option is not specified, the minimum key length will be determined as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the supported key lengths are specified by range, the default key length
+will be the minimum key length.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the supported key lengths are specified by enumeration, the default key
+length will be the first listed key length.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies the supported key lengths for an algorithm, in bits. You can
+designate the supported key lengths by enumeration or by range.
+.sp
+Without the \fB-i\fR option, \fB-k\fR specifies the supported key lengths by
+enumeration. In this case, \fIkeylen-list\fR consists of a list of one or more
+key lengths separated by commas, for example:
+.sp
+.in +2
+.nf
+128,192,256
+.fi
+.in -2
+.sp
+
+The listed key lengths need not be increasing, and the first listed key length
+will be used as the default key length for that algorithm unless the \fB-K\fR
+option is used.
+.sp
+With the \fB-i\fR option, \fB-k\fR specifies the range of supported key lengths
+for the algorithm. The minimum and maximum key lengths must be separated by a
+dash ('\fB-\fR') character, for example:
+.sp
+.in +2
+.nf
+32-448
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+Displays the kernel algorithm tables.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies the name of the cryptographic framework mechanism name corresponding
+to the algorithm. Cryptographic framework mechanisms are described in the
+\fBcryptoadm\fR(1M) man page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies an algorithm number. The algorithm number for a protocol must be
+unique. IANA manages the algorithm numbers. See \fIRFC 2407\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies one or more names for an algorithm. When adding an algorithm with the
+\fB-a\fR option, \fIalg-names\fR contains a string or a comma-separated list of
+strings, for example:
+.sp
+.in +2
+.nf
+des-cbs,des
+.fi
+.in -2
+.sp
+
+When used with the \fB-r\fR option to remove an algorithm, \fIalg-names\fR
+contains one of the valid algorithm names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.RS 6n
+.rt
+Adds a protocol of the number specified by \fIprotocol-number\fR with the name
+specified by the \fB-p\fR option. This option is also used to specify an IPsec
+protocol when used with the \fB-a\fR and the \fB-R\fR options. Protocol numbers
+are managed by the IANA. See \fIRFC 2407\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies the name of the IPsec protocol.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 6n
+.rt
+Removes and IPsec protocol from the algorithm table. The protocol can be
+specified by number by using the \fB-P\fR option or by name by using the
+\fB-p\fR option. The algorithms associated with the protocol are removed as
+well.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Removes the mapping for an algorithm The algorithm can be specified by
+algorithm number using the \fB-N\fR option or by algorithm name using the
+\fB-A\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Synchronizes the kernel with the contents of \fB/etc/inet/ipsecalgs\fR. The
+contents of \fB/etc/inet/ipsecalgs\fR are always updated, but new information
+is not passed on to the kernel unless the \fB-s\fR is used. See \fBNOTES\fR for
+a description of how the \fBipsecalgs\fR configuration is synchronized with the
+kernel at system restart.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a Protocol for IPsec Encryption
+.sp
+.LP
+The following example shows how to add a protocol for IPsec encryption:
+
+.sp
+.in +2
+.nf
+example# \fBipsecalgs -P 3 -p "IPSEC_PROTO_ESP"\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding the Blowfish Algorithm
+.sp
+.LP
+The following example shows how to add the Blowfish algorithm:
+
+.sp
+.in +2
+.nf
+example# \fBipsecalgs -a -P 3 -k 32-488 -K 128 -i 8 -n "blowfish" \e
+ -b 8 -N 7 -m CKM_BF_CBC\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUpdating the Kernel Algorithm Table
+.sp
+.LP
+The following example updates the kernel algorithm table with the currently
+defined protocol and algorithm definitions:
+
+.sp
+.in +2
+.nf
+example# \fBsvcadm refresh ipsecalgs\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ipsecalgs\fR\fR
+.ad
+.sp .6
+.RS 4n
+File that contains the configured IPsec protocols and algorithm definitions.
+Never edit this file manually.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcryptoadm\fR(1M), \fBipsecconf\fR(1M), \fBipseckey\fR(1M), \fBsvcadm\fR(1M),
+\fBgetipsecalgbyname\fR(3NSL), \fBgetipsecprotobyname\fR(3NSL),
+\fBike.config\fR(4), \fBattributes\fR(5), \fBsmf\fR(5), \fBipsecah\fR(7P),
+\fBipsecesp\fR(7P)
+.sp
+.LP
+Piper, Derrell, \fIRFC 2407, The Internet IP Security Domain of Interpretation
+for ISAKMP\fR. Network Working Group. November 1998.
+.SH NOTES
+.sp
+.LP
+When protocols or algorithm definitions that are removed or altered, services
+that rely upon these definitions can become unavailable. For example, if the
+\fBIPSEC_PROTO_ESP\fR protocol is removed, then IPsec cannot encrypt and
+decrypt packets.
+.sp
+.LP
+Synchronization of the \fBipsecalgs\fR configuration with the kernel at system
+startup is provided by the following \fBsmf\fR(5) service:
+.sp
+.in +2
+.nf
+svc:/network/ipsec/ipsecalgs:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The IPsec services are delivered as follows:
+.sp
+.in +2
+.nf
+svc:/network/ipsec/policy:default (enabled)
+svc:/network/ipsec/ipsecalgs:default (enabled)
+svc:/network/ipsec/manual-key:default (disabled)
+svc:/network/ipsec/ike:default (disabled)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Services that are delivered disabled are delivered that way because the system
+administrator must create configuration files for those services before
+enabling them. See \fBipseckey\fR(1M) and \fBike.config\fR(4). The default
+policy for the \fBpolicy\fR service is to allow all traffic to pass without
+IPsec protection. See \fBipsecconf\fR(1M).
+.sp
+.LP
+The correct administrative procedure is to create the configuration file for
+each service, then enable each service using \fBsvcadm\fR(1M), as shown in the
+following example:
+.sp
+.in +2
+.nf
+example# \fBsvcadm enable ipsecalgs\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The service's status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+If the \fBipsecalgs\fR configuration is modified, the new configuration should
+be resynchronized as follows:
+.sp
+.in +2
+.nf
+example# \fBsvcadm refresh ipsecalgs\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling,
+refreshing, and requesting restart can be performed using \fBsvcadm\fR(1M). A
+user who has been assigned the authorization shown below can perform these
+actions:
+.sp
+.in +2
+.nf
+solaris.smf.manage.ipsec
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBauths\fR(1), \fBuser_attr\fR(4), \fBrbac\fR(5).
+.sp
+.LP
+The \fBipsecalgs\fR \fBsmf\fR(5) service does not have any user-configurable
+properties.
+.sp
+.LP
+The \fBsmf\fR(5) framework records any errors in the service-specific log file.
+Use any of the following commands to examine the \fBlogfile\fR property:
+.sp
+.in +2
+.nf
+example# \fBsvcs -l ipsecalgs\fR
+example# \fBsvcprop ipsecalgs\fR
+example# \fBsvccfg -s ipsecalgs listprop\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command requires \fBsys_ip_config\fR privilege to operate and thus can run
+in the global zone and in exclusive-IP zones. All shared-IP zones share the
+same available set of algorithms; however, you can use \fBipsecconf\fR(1M) to
+set up system policy that uses differing algorithms for various shared-IP
+zones. All exclusive-IP zones have their own set of algorithms.
diff --git a/usr/src/man/man1m/ipsecconf.1m b/usr/src/man/man1m/ipsecconf.1m
new file mode 100644
index 0000000000..82e35ef191
--- /dev/null
+++ b/usr/src/man/man1m/ipsecconf.1m
@@ -0,0 +1,1926 @@
+'\" te
+.\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ipsecconf 1M "28 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipsecconf \- configure system wide IPsec policy
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ipsecconf\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipsecconf\fR \fB-a\fR \fIfile\fR [\fB-q\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipsecconf\fR \fB-c\fR \fIfile\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipsecconf\fR \fB-d\fR [\fB-i\fR \fItunnel-name\fR] {\fIindex\fR, \fItunnel-name\fR, \fIindex\fR}
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipsecconf\fR \fB-f\fR [\fB-i\fR \fItunnel-name\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipsecconf\fR \fB-F\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipsecconf\fR \fB-l\fR [\fB-i\fR \fItunnel-name\fR] [\fB-n\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ipsecconf\fR \fB-L\fR [\fB-n\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipsecconf\fR utility configures the IPsec policy for a host or for one
+of its tunnels. Once the policy is configured, all outbound and inbound
+datagrams are subject to policy checks as they exit and enter the host or
+tunnel. For the host policy, if no entry is found, no policy checks will be
+completed, and all the traffic will pass through. For a tunnel, if no entry is
+found and there is at least one entry for the tunnel, the traffic will
+automatically drop. The difference in behavior is because of the assumptions
+about IPsec tunnels made in many implementations. Datagrams that are being
+forwarded will not be subjected to policy checks that are added using this
+command. See \fBifconfig\fR(1M) and \fBdladm\fR(1M) for information on how to
+protect forwarded packets. Depending upon the match of the policy entry, a
+specific action will be taken.
+.sp
+.LP
+This command can be run only by superuser.
+.sp
+.LP
+Each entry can protect traffic in either one direction (requiring a pair of
+entries) or by a single policy entry which installs the needed symmetric
+\fBsadb\fR rules.
+.sp
+.LP
+When the command is issued without any arguments, the list of file policy
+entries loaded are shown. To display the (\fBspd p.e.\fRs) use the \fB-l\fR
+option. Both will display the index number for the entry. To specify a single
+tunnel's SPD, use the \fB-i\fR option in combination with \fB-l\fR. To specify
+all SPDs, both host and for all tunnels, use \fB-L\fR.
+.sp
+.LP
+Note, since one file policy entry (\fBFPE\fR) can generate multiple SPD pol
+entries (\fBSPE\fRs), the list of FPEs may not show all the actual entries.
+However, it is still useful in determining what what rules have been added to
+get the spd into its current state.
+.sp
+.LP
+You can use the \fB-d\fR option with the index to delete a given policy in the
+system. If the \fB-d\fR option removes an FPE entry that produces multiple
+SPEs, only then SPD with the same policy index as the FPE will be removed. This
+can produce a situation where there may be SPEs when there are no FPEs.
+.sp
+.LP
+As with \fB-l\fR, \fB-d\fR can use the \fB-i\fR flag to indicate a tunnel. An
+alternate syntax is to specify a tunnel name, followed by a comma (\fB,\fR),
+followed by an index. For example, \fBip.tun0,1\fR.
+.sp
+.LP
+With no options, the entries are displayed in the order that they were added,
+which is not necessarily the order in which the traffic match takes place.
+.sp
+.LP
+To view the order in which the traffic match will take place, use the \fB-l\fR
+option. The rules are ordered such that all bypass rules are checked first,
+then ESP rules, then AH rules. After that, they are checked in the order
+entered.
+.sp
+.LP
+Policy entries are not preserved across system restarts. Permanent policy
+entries should be added to \fB/etc/inet/ipsecinit.conf\fR. This file is read by
+the following \fBsmf\fR(5) service:
+.sp
+.in +2
+.nf
+svc:/network/ipsec/policy
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBNOTES\fR for more information on managing IPsec security policy and
+\fBSECURITY\fR for issues in securing \fB/etc/inet/ipsecinit.conf\fR.
+.SH OPTIONS
+.sp
+.LP
+\fBipsecconf\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add the IPsec policy to the system as specified by each entry in the file. An
+IPsec configuration file contains one or more entries that specify the
+configuration. Once the policy is added, all outbound and inbound datagrams are
+subject to policy checks.
+.sp
+Entries in the files are described in the section below. Examples can be found
+in the section below.
+.sp
+Policy is latched for TCP/UDP sockets on which a \fBconnect\fR(3SOCKET) or
+\fBaccept\fR(3SOCKET) is issued. So, the addition of new policy entries may not
+affect such endpoints or sockets. However, the policy will be latched for a
+socket with an existing non-null policy. Thus, make sure that there are no
+preexisting connections that will be subject to checks by the new policy
+entries.
+.sp
+The feature of policy latching explained above may change in the future. It is
+not advisable to depend upon this feature.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check the syntax of the configuration file and report any errors without making
+any changes to the policy. This option is useful when debugging configurations
+and when \fBsmf\fR(5) reports a configuration error. See \fBSECURITY\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIindex\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the host policy denoted by the index. The index is obtained by invoking
+\fBipsecconf\fR without any arguments, or with the \fB-l\fR option. See
+DESCRIPTION for more information. Once the entry is deleted, all outbound and
+inbound datagrams affected by this policy entry will not be subjected to policy
+checks. Be advised that with connections for which the policy has been latched,
+packets will continue to go out with the same policy, even if it has been
+deleted. It is advisable to use the \fB-l\fR option to find the correct policy
+index.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIname\fR,\fIindex\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the policy entry denoted by \fIindex\fR on a tunnel denoted by
+\fIname\fR. Since tunnels affect traffic that might originate off-node,
+latching does not apply as it does in the host policy case. Equivalent to:
+\fB-d\fR \fIindex\fR \fB-i\fR \fIname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Flush all the policies in the system. Constraints are similar to the \fB-d\fR
+option with respect to latching and host versus per-tunnel behavior.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Flush all policies on all tunnels and also flush all host policies.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a tunnel interface name for use with the \fB-d\fR, \fB-f\fR, or
+\fB-l\fR flags.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Listing of a single policy table, defaulting to the host policy. When
+\fBipsecconf\fR is invoked without any arguments, a complete list of policy
+entries with indexes added by the user since boot is displayed. The current
+table can differ from the previous one if, for example, a multi-homed entry was
+added or policy reordering occurred, or if a single rule entry generates two
+\fBspd\fR rules In the case of a multi-homed entry, all the addresses are
+listed explicitly. If a mask was not specified earlier but was instead inferred
+from the address, it will be explicitly listed here. This option is used to
+view policy entries in the correct order. The outbound and inbound policy
+entries are listed separately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists all policy tables, including host policy and all tunnel instances
+(including configured but unplumbed).
+.sp
+If \fB-i\fR is specified, \fB-L\fR lists the policy table for a specific tunnel
+interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show network addresses, ports, protocols in numbers. The \fB-n\fR option may
+only be used with the \fB-l\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quiet mode. Suppresses the warning message generated when adding policies.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+Each policy entry contains three parts specified as follows:
+.sp
+.in +2
+.nf
+{pattern} action {properties}
+.fi
+.in -2
+
+.sp
+.LP
+or
+.sp
+.in +2
+.nf
+{pattern} action {properties} ["or" action {properties}]*
+.fi
+.in -2
+
+.sp
+.LP
+Every policy entry begins on a new line and can span multiple lines. If an
+entry exceeds the length of a line, you should split it only within a "braced"
+section or immediately before the first (left-hand) brace of a braced section.
+Avoid using the backslash character (\e). See EXAMPLES.
+.sp
+.LP
+The \fIpattern\fR section, as shown in the syntax above, specifies the traffic
+pattern that should be matched against the outbound and inbound datagrams. If
+there is a match, a specific \fIaction\fR determined by the second argument
+will be taken, depending upon the \fIproperties\fR of the policy entry.
+.sp
+.LP
+If there is an \fBor\fR in the rule (multiple action-properties for a given
+pattern), a transmitter will use the first action-property pair that works,
+while a receiver will use any that are acceptable.
+.sp
+.LP
+\fIpattern\fR and \fIproperties\fR are name-value pairs where name and value
+are separated by a <space>, <tab> or <newline>. Multiple name-value pairs
+should be separated by <space>, <tab> or <newline>. The beginning and end of
+the pattern and properties are marked by \fB{\fR and \fB}\fR respectively.
+.sp
+.LP
+Files can contain multiple policy entries. An unspecified name-value pair in
+the \fIpattern\fR will be considered as a wildcard. Wildcard entries match any
+corresponding entry in the datagram.
+.sp
+.LP
+One thing to remember is that UDP port 500 is always bypassed regardless of any
+policy entries. This is a requirement for \fBin.iked\fR(1M) to work.
+.sp
+.LP
+File can be commented by using a \fB#\fR as the first character. Comments may
+be inserted either at the beginning or the end of a line.
+.sp
+.LP
+The complete syntax of a policy entry is:
+.sp
+.in +2
+.nf
+policy ::= { <pattern1> } <action1> { <properties1> } |
+ { <pattern2> } <action2> { <properties2> }
+ [ 'or' <action2> { <properties2>} ]*
+
+ pattern1 ::= <pattern_name_value_pair1>*
+
+ pattern2 ::= <pattern_name_value_pair2>*
+
+ action1 ::= apply | permit | bypass | pass
+ action2 ::= bypass | pass | drop | ipsec
+
+ properties1 ::= {<prop_name_value_pair1>}
+ properties2 ::= {<prop_name_value_pair2>}
+
+
+ pattern_name_value_pair1 ::=
+ saddr <address>/<prefix> |
+ src <address>/<prefix> |
+ srcaddr <address>/<prefix> |
+ smask <mask> |
+ sport <port> |
+ daddr <address>/<prefix> |
+ dst <address>/<prefix> |
+ dstaddr <address>/<prefix> |
+ dmask <mask> |
+ dport <port> |
+ ulp <protocol> |
+ proto <protocol> |
+ type <icmp-type> |
+ type <number>-<number> |
+ code <icmp-code>
+ code <number>-<number>
+ tunnel <interface-name> |
+ negotiate <tunnel,transport>
+
+ pattern_name_value_pair2 ::=
+ raddr <address>/<prefix> |
+ remote <address>/<prefix> |
+ rport <port> |
+ laddr <address>/<prefix> |
+ local <address>/<prefix> |
+ lport <port> |
+ ulp <protocol> |
+ type <icmp-type> |
+ type <number>-<number> |
+ code <icmp-code> |
+ code <number>-<number>
+ proto <protocol> |
+ tunnel <interface-name> |
+ negotiate <tunnel,transport> |
+ dir <dir_val2>
+
+ address ::= <IPv4 dot notation> | <IPv6 colon notation> |
+ <String recognized by gethostbyname>|
+ <String recognized by getnetbyname>
+
+ prefix ::= <number>
+
+ mask ::= <0xhexdigit[hexdigit]> | <0Xhexdigit[hexdigit]> |
+ <IPv4 dot notation>
+
+ port ::= <number>| <String recognized by getservbyname>
+
+ protocol ::= <number>| <String recognized by getprotobyname>
+
+ prop_name_value_pair1 ::=
+ auth_algs <auth_alg> |
+ encr_algs <encr_alg> |
+ encr_auth_algs <auth_alg> |
+ sa <sa_val> |
+ dir <dir_val1>
+
+ prop_name_value_pair2 ::=
+ auth_algs <auth_alg> |
+ encr_algs <encr_alg> |
+ encr_auth_algs <auth_alg> |
+ sa <sa_val>
+
+ auth_alg ::= <auth_algname> ['(' <keylen> ')']
+ auth_algname ::= any | md5 | hmac-md5 | sha | sha1 | hmac-sha |
+ hmac-sha1 | hmac-sha256 | hmac-sha384 |
+ hmac-sha512 |<number>
+
+ encr_alg ::= <encr_algname> ['(' <keylen> ')']
+ encr_algname ::= any | aes | aes-cbc | des | des-cbc | 3des |
+ 3des-cbc | blowfish | blowfish-cbc | <number>
+
+ keylen ::= <number> | <number>'..' | '..'<number> | <number>'..' \e
+ <number>
+
+ sa_val ::= shared | unique
+
+ dir_val1 ::= out | in
+ dir_val2 ::= out | in | both
+
+ number ::= < 0 | 1 | 2 ... 9> <number>
+ icmp-type ::= <number> | unreach | echo | echorep | squench |
+ redir | timex | paramprob | timest | timestrep |
+ inforeq | inforep | maskreq | maskrep | unreach6 |
+ pkttoobig6 | timex6 | paramprob6 | echo6 | echorep6 |
+ router-sol6 | router-ad6 | neigh-sol6 | neigh-ad6 |
+ redir6
+
+ icmp-code ::= <number> | net-unr | host-unr | proto-unr | port-unr |
+ needfrag | srcfail | net-unk | host-unk | isolate |
+ net-prohib | host-prohib | net-tos | host-tos |
+ filter-prohib | host-preced | cutoff-preced |
+ no-route6 | adm-prohib6 | addr-unr6 | port-unr6 |
+ hop-limex6 | frag-re-timex6 | err-head6 | unrec-head6 |
+ unreq-opt6
+.fi
+.in -2
+
+.sp
+.LP
+Policy entries may contain the following (name value) pairs in the
+\fIpattern\fR field. Each (name value) pair may appear only once in given
+policy entry.
+.sp
+.ne 2
+.mk
+.na
+\fBladdr/plen\fR
+.ad
+.br
+.na
+\fBlocal/plen\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the local address of the datagram with the prefix
+length. Only plen leading bits of the source address of the packet will be
+matched. plen is optional. Local means destination on incoming and source on
+outgoing packets. The source address value can be a hostname as described in
+getaddrinfo(3SOCKET) or a network name as described in
+\fBgetnetbyname\fR(3XNET) or a host address or network address in the Internet
+standard dot notation. See \fBinet_addr\fR(3XNET). If a hostname is given and
+getaddrinfo(3SOCKET) returns multiple addresses for the host, then policy will
+be added for each of the addresses with other entries remaining the same.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBraddr/plen\fR
+.ad
+.br
+.na
+\fBremote/plen\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the remote address of the datagram with the prefix
+length. Only plen leading bits of the remote address of the packet will be
+matched. plen is optional. Remote means source on incoming packets and
+destination on outgoing packets. The remote address value can be a hostname as
+described in \fBgetaddrinfo\fR(3SOCKET) or a network name as described in
+\fBgetnetbyname\fR(3XNET) or a host address or network address in the Internet
+standard dot notation. See \fBinet_addr\fR(3XNET). If a hostname is given and
+\fBgetaddrinfo\fR(3SOCKET) returns multiple addresses for the host, then policy
+will be added for each of the addresses with other entries remaining the same.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsrc/plen\fR
+.ad
+.br
+.na
+\fBsrcaddr/plen\fR
+.ad
+.br
+.na
+\fBsaddr/plen\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the source address of the datagram with the prefix
+length. Only \fIplen\fR leading bits of the source address of the packet will
+be matched. \fIplen\fR is optional.
+.sp
+The source address value can be a hostname as described in
+\fBgetaddrinfo\fR(3SOCKET) or a network name as described in
+\fBgetnetbyname\fR(3XNET) or a host address or network address in the Internet
+standard dot notation. See \fBinet_addr\fR(3XNET).
+.sp
+If a hostname is given and \fBgetaddrinfo\fR(3SOCKET) returns multiple
+addresses for the host, then policy will be added for each of the addresses
+with other entries remaining the same.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdaddr/plen\fR
+.ad
+.br
+.na
+\fBdest/plen\fR
+.ad
+.br
+.na
+\fBdstaddr/plen\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the destination address of the datagram with the
+prefix length. Only \fIplen\fR leading bits of the destination address of the
+packet will be matched. \fIplen\fR is optional.
+.sp
+See \fIsaddr\fR for valid values that can be given. If multiple source and
+destination addresses are found, then a policy entry that covers each source
+address-destination address pair will be added to the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsmask\fR\fR
+.ad
+.sp .6
+.RS 4n
+For IPv4 only. The value that follows is the source mask. If prefix length is
+given with \fIsaddr\fR, this should not be given. This can be represented
+either in hexadecimal number with a leading \fB0x\fR or \fB0X\fR, for example,
+\fB0xffff0000\fR, \fB0Xffff0000\fR or in the Internet decimal dot notation, for
+example, \fB255.255.0.0\fR and \fB255.255.255.0\fR. The mask should be
+contiguous and the behavior is not defined for non-contiguous masks.
+.sp
+\fIsmask\fR is considered only when \fIsaddr\fR is given.
+.sp
+For both IPv4 and IPv6 addresses, the same information can be specified as a
+\fIslen\fR value attached to the \fIsaddr\fR parameter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdmask\fR\fR
+.ad
+.sp .6
+.RS 4n
+Analogous to \fIsmask.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlport\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the local port of the datagram. This can be either a
+port number or a string searched with a NULL proto argument, as described in
+getservbyname(3XNET)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrport\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the remote port of the datagram. This can be either a
+port number or a string searched with a NULL proto argument, as described in
+getservbyname(3XNET)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsport\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the source port of the datagram. This can be either a
+port number or a string searched with a \fBNULL\fR proto argument, as described
+in \fBgetservbyname\fR(3XNET)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdport\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the destination port of the datagram. This can be
+either a port number or a string as described in \fBgetservbyname\fR(3XNET)
+searched with \fBNULL\fR proto argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproto\fR \fIulp\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the Upper Layer Protocol that this entry should be
+matched against. It could be a number or a string as described in
+\fBgetprotobyname\fR(3XNET). If no smask or plen is specified, a plen of 32 for
+IPv4 or 128 for IPv6 will be used, meaning a host. If the \fIulp\fR is
+\fBicmp\fR or \fBipv6-icmp\fR, any action applying IPsec must be the same for
+all \fBicmp\fR rules.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtype\fR \fInum\fR or \fInum\fR-\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the ICMP type that this entry should be matched
+against. \fBtype\fR must be a number from 0 to 255, or one of the appropriate
+\fBicmp-type\fR keywords. Also, \fIulp\fR must be present and must specify
+either \fBicmp\fR or \fBipv6-icmp\fR. A range of types can be specified with a
+hyphen separating numbers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcode\fR \fInum\fR or \fInum\fR-\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value that follows is the ICMP code that this entry should be matched
+against. The value following the keyword \fBcode\fR must be a number from 0 to
+254 or one of the appropriate \fBicmp-code\fR keywords. Also, \fBtype\fR must
+be present. A range of codes can be specified with a hyphen separating numbers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtunnel\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a tunnel network interface, as configured with \fBifconfig\fR(1M). If
+a tunnel of \fIname\fR does not yet exist, the policy entries are added anyway,
+and joined with the tunnel state when it is created. If a tunnel is unplumbed,
+its policy entries disappear.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnegotiate\fR \fItunnel\fR\fR
+.ad
+.br
+.na
+\fB\fBnegotiate\fR \fItransport\fR\fR
+.ad
+.sp .6
+.RS 4n
+For per-tunnel security, specify whether the IPsec SAs protecting the traffic
+should be tunnel-mode SAs or transport-mode SAs. If transport-mode SAs are
+specified, no addresses can appear in the policy entry. Transport-mode is
+backward compatible with Solaris 9, and tunnel IPsec policies configured with
+\fBifconfig\fR(1M) will show up as transport mode entries here.
+.RE
+
+.sp
+.LP
+Policy entries may contain the following (name-value) pairs in the properties
+field. Each (name-value) pair may appear only once in a given policy entry.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauth_algs\fR\fR
+.ad
+.sp .6
+.RS 4n
+An acceptable value following this implies that IPsec \fBAH\fR header will be
+present in the outbound datagram. Values following this describe the
+authentication algorithms that will be used while applying the IPsec \fBAH\fR
+on outbound datagrams and verified to be present on inbound datagrams. See
+\fIRFC 2402\fR.
+.sp
+This entry can contain either a string or a decimal number.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+This should be either \fBMD5\fR or \fBHMAC-MD5\fR denoting the \fBHMAC-MD5\fR
+algorithm as described in \fIRFC 2403\fR, and \fBSHA1\fR, or \fBHMAC-SHA1\fR or
+\fBSHA\fR or \fBHMAC-SHA\fR denoting the \fBHMAC-SHA\fR algorithm described in
+\fIRFC 2404\fR. You can use the \fBipsecalgs\fR(1M) command to obtain the
+complete list of authentication algorithms.
+.sp
+The string can also be \fBANY\fR, which denotes no-preference for the
+algorithm. Default algorithms will be chosen based upon the \fBSA\fRs available
+at this time for manual \fBSA\fRs and the key negotiating daemon for automatic
+\fBSA\fRs. Strings are not case-sensitive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+A number in the range 1-255. This is useful when new algorithms can be
+dynamically loaded.
+.RE
+
+If \fIauth_algs\fR is not present, the \fBAH\fR header will not be present in
+the outbound datagram, and the same will be verified for the inbound datagram.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencr_algs\fR\fR
+.ad
+.sp .6
+.RS 4n
+An acceptable value following this implies that IPsec \fBESP\fR header will be
+present in the outbound datagram. The value following this describes the
+encryption algorithms that will be used to apply the IPsec \fBESP\fR protocol
+to outbound datagrams and verify it to be present on inbound datagrams. See
+\fIRFC 2406\fR.
+.sp
+This entry can contain either a string or a decimal number. Strings are not
+case-sensitive.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Can be one of the following:
+.sp
+
+.sp
+.TS
+tab();
+cw(1.83i) cw(1.83i) cw(1.83i)
+lw(1.83i) lw(1.83i) lw(1.83i)
+.
+string value:Algorithm Used:See RFC:
+_
+DES or DES-CBCDES-CBC2405
+3DES or 3DES-CBC3DES-CBC2451
+BLOWFISH or BLOWFISH-CBCBLOWFISH-CBC2451
+AES or AES-CBCAES-CBC2451
+.TE
+
+You can use the \fBipsecalgs\fR(1M) command to obtain the complete list of
+authentication algorithms.
+.sp
+The value can be \fBNULL\fR, which implies a \fBNULL\fR encryption, pursuant to
+\fIRFC 2410\fR. This means that the payload will not be encrypted. The string
+can also be \fBANY\fR, which indicates no-preference for the algorithm. Default
+algorithms will be chosen depending upon the SAs available at the time for
+manual SAs and upon the key negotiating daemon for automatic SAs. Strings are
+not case-sensitive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+A decimal number in the range 1-255. This is useful when new algorithms can be
+dynamically loaded.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencr_auth_algs\fR\fR
+.ad
+.sp .6
+.RS 4n
+An acceptable value following \fBencr_auth_algs\fR implies that the IPsec
+\fBESP\fR header will be present in the outbound datagram. The values following
+\fBencr_auth_algs\fR describe the authentication algorithms that will be used
+while applying the IPsec \fBESP\fR protocol on outbound datagrams and verified
+to be present on inbound datagrams. See \fIRFC 2406\fR. This entry can contain
+either a string or a number. Strings are case-insensitive.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Valid values are the same as the ones described for \fBauth_algs\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+This should be a decimal number in the range 1-255. This is useful when new
+algorithms can be dynamically loaded.
+.RE
+
+If \fBencr_algs\fR is present and \fBencr_auth_algs\fR is not present in a
+policy entry, the system will use an \fBESP\fR \fBSA\fR regardless of whether
+the \fBSA\fR has an authentication algorithm or not.
+.sp
+If \fBencr_algs\fR is not present and \fBencr_auth_algs\fR is present in a
+policy entry, null encryption will be provided, which is equivalent to
+\fBencr_algs\fR with \fBNULL\fR, for outbound and inbound datagrams.
+.sp
+If both \fBencr_algs\fR and \fBencr_auth_algs\fR are not present in a policy
+entry, \fBESP\fR header will not be present for outbound datagrams and the same
+will be verified for inbound datagrams.
+.sp
+If both \fBencr_algs\fR and \fBencr_auth_algs\fR are present in a policy entry,
+\fBESP\fR header with integrity checksum will be present on outbound datagrams
+and the same will be verified for inbound datagrams.
+.sp
+For \fBencr_algs\fR, \fBencr_auth_algs\fR, and \fBauth_algs\fR a key length
+specification may be present. This is either a single value specifying the only
+valid key length for the algorithm or a range specifying the valid minimum
+and/or maximum key lengths. Minimum or maximum lengths may be omitted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Values following this decides whether this entry is for outbound or inbound
+datagram. Valid values are strings that should be one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBout\fR\fR
+.ad
+.sp .6
+.RS 4n
+This means that this policy entry should be considered only for outbound
+datagrams.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBin\fR\fR
+.ad
+.sp .6
+.RS 4n
+This means that this policy entry should be considered only for inbound
+datagrams.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBboth\fR\fR
+.ad
+.sp .6
+.RS 4n
+This means that this policy entry should be considered for both inbound and
+outbound datagrams
+.RE
+
+This entry is not needed when the action is "apply", "permit" or "ipsec". But
+if it is given while the action is "apply" or "permit", it should be "out" or
+"in" respectively. This is mandatory when the action is "bypass".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsa\fR\fR
+.ad
+.sp .6
+.RS 4n
+Values following this decide the attribute of the security association. Value
+indicates whether a unique security association should be used or any existing
+\fBSA\fR can be used. If there is a policy requirement, \fBSA\fRs are created
+dynamically on the first outbound datagram using the key management daemon.
+Static \fBSA\fRs can be created using \fBipseckey\fR(1M). The values used here
+determine whether a new \fBSA\fR will be used/obtained. Valid values are
+strings that could be one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunique\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unique Association. A new/unused association will be obtained/used for packets
+matching this policy entry. If an \fBSA\fR that was previously used by the same
+5 tuples, that is, {Source address, Destination address, Source port,
+Destination Port, Protocol (for example, \fBTCP\fR/\fBUDP\fR)} exists, it will
+be reused. Thus uniqueness is expressed by the 5 tuples given above. The
+security association used by the above 5 tuples will not be used by any other
+socket. For inbound datagrams, uniqueness will not be verified.
+.sp
+For tunnel-mode tunnels, \fBunique\fR is ignored. SAs are assigned per-rule in
+tunnel-mode tunnels. For transport-mode tunnels, \fBunique\fR is implicit,
+because the enforcement happens only on the outer-packet addresses and protocol
+value of either IPv4-in-IP or IPv6-in-IP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshared\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shared association. If an \fBSA\fR exists already for this source-destination
+pair, it will be used. Otherwise a new \fBSA\fR will be obtained. This is the
+default.
+.RE
+
+This is mandatory only for outbound policy entries and should not be given for
+entries whose action is "bypass". If this entry is not given for inbound
+entries, for example, when "dir" is in or "action" is permit, it will be
+assumed to be shared.
+.RE
+
+.sp
+.LP
+Action follows the pattern and should be given before properties. It should be
+one of the following and this field is mandatory.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipsec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use IPsec for the datagram as described by the properties, if the pattern
+matches the datagram. If ipsec is given without a dir spec , the pattern is
+matched to incoming and outgoing datagrams.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBapply\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply IPsec to the datagram as described by the properties, if the pattern
+matches the datagram. If \fBapply\fR is given, the pattern is matched only on
+the outbound datagram.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpermit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Permit the datagram if the pattern matches the incoming datagram and satisfies
+the constraints described by the properties. If it does not satisfy the
+properties, discard the datagram. If \fBpermit\fR is given, the pattern is
+matched only for inbound datagrams.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbypass\fR\fR
+.ad
+.br
+.na
+\fB\fBpass\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bypass any policy checks if the pattern matches the datagram. \fBdir\fR in the
+properties decides whether the check is done on outbound or inbound datagrams.
+All the \fBbypass\fR entries are checked before checking with any other policy
+entry in the system. This has the highest precedence over any other entries.
+\fBdir\fR is the only field that should be present when action is \fBbypass\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdrop\fR\fR
+.ad
+.sp .6
+.RS 4n
+Drop any packets that match the pattern.
+.RE
+
+.sp
+.LP
+If the file contains multiple policy entries, for example, they are assumed to
+be listed in the order in which they are to be applied. In cases of multiple
+entries matching the outbound and inbound datagram, the first match will be
+taken. The system will reorder the policy entry, that is, add the new entry
+before the old entry, only when:
+.sp
+.LP
+The level of protection is "stronger" than the old level of protection.
+.sp
+.LP
+Currently, strength is defined as:
+.sp
+.in +2
+.nf
+AH and ESP > ESP > AH
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The standard uses of \fBAH\fR and \fBESP\fR were what drove this ranking of
+"stronger". There are flaws with this. \fBESP \fR can be used either without
+authentication, which will allow cut-and-paste or replay attacks, or without
+encryption, which makes it equivalent or slightly weaker than \fBAH\fR. An
+administrator should take care to use \fBESP\fR properly. See
+\fBipsecesp\fR(7P) for more details.
+.sp
+.LP
+If the new entry has \fBbypass\fR as action, \fBbypass\fR has the highest
+precedence. It can be added in any order, and the system will still match all
+the \fBbypass\fR entries before matching any other entries. This is useful for
+key management daemons which can use this feature to bypass IPsec as it
+protects its own traffic.
+.sp
+.LP
+Entries with both \fBAH\fR (\fBauth_algs\fR present in the policy entry) and
+\fBESP\fR (\fBencr_auth_algs\fR or \fBencr_auth_algs\fR present in the policy
+entry) protection are ordered after all the entries with \fBAH\fR and \fBESP\fR
+and before any \fBAH\fR-only and \fBESP\fR-only entries. In all other cases the
+order specified by the user is not modified, that is, newer entries are added
+at the end of all the old entries. See .
+.sp
+.LP
+A new entry is considered duplicate of the old entry if an old entry matches
+the same traffic pattern as the new entry. See for information on duplicates.
+.SH SECURITY
+.sp
+.LP
+If, for example, the policy file comes over the wire from an \fBNFS\fR mounted
+file system, an adversary can modify the data contained in the file, thus
+changing the policy configured on the machine to suit his needs. Administrators
+should be cautious about transmitting a copy of the policy file over a network.
+.sp
+.LP
+To prevent non-privileged users from modifying the security policy, ensure that
+the configuration file is writable only by trusted users.
+.sp
+.LP
+The configuration file is defined by a property of the \fBpolicy\fR
+\fBsmf\fR(5) service. The default configuration file, is
+\fB/etc/inet/ipsecinit.conf\fR. This can be changed using the \fBsvcprop\fR(1)
+command. See \fBNOTES\fR for more details.
+.sp
+.LP
+The policy description language supports the use of tokens that can be resolved
+by means of a name service, using functions such as \fBgethostbyname\fR(3NSL).
+While convenient, these functions are only secure as the name service the
+system is configured to use. Great care should be taken to secure the name
+service if it is used to resolve elements of the security policy.
+.sp
+.LP
+If your source address is a host that can be looked up over the network and
+your naming system itself is compromised, then any names used will no longer be
+trustworthy.
+.sp
+.LP
+If the name switch is configured to use a name service that is not local to the
+system, bypass policy entries might be required to prevent the policy from
+preventing communication to the name service. See \fBnsswitch.conf\fR(4).
+.sp
+.LP
+Policy is latched for \fBTCP/UDP\fR sockets on which a \fBconnect\fR(3SOCKET)
+or \fBaccept\fR(3SOCKET) has been issued. Adding new policy entries will not
+have any effect on them. This feature of latching may change in the future. It
+is not advisable to depend upon this feature.
+.sp
+.LP
+The \fBipsecconf\fR command can only be run by a user who has sufficient
+privilege to open the \fBpf_key\fR(7P) socket. The appropriate privilege can be
+assigned to a user with the Network IPsec Management profile. See
+\fBprofiles\fR(1), \fBrbac\fR(5), \fBprof_attr\fR(4).
+.sp
+.LP
+Make sure to set up the policies before starting any communications, as
+existing connections may be affected by the addition of new policy entries.
+Similarly, do not change policies in the middle of a communication.
+.sp
+.LP
+Note that certain \fBndd\fR tunables affect how policies configured with this
+tool are enforced; see \fBipsecesp\fR(7P) for more details.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRProtecting Outbound \fBTCP\fR Traffic With \fBESP\fR and the
+\fBAES\fR Algorithm
+.sp
+.LP
+The following example specified that any \fBTCP\fR packet from spiderweb to
+arachnid should be encrypted with \fBAES\fR, and the \fB SA\fR could be a
+shared one. It does not verify whether or not the inbound traffic is encrypted.
+
+.sp
+.in +2
+.nf
+#
+# Protect the outbound TCP traffic between hosts spiderweb
+# and arachnid with ESP and use AES algorithm.
+#
+{
+ laddr spiderweb
+ raddr arachnid
+ ulp tcp
+ dir out
+} ipsec {
+ encr_algs AES
+}
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRVerifying Whether or Not Inbound Traffic is Encrypted
+.sp
+.LP
+Example 1 does not verify whether or not the inbound traffic is encrypted. The
+entry in this example protects inbound traffic:
+
+.sp
+.in +2
+.nf
+#
+# Protect the TCP traffic on inbound with ESP/DES from arachnid
+# to spiderweb
+#
+{
+ laddr spiderweb
+ raddr arachnid
+ ulp tcp
+ dir in
+} ipsec {
+ encr_algs AES
+}
+.fi
+.in -2
+
+.sp
+.LP
+\fBsa\fR can be absent for inbound policy entries as it implies that it can be
+a shared one. Uniqueness is not verified on inbound. Note that in both the
+above entries, authentication was never specified. This can lead to cut and
+paste attacks. As mentioned previously, though the authentication is not
+specified, the system will still use an \fBESP\fR \fBSA\fR with
+\fBencr_auth_alg\fR specified, if it was found in the \fBSA\fR tables.
+
+.LP
+\fBExample 3 \fRProtecting All Traffic Between Two Hosts
+.sp
+.LP
+The following example protects both directions at once:
+
+.sp
+.in +2
+.nf
+{
+ laddr spiderweb
+ raddr arachnid
+ ulp tcp
+} ipsec {
+ encr_algs AES
+}
+.fi
+.in -2
+
+.LP
+\fBExample 4 \fRAuthenticating All Inbound Traffic to the Telnet Port
+.sp
+.LP
+This entry specifies that any inbound datagram to telnet port should come in
+authenticated with the SHA1 algorithm. Otherwise the datagram should not be
+permitted. Without this entry, traffic destined to port number 23 can come in
+clear. \fBsa\fR is not specified, which implies that it is shared. This can be
+done only for inbound entries. You need to have an equivalent entry to protect
+outbound traffic so that the outbound traffic is authenticated as well, remove
+the dir.
+
+.sp
+.in +2
+.nf
+#
+# All the inbound traffic to the telnet port should be
+# authenticated.
+#
+{
+ lport telnet
+ dir in
+} ipsec {
+ auth_algs sha1
+}
+.fi
+.in -2
+
+.LP
+\fBExample 5 \fRVerifying Inbound Traffic is Null-Encrypted
+.sp
+.LP
+The first entry specifies that any packet with address host-B should not be
+checked against any policies. The second entry specifies that all inbound
+traffic from network-B should be encrypted with a \fBNULL\fR encryption
+algorithm and the \fBMD5\fR authentication algorithm. \fBNULL\fR encryption
+implies that \fBESP\fR header will be used without encrypting the datagram. As
+the first entry is \fBbypass\fR it need not be given first in order, as
+\fBbypass\fR entries have the highest precedence. Thus any inbound traffic will
+be matched against all \fBbypass\fR entries before any other policy entries.
+
+.sp
+.in +2
+.nf
+#
+# Make sure that all inbound traffic from network-B is NULL
+# encrypted, but bypass for host-B alone from that network.
+# Add the bypass first.
+{
+raddr host-B
+ dir in
+} bypass {}
+
+# Now add for network-B.
+{
+ raddr network-B/16
+ dir in
+} ipsec {
+encr_algs NULL
+encr_auth_algs md5
+}
+.fi
+.in -2
+
+.LP
+\fBExample 6 \fREntries to Bypass Traffic from IPsec
+.sp
+.LP
+The first two entries provide that any datagram leaving the machine with source
+port 53 or coming into port number 53 should not be subjected to IPsec policy
+checks, irrespective of any other policy entry in the system. Thus the latter
+two entries will be considered only for ports other than port number 53.
+
+.sp
+.in +2
+.nf
+#
+# Bypass traffic for port no 53
+ #
+{lport 53} bypass {}
+{rport 53} bypass {}
+{raddr spiderweb } ipsec {encr_algs any sa unique}
+.fi
+.in -2
+
+.LP
+\fBExample 7 \fRProtecting Outbound Traffic
+.sp
+.in +2
+.nf
+ #
+ # Protect the outbound traffic from all interfaces.
+ #
+{raddr spiderweb dir out} ipsec {auth_algs any sa unique}
+.fi
+.in -2
+
+.sp
+.LP
+If the \fBgethostbyname\fR(3XNET) call for spiderweb yields multiple addresses,
+multiple policy entries will be added for all the source address with the same
+properties.
+
+.sp
+.in +2
+.nf
+{
+ laddr arachnid
+ raddr spiderweb
+ dir in
+} ipsec {auth_algs any sa unique}
+.fi
+.in -2
+
+.sp
+.LP
+If the \fBgethostbyname\fR(3XNET) call for spiderweb and the
+\fBgethostbyname\fR(3XNET) call for arachnid yield multiple addresses, multiple
+policy entries will be added for each (\fBsaddr\fR \fBdaddr\fR) pair with the
+same properties. Use \fBipsecconf\fR \fB-l\fR to view all the policy entries
+added.
+
+.LP
+\fBExample 8 \fRBypassing Unauthenticated Traffic
+.sp
+.in +2
+.nf
+#
+# Protect all the outbound traffic with ESP except any traffic
+# to network-b which should be authenticated and bypass anything
+# to network-c
+#
+{raddr network-b/16 dir out} ipsec {auth_algs any}
+{dir out} ipsec {encr_algs any}
+{raddr network-c/16 dir out} bypass {} # NULL properties
+.fi
+.in -2
+
+.sp
+.LP
+Note that \fBbypass\fR can be given anywhere and it will take precedence over
+all other entries. \fBNULL\fR pattern matches all the traffic.
+
+.LP
+\fBExample 9 \fREncrypting IPv6 Traffic with 3DES and MD5
+.sp
+.LP
+The following entry on the host with the link local address
+\fBfe80::a00:20ff:fe21:4483\fR specifies that any outbound traffic between the
+hosts wtih IPv6 link-local addresses \fBfe80::a00:20ff:fe21:4483\fR and
+\fBfe80::a00:20ff:felf:e346\fR must be encrypted with \fB3DES\fR and \fBMD5.\fR
+
+.sp
+.in +2
+.nf
+{
+ laddr fe80::a00:20ff:fe21:4483
+ raddr fe80::a00:20ff:felf:e346
+ dir out
+} ipsec {
+ encr_algs 3DES
+ encr_auth_algs MD5
+}
+.fi
+.in -2
+
+.LP
+\fBExample 10 \fRVerifying IPv6 Traffic is Authenticated with SHA1
+.sp
+.LP
+The following two entries require that all IPv6 traffic to and from the IPv6
+site-local network \fBfec0:abcd::0/32\fR be authenticated with \fBSHA1\fR.
+
+.sp
+.in +2
+.nf
+{raddr fec0:abcd::0/32} ipsec { auth_algs SHA1 }
+.fi
+.in -2
+
+.LP
+\fBExample 11 \fRKey Lengths
+.sp
+.in +2
+.nf
+# use aes at any key length
+{raddr spiderweb} ipsec {encr_algs aes}
+
+# use aes with a 192 bit key
+{raddr spiderweb} ipsec {encr_algs aes(192)}
+
+# use aes with any key length up to 192 bits
+# i.e. 192 bits or less
+{raddr spiderweb} ipsec {encr_algs aes(..192)}
+
+# use aes with any key length of 192 or more
+# i.e. 192 bits or more
+{raddr spiderweb} ipsec {encr_algs aes(192..)}
+
+#use aes with any key from 192 to 256 bits
+{raddr spiderweb} ipsec {encr_algs aes(192..256)}
+
+#use any algorithm with a key of 192 bits or longer
+{raddr spiderweb} ipsec {encr_algs any(192..)}
+.fi
+.in -2
+
+.LP
+\fBExample 12 \fRCorrect and Incorrect Policy Entries
+.sp
+.LP
+The following are examples of correctly formed policy entries:
+
+.sp
+.in +2
+.nf
+{ raddr that_system rport telnet } ipsec { encr_algs 3des encr_auth_algs
+sha1 sa shared}
+
+{
+ raddr that_system
+ rport telnet
+} ipsec {
+ encr_algs 3des
+ encr_auth_algs sha1
+ sa shared
+}
+
+{ raddr that_system rport telnet } ipsec
+ { encr_algs 3des encr_auth_algs sha1 sa shared}
+
+{ raddr that_system rport telnet } ipsec
+ { encr_algs 3des encr_auth_algs sha1 sa shared} or ipsec
+ { encr_algs aes encr_auth_algs sha1 sa shared}
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...and the following is an incorrectly formed entry:
+
+.sp
+.in +2
+.nf
+{ raddr that_system rport telnet } ipsec
+ { encr_algs 3des encr_auth_algs sha1 sa shared}
+ or ipsec { encr_algs aes encr_auth_algs sha1 sa shared}
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the preceding, incorrect entry, note that the third line begins with "\fBor
+ipsec\fR". Such an entry causes \fBipsecconf\fR to return an error.
+
+.LP
+\fBExample 13 \fRAllowing Neighbor Discovery to Occur in the Clear
+.sp
+.LP
+The following two entries require that all IPv6 traffic to and from the IPv6
+site-local network \fBfec0:abcd::0/32\fR be authenticated with SHA1. The second
+entry allows neighbor discovery to operate correctly.
+
+.sp
+.in +2
+.nf
+{raddr fec0:abcd::0/32} ipsec { auth_algs SHA1 }
+{raddr fec0:abcd::0/32 ulp ipv6-icmp type 133-137 dir both }
+ pass { }
+.fi
+.in -2
+
+.LP
+\fBExample 14 \fRUsing "or"
+.sp
+.LP
+The following entry allows traffic using the AES or Blowfish algorithms from
+the remote machine spiderweb:
+
+.sp
+.in +2
+.nf
+{raddr spiderweb} ipsec {encr_algs aes} or ipsec {encr_algs blowfish}
+.fi
+.in -2
+
+.LP
+\fBExample 15 \fRConfiguring a Tunnel to be Backward-Compatible with Solaris 9
+.sp
+.LP
+The following example is equivalent to "\fBencr_algs aes encr_auth_algs md5\fR"
+in \fBifconfig\fR(1M):
+
+.sp
+.in +2
+.nf
+{tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes
+ encr_auth_algs md5}
+.fi
+.in -2
+
+.LP
+\fBExample 16 \fRConfiguring a Tunnel to a VPN client with an Assigned Address
+.sp
+.LP
+The following example assumes a distinct "inside" network with its own
+topology, such that a client's default route goes "inside".
+
+.sp
+.in +2
+.nf
+# Unlike route(1m), the default route has to be spelled-out.
+{tunnel ip.tun0 negotiate tunnel raddr client-inside/32
+laddr 0.0.0.0/0} ipsec {encr_algs aes encr_auth_algs sha1}
+.fi
+.in -2
+
+.LP
+\fBExample 17 \fRTransit VPN router between Two Tunnelled Subnets and a Third
+.sp
+.LP
+The following example specifies a configuration for a VPN router that routes
+between two tunnelled subnets and a third subnet that is on-link. Consider
+remote-site A, remote-site B, and local site C, each with a \fB/24\fR address
+allocation.
+
+.sp
+.in +2
+.nf
+# ip.tun0 between me (C) and remote-site A.
+# Cover remote-site A to remote-side B.
+{tunnel ip.tun0 negotiate tunnel raddr A-prefix/24 laddr
+B-prefix/24} ipsec {encr_algs 3des encr_auth_algs md5}
+
+# Cover remote-site A traffic to my subnet.
+{tunnel ip.tun0 negotiate tunnel raddr A-prefix/24 laddr
+C-prefix/24} ipsec {encr_algs 3des encr_auth_algs md5}
+
+# ip.tun1 between me (C) and remote-site B.
+# Cover remote-site B to remote-site A.
+{tunnel ip.tun1 negotiate tunnel raddr B-prefix/24 laddr
+A-prefix/24} ipsec {encr_algs aes encr_auth_algs sha1}
+
+# Cover remote-site B traffic to my subnet.
+{tunnel ip.tun1 negotiate tunnel raddr B-prefix/24 laddr
+C-prefix/24} ipsec {encr_algs aes encr_auth_algs md5}
+.fi
+.in -2
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/ipsecpolicy.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cache of IPsec policies currently configured for the system, maintained by
+\fBipsecconf\fR command. Do not edit this file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ipsecinit.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing IPsec policies to be installed at system restart by the
+\fBpolicy\fR \fBsmf\fR(5) service. See \fBNOTES\fR for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/ipsecinit.sample\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sample input file for \fBipseconf\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBauths\fR(1), \fBprofiles\fR(1), \fBsvcprop\fR(1), \fBsvcs\fR(1),
+\fBin.iked\fR(1M), \fBinit\fR(1M), \fBifconfig\fR(1M), \fBipsecalgs\fR(1M),
+\fBipseckey\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBgethostbyname\fR(3NSL), \fBaccept\fR(3SOCKET), \fBconnect\fR(3SOCKET),
+\fBgethostbyname\fR(3XNET), \fBgetnetbyname\fR(3XNET),
+\fBgetprotobyname\fR(3XNET), \fBgetservbyname\fR(3XNET),
+\fBgetaddrinfo\fR(3SOCKET), \fBsocket\fR(3SOCKET), \fBike.config\fR(4),
+\fBnsswitch.conf\fR(4), \fBprof_attr\fR(4), \fBuser_attr\fR(4),
+\fBattributes\fR(5), \fBrbac\fR(5), \fBsmf\fR(5), \fBipsecah\fR(7P),
+\fBipsecesp\fR(7P), \fBpf_key\fR(7P)
+.sp
+.LP
+Glenn, R. and Kent, S. \fIRFC 2410, The NULL Encryption Algorithm and Its Use
+With IPsec\fR. The Internet Society. 1998.
+.sp
+.LP
+Kent, S. and Atkinson, R. \fIRFC 2402, IP Authentication Header\fR.The Internet
+Society. 1998.
+.sp
+.LP
+Kent, S. and Atkinson, R. \fIRFC 2406, IP Encapsulating Security Payload
+(ESP)\fR. The Internet Society. 1998.
+.sp
+.LP
+Madsen, C. and Glenn, R. \fIRFC 2403, The Use of HMAC-MD5-96 within ESP and
+AH\fR. The Internet Society. 1998.
+.sp
+.LP
+Madsen, C. and Glenn, R. \fIRFC 2404, The Use of HMAC-SHA-1-96 within ESP and
+AH\fR. The Internet Society. 1998.
+.sp
+.LP
+Madsen, C. and Doraswamy, N. \fIRFC 2405, The ESP DES-CBC Cipher Algorithm With
+Explicit IV\fR. The Internet Society. 1998.
+.sp
+.LP
+Pereira, R. and Adams, R. \fIRFC 2451, The ESP CBC-Mode Cipher Algorithms\fR.
+The Internet Society. 1998.
+.sp
+.LP
+Frankel, S. and Kelly, R. Glenn, \fIThe AES Cipher Algorithm and Its Use With
+IPsec\fR. 2001.
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fBBad "string" on line \fIN\fR.\fR
+.ad
+.br
+.na
+\fBDuplicate "string" on line \fIN\fR.\fR
+.ad
+.sp .6
+.RS 4n
+\fIstring\fR refers to one of the names in pattern or properties. A Bad string
+indicates that an argument is malformed; a Duplicate string indicates that
+there are multiple arguments of a similar type, for example, multiple Source
+Address arguments.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBInterface name already selected\fR
+.ad
+.sp .6
+.RS 4n
+Dual use of \fB-i\fR \fIname\fR and \fIname\fR,\fIindex\fR for an index.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBError before or at line \fIN\fR.\fR
+.ad
+.sp .6
+.RS 4n
+Indicates parsing error before or at line \fIN\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBNon-existent index\fR
+.ad
+.sp .6
+.RS 4n
+Reported when the \fIindex\fR for delete is not a valid one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBspd_msg return: File exists\fR
+.ad
+.sp .6
+.RS 4n
+Reported when there is already a policy entry that matches the traffic of this
+new entry.
+.RE
+
+.SH NOTES
+.sp
+.LP
+IPsec manual keys are managed by the service management facility, \fBsmf\fR(5).
+The services listed below manage the components of IPsec. These services are
+delivered as follows:
+.sp
+.in +2
+.nf
+svc:/network/ipsec/policy:default (enabled)
+svc:/network/ipsec/ipsecalgs:default (enabled)
+svc:/network/ipsec/manual-key:default (disabled)
+svc:/network/ipsec/ike:default (disabled)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The manual-key service is delivered disabled. The system administrator must
+create manual IPsec Security Associations (SAs), as described in
+\fBipseckey\fR(1M), before enabling that service.
+.sp
+.LP
+The policy service is delivered enabled, but without a configuration file, so
+that, as a starting condition, packets are not protected by IPsec. After you
+create the configuration file \fB/etc/inet/ipsecinit.conf\fR, as described in
+this man page, and refresh the service (\fBsvcadm refresh\fR, see below), the
+policy contained in the configuration file is applied. If there is an error in
+this file, the service enters maintenance mode.
+.sp
+.LP
+Services that are delivered disabled are delivered that way because the system
+administrator must create configuration files for those services before
+enabling them. See \fBike.config\fR(4) for the \fBike\fR service.
+.sp
+.LP
+See \fBipsecalgs\fR(1M) for the \fBipsecalgs\fR service.
+.sp
+.LP
+The correct administrative procedure is to create the configuration file for
+each service, then enable each service using \fBsvcadm\fR(1M).
+.sp
+.LP
+If the configuration needs to be changed, edit the configuration file then
+refresh the service, as follows:
+.sp
+.in +2
+.nf
+example# \fBsvcadm refresh policy\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBsmf\fR(5) framework will record any errors in the service-specific log
+file. Use any of the following commands to examine the \fBlogfile\fR property:
+.sp
+.in +2
+.nf
+example# \fBsvcs -l policy\fR
+example# \fBsvcprop policy\fR
+example# \fBsvccfg -s policy listprop\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following property is defined for the \fBpolicy\fR service:
+.sp
+.in +2
+.nf
+config/config_file
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This property can be modified using \fBsvccfg\fR(1M) by users who have been
+assigned the following authorization:
+.sp
+.in +2
+.nf
+solaris.smf.value.ipsec
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBauths\fR(1), \fBuser_attr\fR(4), \fBrbac\fR(5).
+.sp
+.LP
+The service needs to be refreshed using \fBsvcadm\fR(1M) before the new
+property is effective. General non-modifiable properties can be viewed with the
+\fBsvcprop\fR(1) command.
+.sp
+.in +2
+.nf
+# \fBsvccfg -s ipsec/policy setprop config/config_file = /new/config_file\fR
+# \fBsvcadm refresh policy\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling,
+refreshing, and requesting restart can be performed using \fBsvcadm\fR(1M). A
+user who has been assigned the authorization shown below can perform these
+actions:
+.sp
+.in +2
+.nf
+solaris.smf.manage.ipsec
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The service's status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+The \fBipsecconf\fR command is designed to be managed by the \fBpolicy\fR
+\fBsmf\fR(5) service. While the \fBipsecconf\fR command can be run from the
+command line, this is discouraged. If the \fBipsecconf\fR command is to be run
+from the command line, the \fBpolicy\fR \fBsmf\fR(5) service should be disabled
+first. See \fBsvcadm\fR(1M).
diff --git a/usr/src/man/man1m/ipseckey.1m b/usr/src/man/man1m/ipseckey.1m
new file mode 100644
index 0000000000..e71db5203b
--- /dev/null
+++ b/usr/src/man/man1m/ipseckey.1m
@@ -0,0 +1,1725 @@
+'\" te
+.\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ipseckey 1M "25 Sep 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ipseckey \- manually manipulate an IPsec Security Association Database (SADB)
+.SH SYNOPSIS
+.LP
+.nf
+\fBipseckey\fR [\fB-nvp\fR]
+.fi
+
+.LP
+.nf
+\fBipseckey\fR [\fB-nvp\fR] \fB-f\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fBipseckey\fR \fB-c\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fBipseckey\fR [\fB-nvp\fR] [delete | delete-pair | get] SA_TYPE {EXTENSION \fIvalue\fR...}
+.fi
+
+.LP
+.nf
+\fBipseckey\fR [\fB-np\fR] [monitor | passive_monitor | pmonitor]
+.fi
+
+.LP
+.nf
+\fBipseckey\fR [\fB-nvp\fR] flush {SA_TYPE}
+.fi
+
+.LP
+.nf
+\fBipseckey\fR [\fB-nvp\fR] dump {SA_TYPE}
+.fi
+
+.LP
+.nf
+\fBipseckey\fR [\fB-nvp\fR] save SA_TYPE {\fIfilename\fR}
+.fi
+
+.LP
+.nf
+\fBipseckey\fR [\fB-nvp\fR] \fB-s\fR \fIfilename\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBipseckey\fR command is used to manually manipulate the security
+association databases of the network security services, \fBipsecah\fR(7P) and
+\fBipsecesp\fR(7P). You can use the \fBipseckey\fR command to set up security
+associations between communicating parties when automated key management is not
+available.
+.sp
+.LP
+While the \fBipseckey\fR utility has only a limited number of general options,
+it supports a rich command language. The user may specify requests to be
+delivered by means of a programmatic interface specific for manual keying. See
+\fBpf_key\fR(7P). When \fBipseckey\fR is invoked with no arguments, it will
+enter an interactive mode which prints a prompt to the standard output and
+accepts commands from the standard input until the end-of-file is reached. Some
+commands require an explicit security association ("\fBSA\fR") type, while
+others permit the \fBSA\fR type to be unspecified and act on all \fBSA\fR
+types.
+.sp
+.LP
+\fBipseckey\fR uses a \fBPF_KEY\fR socket and the message types \fBSADB_ADD\fR,
+\fBSADB_DELETE\fR, \fBSADB_GET\fR, \fBSADB_UPDATE\fR, \fBSADB_FLUSH\fR, and
+\fBSADB_X_PROMISC\fR. Thus, you must be a superuser to use this command.
+.sp
+.LP
+\fBipseckey\fR handles sensitive cryptographic keying information. Please read
+the \fBSecurity\fR section for details on how to use this command securely.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR [\fIfilename\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Analogous to the \fB-f\fR option (see following), except that the input is not
+executed but only checked for syntactical correctness. Errors are reported to
+\fBstderr\fR. This option is provided to debug configurations without making
+changes. See \fBSECURITY\fR and "Service Management Facility" for more
+information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR [\fIfilename\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Read commands from an input file, \fIfilename\fR. The lines of the input file
+are identical to the command line language. The \fBload\fR command provides
+similar functionality. The \fB-s\fR option or the \fBsave\fR command can
+generate files readable by the \fB-f\fR argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevent attempts to print host and network names symbolically when reporting
+actions. This is useful, for example, when all name servers are down or are
+otherwise unreachable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Paranoid. Do not print any keying material, even if saving \fBSA\fRs. Instead
+of an actual hexadecimal digit, print an \fBX\fR when this flag is turned on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR [\fIfilename\fR]\fR
+.ad
+.sp .6
+.RS 4n
+The opposite of the \fB-f\fR option. If '\fB-\fR' is given for a
+\fIfilename\fR, then the output goes to the standard output. A snapshot of all
+current \fBSA\fR tables will be output in a form readable by the \fB-f\fR
+option. The output will be a series of \fBadd\fR commands, but with some names
+not used. This occurs because a single name may often indicate multiple
+addresses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. Print the messages being sent into the \fBPF_KEY\fR socket, and print
+raw seconds values for lifetimes.
+.RE
+
+.SH COMMANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add an \fBSA\fR. Because it involves the transfer of keying material, it cannot
+be invoked from the shell, lest the keys be visible in \fBps\fR(1) output. It
+can be used either from the interactive \fBipseckey>\fR prompt or in a command
+file specified by the \fB-f\fR command. The \fBadd\fR command accepts all
+extension-value pairs described below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBupdate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Update \fBSA\fR lifetime, and in the cases of larval \fBSA\fRs (leftover from
+aborted automated key management), keying material and other extensions. Like
+\fBadd\fR, this command cannot be invoked from the shell because keying
+material would be seen by the \fBps\fR(1) command. It can be used either from
+the interactive \fBipseckey>\fR prompt or in a command file specified by the
+\fB-f\fR command. The \fBupdate\fR command accepts all extension-value pairs,
+but normally is only used for \fBSA\fR lifetime updates.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBupdate-pair\fR\fR
+.ad
+.sp .6
+.RS 4n
+As update, but apply the update to the SA and its paired SA, if there is one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete a specific \fBSA\fR from a specific \fBSADB\fR. This command requires
+the \fBspi\fR extension, and the \fBdest\fR extension for IPsec \fBSA\fRs.
+Other extension-value pairs are superfluous for a delete message. If the SA to
+be deleted is paired with another SA, the SA is deleted and the paired SA is
+updated to indicate that it is now unpaired.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete-pair\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete a specific SA from a specific SADB. If the SA is paired with another SA,
+delete that SA too. This command requires the \fBspi\fR extension and the
+\fBdest\fR extension for the IPsec SA, or its pair.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lookup and display a security association from a specific \fBSADB\fR. Like
+\fBdelete\fR, this command only requires \fBspi\fR and \fBdest\fR for IPsec.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflush\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove all \fBSA\fR for a given \fBSA_TYPE\fR, or all \fBSA\fR for all types.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmonitor\fR\fR
+.ad
+.sp .6
+.RS 4n
+Continuously report on any \fBPF_KEY\fR messages. This uses the
+\fBSADB_X_PROMISC\fR message to enable messages that a normal \fBPF_KEY\fR
+socket would not receive to be received. See \fBpf_key\fR(7P).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpassive_monitor\fR\fR
+.ad
+.sp .6
+.RS 4n
+Like monitor, except that it does not use the \fBSADB_X_PROMISC\fR message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpmonitor\fR\fR
+.ad
+.sp .6
+.RS 4n
+Synonym for \fBpassive_monitor\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdump\fR\fR
+.ad
+.sp .6
+.RS 4n
+Will display all \fBSA\fRs for a given \fBSA\fR type, or will display all
+\fBSA\fRs. Because of the large amount of data generated by this command, there
+is no guarantee that all \fBSA\fR information will be successfully delivered,
+or that this command will even complete.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsave\fR\fR
+.ad
+.sp .6
+.RS 4n
+Is the command analog of the \fB-s\fR option. It is included as a command to
+provide a way to snapshot a particular \fBSA\fR type, for example, \fBesp\fR or
+\fBah\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhelp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints a brief summary of commands.
+.RE
+
+.SS "\fBSA_TYPE\fR"
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies all known \fBSA\fR types. This type is only used for the \fBflush\fR
+and \fBdump\fR commands. This is equivalent to having no \fBSA\fR type for
+these commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBah\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the IPsec Authentication Header ("\fBAH\fR") \fBSA\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBesp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the IPsec Encapsulating Security Payload ("\fBESP\fR") \fBSA\fR.
+.RE
+
+.SH EXTENSION VALUE TYPES
+.sp
+.LP
+Commands like \fBadd\fR, \fBdelete\fR, \fBget\fR, and \fBupdate\fR require that
+certain extensions and associated values be specified. The extensions will be
+listed here, followed by the commands that use them, and the commands that
+require them. Requirements are currently documented based upon the IPsec
+definitions of an \fBSA\fR. Required extensions may change in the future.
+\fB<number>\fR can be in either hex (\fB0xnnn\fR), decimal (\fBnnn\fR) or octal
+(\fB0nnn\fR).\fB<string>\fR is a text string. \fB<hexstr>\fR is a long
+hexadecimal number with a bit-length. Extensions are usually paired with
+values; however, some extensions require two values after them.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBspi \fI<number>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the security parameters index of the \fBSA\fR. This extension is
+required for the \fBadd\fR, \fBdelete\fR, \fBget\fR and \fBupdate\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpair-spi \fI<number>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+When \fBpair-spi\fR is used with the \fBadd\fR or \fBupdate\fR commands, the SA
+being added or updated will be paired with the SA defined by \fBpair-spi\fR. A
+pair of SAs can be updated or deleted with a single command.
+.sp
+The two SAs that make up the pair need to be in opposite directions from the
+same pair of IP addresses. The command will fail if either of the SAs specified
+are already paired with another SA.
+.sp
+If the pair-spi token is used in a command and the SA defined by pair-spi does
+not exist, the command will fail. If the command was \fBadd\fR and the pairing
+failed, the SA to be added will instead be removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinbound | outbound\fR\fR
+.ad
+.sp .6
+.RS 4n
+These optional flags specify the direction of the SA. When the \fBinbound\fR or
+\fBoutbound\fR flag is specified with the \fBadd\fR command, the kernel will
+insert the new SA into the specified hash table for faster lookups. If the flag
+is omitted, the kernel will decide into which hash table to insert the new SA
+based on its knowledge the IP addresses specified with the \fBsrc\fR and
+\fBdst\fR extensions.
+.sp
+When these flags are used with the \fBupdate\fR, \fBdelete\fR,
+\fBupdate-pair\fR or \fBget\fR commands, the flags provide a hint as to the
+hash table in which the kernel should find the SA.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreplay\fR \fI<number>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the replay window size. If not specified, the replay window size is
+assumed to be zero. It is not recommended that manually added \fBSA\fRs have a
+replay window. This extension is used by the \fBadd\fR and \fBupdate\fR
+commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreplay_value\fR \fI<number>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the replay value of the SA. This extension is used by the \fBadd\fR
+and \fBupdate\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstate \fI<string>\fR|\fI<number>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fBSA\fR state, either by numeric value or by the strings
+"\fBlarval\fR", "\fBmature\fR", "\fBdying\fR" or "\fBdead\fR". If not
+specified, the value defaults to \fBmature\fR. This extension is used by the
+\fBadd\fR and \fBupdate\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauth_alg \fI<string>\fR|\fI<number>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBauthalg <string>|<number>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the authentication algorithm for an \fBSA\fR, either by numeric
+value, or by strings indicating an algorithm name. Current authentication
+algorithms include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHMAC-MD5\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBmd5\fR, \fBhmac-md5\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHMAC-SH-1\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsha\fR, \fBsha-1\fR, \fBhmac-sha1\fR, \fBhmac-sha\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHMAC-SHA-256\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsha256\fR, \fBsha-256\fR, \fBhmac-sha256\fR, \fBhmac-sha-256\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHMAC-SHA-384\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsha384\fR, \fBsha-384\fR, \fBhmac-sha384\fR, \fBhmac-sha-384\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHMAC-SHA-512\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsha512\fR, \fBsha-512\fR, \fBhmac-sha512\fR, \fBhmac-sha-512\fR
+.RE
+
+Often, algorithm names will have several synonyms. This extension is required
+by the \fBadd\fR command for certain \fBSA\fR types. It is also used by the
+\fBupdate\fR command.
+.sp
+Use the \fBipsecalgs\fR(1M) command to obtain the complete list of
+authentication algorithms.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencr_alg \fI<string>\fR|\fI<number>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBencralg \fI<string>\fR|\fI<number>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the encryption algorithm for an SA, either by numeric value, or by
+strings indicating an algorithm name. Current encryption algorithms include DES
+("\fBdes\fR"), Triple-DES ("\fB3des\fR"), Blowfish ("blowfish"), and AES
+("aes"). This extension is required by the add command for certain \fBSA\fR
+types. It is also used by the \fBupdate\fR command.
+.sp
+Use the \fBipsecalgs\fR(1M) command to obtain the complete list of encryption
+algorithms.
+.RE
+
+.sp
+.LP
+The next six extensions are lifetime extensions. There are two varieties,
+"\fBhard\fR" and "\fBsoft\fR". If a \fBhard\fR lifetime expires, the \fBSA\fR
+will be deleted automatically by the system. If a \fBsoft\fR lifetime expires,
+an \fBSADB_EXPIRE\fR message will be transmitted by the system, and its state
+will be downgraded to \fBdying\fR from \fBmature\fR. See \fBpf_key\fR(7P). The
+\fBmonitor\fR command to \fBkey\fR allows you to view \fBSADB_EXPIRE\fR
+messages.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBidle_addtime\fR \fI<number>\fR\fR
+.ad
+.br
+.na
+\fB\fBidle_usetime\fR \fI<number>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of seconds that this SA can exist if the SA is not used
+before the SA is revalidated. If this extension is not present, the default
+value is half of the \fBhard_addtime\fR (see below). This extension is used by
+the \fBadd\fR and \fBupdate\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsoft_bytes \fI<number>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBhard_bytes \fI<number>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of bytes that this \fBSA\fR can protect. If this extension
+is not present, the default value is zero, which means that the \fBSA\fR will
+not expire based on the number of bytes protected. This extension is used by
+the \fBadd\fR and \fBupdate\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsoft_addtime \fI<number>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBhard_addtime \fI<number>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of seconds that this \fBSA\fR can exist after being added
+or updated from a larval \fBSA\fR. An update of a mature \fBSA\fR does not
+reset the initial time that it was added. If this extension is not present, the
+default value is zero, which means the \fBSA\fR will not expire based on how
+long it has been since it was added. This extension is used by the \fBadd\fR
+and \fBupdate\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsoft_usetime \fI<number>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBhard_usetime \fI<number>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of seconds this \fBSA\fR can exist after first being used.
+If this extension is not present, the default value is zero, which means the
+\fBSA\fR will not expire based on how long it has been since it was added. This
+extension is used by the \fBadd\fR and \fBupdate\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsaddr \fIaddress\fR | \fIname\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBsrcaddr \fIaddress\fR | \fIname\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBsaddr6 \fIIPv6 address\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBsrcaddr6 \fIIPv6 address\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBsrc \fIaddress\fR | \fIname\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBsrc6 \fIIPv6 address\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsrcaddr \fIaddress\fR\fR and \fBsrc \fIaddress\fR\fR are synonyms that
+indicate the source address of the \fBSA\fR. If unspecified, the source address
+will either remain unset, or it will be set to a wildcard address if a
+destination address was supplied. To not specify the source address is valid
+for IPsec \fBSA\fRs. Future \fBSA\fR types may alter this assumption. This
+extension is used by the \fBadd\fR, \fBupdate\fR, \fBget\fR and \fBdelete\fR
+commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdaddr \fI<address>\fR|\fI<name>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBdstaddr \fI<address>\fR|\fI<name>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBdaddr6 \fI<IPv6 address>\fR|\fI<name>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBdstaddr6 \fI<IPv6 address>\fR|\fI<name>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBdst \fI<addr>\fR|\fI<name>\fR\fR\fR
+.ad
+.br
+.na
+\fB\fBdst6 \fI<IPv6 address>\fR|\fI<name>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBdstaddr \fI<addr>\fR\fR and \fBdst \fI<addr>\fR\fR are synonyms that
+indicate the destination address of the \fBSA\fR. If unspecified, the
+destination address will remain unset. Because IPsec \fBSA\fRs require a
+specified destination address and \fBspi\fR for identification, this extension,
+with a specific value, is required for the \fBadd\fR, \fBupdate\fR, \fBget\fR
+and \fBdelete\fR commands.
+.sp
+If a name is given, \fBipseckey\fR will attempt to invoke the command on
+multiple \fBSA\fRs with all of the destination addresses that the name can
+identify. This is similar to how \fBipsecconf\fR handles addresses.
+.sp
+If \fBdst6\fR or \fBdstaddr6\fR is specified, only the IPv6 addresses
+identified by a name are used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsport\fR \fI<portnum>\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsport\fR specifies the source port number for an SA. It should be used in
+combination with an upper-layer protocol (see below), but it does not have to
+be.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdport\fR \fI<portnum>\fR\fR
+.ad
+.sp .6
+.RS 4n
+sport specifies the destination port number for an SA. It should be used in
+combination with an upper-layer protocol (see below), but it does not have to
+be.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencap\fR \fI<protocol>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the protocol used to encapsulate NAT-traversal IPsec packets. Other
+NAT-traversal parameters (\fBnat_*\fR) are below. The only acceptable value
+for \fI<protocol>\fR currently is \fBudp\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproto\fR \fI<protocol number>\fR\fR
+.ad
+.br
+.na
+\fB\fBulp\fR \fI<protocol number>\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBproto\fR, and its synonym \fBulp\fR, specify the IP protocol number of the
+SA.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnat_loc\fR \fI<address>\fR|\fI<name>\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the local address in the SA (source or destination) is behind a NAT, this
+extension indicates the NAT node's globally-routable address. This address can
+match the SA's local address if there is a \fBnat_lport\fR (see below)
+specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnat_rem\fR \fI<address>\fR|\fI<name>\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the remote address in the SA (source or destination) is behind a NAT, this
+extension indicates that node's internal (that is, behind-the-NAT) address.
+This address can match the SA's local address if there is a \fBnat_rport\fR
+(see below) specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnat_lport\fR \fI<portnum>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the local UDP port on which encapsulation of ESP occurs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnat_rport\fR \fI<portnum>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the remote UDP port on which encapsulation of ESP occurs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBisrc\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.br
+.na
+\fB\fBinnersrc\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.br
+.na
+\fB\fBisrc6\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.br
+.na
+\fB\fBinnersrc6\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.br
+.na
+\fB\fBproxyaddr\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.br
+.na
+\fB\fBproxy\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.sp .6
+.RS 4n
+\fBisrc\fR \fI<address>\fR[/\fI<prefix>\fR] and \fBinnersrc\fR
+\fI<address>\fR[/\fI<prefix>\fR] are synonyms. They indicate the inner source
+address for a tunnel-mode SA.
+.sp
+An inner-source can be a prefix instead of an address. As with other address
+extensions, there are IPv6-specific forms. In such cases, use only
+IPv6-specific addresses or prefixes.
+.sp
+Previous versions referred to this value as the proxy address. The usage, while
+deprecated, remains.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBidst\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.br
+.na
+\fB\fBinnerdst\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.br
+.na
+\fB\fBidst6\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.br
+.na
+\fB\fBinnerdst6\fR \fI<address>\fR | \fI<name>\fR[/\fI<prefix>\fR]\fR
+.ad
+.sp .6
+.RS 4n
+\fBidst\fR \fI<address>\fR[/\fI<prefix>\fR] and \fBinnerdst\fR
+\fI<address>\fR[/\fI<prefix>\fR] are synonyms. They indicate the inner
+destination address for a tunnel-mode SA.
+.sp
+An inner-destination can be a prefix instead of an address. As with other
+address extensions, there are IPv6-specific forms. In such cases, use only
+IPv6-specific addresses or prefixes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinnersport\fR \fI<portnum>\fR\fR
+.ad
+.br
+.na
+\fB\fBisport\fR \fI<portnum>\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBinnersport\fR specifies the source port number of the inner header for a
+tunnel-mode SA. It should be used in combination with an upper-layer protocol
+(see below), but it does not have to be.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinnerdport\fR \fI<portnum>\fR\fR
+.ad
+.br
+.na
+\fB\fBidport\fR \fI<portnum>\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBinnerdport\fR specifies the destination port number of the inner header for
+a tunnel-mode SA. It should be used in combination with an upper-layer protocol
+(see below), but it does not have to be.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBiproto\fR \fI<protocol number>\fR\fBiulp\fR \fI<protocol number>\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBiproto\fR, and its synonym \fBiulp\fR, specify the IP protocol number of the
+inner header of a tunnel-mode SA.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauthkey \fI<hexstring>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the authentication key for this \fBSA\fR. The key is expressed as a
+string of hexadecimal digits, with an optional \fB/\fR at the end, for example,
+\fB123/12\fR. Bits are counted from the most-significant bits down. For
+example, to express three '1' bits, the proper syntax is the string
+"\fBe/3\fR". For multi-key algorithms, the string is the concatenation of the
+multiple keys. This extension is used by the \fBadd\fR and \fBupdate\fR
+commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBencrkey \fI<hexstring>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the encryption key for this \fBSA\fR. The syntax of the key is the
+same as \fBauthkey\fR. A concrete example of a multi-key encryption algorithm
+is \fB3des\fR, which would express itself as a 192-bit key, which is three
+64-bit parity-included \fBDES\fR keys. This extension is used by the \fBadd\fR
+and \fBupdate\fR commands.
+.RE
+
+.sp
+.LP
+Certificate identities are very useful in the context of automated key
+management, as they tie the \fBSA\fR to the public key certificates used in
+most automated key management protocols. They are less useful for manually
+added \fBSA\fRs. Unlike other extensions, \fBsrcidtype\fR takes two values, a
+\fItype\fR, and an actual \fIvalue\fR. The type can be one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprefix\fR\fR
+.ad
+.sp .6
+.RS 4n
+An address prefix.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfqdn\fR\fR
+.ad
+.sp .6
+.RS 4n
+A fully-qualified domain name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Domain name, synonym for \fBfqdn\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuser_fqdn\fR\fR
+.ad
+.sp .6
+.RS 4n
+User identity of the form \fB\fIuser\fR@\fIfqdn\fR\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmailbox\fR\fR
+.ad
+.sp .6
+.RS 4n
+Synonym for \fBuser_fqdn\fR.
+.RE
+
+.sp
+.LP
+The \fIvalue\fR is an arbitrary text string that should identify the
+certificate.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsrcidtype \fI<type, value>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a source certificate identity for this \fBSA\fR. This extension is
+used by the \fBadd\fR and \fBupdate\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdstidtype \fI<type, value>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a destination certificate identity for this \fBSA\fR. This extension
+is used by the \fBadd\fR and \fBupdate\fR commands
+.RE
+
+.SS "Tunnel Mode versus Transport Mode SAs"
+.sp
+.LP
+An IPsec SA is a Tunnel Mode SA if the "proto" value is either 4 (\fBipip\fR)
+or 41 (\fBipv6\fR) \fBand\fR there is an inner-address or inner-port value
+specified. Otherwise, the SA is a Transport Mode SA.
+.SH SECURITY
+.sp
+.LP
+Keying material is very sensitive and should be generated as randomly as
+possible. Some algorithms have known weak keys. IPsec algorithms have built-in
+weak key checks, so that if a weak key is in a newly added \fBSA\fR, the
+\fBadd\fR command will fail with an invalid value.
+.sp
+.LP
+The \fBipseckey\fR command allows a privileged user to enter cryptographic
+keying information. If an adversary gains access to such information, the
+security of IPsec traffic is compromised. The following issues should be taken
+into account when using the \fBipseckey\fR command.
+.RS +4
+.TP
+1.
+Is the \fBTTY\fR going over a network (interactive mode)?
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If it is, then the security of the keying material is the security of the
+network path for this \fBTTY\fR's traffic. Using \fBipseckey\fR over a
+clear-text \fBtelnet\fR or \fBrlogin\fR session is risky.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Even local windows might be vulnerable to attacks where a concealed program
+that reads window events is present.
+.RE
+.RE
+.RS +4
+.TP
+2.
+Is the file accessed over the network or readable to the world (\fB-f\fR
+option)?
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A network-mounted file can be sniffed by an adversary as it is being read.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A world-readable file with keying material in it is also risky.
+.RE
+.RE
+.RS +4
+.TP
+3.
+The \fBipseckey\fR command is designed to be managed by the \fBmanual-key\fR
+\fBsmf\fR(5) service. Because the \fBsmf\fR(5) log files are world-readable,
+the \fBipseckey\fR does not record any syntax errors in the log files, as these
+errors might include secret information.
+.sp
+If a syntax error is found when the \fBmanual-key\fR \fBsmf\fR(5) service is
+enabled, the service enters maintenance mode. The log file will indicate that
+there was a syntax error, but will not specify what the error was.
+.sp
+The administrator should use \fBipeckey\fR \fB-c\fR \fIfilename\fR from the
+command line to discover the cause of the errors. See \fBOPTIONS\fR.
+.RE
+.sp
+.LP
+If your source address is a host that can be looked up over the network and
+your naming system itself is compromised, then any names used will not be
+trustworthy.
+.sp
+.LP
+Security weaknesses often lie in misapplication of tools, not in the tools
+themselves. Administrators are urged to be cautious when using \fBipseckey\fR.
+The safest mode of operation is probably on a console or other hard-connected
+\fBTTY\fR.
+.sp
+.LP
+For further thoughts on this subject, see the afterward by Matt Blaze in Bruce
+Schneier's \fIApplied Cryptography: Protocols, Algorithms, and Source Code in
+C\fR.
+.SS "Service Management Facility"
+.sp
+.LP
+IPsec manual keys are managed by the service management facility, \fBsmf\fR(5).
+The services listed below manage the components of IPsec. These services are
+delivered as follows:
+.sp
+.in +2
+.nf
+svc:/network/ipsec/policy:default (enabled)
+svc:/network/ipsec/ipsecalgs:default (enabled)
+svc:/network/ipsec/manual-key:default (disabled)
+svc:/network/ipsec/ike:default (disabled)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The manual-key service is delivered disabled. The system administrator must
+create manual IPsec Security Associations (SAs), as described in this man page,
+before enabling that service.
+.sp
+.LP
+The policy service is delivered enabled, but without a configuration file, so
+that, as a starting condition, packets are not protected by IPsec. After you
+create the configuration file \fB/etc/inet/ipsecinit.conf\fR and refresh the
+service (\fBsvcadm refresh\fR, see below), the policy contained in the
+configuration file is applied. If there is an error in this file, the service
+enters maintenance mode. See \fBipsecconf\fR(1M).
+.sp
+.LP
+Services that are delivered disabled are delivered that way because the system
+administrator must create configuration files for those services before
+enabling them. See \fBike.config\fR(4) for the \fBike\fR service.
+.sp
+.LP
+See \fBipsecalgs\fR(1M) for the \fBipsecalgs\fR service.
+.sp
+.LP
+The correct administrative procedure is to create the configuration file for
+each service, then enable each service using \fBsvcadm\fR(1M).
+.sp
+.LP
+If the configuration needs to be changed, edit the configuration file then
+refresh the service, as follows:
+.sp
+.in +2
+.nf
+example# \fBsvcadm refresh manual-key\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBWarning:\fR To prevent \fBipseckey\fR complaining about duplicate
+Associations, the \fBipseckey\fR command flushes the Security Association Data
+Base (SADB) when the \fBipseckey\fR command is run from \fBsmf\fR(5), before
+adding any new Security Associations defined in the configuration file. This
+differs from the command line behavior where the SADB is not flushed before
+adding new Security Associations.
+.sp
+.LP
+The \fBsmf\fR(5) framework will record any errors in the service-specific log
+file. Use any of the following commands to examine the \fBlogfile\fR property:
+.sp
+.in +2
+.nf
+example# \fBsvcs -l manual-key\fR
+example# \fBsvcprop manual-key\fR
+example# \fBsvccfg -s manual-key listprop\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following property is defined for the \fBmanual-key\fR service:
+.sp
+.in +2
+.nf
+config/config_file
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This property can be modified using \fBsvccfg\fR(1M) by users who have been
+assigned the following authorization:
+.sp
+.in +2
+.nf
+solaris.smf.value.ipsec
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBauths\fR(1), \fBuser_attr\fR(4), \fBrbac\fR(5).
+.sp
+.LP
+The service needs to be refreshed using \fBsvcadm\fR(1M) before the new
+property is effective. General non-modifiable properties can be viewed with the
+\fBsvcprop\fR(1) command.
+.sp
+.in +2
+.nf
+# \fBsvccfg -s ipsec/manual-key setprop config/config_file = \e
+/new/config_file\fR
+# \fBsvcadm refresh manual-key\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling,
+refreshing, and requesting restart can be performed using \fBsvcadm\fR(1M). A
+user who has been assigned the authorization shown below can perform these
+actions:
+.sp
+.in +2
+.nf
+solaris.smf.manage.ipsec
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The service's status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+The \fBipseckey\fR command is designed to be run under \fBsmf\fR(5) management.
+While the \fBipsecconf\fR command can be run from the command line, this is
+discouraged. If the \fBipseckey\fR command is to be run from the command line,
+the \fBmanual-key\fR \fBsmf\fR(5) service should be disabled first. See
+\fBsvcadm\fR(1M).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREmptying Out All \fBSA\fRs
+.sp
+.LP
+To empty out all \fBSA\fR:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey flush\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRFlushing Out IPsec AH \fBSA\fRs Only
+.sp
+.LP
+To flush out only IPsec \fBAH\fR \fBSA\fRs:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey flush ah\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSaving All \fBSA\fRs To Standard Output
+.sp
+.LP
+To save all \fBSA\fRs to the standard output:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey save all\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSaving \fBESP\fR \fBSA\fRs To The File \fB/tmp/snapshot\fR
+.sp
+.LP
+To save \fBESP\fR \fBSA\fRs to the file \fB/tmp/snapshot\fR:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey save esp /tmp/snapshot\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDeleting an IPsec \fBSA\fR
+.sp
+.LP
+To delete an IPsec \fBSA\fR, only the \fBSPI\fR and the destination address are
+needed:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey delete esp spi 0x2112 dst 224.0.0.1\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+An alternative would be to delete the SA and the SAs pair if it has one:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey delete-pair esp spi 0x2112 dst 224.0.0.1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRGetting Information on an IPsec \fBSA\fR
+.sp
+.LP
+Likewise, getting information on a \fBSA\fR only requires the destination
+address and \fBSPI\fR:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey get ah spi 0x5150 dst mypeer\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRAdding or Updating IPsec \fBSA\fRs
+.sp
+.LP
+Adding or updating \fBSA\fRs requires entering interactive mode:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey\fR
+ipseckey> \fBadd ah spi 0x90125 src me.domain.com dst you.domain.com \e
+ authalg md5 authkey 1234567890abcdef1234567890abcdef\fR
+ipseckey> \fBupdate ah spi 0x90125 dst you.domain.com hard_bytes \e
+ 16000000\fR
+ipseckey> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Adding two SAs that are linked together as a pair:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey\fR
+ipseckey> \fBadd esp spi 0x2345 src me.domain.com dst you.domain.com \e
+ authalg md5 authkey bde359723576fdea08e56cbe876e24ad \e
+ encralg des encrkey be02938e7def2839\fR
+ipseckey> \fBadd esp spi 0x5432 src me.domain.com dst you.domain.com \e
+ authalg md5 authkey bde359723576fdea08e56cbe876e24ad \e
+ encralg des encrkey be02938e7def2839 pair-spi 0x2345\fR
+ipseckey> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRAdding an \fBSA\fR in the Opposite Direction
+.sp
+.LP
+In the case of IPsec, \fBSA\fRs are unidirectional. To communicate securely, a
+second \fBSA\fR needs to be added in the opposite direction. The peer machine
+also needs to add both \fBSA\fRs.
+
+.sp
+.in +2
+.nf
+example# \fBipseckey\fR
+ipseckey> \fBadd ah spi 0x2112 src you.domain.com dst me.domain.com \e
+ authalg md5 authkey bde359723576fdea08e56cbe876e24ad \e
+ hard_bytes 16000000\fR
+ipseckey> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRMonitoring \fBPF_KEY\fR Messages
+.sp
+.LP
+Monitoring for \fBPF_KEY\fR messages is straightforward:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey monitor\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRUsing Commands in a File
+.sp
+.LP
+Commands can be placed in a file that can be parsed with the \fB-f\fR option.
+This file may contain comment lines that begin with the "#" symbol. For
+example:
+
+.sp
+.in +2
+.nf
+# This is a sample file for flushing out the ESP table and
+# adding a pair of SAs.
+
+flush esp
+
+### Watch out! I have keying material in this file. See the
+### SECURITY section in this manual page for why this can be
+### dangerous .
+
+add esp spi 0x2112 src me.domain.com dst you.domain.com \e
+ authalg md5 authkey bde359723576fdea08e56cbe876e24ad \e
+ encralg des encrkey be02938e7def2839 hard_usetime 28800
+add esp spi 0x5150 src you.domain.com dst me.domain.com \e
+ authalg md5 authkey 930987dbe09743ade09d92b4097d9e93 \e
+ encralg des encrkey 8bd4a52e10127deb hard_usetime 28800
+
+## End of file - This is a gratuitous comment
+.fi
+.in -2
+
+.LP
+\fBExample 11 \fRAdding SAs for IPv6 Addresses
+.sp
+.LP
+The following commands from the interactive-mode create an SA to protect IPv6
+traffic between the site-local addresses
+
+.sp
+.in +2
+.nf
+example # \fBipseckey\fR
+ipseckey> \fBadd esp spi 0x6789 src6 fec0:bbbb::4483 dst6 fec0:bbbb::7843\e
+ authalg md5 authkey bde359723576fdea08e56cbe876e24ad \e
+ encralg des encrkey be02938e7def2839 hard_usetime 28800\fR
+ipseckey>\fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRLinking Two SAs as a Pair
+.sp
+.LP
+The following command links two SAs together, as a pair:
+
+.sp
+.in +2
+.nf
+example# \fBipseckey update esp spi 0x123456 dst 192.168.99.2 \e
+pair-spi 0x654321\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/secret/ipseckeys\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default configuration file used at boot time. See "Service Management Facility"
+and \fBSECURITY\fR for more information.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBps\fR(1), \fBsvcprop\fR(1), \fBsvcs\fR(1), \fBipsecconf\fR(1M),
+\fBipsecalgs\fR(1M), \fBroute\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBike.config\fR(4), \fBattributes\fR(5), \fBsmf\fR(5), \fBipsec\fR(7P),
+\fBipsecah\fR(7P), \fBipsecesp\fR(7P), \fBpf_key\fR(7P)
+.sp
+.LP
+Schneier, B., \fIApplied Cryptography: Protocols, Algorithms, and Source Code
+in C\fR. Second ed. New York, New York: John Wiley & Sons, 1996.
+.SH DIAGNOSTICS
+.sp
+.LP
+The \fBipseckey\fR command parses the configuration file and reports any
+errors. In the case of multiple errors, \fBipseckey\fR reports as many of these
+as possible.
+.sp
+.LP
+The \fBipseckey\fR command does not attempt to use a \fBCOMMAND\fR that has a
+syntax error. A \fBCOMMAND\fR might be syntactically correct but can
+nevertheless generate an error because the kernel rejected the request made to
+\fBpf_key\fR(7P). This might occur because a key had an invalid length or
+because an unsupported algorithm was specified.
+.sp
+.LP
+If there are any errors in the configuration file, ipseckey reports the number
+of valid COMMANDS and the total number of COMMANDS parsed.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBParse error on line \fIN\fR.\fR\fR
+.ad
+.sp .6
+.RS 4n
+If an interactive use of \fBipseckey\fR would print usage information, this
+would print instead. Usually proceeded by another diagnostic. Because
+\fBCOMMANDS\fR can cover more than a single line in the configuration file by
+using the backslash character to delimit lines, its not always possible to
+pinpoint in the configuration file the exact line that caused the error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUnexpected end of command line.\fR\fR
+.ad
+.sp .6
+.RS 4n
+An additional argument was expected on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBUnknown\fR
+.ad
+.sp .6
+.RS 4n
+A value for a specific extension was unknown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAddress type \fIN\fR not supported.\fR\fR
+.ad
+.sp .6
+.RS 4n
+A name-to-address lookup returned an unsupported address family.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIN\fR is not a bit specifier\fR\fR
+.ad
+.br
+.na
+\fB\fBbit length \fIN\fR is too big for\fR\fR
+.ad
+.br
+.na
+\fB\fBstring is not a hex string\fR\fR
+.ad
+.sp .6
+.RS 4n
+Keying material was not entered appropriately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCan only specify single\fR\fR
+.ad
+.sp .6
+.RS 4n
+A duplicate extension was entered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDon't use extension for \fI<string>\fR for \fI<command>\fR\&.\fR\fR
+.ad
+.sp .6
+.RS 4n
+An extension not used by a command was used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOne of the entered values is incorrect: Diagnostic code \fINN\fR:
+\fI<msg>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+This is a general invalid parameter error. The diagnostic code and message
+provides more detail about what precise value was incorrect and why.
+.RE
+
+.SH NOTES
+.sp
+.LP
+In spite of its IPsec-specific name, \fBipseckey\fR is analogous to
+\fBroute\fR(1M), in that it is a command-line interface to a socket-based
+administration engine, in this case, \fBPF_KEY\fR. \fBPF_KEY\fR was originally
+developed at the United States Naval Research Laboratory.
+.sp
+.LP
+To have machines communicate securely with manual keying, \fBSA\fRs need to be
+added by all communicating parties. If two nodes wish to communicate securely,
+both nodes need the appropriate \fBSA\fRs added.
+.sp
+.LP
+In the future \fBipseckey\fR may be invoked under additional names as other
+security protocols become available to \fBPF_KEY\fR.
+.sp
+.LP
+This command requires \fBsys_ip_config\fR privilege to operate and thus can run
+in the global zone and in exclusive-IP zones. The global zone can set up
+security associations with \fBipseckey\fR to protect traffic for shared-IP
+zones on the system.
diff --git a/usr/src/man/man1m/iscsiadm.1m b/usr/src/man/man1m/iscsiadm.1m
new file mode 100644
index 0000000000..e1e61604a7
--- /dev/null
+++ b/usr/src/man/man1m/iscsiadm.1m
@@ -0,0 +1,1456 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH iscsiadm 1M "16 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+iscsiadm \- enable management of iSCSI initiators
+.SH SYNOPSIS
+.LP
+.nf
+\fBiscsiadm\fR \fIsubcommand\fR \fIdirect-object\fR [\fIoptions\fR] [\fIoperand\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBiscsiadm\fR command enables management of the iSCSI (Internet SCSI)
+initiator on a host. \fBiscsiadm\fR is implemented as a set of subcommands,
+many with their own options, which are described in the section for that
+subcommand. Options not associated with a particular subcommand are described
+under OPTIONS.
+.sp
+.LP
+\fBiscsiadm\fR works only when the following service is online:
+.sp
+.in +2
+.nf
+svc:/network/iscsi/initiator:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBiscsiadm\fR command supports the following subcommands, which are
+described in detail in subsections that follow:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR\fR
+.ad
+.RS 10n
+.rt
+Adds element(s) to an object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 10n
+.rt
+Lists element(s) of an object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodify\fR\fR
+.ad
+.RS 10n
+.rt
+Modifies attributes of an object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove\fR\fR
+.ad
+.RS 10n
+.rt
+Removes an element from an object.
+.RE
+
+.sp
+.LP
+The \fBiscsiadm\fR subcommands operate on a \fIdirect-object\fR. These are
+described in the section for each subcommand.
+.sp
+.LP
+The \fBiscsiadm\fR command supports the Internet Storage Name Service (iSNS)
+for the discovery of iSCSI targets. The command supports the Challenge
+Handshake Authentication Protocol (CHAP) for authentication.
+.SS "\fBadd\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBadd\fR subcommand is:
+.sp
+.in +2
+.nf
+# iscsiadm add \fIdirect_object\fR [\fIoperands\fR...]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBadd\fR subcommand adds the following \fIdirect_object\fRs:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdiscovery-address\fR \fIdiscovery-address\fR [...]\fR
+.ad
+.sp .6
+.RS 4n
+Adds a target to a list of discovery addresses. A discovery address (as in the
+syntax shown below) is an IP \fIaddress\fR:\fIport\fR combination used in a
+SendTargets discovery session. Using this discovery approach, a target device
+can inform an initiator of the target address and target name of each target
+exposed by that device. Connection to a target is not attempted unless the
+SendTargets method of discovery has been enabled on the host. You enable this
+method with the \fBmodify\fR subcommand.
+.sp
+The \fIdiscovery-address\fR parameter is formatted as:
+.sp
+.in +2
+.nf
+<\fIIP address\fR>[:\fIport\fR]
+.fi
+.in -2
+
+If \fIport\fR is not specified, the default of 3260 will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBisns-server\fR \fIisns-server\fR [...]\fR
+.ad
+.sp .6
+.RS 4n
+Add an iSNS server to the list of iSNS server addresses. An iSNS server address
+(specified in the syntax shown below) is an IP address-port combination used in
+an iSNS discovery session. By using iSNS discovery, an iSNS server can provide
+an initiator with information about a portal and the name of each target that
+belongs to the same discovery domain as that of the initiator. Connection to
+the iSNS server is not attempted unless the iSNS method of discovery has been
+enabled on the host. You enable this method with the \fBmodify\fR subcommand,
+described below.
+.sp
+The \fIisns-server\fR parameter is formatted as:
+.sp
+.in +2
+.nf
+\fIIP_address\fR[:\fIport\fR]
+.fi
+.in -2
+
+If a port is not specified, the default of 3205 is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstatic-config\fR \fIstatic_target\fR [...]\fR
+.ad
+.sp .6
+.RS 4n
+Adds a target to the list of statically configured targets. A connection to the
+target will not be attempted unless the static configuration method of
+discovery has been enabled.
+.sp
+The \fIstatic_target\fR parameter is formatted as:
+.sp
+.in +2
+.nf
+\fI<target-name>\fR,\fI<target address>\fR[:\fIport-number\fR][,\fItpgt\fR]
+.fi
+.in -2
+
+\fI<target-name>\fR can be up to 223 characters.
+.RE
+
+.SS "\fBlist\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBlist\fR subcommand is:
+.sp
+.in +2
+.nf
+# iscsiadm list \fIdirect-object\fR [\fIoptions\fR]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBlist\fR subcommand displays data for the following \fIdirect-object\fRs:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdiscovery\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the discovery methods and their current activation state, enabled or
+disabled. Discovery methods are:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+iSNS (Internet Storage Name Service)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Static
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+SendTargets
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinitiator-node\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the initiator node on the host. The iSCSI initiator node
+represents a logical HBA and is a logical host connection point for iSCSI
+targets. The parameter values listed in the response are default parameter
+settings for the initiator. Each connected target for an initiator can have
+parameter values that differ from the parameter values on the initiator node.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstatic-config\fR [\fIstatic_target\fR[, ...]]\fR
+.ad
+.sp .6
+.RS 4n
+Lists the target name and address for specified targets or, if no static
+targets are specified, all statically discovered targets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget\fR [\fB-S\fR] [\fB-v\fR] [\fItarget\fR[, ...]]\fR
+.ad
+.sp .6
+.RS 4n
+Lists a target's current parameters, connection state, and which method was
+used for the target's discovery. Reports information for specified targets or,
+if no targets are specified, all targets that have been discovered or have had
+parameters modified by the \fBmodify target\fR subcommand.
+.sp
+When used with the \fB-S\fR option for a specified target, this subcommand
+returns:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+target name
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+logical unit number
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+vendor ID
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+product ID
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+OS device name (for example, \fB/dev/rdsk/c0t2d0s0\fR)
+.RE
+The \fB-v\fR options gives more details, such as the current login parameters,
+the detailed connection information, and the discovery method used to discover
+the target.
+.sp
+A return of \fBNA\fR as the discovery method parameter indicates that the
+target was created with a \fBiscsiadm modify target-param\fR command and does
+not exist as a discovered object. To remove such targets, use \fBiscsiadm
+remove target-param\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget-param\fR [\fB-v\fR] \fItarget\fR [...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists a target's default and user-defined parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdiscovery-address\fR [\fB-v\fR] [\fIdiscovery-address\fR[, ...]]\fR
+.ad
+.sp .6
+.RS 4n
+Lists the \fBdiscovery-address\fR objects that have been added using the
+\fBiscsiadm add discovery-address\fR subcommand.
+.sp
+When used with the \fB-v\fR option, lists all known targets at a specified
+\fIdiscovery-address\fR. The \fB-v\fR option returns one or more target names
+along with zero or more target addresses and associated target portal group
+tags (TPGT), if applicable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBisns-server\fR [\fB-v\fR] [\fIisns-server\fR[, ...]]\fR
+.ad
+.sp .6
+.RS 4n
+Lists the \fBisns-server\fR objects that have been added using the
+\fBiscsiadm\fR \fBadd\fR \fBisns-server\fR subcommand.
+.sp
+When used with the \fB-v\fR option, this subcommand lists all known targets at
+a specified \fBisns-server\fR address. The \fB-v\fR option returns one of more
+target names along with zero or more target addresses and associated target
+portal group tags, if applicable.
+.RE
+
+.SS "\fBmodify\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBmodify\fR subcommand is:
+.sp
+.in +2
+.nf
+# iscsiadm modify \fIdirect_object\fR [\fIoptions\fR]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBmodify\fR subcommand supports the following \fIdirect_object\fRs:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdiscovery\fR [\fIoptions\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Enabling a discovery method initiates a discovery using that method. Disabling
+a discovery method that is currently enabled does not affect connections to any
+targets that have already been discovered by that method.
+.sp
+Options for \fBmodify discovery\fR are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB-iSNS\fR \fBenable\fR | \fBdisable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or disable iSNS discovery.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB-\fR\fB-static\fR \fBenable\fR | \fBdisable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or disable static discovery.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB-\fR\fB-sendtargets\fR \fBenable\fR | \fBdisable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or disable SendTargets discovery.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinitiator-node\fR [\fIoptions\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Modifies an initiator's properties. If a target is currently connected, this
+operation can succeed. However, the modified set of parameters will not be in
+effect for that target until an existing connection session no longer exists
+and a new connection has been established. The options \fB-C\fR and
+\fB-\fR\fB-CHAP-secret\fR require a CHAP secret entry in response to a prompt.
+.sp
+For iSCSI booting when the Solaris I/O multipathing feature (formerly known as
+Sun StorEdge Traffic Manager [STMS] or MPxIO) is disabled, you can modify only
+the following initiator-node options:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-r\fR, \fB--radius-server\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-R\fR, \fB--radius-access\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-P\fR, \fB--radius-shared-secret\fR
+.RE
+For iSCSI booting when the Solaris I/O multipathing feature is enabled, you can
+modify only the following initiator-node options:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-h\fR, \fB--headerdigest\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-d\fR, \fB--datadigest\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-c\fR, \fB--configured-sessions\fR
+.RE
+Options for \fBmodify initiator-node\fR are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR, \fB-\fR\fB-node-alias\fR \fI<initiator node alias>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies the initiator node alias. Maximum length of 223 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB-\fR\fB-authentication\fR \fBchap\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the authentication mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR, \fB-\fR\fB-CHAP-secret\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the CHAP secret value. There is no default value. Maximum length is 16
+characters; minimum required length is 12 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB--configured-sessions\fR \fI<num_sessions>\fR | \fI<IP
+address>\fR[,\fI<IP address>\fR\&...]\fR
+.ad
+.sp .6
+.RS 4n
+Sets the number of configured iSCSI sessions that will be created for each
+iSCSI target. The feature should be used in combination with the Solaris I/O
+multipathing feature described in \fBscsi_vhci\fR(7D).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR, \fB--datadigest\fR \fBnone\fR | \fBCRC32\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets whether CRC32 is enabled to check SCSI data transfers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR, \fB-\fR\fB-CHAP-name\fR \fICHAP name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a CHAP username. If you do not use this option, upon initialization,
+the CHAP name is set to the initiator node name. When the authentication method
+is set to CHAP (see \fB-a\fR/\fB-\fR\fB-authentication\fR option, above), the
+CHAP username is displayed with the command \fBiscsiadm list initiator-node\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--headerdigest\fR \fBnone\fR | \fBCRC32\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets whether CRC32 is enabled to check SCSI packet headers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR, \fB-\fR\fB-node-name\fR \fI<initiator node name>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies the initiator node name. Maximum of 223 characters.
+.LP
+Note -
+.sp
+.RS 2
+During Solaris installation, the initiator node name is set to a globally
+unique value. Changing this value can adversely affect operation within the
+iSCSI network.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--radius-shared-secret\fR (exclusive)\fR
+.ad
+.sp .6
+.RS 4n
+Sets the RADIUS shared secret.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR, \fB--radius-access\fR \fBenable\fR | \fBdisable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets whether a RADIUS server will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR, \fB--radius-server\fR \fI<IP address>\fR[:\fI<port>\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Sets the IP address and port of the radius server to be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR, \fB-\fR\fB-tunable-param\fR
+<<\fItunable-prop\fR>=<\fIvalue\fR>, ...>\fR
+.ad
+.sp .6
+.RS 4n
+Specify one or more tunable parameters for all targets that initiator node
+connected.
+.LP
+Note -
+.sp
+.RS 2
+These values should only be modified by an administrator with a good working
+knowledge of the parameter's impact within the iSCSI network.
+.RE
+Supported tunable-prop options are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrecv-login-rsp-timeout\fR\fR
+.ad
+.sp .6
+.RS 4n
+Session Login Response Time
+.sp
+The \fBrecv-login-rsp-timeout\fR option specifies how long iSCSI initiator will
+wait for the response of iSCSI session login request from the iSCSI target.
+Valid value is from 0 to 60*60, default to 60 seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconn-login-max\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximized Connection Retry Time
+.sp
+The \fBconn-login-max\fR option lets the iSCSI initiator reestablish the
+connection to the target in case of IO timeout or connection failure during the
+given time window. Valid value is from 0 to 60*60, default to 180 seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpolling-login-delay\fR\fR
+.ad
+.sp .6
+.RS 4n
+Login Retry Time Interval
+.sp
+The \fBpolling-login-delay\fR option specifies the time interval between each
+login retry when iSCSI initiator to target IO timeout or connection failure.
+Valid value is from 0 to 60*60, default to 60 seconds.
+.RE
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget-param\fR [\fIoptions\fR] \fItarget\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies a target's parameters. If a target is currently connected, the modify
+operation will succeed, although the modified settings might not take effect
+for a few seconds. To confirm that these settings are active, use \fBiscsiadm
+list target\fR \fB-v\fR. If a specified target is not associated with any
+discovery method, a target object is created with the specified parameters.
+After using this command to modify a target's parameters, the new parameters
+will persist until they are modified or removed with a \fBiscsiadm remove
+target-param\fR command on that target. The options \fB-C\fR and
+\fB-\fR\fB-CHAP-secret\fR require a CHAP secret entry in response to a prompt.
+.sp
+Options for \fBmodify target-param\fR are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR, \fB-\fR\fB-bi-directional-authentication enable | disable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the bidirectional option. If set to \fBenable\fR, the initiator performs
+bidirectional authentication for the specified target.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR, \fB-\fR\fB-CHAP-secret\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the target's CHAP secret value. There is no default value. Maximum
+acceptable length is 16 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB-\fR\fB-configured-sessions\fR \fI<num_sessions>\fR | \fI<IP
+address>\fR[,\fI<IP address>\fR\&...]\fR
+.ad
+.sp .6
+.RS 4n
+Sets the number of configured iSCSI sessions that will be created for each
+iSCSI target. The feature should be used in combination with the Solaris I/O
+multipathing feature described in \fBscsi_vhci\fR(7D).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR, \fB-\fR\fB-datadigest\fR \fBnone\fR | \fBCRC32\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets whether CRC32 is enabled or disabled for the data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR, \fB-\fR\fB-CHAP-name\fR \fICHAP name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets a CHAP username. If you do not use this option, upon initialization, the
+CHAP name is set to the target name. When the authentication method is set to
+CHAP (see \fB-a\fR/\fB-\fR\fB-authentication\fR option, under the
+\fBinitiator-node\fR direct object, above), the CHAP username is displayed with
+the command \fBiscsiadm list initiator-node\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB-\fR\fB-headerdigest\fR \fBnone\fR | \fBCRC32\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets whether CRC32 is enabled or disabled for the header.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB-\fR\fB-login-param\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify one or more login parameter settings.
+.LP
+Note -
+.sp
+.RS 2
+These values should only be modified by an administrator with a good working
+knowledge of the parameter's impact within the iSCSI network.
+.RE
+The login parameters are derived from iSCSI proposed standard RFC 3720. Valid
+values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdataseqinorder\fR\fR
+.ad
+.RS 22n
+.rt
+\fByes\fR or \fBno\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefaulttime2retain\fR\fR
+.ad
+.RS 22n
+.rt
+0-3600
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefaulttime2wait\fR\fR
+.ad
+.RS 22n
+.rt
+0-3600
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirstburstlength\fR\fR
+.ad
+.RS 22n
+.rt
+512 to 2^24-1
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBimmediatedata\fR\fR
+.ad
+.RS 22n
+.rt
+\fByes\fR or \fBno\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinitialr2t\fR\fR
+.ad
+.RS 22n
+.rt
+\fByes\fR or \fBno\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxburstlength\fR\fR
+.ad
+.RS 22n
+.rt
+512 to 2^24-1
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdatapduinorder\fR\fR
+.ad
+.RS 22n
+.rt
+\fByes\fR or \fBno\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxoutstandingr2t\fR\fR
+.ad
+.RS 22n
+.rt
+1 to 65535
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxrecvdataseglen\fR\fR
+.ad
+.RS 22n
+.rt
+512 to 2^24-1
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR, \fB-\fR\fB-tunable-param\fR
+<<\fItunable-prop\fR>=<\fIvalue\fR>, ...>\fR
+.ad
+.sp .6
+.RS 4n
+Specify one or more tunable parameters for all targets that initiator node
+connected.
+.LP
+Note -
+.sp
+.RS 2
+Tunable values should only be modified by an administrator with a good working
+knowledge of the parameter's impact within the iSCSI network.
+.RE
+Supported \fItunable-prop\fR options are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrecv-login-rsp-timeout\fR\fR
+.ad
+.sp .6
+.RS 4n
+Session Login Response Time
+.sp
+The \fBrecv-login-rsp-timeout\fR option specifies how long iSCSI initiator will
+wait for the response of iSCSI session login request from the iSCSI target.
+Valid value is from 0 to 60*60, default to 60 seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconn-login-max\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximized Connection Retry Time
+.sp
+The \fBconn-login-max\fR option lets the iSCSI initiator reestablish the
+connection to the target in case of IO timeout or connection failure during the
+given time window. Valid value is from 0 to 60*60, default to 180 seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpolling-login-delay\fR\fR
+.ad
+.sp .6
+.RS 4n
+Login Retry Time Interval
+.sp
+The \fBpolling-login-delay\fR option specifies the time interval between each
+login retry when iSCSI initiator to target IO timeout or connection failure.
+Valid value is from 0 to 60*60, default to 60 seconds.
+.RE
+
+.RE
+
+.RE
+
+.SS "\fBremove\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBremove\fR subcommand is:
+.sp
+.in +2
+.nf
+# iscsiadm remove \fIdirect_object\fR
+.fi
+.in -2
+
+.sp
+.LP
+The \fBremove\fR subcommand supports the following \fIdirect_object\fRs:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdiscovery-address\fR \fIdiscovery-address\fR, ...\fR
+.ad
+.sp .6
+.RS 4n
+Removes a target device from the list of discovery addresses. A discovery
+address (as in the syntax shown below) is an IP address-port combination used
+in a SendTargets discovery session. Using this discovery approach, a target
+device can inform an initiator of the target address and target name of each
+target exposed by that device. If any target exposed by the discovery address
+is currently mounted or there is active I/O on the device, an error of "logical
+unit in use" is returned and the operation fails. If the associated devices are
+not in use, they are removed.
+.sp
+\fIdiscovery-address\fR must be formatted as:
+.sp
+.in +2
+.nf
+\fI<IP address>\fR[:\fI<port>\fR]
+.fi
+.in -2
+
+There are no options associated with this direct object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBisns-server\fR \fIisns-server\fR, ...\fR
+.ad
+.sp .6
+.RS 4n
+Removes an iSNS server from the list of iSNS server addresses. An iSNS server
+address (specified in the syntax shown below) is an IP address-port combination
+used in an iSNS discovery session. By using iSNS discovery, an iSNS server can
+provide an initiator with information about a portal and the name of each
+target that belongs to the same discovery domain as that of the initiator. If
+any target discovered by means of iSNS is currently mounted or there is active
+I/O on the device, an error of "logical unit in use" is returned and the
+operation fails. If the associated devices are not in use, they are removed.
+.sp
+\fIisns-server\fR must be formatted as:
+.sp
+.in +2
+.nf
+\fIIP_address\fR[:\fIport\fR]
+.fi
+.in -2
+
+There are no options associated with this direct object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstatic-config\fR \fIstatic_target\fR, ...\fR
+.ad
+.sp .6
+.RS 4n
+Removes a target from the list of statically discovered targets. If the target
+being removed is currently mounted or there is active I/O on the device, an
+error of "logical unit in use" is returned and the operation fails. If a device
+is not in use, it will be removed.
+.sp
+\fIstatic_target\fR must be formatted as:
+.sp
+.in +2
+.nf
+\fI<target-name>\fR,\fI<target-address>\fR[:\fIport-number\fR][,\fItpgt\fR]
+.fi
+.in -2
+
+There are no options associated with this direct object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget-param\fR \fItarget-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes target specified by \fItarget-name\fR. The target name is formatted as:
+.sp
+.in +2
+.nf
+\fI<target-name>\fR
+.fi
+.in -2
+
+There are no options associated with this direct object. For iSCSI booting when
+the Solaris I/O multipathing feature (formerly known as Sun StorEdge Traffic
+Manager [STMS] or MPxIO) is enabled, you cannot remove the target.
+.RE
+
+.SS "Proper Use of Discovery Methods"
+.sp
+.LP
+Do not configure a target to be discovered by both static and dynamic discovery
+methods. The consequence of using redundant discovery methods might be slow
+performance when communicating with the iSCSI target device.
+.SH OPTIONS
+.sp
+.LP
+The following generic options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB-\fR\fB-version\fR\fR
+.ad
+.RS 17n
+.rt
+Displays version information. Stops interpretation of subsequent arguments.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR, \fB-\fR\fB-help\fR\fR
+.ad
+.RS 17n
+.rt
+Displays help information. Can be used following an \fBiscsiadm\fR command with
+no arguments, following a subcommand, or following a subcommand-direct object
+combination. Responds with help information appropriate for your entry. For
+example, if you enter:
+.sp
+.in +2
+.nf
+# \fBiscsiadm modify initiator-node --help\fR
+.fi
+.in -2
+.sp
+
+\&...\fBiscsiadm\fR responds with a display of the options available for that
+combination of subcommand and direct object.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a Discovery Address
+.sp
+.LP
+The following command uses the \fBadd\fR subcommand to add a discovery address.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm add discovery-address 10.0.0.1:3260 10.0.0.2:3260\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding a Static Target
+.sp
+.LP
+The following command uses the \fBadd\fR subcommand to add a static target.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm add static-config \e
+iqn.1999-08.com.array:sn.01234567,10.0.0.1:3260\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing Current Discovery Settings
+.sp
+.LP
+The following command uses the \fBlist\fR subcommand to list current discovery
+settings.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm list discovery\fR
+ Discovery:
+ Static: enabled
+ Send Targets: disabled
+ iSNS: enabled
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRObtaining Verbose Discovery Output
+.sp
+.LP
+The following commands uses the \fB-v\fR option (one with, one without) with
+the \fBlist\fR subcommand to obtain verbose output.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm list discovery-address\fR
+ Discovery Address: 10.0.0.1:3260
+ Discovery Address: 10.0.0.2:3260
+
+# \fBiscsiadm list discovery-address -v 10.0.0.1:3260\fR
+ Discovery Address: 10.0.0.1:3260
+ Target name: eui.210000203787d1f7
+ Target address: 10.0.0.1:3260
+ Target name: eui.210000203787a693
+ Target address: 10.0.0.1:3260
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDisplaying Information on the Initiator
+.sp
+.LP
+The following command uses the \fBlist\fR subcommand to display information on
+the initiator.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm list initiator-node\fR
+Initiator node name: iqn.1986-03.com.company.central.interopv20-1
+Initiator node alias: interopv20-1
+ Login Parameters (Default/Configured):
+ Header Digest: NONE/NONE
+ Data Digest: NONE/NONE
+ Authentication Type: CHAP
+ CHAP Name: iqn.1986-03.com.company.central.interopv20-1
+ RADIUS Server: NONE
+ RADIUS access: disabled
+ Tunable Parameters (Default/Configured):
+ Session Login Response Time: 60/-
+ Maximum Connection Retry Time: 180/-
+ Login Retry Time Interval: 60/-
+ Configured Sessions: 1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDisplaying Static Configuration Information
+.sp
+.LP
+The following command uses the \fBlist\fR subcommand to display information
+about static configurations.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm list static-config\fR
+ Static target: eui.210000203787a693,10.0.0.1:3260
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRDisplaying Target Information
+.sp
+.LP
+The following commands show the use of the \fBlist\fR subcommand with various
+options to display information about targets.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm list target\fR
+Target: iqn.2004-05.com.abcStorage:Tgt-1
+ Alias: -
+ TPGT: 12288
+ ISID: 4000002a0000
+ Connections: 1# \fBiscsiadm list target -v iqn.2004-05.com.abcStorage:Tgt-1\fR
+Target: iqn.2004-05.com.abcStorage:Tgt-1
+ Alias: -
+ TPGT: 12288
+ ISID: 4000002a0000
+ Connections: 1
+ CID: 0
+ IP address (Local): 10.4.52.158:32803
+ IP address (Peer): 10.4.49.70:3260
+ Discovery Method: SendTargets
+ Login Parameters (Negotiated):
+ Data Sequence In Order: yes
+ Data PDU In Order: yes
+ Default Time To Retain: 20
+ Default Time To Wait: 2
+ Error Recovery Level: 0
+ First Burst Length: 65536
+ Immediate Data: yes
+ Initial Ready To Transfer (R2T): yes
+ Max Burst Length: 262144
+ Max Outstanding R2T: 1
+ Max Receive Data Segment Length: 65536
+ Max Connections: 1
+ Header Digest: NONE
+ Data Digest: NONE
+# \fBiscsiadm list target -S iqn.2004-05.com.abcStorage:Tgt-1\fR
+Target: iqn.2004-05.com.abcStorage:Tgt-1
+ Alias: -
+ TPGT: 12288
+ ISID: 4000002a0000
+ Connections: 1
+ LUN: 6
+ Vendor: ABCStorage
+ Product: iSCSI Target
+ OS Device Name: /dev/rdsk/c3t1d0s2
+ LUN: 5
+ Vendor: ABCStorage
+ Product: iSCSI Target
+ OS Device Name: /dev/rdsk/c3t0d0s2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDisplaying Target Parameter Information
+.sp
+.LP
+The following command uses the \fBlist\fR subcommand to display target
+information for a specific target.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm list target-param -v iqn.2004-05.com.abcStorage:Tgt-1\fR
+Target: iqn.2004-05.com.abcStorage:Tgt-1
+ Alias: -
+ Bi-directional Authentication: disabled
+ Authentication Type: NONE
+ Login Parameters (Default/Configured):
+ Data Sequence In Order: yes/-
+ Data PDU In Order: yes/-
+ Default Time To Retain: 20/-
+ Default Time To Wait: 2/-
+ Error Recovery Level: 0/-
+ First Burst Length: 65536/-
+ Immediate Data: yes/-
+ Initial Ready To Transfer (R2T): yes/-
+ Max Burst Length: 262144/-
+ Max Outstanding R2T: 1/-
+ Max Receive Data Segment Length: 65536/-
+ Max Connections: 1/-
+ Header Digest: NONE/-
+ Data Digest: NONE/-
+ Tunable Parameters (Default/Configured):
+ Session Login Response Time: 60/-
+ Maximum Connection Retry Time: 180/-
+ Login Retry Time Interval: 60/-
+ Configured Sessions: 1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fREnabling Static Discovery Method
+.sp
+.LP
+The following command uses the \fBmodify\fR subcommand to enable the static
+discovery method.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm modify discovery --static enable\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRSetting the IP Address for the Radius Server
+.sp
+.LP
+The following command uses the \fBmodify\fR subcommand to set the IP address
+for the radius server, which will be used for CHAP authentication.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm modify initiator --radius-server 10.0.0.1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRSetting the Node Name for Initiator
+.sp
+.LP
+The following command uses the \fBmodify\fR subcommand to set the node name for
+the initiator node.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm modify initiator-node -N iqn.2004-10.com.SUN.host-1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRChanging Target Parameters
+.sp
+.LP
+The following command uses the \fBmodify\fR subcommand to change the target
+parameters for a specified target.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm modify target-param -d none -h none eui.210000203787a693\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRRemoving a Discovery Address
+.sp
+.LP
+The following command uses the \fBremove\fR subcommand to remove a discovery
+address.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm remove discovery-address 10.0.0.1:3260\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRRemoving Target Parameters
+.sp
+.LP
+The following command uses the \fBremove\fR subcommand to remove a set of
+target parameters.
+
+.sp
+.in +2
+.nf
+# \fBiscsiadm remove target-param eui.210000203787a693\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBiscsi\fR(7D), \fBscsi_vhci\fR(7D)
+.sp
+.LP
+\fISystem Administration Guide: Devices and File Systems\fR
diff --git a/usr/src/man/man1m/isns.1m b/usr/src/man/man1m/isns.1m
new file mode 100644
index 0000000000..afe872a292
--- /dev/null
+++ b/usr/src/man/man1m/isns.1m
@@ -0,0 +1,288 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH isns 1M "8 Nov 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+isns \- Internet Storage Name Service
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/isns\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Internet Storage Name Service (iSNS) provides consolidated discovery
+services for Internet SCSI (iSCSI) and Internet Fibre Channel Protocol (iFCP)
+devices in an IP network. iSNS uses a client/server mechanism: servers store
+configuration information for clients, and provide that information upon a
+client's request. IETF RFC 4171 describes the protocols between the server and
+client.
+.sp
+.LP
+This man page provides a summary of the Solaris iSNS server implementation. The
+current implementation does not support iFCP devices.
+.sp
+.LP
+Solaris iSNS server is implemented as the daemon \fBisns\fR, which binds to the
+well -known port 3205 to service client requests. The daemon is started by the
+service management facility (\fBsmf\fR(5)), using the fault management resource
+identifier (FMRI):
+.sp
+.in +2
+.nf
+svc:/network/isns_server
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Use \fBsvcadm\fR(1M) to enable \fBisns\fR. Enabling the service means that it
+starts and runs automatically whenever the operating system is booted. The
+state of service can be displayed with the \fBsvcs\fR(1) command.
+.sp
+.LP
+The service properties listed below can be managed using \fBsvccfg\fR(1M). The
+default value is assigned per RFC 4171 and implementation choice.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdata_store_location\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configuration data store location. The default location is
+\fB/etc/isns/isnsdata.xml\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESI_retry_threshold_count\fR\fR
+.ad
+.sp .6
+.RS 4n
+Entity Status Inquiry retry threshold counter. The default count is \fB3\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBManagement_SCNs_Enabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+Boolean that determines whether Management State Change Notification is
+enabled. The default is \fByes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAuthorized_Control_Nodes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Control node names.
+.RE
+
+.sp
+.LP
+After changing a property value, you must use \fBsvcadm\fR(1M) \fBrefresh\fR to
+enable \fBisns\fR to recognize the new value. If you change the
+\fBdata_store_location\fR property, you must enter a \fBsvcadm restart\fR
+command for the change to take effect.
+.sp
+.LP
+RFC 4171 defines the default discovery domain, the default domain set, and the
+"Default DD/DDS" setting with the intent of managing clients that have not been
+assigned to any user-defined discovery domain. The server adopts the following
+behaviors with respect to the default discovery domain and domain set:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+An unassigned client is added to the default discovery domain. A newly
+registered client or a client that was removed from its last discovery domain
+membership is considered to be an unassigned client.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+When a client gets assigned to a user-defined discovery domain, the server will
+remove the client from the default discovery domain.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The default discovery domain set is allowed to be administratively activated or
+deactivated in order to let the administrator control discovery among clients
+in the default discovery domain.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+It is not allowed to administratively add a client to the default discovery
+domain, nor to administratively add a user-defined discovery domain to the
+default discovery domain set.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The default state of the Default discovery domain set is inactive.
+.RE
+.sp
+.LP
+The \fBisns\fR server supports certain \fBrbac\fR(5) authorizations that allow
+you to administer \fBisns\fR activity. These authorizations include the
+following \fBauth_attr\fR(4) privileges:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsolaris.isnsmgr.write\fR\fR
+.ad
+.sp .6
+.RS 4n
+Required to create a discovery domain or domain set, to enable/disable a
+discovery domain set and to change grouping of iSNS clients in a discovery
+domain or grouping of discovery domains in a discovery domain set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsolaris.smf.manage.isns\fR\fR
+.ad
+.sp .6
+.RS 4n
+Required to manage the \fBisns\fR server through the \fBsmf\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsolaris.smf.value.isns\fR\fR
+.ad
+.sp .6
+.RS 4n
+Required to change the SMF service properties associated with \fBisns\fR.
+.RE
+
+.sp
+.LP
+The iSNS Server Management profile (see \fBprof_attr\fR(4)) includes all of the
+preceding authorizations. See \fBrbac\fR(5) for an overview of roles and
+authorizations.
+.SH OPTIONS
+.sp
+.LP
+There are no options supported by the \fBisns\fR daemon.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRStarting an \fBisns\fR Server
+.sp
+.LP
+The following command starts the \fBisns\fR server.
+
+.sp
+.in +2
+.nf
+# \fBsvcadm enable svc:/network/isns_server\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRStopping an \fBisns\fR Server
+.sp
+.LP
+The following command stops the \fBisns\fR server.
+
+.sp
+.in +2
+.nf
+# \fBsvcadm disable svc:/network/isns_server\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRChanging an \fBisns\fR Property
+.sp
+.LP
+The following sequence of commands changes the value of the
+\fBESI_retry_threshold_count\fR property.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg -s svc:/network/isns_server setprop \e
+config/ESI_retry_threshold_count = 6\fR
+# \fBsvcadm refresh svc:/network/isns_server\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/sbin/isns\fR\fR
+.ad
+.sp .6
+.RS 4n
+iSNS daemon binary.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStandard
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBisnsadm\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBauth_attr\fR(4), \fBprof_attr\fR(4), \fBattributes\fR(5), \fBrbac\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+It is strongly recommended that you restart the server (\fBsvcadm restart\fR)
+after a service property is changed. This allows the server to apply a uniform
+setting for existing and new clients.
+.sp
+.LP
+A control node, as described in RFC 4171, is not required to administer the
+server. Control node operations can be achieved through the \fBisnsadm\fR(1M)
+command interface on the local host. For example, \fBisnsadm\fR enables you to
+create a discovery domain and a discovery domain set and to add a member to it,
+in order to create discovery domain and discovery domain set associations.
diff --git a/usr/src/man/man1m/isnsadm.1m b/usr/src/man/man1m/isnsadm.1m
new file mode 100644
index 0000000000..70856e1b2f
--- /dev/null
+++ b/usr/src/man/man1m/isnsadm.1m
@@ -0,0 +1,780 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH isnsadm 1M "25 Sep 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+isnsadm \- administer the internet Storage Name Server (iSNS) server
+.SH SYNOPSIS
+.LP
+.nf
+\fBisnsadm\fR \fIoptions\fR
+.fi
+
+.LP
+.nf
+\fBisnsadm\fR \fIsubcommand\fR [\fIsubcommand_options\fR] [\fIoperand\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBisnsadm\fR command is the command-line interface to the Internet Storage
+Name Service (iSNS) server. \fBisnsadm\fR comprises a set of subcommands,
+described in their own section, each of which accomplishes one of the iSNS
+server management functions.
+.sp
+.LP
+For any operations that will change the iSNS configurations the
+\fBsolaris.isnsmgr.write\fR authorization is required. Refer to \fBisns\fR(1M).
+For read operations, the command does not require special authorizations.
+.sp
+.LP
+\fBisnsadm\fR has a set of general options and a set of subcommand-specific
+options. The first category is described under OPTIONS; the second category is
+described in the context of each subcommand description.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays context help. Stops interpretation of any subsequent arguments.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays version information. Stops interpretation of any subsequent
+arguments.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are used by one or more \fBisnsadm\fR subcommands.
+.sp
+.ne 2
+.mk
+.na
+\fB\fIiscsi-node-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+iSCSI target or iSCSI initiator symbolic name. A string with a maximum length
+of 223 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdiscovery-domain-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Discovery domain symbolic name. A string with a maximum length of 256
+characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdiscovery-domain-set-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Discovery domain set symbolic name. A string with a maximum length of 256
+characters.
+.RE
+
+.SH SUBCOMMANDS
+.sp
+.LP
+The \fBisnsadm\fR command supports the subcommands described below.
+.SS "\fBadd-dd\fR"
+.sp
+.LP
+The \fBadd-dd\fR subcommand adds a discovery domain to a discovery domain set.
+.sp
+.LP
+The \fBadd-dd\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm add-dd \fIoption\fR \fIdiscovery-domain-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBadd-dd\fR has the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIdiscovery-domain-set-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a discovery domain set.
+.RE
+
+.SS "\fBadd-node\fR"
+.sp
+.LP
+The \fBadd-node\fR subcommand adds a node to a specified discovery-domain.
+.sp
+.LP
+The \fBadd-node\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm add-node \fIoption\fR \fIiscsi-node-name\fR,...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBadd-node\fR has the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR,\fB--dd\fR \fIdiscovery-domain-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a discovery domain.
+.RE
+
+.SS "\fBcreate-dd\fR"
+.sp
+.LP
+The \fBcreate-dd\fR subcommand creates a discovery domain with the name you
+specify.
+.sp
+.LP
+The \fBcreate-dd\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm create-dd \fIdiscovery-domain-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBcreate-dd\fR has no options.
+.SS "\fBcreate-dd-set\fR"
+.sp
+.LP
+The \fBcreate-dd-set\fR subcommand creates a discovery domain set with the name
+you specify.
+.sp
+.LP
+The \fBcreate-dd-set\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm create-dd-set \fIdiscovery-domain-set-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBcreate-dd-set\fR has no options.
+.SS "\fBdelete-dd\fR"
+.sp
+.LP
+The \fBdelete-dd\fR subcommand deletes a discovery domain of the name you
+specify.
+.sp
+.LP
+The \fBdelete-dd\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm delete-dd \fIdiscovery-domain-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBdelete-dd\fR has no options.
+.SS "\fBdelete-dd-set\fR"
+.sp
+.LP
+The \fBdelete-dd-set\fR subcommand deletes a discovery domain set of the name
+you specify.
+.sp
+.LP
+The \fBdelete-dd-set\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm delete-dd-set \fIdiscovery-domain-set-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBdelete-dd-set\fR has no options.
+.SS "\fBdisable-dd-set\fR"
+.sp
+.LP
+The \fBdisable-dd-set\fR subcommand disables a discovery domain set.
+.sp
+.LP
+The \fBdisable-dd-set\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm disable-dd-set \fIdiscovery-domain-set-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBdisable-dd-set\fR has no options.
+.SS "\fBenable-dd-set\fR"
+.sp
+.LP
+The \fBenable-dd-set\fR subcommand enables a discovery domain set.
+.sp
+.LP
+The \fBenable-dd-set\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm enable-dd-set \fIdiscovery-domain-set-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBenable-dd-set\fR has no options.
+.SS "\fBlist-dd\fR"
+.sp
+.LP
+The \fBlist-dd\fR subcommand displays information about discovery domains. If
+no operand is specified, it lists all discovery domains that currently exist on
+the iSNS server.
+.sp
+.LP
+The \fBlist-dd\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm list-dd [\fIoption\fR] [\fIdiscovery-domain-name\fR, ...]\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBlist-dd\fR supports the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the member contents of the discovery domain(s).
+.RE
+
+.SS "\fBlist-dd-set\fR"
+.sp
+.LP
+The \fBlist-dd-set\fR subcommand lists the discovery domain sets, both enabled
+and disabled, that exist on the iSNS server. Note that there is no \fBdd-set\fR
+registration. If no operand is specified, it lists all of the discovery domain
+sets.
+.sp
+.LP
+The \fBlist-dd-set\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm list-dd-set [\fIoption\fR] [\fIdiscovery-domain-set-name\fR, ...]\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBlist-dd-set\fR supports the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shows all discovery domains within the discovery domain set.
+.RE
+
+.SS "\fBlist-node\fR"
+.sp
+.LP
+The \fBlist-node\fR subcommand displays information about nodes that are
+currently registered with the iSNS server or that are not registered and belong
+to non-default discovery-domain(s). For the latter case, the node has its type
+field shown as \fBunknown\fR. If no operand is specified, \fBlist-node\fR lists
+all nodes known by the iSNS server.
+.sp
+.LP
+The \fBlist-node\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm list-node [\fIoptions\fR] [\fIiscsi-node-name\fR, ...]\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBlist-node\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--target\fR\fR
+.ad
+.sp .6
+.RS 4n
+Filters the list to display only iSCSI target nodes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--initiator\fR\fR
+.ad
+.sp .6
+.RS 4n
+Filters the list to display only iSCSI initiator nodes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays details about a node. Without this option, only the name, alias, and
+type information are displayed.
+.RE
+
+.SS "\fBmodify-dd\fR"
+.sp
+.LP
+The \fBmodify-dd\fR subcommand modifies an attribute of a specified discovery
+domain.
+.sp
+.LP
+The \fBmodify-dd\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm modify-dd \fIoption\fR \fIdiscovery-domain-name\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBmodify-dd\fR has the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIdiscovery-domain-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the new name of a discovery domain to be applied to an existing
+discovery-domain.
+.RE
+
+.SS "\fBmodify-dd-set\fR"
+.sp
+.LP
+The \fBmodify-dd-set\fR subcommand modifies a discovery domain set.
+.sp
+.LP
+The \fBmodify-dd-set\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm modify-dd-set \fIoption\fR \fIdiscovery-domain-set-name\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBmodify-dd-set\fR has the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIdiscovery-domain-set-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the new name of a discovery domain set to be applied to an existing
+discovery-domain-set.
+.RE
+
+.SS "\fBremove-dd\fR"
+.sp
+.LP
+The \fBremove-dd\fR subcommand removes the association with a specified
+discovery domain set.
+.sp
+.LP
+The \fBremove-dd\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm remove-dd \fIoption\fR \fIdiscovery-domain-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBremove-dd\fR has the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIdiscovery-domain-set-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the discovery domain set from which the discovery domain will be
+removed.
+.RE
+
+.SS "\fBremove-node\fR"
+.sp
+.LP
+The \fBremove-node\fR subcommand removes a node.
+.sp
+.LP
+The \fBremove-node\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm remove-node \fIoption\fR \fIiscsi-node-name\fR, ...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBremove-node\fR has the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdiscovery-domain-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the discovery domain from which a node will be removed.
+.RE
+
+.SS "\fBshow-config\fR"
+.sp
+.LP
+The \fBshow-config\fR subcommand displays the iSNS server administrative
+settings. Note that the setting can be modified by means of the service
+management facility (see \fBsmf\fR(5)). Refer to \fBisns\fR(1M).
+.sp
+.LP
+The \fBshow-config\fR subcommand has the following syntax:
+.sp
+.in +2
+.nf
+# \fBisnsadm show-config\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBshow-config\fR has no options.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying Clients
+.sp
+.LP
+The following use of the \fBlist-node\fR subcommand displays clients.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm list-node -v\fR
+iSCSI Name: iqn.1986-03.com.sun:01:000e0c9f10da.45173FEA.engr
+ Alias: STK5320_NAS
+ Type: Target
+ Network Entity: SE5310
+ Portal: 172.20.57.95:3260
+ Portal Group: 1
+ Portal: 172.20.56.95:3260
+ Portal Group: 1
+ DD Name: Default
+iSCSI Name: iqn.1986-03.com.sun:01:000e0c9f10da.454F00A2.acct
+ Alias:
+ Type: Target
+ Network Entity: SE5310
+ Portal: 172.20.57.95:3260
+ Portal Group: 1
+ Portal: 172.20.56.95:3260
+ Portal Group: 1
+ DD Name: Default
+iSCSI Name: iqn.1986-03.com.sun:01:e00000000000.46fd8e2b
+ Alias: host-x2100
+ Type: Initiator
+ Network Entity: iqn.1986-03.com.sun:01:e00000000000.46fd8e2b
+ Portal: 172.20.236.123:58530
+ Portal Group: 1
+ DD Name: Default
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying a Discovery Domain
+.sp
+.LP
+The following use of the \fBlist-dd\fR subcommand displays discovery domains.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm list-dd -v\fR
+DD name: Default
+ DD set(s): Default
+ iSCSI Name: iqn.1986-03.com.sun:01:000e0c9f10da.45173FEA.engr
+ iSCSI Name: iqn.1986-03.com.sun:01:000e0c9f10da.454F00A2.acct
+ iSCSI name: iqn.1986-03.com.sun:01:e00000000000.46fd8e2b
+DD name: acct-dd
+DD name: engineering-dd
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRAdding a Node
+.sp
+.LP
+The following use of the \fBadd-node\fR subcommand adds a node to a discovery
+domain, creating a discovery domain membership.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm add-node -d engineering-dd \e
+iqn.1986-03.com.sun:01:000e0c9f10da.454F00A2.engr\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRRemoving a Node
+.sp
+.LP
+The following use of the \fBremove-node\fR subcommand removes a node from a
+discovery domain, thereby removing a discovery domain membership.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm remove-node -d acct-dd \e
+iqn.1986-03.com.sun:01:000e0c9f10da.454F00A2.acct\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRCreating a Discovery Domain Set
+.sp
+.LP
+The following use of the \fBcreate-dd-set\fR subcommand creates a discovery
+domain set.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm create-dd-set operation-dd-set\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDisplaying a Discovery Domain Set
+.sp
+.LP
+The following use of the \fBlist-dd-set\fR subcommand displays discovery domain
+sets.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm list-dd-set -v\fR
+DD Set name: Default
+ State: Disabled
+ DD Name: Default
+DD Set name: operation-dd-set
+ State: Disabled
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRAdding a Discovery Domain
+.sp
+.LP
+The following use of the \fBadd-dd\fR subcommand adds a discovery domain to a
+discovery domain set.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm add-dd -s operation-dd-set engineering-dd\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDisplaying a Discovery Domain Set
+.sp
+.LP
+The following use of the \fBlist-dd-set\fR displays the attributes of a
+discovery domain set.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm list-dd-set\fR
+DD Set name: Default
+ State: Disabled
+ DD Name: Default
+DD Set name: operation-dd-set
+ State: Disabled
+ DD Name: engineering-dd
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fREnabling a Discovery Domain Set
+.sp
+.LP
+The following use of the \fBenable-dd-set\fR subcommand enables a discovery
+domain set.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm enable-dd-set Default\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRDisabling a Discovery Domain Set
+.sp
+.LP
+The following use of the \fBdisable-dd-set\fR subcommand disables a discovery
+domain set.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm disable-dd-set Default\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRDisplaying Administrative Settings
+.sp
+.LP
+The following use of the \fBshow-config\fR subcommand displays current
+administrative settings.
+
+.sp
+.in +2
+.nf
+# \fBisnsadm show-config\fR
+ Data Store Location: /etc/isns/isnsdata.xml
+ Entity Status Inquiry Non-Response Threshold: 3
+ Management SCN Enabled: yes
+ Authorized Control Node Names: -
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBiscsiadm\fR(1M), \fBiscsitadm\fR(1M), \fBisns\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+When a subcommand is invoked with multiple operands and there are failures on
+one or more, but not all, operands, \fBisnsadm\fR displays a generic message
+indicating partial failure, with list of failed operands. An error on a
+specific operand can be found by issuing the same subcommand on the failing
+operand.
diff --git a/usr/src/man/man1m/itadm.1m b/usr/src/man/man1m/itadm.1m
new file mode 100644
index 0000000000..81f9df9bd2
--- /dev/null
+++ b/usr/src/man/man1m/itadm.1m
@@ -0,0 +1,975 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH itadm 1M "4 Aug 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+itadm \- administer iSCSI targets
+.SH SYNOPSIS
+.LP
+.nf
+\fBitadm\fR create-target [\fB-a\fR,\fB--auth-method\fR radius | chap | none | default]
+ [\fB-s\fR,\fB--chap-secret\fR] [\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR]
+ [\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR] [\fB-n\fR,\fB--node-name\fR \fItarget_node_name\fR]
+ [\fB-l\fR,\fB--alias\fR \fIalias\fR] [\fB-t\fR,\fB--tpg\fR \fItpg-name\fR[,\fItpg-name\fR]]
+.fi
+
+.LP
+.nf
+\fBitadm\fR modify-target [\fB-a\fR,\fB--auth-method\fR radius | chap | none | default]
+ [\fB-s\fR,\fB--chap-secret\fR] [\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR]
+ [\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR] [\fB-n\fR,\fB--node-name\fR \fInew_target_node_name\fR]
+ [\fB-l\fR,\fB--alias\fR \fIalias\fR] [\fB-t\fR,\fB--tpg\fR \fItpg-name\fR[,\fItpg-name\fR]] \fItarget_node_name\fR
+.fi
+
+.LP
+.nf
+\fBitadm\fR delete-target [\fB-f\fR,\fB--force\fR] \fItarget_node_name\fR
+.fi
+
+.LP
+.nf
+\fBitadm\fR list-target [\fB-v\fR,\fB--verbose\fR] [\fItarget_node_name\fR]
+.fi
+
+.LP
+.nf
+\fBitadm\fR create-tpg \fItpg_name\fR \fIIP-address\fR[:\fIport\fR] [\fIIP-address\fR[:\fIport\fR]]...
+.fi
+
+.LP
+.nf
+\fBitadm\fR list-tpg [\fB-v\fR,\fB--verbose\fR] [\fItpg_name\fR]
+.fi
+
+.LP
+.nf
+\fBitadm\fR delete-tpg [\fB-f\fR,\fB--force\fR] \fItpg_name\fR
+.fi
+
+.LP
+.nf
+\fBitadm\fR create-initiator [\fB-s\fR,\fB--chap-secret\fR] [\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR]
+ [\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR] \fIinitiator_node_name\fR
+.fi
+
+.LP
+.nf
+\fBitadm\fR modify-initiator [\fB-s\fR,\fB--chap-secret\fR] [\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR]
+ [\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR] \fIinitiator_node_name\fR
+.fi
+
+.LP
+.nf
+\fBitadm\fR list-initiator [\fB-v\fR,\fB--verbose\fR] \fIinitiator_node_name\fR
+.fi
+
+.LP
+.nf
+\fBitadm\fR delete-initiator \fIinitiator_node_name\fR
+.fi
+
+.LP
+.nf
+\fBitadm\fR modify-defaults [\fB-a\fR,\fB--auth-method\fR radius | chap | none]
+ [\fB-r\fR,\fB--radius-server\fR \fIIP-address\fR[:\fIport\fR]] [\fB-d\fR,\fB--radius-secret\fR]
+ [\fB-D\fR,\fB--radius-secret-file\fR \fIpath\fR][\fB-i\fR,\fB--isns\fR enable | disable]
+ [\fB-I\fR,\fB--isns-server\fR \fIIP-address\fR[:\fIport\fR][,\fIIP-address\fR[:\fIport\fR]]]
+.fi
+
+.LP
+.nf
+\fBitadm\fR list-defaults
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBitadm\fR command manages Internet SCSI (iSCSI) target nodes within the
+SCSI Target Mode Framework described in \fBstmfadm\fR(1M) and
+\fBlibstmf\fR(3LIB). This allows the iSCSI initiators to access STMF logical
+units using the iSCSI protocol. In addition to iSCSI target nodes, \fBitadm\fR
+manages two other classes of managed objects: iSCSI Target Portal Groups, and
+iSCSI Initiator Node Contexts.
+.sp
+.LP
+\fBitadm\fR is implemented as a set of subcommands with options and operands
+for each subcommand. These subcommands are described in their own section,
+below. In addition to its subcommands, \fBitadm\fR has a help command, which
+displays the utility's usage information. The help command is invoked with the
+\fB-?\fR option.
+.SS "iSCSI Target Portal Groups"
+.sp
+.LP
+An iSCSI Target Network Portal is an IP address and TCP port that can be used
+by an initiator node to connect to an iSCSI target. A collection of these
+portals is called a Target Portal Group (TPG). You can use a TPG to limit
+access to an iSCSI target. Use the \fBitadm modify\fR \fB-t\fR command to bind
+a specific iSCSI target to the TPG. An iSCSI listener is created on each IP
+address that belongs to the TPG, and listens for connections to the iSCSI
+target.
+.sp
+.LP
+A TPG is identified by a unique name provided when the TPG is created. A
+numerical "Target Portal Group Tag" from the range 2-65535 is automatically
+generated when the TPG is created. The Target Portal Group Tag 1 is reserved
+for the "default" target portal group that is used when no explicit Target
+Portal Groups are set on the target. The portal for the default TPG matches
+requests from all network interfaces on port 3260.
+.SS "iSCSI Initiator Node Contexts"
+.sp
+.LP
+Certain operations such as authentication by means of Challenge Handshake
+Authentication Protocol (CHAP) require parameters associated with a remote
+iSCSI Initiator Node. These parameters are associated with an iSCSI Initiator
+Node Context. An iSCSI Initiator Node Context is identified by its Initiator
+Node Name, formatted in either IQN or EUI format (see RFC 3720). For example:
+.sp
+.in +2
+.nf
+iqn.1986-03.com.sun:01:e00000000000.47d55444
+eui.02004567A425678D
+.fi
+.in -2
+.sp
+
+.SS "Specifying IP Addresses"
+.sp
+.LP
+A number of \fBitadm\fR subcommands require that you specify one or more IP
+addresses with optional port numbers. For IPv4, use standard dotted decimal
+notation. For IPv6, enclose addresses in square brackets. The following are
+example specifications.
+.sp
+.in +2
+.nf
+\fBIPv4\fR: 10.2.4.1
+ 10.2.4.1:3260
+\fBIPv6\fR: [1080:0:0:0:8:800:200C:417A]
+ [1080:0:0:0:8:800:200C:417A]:3260
+.fi
+.in -2
+.sp
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The following are the \fBitadm\fR subcommands with their options.
+.SS "\fBitadm create-target\fR"
+.sp
+.in +2
+.nf
+itadm create-target [-a,--auth-method radius | chap | none | default]
+ [-s,--chap-secret]
+ [-S,--chap-secret-file \fIpath\fR] [-u,--chap-user \fIchap-user-name\fR]
+ [-n,--node-name \fItarget_node_name\fR] [-l,--alias \fIalias\fR]
+ [-t,--tpg \fItpg-name\fR[,\fItpg-name\fR,...]]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Create a iSCSI target with the specified options. Options are as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR,\fB--auth-method\fR \fBradius | chap | none | default\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the authentication method to use for the target. Valid values are
+\fBradius\fR, \fBchap\fR, and \fBnone\fR. \fBchap\fR indicates that initiators
+connecting to this target must be authenticated using the Challenge Handshake
+Authentication Protocol (CHAP). \fBradius\fR indicates initiators should also
+be authenticated by means of CHAP but the required authentication parameters
+should be obtained from a central RADIUS server (see the \fBradius-server\fR
+and \fBradius-secret\fR options). \fBnone\fR means that no authentication is
+required to connect to the target. \fBdefault\fR means the target will use the
+global setting of this property. (See the \fBmodify-defaults\fR subcommand.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR,\fB--chap-secret\fR\fR
+.ad
+.sp .6
+.RS 4n
+The CHAP secret to send during mutual CHAP authentication. There is no default
+for this property. Maximum length is 255 characters; minimum required length is
+12 characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path to a temporary file containing the CHAP secret as described in the
+\fB-s\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the CHAP username for a target for use in mutual CHAP authentication.
+This value is allowed only for targets, cannot be set globally, and is used
+only when the initiator node is configured to use mutual CHAP authentication.
+If no value is specified then the target node name is used as the username. See
+\fBiscsiadm\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR,\fB--node-name\fR \fItarget_node_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+An iSCSI Target Node is identified by its Target Node Name, formatted in either
+IQN or EUI format (see RFC 3720). This option establishes that name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR,\fB--alias\fR \fIalias\fR\fR
+.ad
+.sp .6
+.RS 4n
+An alternate identifier associated with a target node. The identifier does not
+need to be unique.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR,\fB--tpg\fR \fItpg-name\fR[,\fItpg-name\fR,...]\fR
+.ad
+.sp .6
+.RS 4n
+A list of Target Portal Group (TPG) identifiers that specifies the TPGs that an
+initiator can use to access a specific target or the keyword \fBdefault\fR. If
+\fBdefault\fR is specified, the target will use the default portal,
+\fBINADDR_ANY:3260\fR.
+.RE
+
+.SS "\fBitadm modify-target\fR"
+.sp
+.in +2
+.nf
+itadm modify-target [\fB-a\fR,\fB--auth-method\fR radius | chap | none | default]
+ [\fB-s\fR,\fB--chap-secret\fR] [\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR]
+ [\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR] [\fB-n\fR,\fB--node-name\fR \fInew_tgt_node_name\fR]
+ [\fB-l\fR,\fB--alias\fR \fIalias\fR] [\fB-t\fR,\fB--tpg\fR \fItpg-name\fR[,\fItpg-name\fR]] \fItarget_node_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Modify an iSCSI target according to the specified options. Options are as
+follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR,\fB--auth-method\fR \fBradius | chap | none | default\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR,\fB--chap-secret\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above. To remove an
+explicitly set CHAP username use \fB-u\fR \fBnone\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR,\fB--node-name\fR \fItarget_node_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Renames the target. See also the description of \fB-n\fR under the
+\fBcreate-target\fR subcommand, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR,\fB--alias\fR \fIalias\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above. To remove an
+explicitly set alias use \fB-l\fR \fBnone\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR,\fB--tpg\fR \fItpg-name\fR[,\fItpg-name\fR,...]\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above.
+.RE
+
+.SS "\fBitadm list-target\fR"
+.sp
+.in +2
+.nf
+itadm list-target [\fB-v\fR,\fB--verbose\fR] [\fItarget_node_name\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List information about the configured targets. If \fItarget_node_name\fR is
+specified, list only the information for that target. Option is as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR,\fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose mode.
+.RE
+
+.SS "\fBitadm delete-target\fR"
+.sp
+.in +2
+.nf
+itadm delete-target [\fB-f\fR,\fB--force\fR] \fItarget_node_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Delete the target specified by \fItarget_node_name\fR. The target must be
+\fBoffline\fR before it can be deleted. Option is as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR,\fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the target persists in an online state, this option attempts to offline the
+target before deleting it.
+.RE
+
+.SS "\fBitadm create-tpg\fR"
+.sp
+.in +2
+.nf
+itadm create-tpg \fItpg_name\fR \fIIP-address\fR[:\fIport\fR]...
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Create an iSCSI target portal group made up of the specified portals and assign
+it the identifier \fItpg_name\fR. Each portal is an IP address and port pair.
+IPv4 portals are specified in dotted address notation, for example,
+\fB172.31.255.255\fR. IPv6 portal addresses must be enclosed in square
+brackets.
+.sp
+.LP
+This subcommand has no options.
+.SS "\fBitadm list-tpg\fR"
+.sp
+.in +2
+.nf
+itadm list-tpg [\fB-v\fR,\fB--verbose\fR] [\fItpg_name\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List information about the configured target portal group. If \fItpg_name\fR is
+specified then list only the information about the target portal group
+associated with that \fItpg_name\fR. Option is as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR,\fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose mode.
+.RE
+
+.SS "\fBitadm delete-tpg\fR"
+.sp
+.in +2
+.nf
+itadm delete-tpg [\fB-f\fR,\fB--force\fR] \fItpg_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Delete the target portal group associated with \fItpg_name\fR. Option is as
+follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR,\fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the TPG is associated with any targets, the request to delete will be denied
+unless this option is specified.
+.RE
+
+.SS "\fBitadm create-initiator\fR"
+.sp
+.in +2
+.nf
+itadm create-initiator [\fB-s\fR,\fB--chap-secret\fR] [\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR]
+ [\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR] \fIinitiator_node_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Configure parameters associated with the remote initiator named
+\fIinitiator_node_name\fR. Options are as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR,\fB--chap-secret\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the CHAP username for an initiator, for use in CHAP authentication.
+If no value is specified then the initiator node name is used as the username.
+.RE
+
+.SS "\fBitadm modify-initiator\fR"
+.sp
+.in +2
+.nf
+itadm modify-initiator [\fB-s\fR,\fB--chap-secret\fR] [\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR]
+ [\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR] \fIinitiator_node_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Modify parameters associated with the remote initiator named
+\fIinitiator_node_name\fR. Options are as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR,\fB--chap-secret\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR,\fB--chap-secret-file\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described under the \fBcreate-target\fR subcommand, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR,\fB--chap-user\fR \fIchap-user-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the CHAP username for an initiator, for use in CHAP authentication.
+If no value is specified then the initiator node name is used as the username.
+.RE
+
+.SS "\fBitadm delete-initiator\fR"
+.sp
+.in +2
+.nf
+itadm delete-initiator \fIinitiator_node_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Delete parameters associated with the remote initiator named
+\fIinitiator_node_name\fR. This subcommand has no options.
+.SS "\fBitadm list-initiator\fR"
+.sp
+.in +2
+.nf
+\fBitadm\fR list-initiator [\fB-v\fR,\fB--verbose\fR] \fIinitiator_node_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List parameters associated with the initiator named \fIinitiator_node_name\fR.
+Option is as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR,\fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose mode.
+.RE
+
+.SS "\fBitadm modify-defaults\fR"
+.sp
+.in +2
+.nf
+itadm modify-defaults [\fB-a\fR,\fB--auth-method\fR radius | chap | none]
+ [\fB-r\fR,\fB--radius-server\fR \fIIP-address\fR[:\fIport\fR]] [\fB-d\fR,\fB--radius-secret\fR]
+ [\fB-D\fR,\fB--radius-secret-file\fR \fIpath\fR][\fB-i\fR,\fB--isns\fR enable | disable]
+ [\fB-I\fR,\fB--isns-server\fR \fIIP-address\fR[:\fIport\fR][,\fIIP-address\fR[:\fIport\fR]]]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Modify default parameters. Options are as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR,\fB--auth-method\fR \fBradius | chap | none\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the default authentication method to use for all targets. Valid
+values are \fBradius\fR, \fBchap\fR, and \fBnone\fR. \fBchap\fR indicates that
+initiators connecting to this target must be authenticated using Challenge
+Handshake Authentication Protocol (CHAP). \fBradius\fR indicates initiators
+should also be authenticated by means of CHAP, but the required authentication
+parameters should be obtained from a central RADIUS server. (See
+\fB--radius-server\fR and \fB--radius-secret\fR options.) \fBnone\fR means that
+no authentication is required to connect to the target. Individual targets can
+override this global setting using the \fB-a\fR option of the
+\fBcreate-target\fR and \fBmodify-target\fR subcommands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR,\fB--radius-secret\fR\fR
+.ad
+.sp .6
+.RS 4n
+RADIUS Shared Secret for centralized CHAP authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR,\fB--radius-secret-file\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path to a temporary file containing the CHAP secret as described in the
+\fB-d\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR,\fB--sns\fR \fBenable | disable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether targets should be registered with the set of defined iSCSI
+Name Service (iSNS) servers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR,\fB--isns-server\fR
+\fIIP-address\fR[:\fIport\fR][,\fIIP-address\fR[:\fIport\fR],...]\fR
+.ad
+.sp .6
+.RS 4n
+Defines a list of iSNS servers with which iSCSI target nodes will be registered
+when the \fBisns\fR option associated with the respective target is set. Up to
+eight iSNS servers can be specified. To remove all iSNS servers, use \fB-I\fR
+\fBnone\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR,\fB--radius-server\fR \fIIP-address\fR[:\fIport\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Specify the IP address of the RADIUS server used for centralized CHAP
+authentication.
+.RE
+
+.SS "\fBitadm list-defaults\fR"
+.sp
+.in +2
+.nf
+itadm list-defaults
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List information about the default properties. This subcommand has no options.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Target
+.sp
+.LP
+The following command creates a target.
+
+.sp
+.in +2
+.nf
+# \fBitadm create-target\fR
+Target iqn.1986-03.com.sun:02:72e1b181-7bce-c0e6-851e-ec0d8cf14b7a
+successfully created
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a Target with a Specific Name
+.sp
+.LP
+The following command creates a target with a specific IQN.
+
+.sp
+.in +2
+.nf
+# \fBitadm create-target -n eui.20387ab8943ef7548\fR
+or:
+# \fBitadm create-target \e
+-n iqn.1986-03.com.sun:02:a9a366f8-cc2b-f291-840948c7f29e\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRChanging a Name
+.sp
+.LP
+The following command changes an IQN for an existing target.
+
+.sp
+.in +2
+.nf
+# \fBitadm modify-target -n eui.20387ab8943ef7548 \e
+iqn.1986-03.com.sun:02:a9a366f8-909b-cc2b-f291-840948c7f29e\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSetting up CHAP Authentication
+.sp
+.LP
+The following command sets up CHAP authentication for a target using the
+default CHAP username.
+
+.sp
+.in +2
+.nf
+# \fBitadm modify-initiator -s iqn.1986-03.com.sun:01:e00000000000.47d55444\fR
+\fBEnter CHAP secret:\fR *********
+\fBRe-enter secret:\fR *********
+
+# \fBitadm modify-target -a chap eui.20387ab8943ef7548\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRCreating Target Portal Groups
+.sp
+.LP
+The following command creates two target portal groups, \fBA\fR and \fBB\fR,
+using port 8000 for the addresses in TPG 2.
+
+.sp
+.in +2
+.nf
+# \fBitadm create-tpg A 192.168.0.1 192.168.0.2\fR
+# \fBitadm create-tpg B 192.168.0.2:8000 192.168.0.2:8000\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRConfiguring a Target to Use TPGs
+.sp
+.LP
+The following command configures a target to use TPGs A and B.
+
+.sp
+.in +2
+.nf
+# \fBitadm modify-target -t A,B eui.20387ab8943ef7548\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRSetting up RADIUS Authentication for Specific Target
+.sp
+.LP
+The following command sets up RADIUS authentication for a specific target.
+
+.sp
+.in +2
+.nf
+# \fBitadm modify-defaults -r 192.168.10.1 -d\fR
+\fBEnter RADIUS secret:\fR *********
+\fBRe-enter secret:\fR *********
+
+# \fBitadm modify-target -a radius eui.20387ab8943ef7548\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRSetting up RADIUS Authentication for All Targets
+.sp
+.LP
+The following command sets up RADIUS authentication for all targets.
+
+.sp
+.in +2
+.nf
+# \fBitadm modify-defaults -d -r 192.168.10.1 -a radius\fR
+\fBEnter RADIUS secret:\fR *********
+\fBRe-enter secret:\fR *********
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The preceding command assumes all targets were created with \fB-a\fR
+\fBdefault\fR.
+
+.LP
+\fBExample 9 \fRListing Default Properties
+.sp
+.LP
+The following command lists default properties.
+
+.sp
+.in +2
+.nf
+# \fBitadm list-defaults\fR
+iSCSI Target Default Properties:
+
+alias: \fInone\fR
+auth: \fInone\fR
+radiusserver: \fInone\fR
+radiussecret: unset
+isns: disabled
+isnsserver: 2.3.4.5,4.5.6.7
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRListing Targets
+.sp
+.LP
+The following command lists targets.
+
+.sp
+.in +2
+.nf
+# \fBitadm list-target\fR
+TARGET NAME STATE SESSIONS
+iqn.1986-03.com.sun:02:72e1b181-7bce-c0e6-851e-ec0d8cf14b7a online 0
+iqn.1986-03.com.sun:02:2cb0c526-c05a-e279-e396-a367006f4227 online 0
+iqn.1986-03.com.sun:02:d14125bb-1c9d-c28d-97b0-f89259b642f3 online 0
+iqn.1986-03.com.sun:02:03ff9fc5-794a-e9b4-a081-bb82917c292a online 0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRListing Targets (Verbose)
+.sp
+.LP
+The following command lists targets with the verbose option.
+
+.sp
+.in +2
+.nf
+# \fBitadm list-target -v\fR
+TARGET NAME STATE SESSIONS
+iqn.1986-03.com.sun:02:d23e68d8-2d79-c988-98e7-a6361689d33c online 0
+ alias: -
+ auth: none (defaults)
+ targetchapuser: -
+ targetchapsecret: unset
+ tpg-tags: default
+iqn.1986-03.com.sun:02:94ec46d4-c8e1-6993-ef03-ffc1dcd66606 online 1
+ alias: -
+ auth: chap
+ targetchapuser: -
+ targetchapsecret: unset
+ tpg-tags: nge1_ipv4 = 3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRListing a Specific Target
+.sp
+.LP
+The following command lists targets with the verbose option.
+
+.sp
+.in +2
+.nf
+# \fBitadm list-target -v \e
+iqn.1986-03.com.sun:02:2cb0c526-c05a-e279-e396-a367006f4227\fR
+TARGET NAME STATE SESSIONS
+iqn.1986-03.com.sun:02:2cb0c526-c05a-e279-e396-a367006f4227 online 1
+ alias: -
+ auth: chap
+ targetchapuser: -
+ targetchapsecret: unset
+ tpg-tags: nge1_ipv4 = 3
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBiscsiadm\fR(1M), \fBstmfadm\fR(1M), \fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/itu.1m b/usr/src/man/man1m/itu.1m
new file mode 100644
index 0000000000..8399be9bef
--- /dev/null
+++ b/usr/src/man/man1m/itu.1m
@@ -0,0 +1,332 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH itu 1M "23 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+itu \- convert packages to Driver Update format and patch Solaris install media
+for Install Time Update
+.SH SYNOPSIS
+.LP
+.nf
+\fBitu makedu\fR \fB-r\fR \fIsolaris_release\fR [\fB-v\fR] [\fB-f\fR] [\fB-d\fR \fIoutput_dir\fR] [\fB-o\fR \fIiso_file\fR]
+ [\fB-l\fR \fIiso_label\fR] \fIpackage\fR [\fIpackage\fR...]
+.fi
+
+.LP
+.nf
+\fBitu updatemedia\fR \fB-R\fR \fImedia_root\fR [\fB-v\fR] [\fB-f\fR] [\fB-o\fR \fIiso_file\fR]
+ [\fB-l\fR \fIiso_label\fR] \fIpkg\fR [\fIpkg\fR...]
+.fi
+
+.LP
+.nf
+\fBitu makeiso\fR \fB-o\fR \fIiso_file\fR [\fB-v\fR] [\fB-l\fR \fIiso_label\fR] \fImedia_root\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBitu\fR utility converts driver packages to Driver Update (DU) format and
+patches a Solaris install media with driver packages for Install Time Update
+(ITU). \fBitu\fR has three subcommands: \fBmakedu\fR, \fBupdatemedia\fR and
+\fBmakeiso\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIoutput_dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory where the Driver Update directory is to be created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fIoutput_dir\fR/DU or \fIiso_file\fR already exists, remove it without
+asking first.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIiso_label\fR\fR
+.ad
+.sp .6
+.RS 4n
+Label/volume name of the ISO image (if \fB-o\fR option is specified).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIiso_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path of the ISO image file to be created. For subcommands \fBupdatemedia\fR and
+\fBmakeiso\fR, it will be a bootable ISO image. This option must be specified
+for subcommand \fBmakeiso\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fImedia_root\fR\fR
+.ad
+.sp .6
+.RS 4n
+Top-level directory of on-disk image of Solaris installation media. This option
+must be specified for subcommand \fBupdatemedia\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIsolaris_release\fR\fR
+.ad
+.sp .6
+.RS 4n
+Solaris release number for which the Driver Update is intended. It takes the
+form of the output of \fBuname\fR \fB-r\fR, for example, \fB5.10\fR. This
+option must be specified for subcommand \fBmakedu\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. Multiple \fB-v\fR options increase verbosity.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The \fBitu\fR subcommands are described as follows.
+.SS "\fBmakedu\fR"
+.sp
+.LP
+The \fBmakedu\fR subcommand takes one or more driver packages as input and
+converts them to DU format. At the beginning of an interactive Solaris
+installation session, these driver updates can be applied to the running
+kernel, which will then also automatically apply them to the newly installed
+Solaris at the end of the installation process.
+.sp
+.LP
+The \fB-r\fR option is required to specify the Solaris release number for which
+the driver updates apply. The \fIsolaris_release\fR option argument takes the
+form \fBuname\fR \fB-r\fR output, for example, \fB5.10\fR or \fB5.11\fR.
+.sp
+.LP
+If the \fB-d\fR option is specified, the resulting DU directory tree is placed
+in the directory \fIoutput_dir\fR.
+.sp
+.LP
+If the \fB-o\fR option is specified, a (non-bootable) ISO image of the DU
+directory tree is written in the file \fIiso_file\fR. This ISO image can be
+burned onto a CD/DVD using \fBcdrw\fR(1) or \fBcdrecord(1)\fR (not a SunOS man
+page). See the "Examples" section below for an example of creating a DU on a
+floppy.
+.sp
+.LP
+At least one of \fB-d\fR and \fB-o\fR option must be specified. If both are
+specified, then both an ISO image and a directory tree are generated.
+.SS "\fBupdatemedia\fR"
+.sp
+.LP
+The \fBupdatemedia\fR subcommand takes a list of driver packages as input and
+applies them to the miniroot of a Solaris install media. It also places them in
+a subdirectory called \fBITUs\fR under the Solaris install media's top-level
+directory:
+.sp
+.in +2
+.nf
+\fImedia_root\fR/ITUs
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When booting a system from the updated media, the packages will be part of the
+booted Solaris image. They will also be applied to the target system being
+installed at the end of the installation process.
+.sp
+.LP
+The \fB-R\fR option must be entered on the command line to specify the Solaris
+install media. Note that the install media must be on a location that is
+writable by \fBitu\fR.
+.sp
+.LP
+If the \fB-o\fR option is specified, a bootable ISO image of the patched
+install media is also created in the file \fIiso_file\fR. The ISO image can
+then be burned onto a CD or DVD.
+.SS "\fBmakeiso\fR"
+.sp
+.LP
+The \fBmakeiso\fR subcommand runs \fBmkisofs(8)\fR to create a bootable Solaris
+ISO image of the Solaris install media \fImedia_root\fR and writes it to the
+file \fIiso_file\fR. The ISO image file can then be burned onto a CD or DVD
+with utilities such as \fBcdrw\fR(1) or \fBcdrecord(1)\fR. (Note that
+\fBmkisofs(8)\fR and \fBcdrecord(1)\fR are not SunOS man pages.)
+.LP
+Caution -
+.sp
+.RS 2
+The Solaris install media \fImedia-root\fR must contain the file
+\fBboot/grub/stage2_eltorito\fR, which will be written to the media boot
+sectors. This file will be modified with some boot information, thus it has to
+be writable. If necessary, first save a copy, prior to running this subcommand.
+.RE
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpackage\fR [\fIpackage\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+One or more driver packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkg\fR [\fIpkg\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+One or more packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImedia_root\fR\fR
+.ad
+.sp .6
+.RS 4n
+The top-level directory of a Solaris install media.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a DU CD/DVD
+.sp
+.LP
+The following commands create a Driver Update CD/DVD containing the packages
+\fBSAMPLEpkg1\fR and \fBSAMPLEpkg2\fR.
+
+.sp
+.in +2
+.nf
+# \fBitu makedu -r 5.10 -o my.iso SAMPLEpkg1 SAMPLEpkg2\fR
+# \fBcdrw -i my.iso\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a DU Floppy
+.sp
+.LP
+The following commands create a Driver Update floppy containing the driver
+package \fBMYdriver\fR.
+
+.sp
+.in +2
+.nf
+# \fBrmformat -F quick /dev/rdiskette\fR
+# \fBmkfs -F pcfs /dev/rdiskette\fR
+# \fBmount -F pcfs /dev/diskette /mnt\fR
+# \fB/usr/bin/itu makedu -r 5.10 -d /mnt /export/MYdriver\fR
+# \fBumount /mnt\fR
+# \fBdd if=/dev/rdiskette of=floppy.dd\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBitu\fR command above creates the DU directly onto the floppy mounted on
+\fB/mnt\fR. The \fBdd\fR invocation stores an image of the floppy in the file
+\fBfloppy.dd\fR. This is useful for distributing a DU floppy in file form. From
+the file, the floppy can then be recreated as follows:
+
+.sp
+.in +2
+.nf
+# \fBdd if=floppy.dd of=/dev/rdiskette\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating a Bootable ISO Image
+.sp
+.LP
+The following commands create the bootable ISO image \fBmydvd.iso\fR of the
+Solaris install image \fB/export/solaris-10u1\fR with ISO label
+"\fBSpecial-S10\fR".
+
+.sp
+.in +2
+.nf
+# \fB/usr/bin/itu makeiso -o mydvd.iso -l "Special-S10" \e
+ /export/solaris-10u1\fR
+# \fBcdrw -i mydvd.iso\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcdrw\fR(1), \fBpkgadd\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fBmkisofs(8)\fR, (\fB/usr/share/man/man8/mkisofs.8\fR), in the
+\fBSUNWfsman\fR package (not a SunOS man page)
diff --git a/usr/src/man/man1m/k5srvutil.1m b/usr/src/man/man1m/k5srvutil.1m
new file mode 100644
index 0000000000..8102ae221d
--- /dev/null
+++ b/usr/src/man/man1m/k5srvutil.1m
@@ -0,0 +1,142 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH k5srvutil 1M "29 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+k5srvutil \- host key table (keytab) manipulation utility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/k5srvutil\fR \fIoperation\fR [\fB-ik\fR] [\fB-f\fR \fIfilename\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBk5srvutil\fR command allows a system manager to list or change keys
+currently in his keytab or to add new keys to the keytab.
+.sp
+.LP
+The operand \fIoperation\fR must be one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 10n
+.rt
+Lists the keys in a keytab, showing version number and principal name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchange\fR\fR
+.ad
+.RS 10n
+.rt
+Changes all the keys in the keytab to new randomly-generated keys, updating the
+keys in the Kerberos server's database to match those by using the \fBkadmin\fR
+protocol. If a key's version number does not match the version number stored in
+the Kerberos server's database, the operation fails. The old keys are retained
+so that existing tickets continue to work. If the \fB-i\fR flag is specified,
+\fBk5srvutil\fR prompts for \fByes\fR or \fBno\fR before changing each key. If
+the \fB-k\fR option is used, the old and new keys are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelold\fR\fR
+.ad
+.RS 10n
+.rt
+Deletes keys that are not the most recent version from the keytab. This
+operation should be used at some point after a change operation to remove old
+keys. If the \fB-i\fR flag is specified, \fBk5srvutil\fR asks the user whether
+the old keys associated with each principal should be removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR\fR
+.ad
+.RS 10n
+.rt
+Deletes particular keys in the keytab, interactively prompting for each key.
+.RE
+
+.sp
+.LP
+In all cases, the default keytab file is \fB/etc/krb5.keytab\fR file unless
+this is overridden by the \fB-f\fR option.
+.sp
+.LP
+\fBk5srvutil\fR uses the \fBkadmin\fR(1M) program to edit the keytab in place.
+However, old keys are retained, so they are available in case of failure.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.RS 15n
+.rt
+Specify a keytab file other than the default file, \fB/etc/krb5.keytab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 15n
+.rt
+Prompts user before changing keys when using the \fBchange\fR or \fBdelold\fR
+operands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 15n
+.rt
+Displays old and new keys when using the \fBchange\fR operand.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBktutil\fR(1), \fBkadmin\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/kadb.1m b/usr/src/man/man1m/kadb.1m
new file mode 100644
index 0000000000..44831122e4
--- /dev/null
+++ b/usr/src/man/man1m/kadb.1m
@@ -0,0 +1,130 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kadb 1M "2 Jul 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kadb \- a kernel debugger
+.SH SYNOPSIS
+.SS "SPARC"
+.LP
+.nf
+\fBok\fR boot \fIdevice_specifier\fR kadb [\fB-d\fR] [\fIboot-flags\fR]
+.fi
+
+.SS "x86"
+.LP
+.nf
+\fBselect\fR (b)oot or (i)nterpreter: b kadb [\fB-d\fR] [\fIboot-flags\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBkadb\fR, an interactive kernel debugger, has been replaced by \fBkmdb\fR(1).
+For backwards compatibility, the methods used to load \fBkadb\fR will be
+interpreted as requests to load \fBkmdb\fR(1). Unlike with the compatibility
+link from \fBadb\fR(1) to \fBmdb\fR(1), \fBkmdb\fR(1) will always load in its
+native user interface mode, regardless of the name used to load it.
+.sp
+.LP
+\fBkmdb\fR(1) is based on \fBmdb\fR(1), and thus shares \fBmdb\fR's user
+interface style and feature set. The \fBmdb\fR(1) man page describes the
+features and operation of \fBmdb\fR. The \fBkmdb\fR(1) man page describes the
+differences between \fBmdb\fR and \fBkmdb\fR. This man page describes the major
+changes and incompatibilities between \fBkadb\fR and \fBkmdb\fR.
+.sp
+.LP
+Consult the \fISolaris Modular Debugger Guide\fR for a detailed description of
+both \fBmdb\fR and \fBkmdb\fR.
+.SS "Major changes"
+.sp
+.LP
+This section briefly lists the major differences between \fBkadb\fR and
+\fBkmdb\fR. It is not intended to be exhaustive.
+.sp
+.ne 2
+.mk
+.na
+\fBDebugger Loading and Unloading\fR
+.ad
+.sp .6
+.RS 4n
+\fBkmdb\fR(1) may be loaded at boot, as with \fBkadb\fR. It may also be loaded
+after boot, thus allowing for kernel debugging and execution control without
+requiring a system reboot. If \fBkmdb\fR(1) is loaded after boot, it may be
+unloaded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmdb Feature Set\fR
+.ad
+.sp .6
+.RS 4n
+The features introduced by \fBmdb\fR(1), including access to kernel type data,
+debugger commands (dcmds), debugger modules (dmods), and enhanced execution
+control facilities, are available under \fBkmdb\fR(1). Support for changing the
+representative CPU (:x) is available for both SPARC and x86. Furthermore, full
+execution-control facilities are available after the representative CPU has
+been changed.
+.RE
+
+.SS "Significant Incompatibilities"
+.sp
+.LP
+This section lists the significant features that have changed incompatibly
+between \fBkadb\fR and \fBkmdb\fR(1). It is not intended to be exhaustive. All
+\fBkmdb\fR(1) commands referenced here are fully described in the \fBkmdb\fR(1)
+man page. A description as well as examples can be found in the \fISolaris
+Modular Debugger Guide\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBDeferred Breakpoints\fR
+.ad
+.sp .6
+.RS 4n
+The kadb-style "module#symbol:b" syntax is not supported under \fBkmdb\fR(1).
+Instead, use "::bp module`symbol".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBWatchpoints\fR
+.ad
+.sp .6
+.RS 4n
+The ::wp dcmd is the preferred way to set watchpoint with \fBkmdb\fR. Various
+options are available to control the type of watchpoint set, including \fB-p\fR
+for physical watchpoints (SPARC only), and \fB-i\fR for I/O port watchpoints
+(x86 only). $l is not supported, therefore, the watchpoint size must be
+specified for each watchpoint created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBAccess to I/O Ports (x86 only)\fR
+.ad
+.sp .6
+.RS 4n
+The commands used to access I/O ports under \fBkadb\fR have been replaced with
+the ::in and ::out dcmds. These two dcmds allow both read and write of all I/O
+port sizes supported by \fBkadb\fR.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBadb\fR(1), \fBmdb\fR(1), \fBkmdb\fR(1), \fBattributes\fR(5)
+.sp
+.LP
+\fISolaris Modular Debugger Guide\fR
diff --git a/usr/src/man/man1m/kadmin.1m b/usr/src/man/man1m/kadmin.1m
new file mode 100644
index 0000000000..efbc5eb087
--- /dev/null
+++ b/usr/src/man/man1m/kadmin.1m
@@ -0,0 +1,1632 @@
+'\" te
+.\" Copyright 1989 by the Massachusetts Institute of Technology. Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kadmin 1M "29 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kadmin, kadmin.local \- Kerberos database administration program
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/kadmin\fR [\fB-r\fR \fIrealm\fR] [\fB-p\fR \fIprincipal\fR] [\fB-q\fR \fIquery\fR]
+ [\fB-s\fR \fIadmin_server\fR [\fI:port\fR]] [ [\fB-c\fR \fIcredential_cache\fR]
+ | [\fB-k\fR [\fB-t\fR \fIkeytab\fR]] | [\fB-w\fR \fIpassword\fR]] [\fB-x\fR \fIdb_args\fR]...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/kadmin.local\fR [\fB-r\fR \fIrealm\fR] [\fB-p\fR \fIprincipal\fR]
+ [\fB-q\fR \fIquery\fR] [\fB-d\fR \fIdbname\fR] [\fB-e\fR "\fIenc:salt...\fR"] [\fB-m\fR] [\fB-D\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBkadmin\fR and \fBkadmin.local\fR are interactive command-line interfaces to
+the Kerberos V5 administration system. They provide for the maintenance of
+Kerberos principals, policies, and service key tables (keytabs). \fBkadmin\fR
+and \fBkadmin.local\fR provide identical functionality; the difference is that
+\fBkadmin.local\fR can run only on the master KDC and does not use Kerberos
+authentication.
+.sp
+.LP
+Except as explicitly noted otherwise, this man page uses \fBkadmin\fR to refer
+to both versions.
+.sp
+.LP
+By default, both versions of \fBkadmin\fR attempt to determine your user name
+and perform operations on behalf of your "\fIusername\fR/\fIadmin\fR" instance.
+Operations performed are subject to privileges granted or denied to this user
+instance by the Kerberos ACL file (see \fBkadm5.acl\fR(4)). You may perform
+administration as another user instance by using the \fB-p\fR option.
+.sp
+.LP
+The remote version, \fBkadmin\fR, uses Kerberos authentication and an encrypted
+RPC to operate securely from anywhere on the network. It normally prompts for a
+password and authenticates the user to the Kerberos administration server,
+\fBkadmind\fR, whose service principal is \fBkadmin/\fR\fIfqdn\fR. Some options
+specific to the remote version permit the password prompt to be bypassed. The
+\fB-c\fR option searches the named credentials cache for a valid ticket for the
+\fBkadmin/\fR\fIfqdn\fR service and uses it to authenticate the user to the
+Kerberos admin server without a password. The \fB-k\fR option searches a keytab
+for a credential to authenticate to the \fBkadmin/\fR\fIfqdn\fR service, and
+again no password is collected. If \fBkadmin\fR has collected a password, it
+requests a \fBkadmin/\fR\fIfqdn\fR Kerberos service ticket from the KDC, and
+uses that service ticket to interact with \fBkadmind\fR.
+.sp
+.LP
+The local version, \fBkadmin.local\fR, must be run with an effective UID of
+root, and normally uses a key from the \fB/var/krb5/.k5.\fR\fIrealm\fR stash
+file (see \fBkdb5_util\fR(1M)) to decrypt information from the database rather
+than prompting for a password. The \fB-m\fR option will bypass the
+\fB\&.k5.\fR\fIrealm\fR stash file and prompt for the master password.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcredentials_cache\fR\fR
+.ad
+.sp .6
+.RS 4n
+Search \fIcredentials_cache\fR for a service ticket for the
+\fBkadmin/\fR\fIfqdn\fR service; it can be acquired with the \fBkinit\fR(1)
+program. If this option is not specified, \fBkadmin\fR requests a new service
+ticket from the KDC, and stores it in its own temporary credentials cache.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdbname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a non-standard database name. [Local only]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn on debug mode. [Local only]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fI"enc:salt ..."\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a different encryption type and/or key salt. [Local only]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR [\fB-t\fR \fIkeytab\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Use the default keytab (\fB-k\fR) or a specific keytab (\fB-t\fR \fIkeytab\fR)
+to decrypt the KDC response instead of prompting for a password. In this case,
+the default principal will be \fBhost\fR/\fBhostname\fR. This is primarily used
+for keytab maintenance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Accept the database master password from the keyboard rather than using the
+\fB/var/krb5/.k5.\fIrealm\fR\fR stash file. [Local only]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprincipal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Authenticate \fIprincipal\fR to the \fBkadmin/\fR\fIfqdn\fR service. Otherwise,
+\fBkadmin\fR will append \fB/admin\fR to the primary principal name of the
+default credentials cache, the value of the \fBUSER\fR environment variable, or
+the username as obtained with \fBgetpwuid\fR, in that order of preference.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR \fIquery\fR\fR
+.ad
+.sp .6
+.RS 4n
+Pass \fIquery\fR directly to \fBkadmin\fR, which will perform \fIquery\fR and
+then exit. This can be useful for writing scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIrealm\fR as the default database realm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIadmin_server\fR[\fI:port\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Administer the specified \fIadmin\fR server at the specified port number
+(\fIport\fR). This can be useful in administering a realm not known to your
+client.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fIpassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIpassword\fR instead of prompting for one. Note that placing the password
+for a Kerberos principal with administration access into a shell script can be
+dangerous if unauthorized users gain read access to the script or can read
+arguments of this command through \fBps\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIdb_args\fR\fR
+.ad
+.sp .6
+.RS 4n
+Pass database-specific arguments to \fBkadmin\fR. Supported arguments are for
+LDAP and the \fBBerkeley-db2\fR plug-in. These arguments are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbinddn\fR=\fIbinddn\fR\fR
+.ad
+.sp .6
+.RS 4n
+LDAP simple bind DN for authorization on the directory server. Overrides the
+\fBldap_kadmind_dn\fR parameter setting in \fBkrb5.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbindpwd\fR=\fIbindpwd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bind password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdbname\fR=\fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the \fBBerkeley-db2\fR plug-in, specifies a name for the Kerberos database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnconns\fR=\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum number of server connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBport\fR=\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory server connection port.
+.RE
+
+.RE
+
+.SH COMMANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist_requests\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists all the commands available for \fBkadmin\fR. Aliased by \fBlr\fR and
+\fB?\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget_privs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the current Kerberos administration privileges (ACLs) for the principal
+that is currently running \fBkadmin\fR. The privileges are based on the
+\fB/etc/krb5/kadm5.acl\fR file on the master KDC. Aliased by \fBgetprivs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fBadd_principal\fR \fB[\fIoptions\fR]\fR \fB\fInewprinc\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a new principal, \fInewprinc\fR, prompting twice for a password. If the
+\fB-policy\fR option is not specified and a policy named \fBdefault\fR exists,
+then the \fBdefault\fR policy is assigned to the principal; note that the
+assignment of the \fBdefault\fR policy occurs automatically only when a
+principal is first created, so the \fBdefault\fR policy must already exist for
+the assignment to occur. The automatic assignment of the \fBdefault\fR policy
+can be suppressed with the \fB-clearpolicy\fR option. This command requires the
+\fBadd\fR privilege. Aliased by \fBaddprinc\fR and \fBank\fR. The options are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-expire\fR \fIexpdate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expiration date of the principal. See the \fBTime\fR \fBFormats\fR section for
+the valid absolute time formats that you can specify for \fIexpdate\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-pwexpire\fR \fIpwexpdate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Password expiration date. See the \fBTime\fR \fBFormats\fR section for the
+valid absolute time formats that you can specify for \fIpwexpdate\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxlife\fR \fImaxlife\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum ticket life for the principal. See the \fBTime\fR \fBFormats\fR section
+for the valid time duration formats that you can specify for \fImaxlife\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxrenewlife\fR \fImaxrenewlife\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum renewable life of tickets for the principal. See the \fBTime\fR
+\fBFormats\fR section for the valid time duration formats that you can specify
+for \fImaxrenewlife\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-kvno\fR \fIkvno\fR\fR
+.ad
+.sp .6
+.RS 4n
+Explicitly set the key version number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-policy\fR \fIpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Policy used by the principal. If both the \fB-policy\fR and \fB-clearpolicy\fR
+options are not specified, the \fBdefault\fR policy is used if it exists;
+otherwise, the principal will have no policy. Also note that the password and
+principal name must be different when you add a new principal with a specific
+policy or the \fBdefault\fR policy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-clearpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-clearpolicy\fR prevents the \fBdefault\fR policy from being assigned when
+\fB-policy\fR is not specified. This option has no effect if the \fBdefault\fR
+policy does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBallow_postdated\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_postdated\fR prohibits the principal from obtaining postdated
+tickets. (Sets the \fBKRB5_KDB_DISALLOW_POSTDATED\fR flag.)
+\fB+allow_postdated\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBallow_forwardable\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_forwardable\fR prohibits the principal from obtaining forwardable
+tickets. (Sets the \fBKRB5_KDB_DISALLOW_FORWARDABLE\fR flag.)
+\fB+allow_forwardable\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBallow_renewable\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_renewable\fR prohibits the principal from obtaining renewable
+tickets. (Sets the \fBKRB5_KDB_DISALLOW_RENEWABLE\fR flag.)
+\fB+allow_renewable\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBallow_proxiable\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_proxiable\fR prohibits the principal from obtaining proxiable
+tickets. (Sets the \fBKRB5_KDB_DISALLOW_PROXIABLE\fR flag.)
+\fB+allow_proxiable\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBallow_dup_skey\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_dup_skey\fR disables user-to-user authentication for the principal by
+prohibiting this principal from obtaining a session key for another user. (Sets
+the \fBKRB5_KDB_DISALLOW_DUP_SKEY\fR flag.) \fB+allow_dup_skey\fR clears this
+flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBrequires_preauth\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB+requires_preauth\fR requires the principal to preauthenticate before being
+allowed to \fBkinit\fR. (Sets the \fBKRB5_KDB_REQUIRES_PRE_AUTH\fR flag.)
+\fB-requires_preauth\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBrequires_hwauth\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB+requires_hwauth\fR requires the principal to preauthenticate using a
+hardware device before being allowed to kinit. (Sets the
+\fBKRB5_KDB_REQUIRES_HW_AUTH\fR flag.) \fB-requires_hwauth\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBallow_svr\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_svr\fR prohibits the issuance of service tickets for the principal.
+(Sets the \fBKRB5_KDB_DISALLOW_SVR\fR flag.) \fB+allow_svr\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBallow_tgs_req\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_tgs_req\fR specifies that a Ticket-Granting Service (TGS) request for
+a service ticket for the principal is not permitted. This option is useless for
+most things. \fB+allow_tgs_req\fR clears this flag. The default is
+\fB+allow_tgs_req\fR. In effect, \fB-allow_tgs_req\fR sets the
+\fBKRB5_KDB_DISALLOW_TGT_BASED\fR flag on the principal in the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBallow_tix\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_tix\fR forbids the issuance of any tickets for the principal.
+\fB+allow_tix\fR clears this flag. The default is \fB+allow_tix\fR. In effect,
+\fB-allow_tix\fR sets the \fBKRB5_KDB_DISALLOW_ALL_TIX\fR flag on the principal
+in the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBneedchange\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB+needchange\fR sets a flag in attributes field to force a password change;
+\fB-needchange\fR clears it. The default is \fB-needchange\fR\&. In effect,
+\fB+needchange\fR sets the \fBKRB5_KDB_REQUIRES_PWCHANGE\fR flag on the
+principal in the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fB-\fR|\fB+\fR}\fBpassword_changing_service\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB+password_changing_service\fR sets a flag in the attributes field marking
+this as a password change service principal (useless for most things).
+\fB-password_changing_service\fR clears the flag. This flag intentionally has a
+long name. The default is \fB-password_changing_service\fR\&. In effect,
+\fB+password_changing_service\fR sets the \fBKRB5_KDB_PWCHANGE_SERVICE\fR flag
+on the principal in the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-randkey\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the key of the principal to a random value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-pw\fR \fB\fIpassword\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the key of the principal to the specified string and does not prompt for a
+password. Note that using this option in a shell script can be dangerous if
+unauthorized users gain read access to the script.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR "enc:salt ..."\fR
+.ad
+.sp .6
+.RS 4n
+Override the list of enctype:salttype pairs given in \fBkdc.conf\fR(4) for
+setting the key of the principal. The quotes are necessary if there are
+multiple enctype:salttype pairs. One key for each similar enctype and same
+salttype will be created and the first one listed will be used. For example, in
+a list of two similar enctypes with the same salt, "des-cbc-crc:normal
+des-cbc-md5:normal", one key will be created and it will be of type
+des-cbc-crc:normal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBExample:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBaddprinc tlyu/admin\fR
+WARNING: no policy specified for "tlyu/admin@ACME.COM";
+defaulting to no policy.
+Enter password for principal tlyu/admin@ACME.COM:
+Re-enter password for principal tlyu/admin@ACME.COM:
+Principal "tlyu/admin@ACME.COM" created.
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_ADD\fR (requires \fBadd\fR privilege)
+.sp
+\fBKADM5_BAD_MASK\fR (should not happen)
+.sp
+\fBKADM5_DUP\fR (principal exists already)
+.sp
+\fBKADM5_UNK_POLICY\fR (policy does not exist)
+.sp
+\fBKADM5_PASS_Q_*\fR (password quality violations)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete_principal\fR [\fB-force\fR] \fIprincipal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the specified principal from the database. This command prompts for
+deletion, unless the \fB-force\fR option is given. This command requires the
+\fBdelete\fR privilege. Aliased by \fBdelprinc\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBExample:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBdelprinc mwm_user\fR
+Are you sure you want to delete the principal
+"mwm_user@ACME.COM"? (yes/no): \fByes\fR
+Principal "mwm_user@ACME.COM" deleted.
+Make sure that you have removed this principal from
+all kadmind ACLs before reusing.
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_DELETE\fR (requires \fBdelete\fR privilege)
+.sp
+\fBKADM5_UNK_PRINC\fR (principal does not exist)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodify_principal\fR [\fIoptions\fR] \fIprincipal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies the specified principal, changing the fields as specified. The options
+are as above for \fBadd_principal\fR, except that password changing is
+forbidden by this command. In addition, the option \fB-clearpolicy\fR will
+clear the current policy of a principal. This command requires the \fBmodify\fR
+privilege. Aliased by \fBmodprinc\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_MODIFY\fR (requires \fBmodify\fR privilege)
+.sp
+\fBKADM5_UNK_PRINC\fR (principal does not exist)
+.sp
+\fBKADM5_UNK_POLICY\fR (policy does not exist)
+.sp
+\fBKADM5_BAD_MASK\fR (should not happen)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchange_password\fR [\fIoptions\fR] \fIprincipal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Changes the password of \fIprincipal\fR. Prompts for a new password if neither
+\fB-randkey\fR or \fB-pw\fR is specified. Requires the \fBchangepw\fR
+privilege, or that the principal that is running the program to be the same as
+the one changed. Aliased by \fBcpw\fR. The following options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-randkey\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the key of the principal to a random value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-pw\fR \fIpassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the password to the specified string. Not recommended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR "enc:salt ..."\fR
+.ad
+.sp .6
+.RS 4n
+Override the list of enctype:salttype pairs given in \fBkdc.conf\fR(4) for
+setting the key of the principal. The quotes are necessary if there are
+multiple enctype:salttype pairs. For each key, the first matching similar
+enctype and same salttype in the list will be used to set the new key(s).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-keepold\fR\fR
+.ad
+.sp .6
+.RS 4n
+Keeps the previous kvno's keys around. There is no easy way to delete the old
+keys, and this flag is usually not necessary except perhaps for TGS keys as it
+will allow existing valid TGTs to continue to work.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBExample:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBcpw systest\fR
+Enter password for principal systest@ACME.COM:
+Re-enter password for principal systest@ACME.COM:
+Password for systest@ACME.COM changed.
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_MODIFY\fR (requires the \fBmodify\fR privilege)
+.sp
+\fBKADM5_UNK_PRINC\fR (principal does not exist)
+.sp
+\fBKADM5_PASS_Q_*\fR (password policy violation errors)
+.sp
+\fBKADM5_PASS_REUSE\fR (password is in principal's password history)
+.sp
+\fBKADM5_PASS_TOOSOON\fR (current password minimum life not expired)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget_principal\fR [\fB-terse\fR] \fIprincipal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Gets the attributes of \fIprincipal\fR. Requires the \fBinquire\fR privilege,
+or that the principal that is running the program to be the same as the one
+being listed. With the \fB-terse\fR option, outputs fields as quoted
+tab-separated strings. Aliased by \fBgetprinc\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBExamples:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBgetprinc tlyu/admin\fR
+Principal: tlyu/admin@ACME.COM
+Expiration date: [never]
+Last password change: Thu Jan 03 12:17:46 CET 2008
+Password expiration date: [none]
+Maximum ticket life: 24855 days 03:14:07
+Maximum renewable life: 24855 days 03:14:07
+Last modified: Thu Jan 03 12:17:46 CET 2008 (root/admin@ACME.COM)
+Last successful authentication: [never]
+Last failed authentication: [never]
+Failed password attempts: 0
+Number of keys: 5
+Key: vno 2, AES-256 CTS mode with 96-bit SHA-1 HMAC, no salt
+Key: vno 2, AES-128 CTS mode with 96-bit SHA-1 HMAC, no salt
+Key: vno 2, Triple DES cbc mode with HMAC/sha1, no salt
+Key: vno 2, ArcFour with HMAC/md5, no salt
+Key: vno 2, DES cbc mode with RSA-MD5, no salt
+Attributes: REQUIRES_PRE_AUTH
+Policy: [none]
+kadmin: \fBgetprinc -terse tlyu/admin\fR
+"tlyu/admin@ACME.COM" 0 1199359066 0 2147483647
+"root/admin@ACME.COM" 1199359066 128 2 0 "[none]" 21474836
+47 0 0 0 5 1 2 18 0 1 2
+17 0 1 2 16 0 1 2 23 0 12
+ 3 0
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_GET\fR (requires the get [inquire] privilege)
+.sp
+\fBKADM5_UNK_PRINC\fR (principal does not exist)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist_principals\fR [\fIexpression\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Retrieves all or some principal names. \fIexpression\fR is a shell-style glob
+expression that can contain the wild-card characters ?, *, and []'s. All
+principal names matching the expression are printed. If no expression is
+provided, all principal names are printed. If the expression does not contain
+an "@" character, an "@" character followed by the local realm is appended to
+the expression. Requires the \fBlist\fR privilege. Aliased by \fBlistprincs\fR,
+\fBget_principals\fR, and \fBgetprincs\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBExamples:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBlistprincs test*\fR
+test3@ACME.COM
+test2@ACME.COM
+test1@ACME.COM
+testuser@ACME.COM
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd_policy\fR [\fIoptions\fR] \fIpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds the named policy to the policy database. Requires the \fBadd\fR privilege.
+Aliased by \fBaddpol\fR. The following options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxlife\fR \fImaxlife\fR\fR
+.ad
+.sp .6
+.RS 4n
+sets the maximum lifetime of a password. See the \fBTime\fR \fBFormats\fR
+section for the valid time duration formats that you can specify for
+\fImaxlife\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-minlife\fR \fIminlife\fR\fR
+.ad
+.sp .6
+.RS 4n
+sets the minimum lifetime of a password. See the \fBTime\fR \fBFormats\fR
+section for the valid time duration formats that you can specify for
+\fIminlife\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-minlength\fR \fIlength\fR\fR
+.ad
+.sp .6
+.RS 4n
+sets the minimum length of a password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-minclasses\fR \fInumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+sets the minimum number of character classes allowed in a password. The valid
+values are:
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+only letters (himom)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+both letters and numbers (hi2mom)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.sp .6
+.RS 4n
+letters, numbers, and punctuation (hi2mom!)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-history\fR \fInumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+sets the number of past keys kept for a principal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_ADD\fR (requires the \fBadd\fR privilege)
+.sp
+\fBKADM5_DUP\fR (policy already exists)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete_policy\fR \fB[-force]\fR \fIpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the named policy. Unless the \fB-force\fR option is specified, prompts
+for confirmation before deletion. The command will fail if the policy is in use
+by any principals. Requires the \fBdelete\fR privilege. Aliased by
+\fBdelpol\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBExample:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBdel_policy guests\fR
+Are you sure you want to delete the
+policy "guests"? (yes/no): \fByes\fR
+Policy "guests" deleted.
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_DELETE\fR (requires the delete privilege)
+.sp
+\fBKADM5_UNK_POLICY\fR (policy does not exist)
+.sp
+\fBKADM5_POLICY_REF\fR (reference count on policy is not zero)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fBmodify_policy\fR \fB[\fIoptions\fR]\fR \fB\fIpolicy\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies the named policy. Options are as above for \fBadd_policy\fR. Requires
+the \fBmodify\fR privilege. Aliased by \fBmodpol\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_MODIFY\fR (requires the \fBmodify\fR privilege)
+.sp
+\fBKADM5_UNK_POLICY\fR (policy does not exist)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget_policy\fR [\fB-terse\fR] \fIpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the values of the named policy. Requires the \fBinquire\fR privilege.
+With the \fB-terse\fR flag, outputs the fields as quoted strings separated by
+tabs. Aliased by \fBgetpol\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBExamples:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBget_policy admin\fR
+Policy: admin
+Maximum password life: 180 days 00:00:00
+Minimum password life: 00:00:00
+Minimum password length: 6
+Minimum number of password character classes: 2
+Number of old keys kept: 5
+Reference count: 17
+kadmin: \fBget_policy -terse\fR
+admin admin 15552000 0 6 2 5 17
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBErrors:\fR
+.ad
+.sp .6
+.RS 4n
+\fBKADM5_AUTH_GET\fR (requires the \fBget\fR privilege)
+.sp
+\fBKADM5_UNK_POLICY\fR (policy does not exist)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist_policies\fR [\fIexpression\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Retrieves all or some policy names. \fIexpression\fR is a shell-style glob
+expression that can contain the wild-card characters ?, *, and []'s. All policy
+names matching the expression are printed. If no expression is provided, all
+existing policy names are printed. Requires the \fBlist\fR privilege. Aliased
+by \fBlistpols\fR, \fBget_policies\fR, and \fBgetpols\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBExamples:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBlistpols\fR
+test-pol dict-only once-a-min test-pol-nopw
+kadmin: \fBlistpols t*\fR
+test-pol test-pol-nopw kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBktadd\fR [\fB-k\fR \fIkeytab\fR] [\fB-q\fR] [\fB-e\fR
+\fB\fIenctype\fR:salt\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Adds a principal or all principals matching \fIprinc-exp\fR to a keytab,
+randomizing each principal's key in the process.
+.sp
+\fBktadd\fR requires the \fBinquire\fR and \fBchangepw\fR privileges. An entry
+for each of the principal's unique encryption types is added, ignoring multiple
+keys with the same encryption type but different \fBsalt\fR types. If the
+\fB-k\fR argument is not specified, the default keytab file,
+\fB/etc/krb5/krb5.keytab\fR, is used.
+.sp
+The "\fB-e\fR \fB\fIenctype\fR:salt\fR" option overrides the list of
+\fIenctypes\fR given in \fBkrb5.conf\fR(4), in the \fBpermitted_enctypes\fR
+parameter. If "\fB-e\fR \fB\fIenctype\fR:salt\fR" is not used and
+\fBpermitted_enctypes\fR is not defined in \fBkrb5.conf\fR(4), a key for each
+\fIenctype\fR supported by the system on which \fBkadmin\fR is run will be
+created and added to the \fBkeytab\fR. Restricting the \fIenctypes\fR of keys
+in the \fBkeytab\fR is useful when the system for which keys are being created
+does not support the same set of \fIenctypes\fR as the KDC. Note that
+\fBktadd\fR modifies the \fIenctype\fR of the keys in the principal database as
+well.
+.sp
+If the \fB-q\fR option is specified, less status information is displayed.
+Aliased by \fBxst\fR. The \fB-glob\fR option requires the \fBlist\fR privilege.
+Also, note that if you use \fB-glob\fR to create a keytab, you need to remove
+\fB/etc/krb5/kadm5.keytab\fR and create it again if you want to use \fB-p\fR
+\fB*/admin\fR with \fBkadmin\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinc-exp\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIprinc-exp\fR follows the same rules described for the \fBlist_principals\fR
+command.
+.sp
+.ne 2
+.mk
+.na
+\fBExample:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBktadd -k /tmp/new-keytab nfs/chicago\fR
+Entry for principal nfs/chicago with kvno 2,
+encryption type DES-CBC-CRC added to keytab
+WRFILE:/tmp/new-keytab.
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBktremove\fR [\fB-k\fR \fIkeytab\fR] [\fB-q\fR] \fIprincipal\fR
+[\fIkvno\fR | \fBall\fR | \fBold\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Removes entries for the specified principal from a keytab. Requires no
+privileges, since this does not require database access. If \fBall\fR is
+specified, all entries for that principal are removed; if \fBold\fR is
+specified, all entries for that principal except those with the highest kvno
+are removed. Otherwise, the value specified is parsed as an integer, and all
+entries whose \fBkvno\fR match that integer are removed. If the \fB-k\fR
+argument is not specified, the default keytab file,
+\fB/etc/krb5/krb5.keytab\fR, is used. If the \fB-q\fR option is specified, less
+status information is displayed. Aliased by \fBktrem\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBExample:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBktremove -k /tmp/new-keytab nfs/chicago\fR
+Entry for principal nfs/chicago with kvno 2
+removed from keytab
+WRFILE:/tmp/new-keytab.
+kadmin:
+.fi
+.in -2
+.sp
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quits \fBkadmin\fR. Aliased by \fBexit\fR and \fBq\fR.
+.RE
+
+.SS "Time Formats"
+.sp
+.LP
+Various commands in \fBkadmin\fR can take a variety of time formats, specifying
+time durations or absolute times. The \fBkadmin\fR option variables
+\fImaxrenewlife\fR, \fImaxlife\fR, and \fIminlife\fR are time durations,
+whereas \fIexpdate\fR and \fIpwexpdate\fR are absolute times.
+.sp
+.ne 2
+.mk
+.na
+\fBExamples:\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.in +2
+.nf
+kadmin: \fBmodprinc -expire "12/31 7pm" jdb\fR
+kadmin: \fBmodprinc -maxrenewlife "2 fortnight" jdb\fR
+kadmin: \fBmodprinc -pwexpire "this sunday" jdb\fR
+kadmin: \fBmodprinc -expire never jdb\fR
+kadmin: \fBmodprinc -maxlife "7:00:00pm tomorrow" jdb\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.LP
+Note that times which do not have the "ago" specifier default to being absolute
+times, unless they appear in a field where a duration is expected. In that
+case, the time specifier will be interpreted as relative. Specifying "ago" in a
+duration can result in unexpected behavior.
+.sp
+.LP
+The following time formats and units can be combined to specify a time. The
+time and date format examples are based on the date and time of July 2, 1999,
+1:35:30 p.m.
+.sp
+
+.sp
+.TS
+tab() box;
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBTime Format\fR\fBExamples\fR
+\fIhh\fR[:\fImm\fR][:\fIss\fR][am/pm/a.m./p.m.]1p.m., 1:35, 1:35:30pm
+.TE
+
+.sp
+
+.sp
+.TS
+tab();
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBVariable\fR\fBDescription\fR
+\fIhh\fRT{
+hour (12-hour clock, leading zero permitted but not required)
+T}
+\fImm\fRminutes
+\fIss\fRseconds
+.TE
+
+.sp
+
+.sp
+.TS
+tab() box;
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBDate Format\fR\fBExamples\fR
+\fImm\fR/\fBdd\fR[/\fIyy\fR]07/02, 07/02/99
+\fIyyyy\fR-\fImm\fR-\fBdd\fR1999-07-02
+\fBdd\fR-\fImonth\fR-\fIyyyy\fR02-July-1999
+\fImonth\fR [,\fIyyyy\fR]Jul 02, July 02,1999
+\fBdd\fR \fImonth\fR[ \fIyyyy\fR]02 JULY, 02 july 1999
+.TE
+
+.sp
+
+.sp
+.TS
+tab();
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBVariable Description\fR
+\fBdd\fRday
+\fImm\fRmonth
+\fIyy\fRT{
+year within century (00-38 is 2000 to 2038; 70-99 is 1970 to 1999)
+T}
+\fIyyyy\fRyear including century
+\fImonth\fRlocale's full or abbreviated month name
+.TE
+
+.sp
+
+.sp
+.TS
+tab() box;
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBTime Units\fR\fBExamples\fR
+[+|- \fI#\fR] year"-2 year"
+[+|- \fI#\fR] month"2 months"
+[+|- \fI#\fR] fortnight
+[+|- \fI#\fR] week
+[+|- \fI#\fR] day
+[+|- \fI#\fR] hour
+[+|- \fI#\fR] minute
+[+|- \fI#\fR] min
+[+|- \fI#\fR] second
+[+|- \fI#\fR] sec
+tomorrow
+yesterday
+today 
+now 
+this"this year"
+last"last saturday"
+next"next month"
+sunday
+monday
+tuesday
+wednesday
+thursday
+friday
+saturday
+never
+.TE
+
+.sp
+.LP
+You can also use the following time modifiers: \fBfirst\fR, \fBsecond\fR,
+\fBthird\fR, \fBfourth\fR, \fBfifth\fR, \fBsixth\fR, \fBseventh\fR,
+\fBeighth\fR, \fBninth\fR, \fBtenth\fR, \fBeleventh\fR, \fBtwelfth\fR, and
+\fBago\fR.
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBkadmin\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPAGER\fR\fR
+.ad
+.sp .6
+.RS 4n
+The command to use as a filter for paging output. This can also be used to
+specify options. The default is \fBmore\fR(1).
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos principal database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.ulog\fR\fR
+.ad
+.sp .6
+.RS 4n
+The update log file for incremental propagation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos administrative database. Contains policy information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5.lock\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lock file for the Kerberos administrative database. This file works backwards
+from most other lock files (that is, \fBkadmin\fR will exit with an error if
+this file does \fInot\fR exist).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/kadm5.dict\fR\fR
+.ad
+.sp .6
+.RS 4n
+Dictionary of strings explicitly disallowed as passwords.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.acl\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of principals and their \fBkadmin\fR administrative privileges.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.keytab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Keytab for \fBkadmind\fR principals: \fBkadmin\fR/\fIfqdn\fR,
+\fBchangepw\fR/\fIfqdn\fR, and \fBkadmin\fR/\fBchangepw\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkpasswd\fR(1), \fBmore\fR(1), \fBgkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkdb5_util\fR(1M), \fBkdb5_ldap_util\fR(1M), \fBkproplog\fR(1M),
+\fBkadm5.acl\fR(4), \fBkdc.conf\fR(4), \fBkrb5.conf\fR(4), \fBattributes\fR(5),
+\fBenviron\fR(5), \fBkerberos\fR(5), \fBkrb5envvar\fR(5)
+.SH HISTORY
+.sp
+.LP
+The \fBkadmin\fR program was originally written by Tom Yu at MIT, as an
+interface to the OpenVision Kerberos administration program.
+.SH DIAGNOSTICS
+.sp
+.LP
+The \fBkadmin\fR command is currently incompatible with the MIT \fBkadmind\fR
+daemon interface, so you cannot use this command to administer an MIT-based
+Kerberos database. However, clients running the Solaris implementation of
+Kerberos can still use an MIT-based KDC.
diff --git a/usr/src/man/man1m/kadmind.1m b/usr/src/man/man1m/kadmind.1m
new file mode 100644
index 0000000000..b7fb869ff8
--- /dev/null
+++ b/usr/src/man/man1m/kadmind.1m
@@ -0,0 +1,424 @@
+'\" te
+.\" Copyright 1987, 1989 by the Student Information Processing Board of the Massachusetts Institute of Technology. For copying and distribution information, please see the file kerberosv5/mit-sipb-copyright.h.
+.\" Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kadmind 1M "29 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kadmind \- Kerberos administration daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/krb5/kadmind\fR [\fB-d\fR] [\fB-m\fR] [\fB-p\fR \fIport-number\fR] [\fB-r\fR \fIrealm\fR]
+ \fB-x\fR \fIdb_args\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBkadmind\fR runs on the master key distribution center (\fBKDC\fR), which
+stores the principal and policy databases. \fBkadmind\fR accepts remote
+requests to administer the information in these databases. Remote requests are
+sent, for example, by \fBkpasswd\fR(1), \fBgkadmin\fR(1M), and \fBkadmin\fR(1M)
+commands, all of which are clients of \fBkadmind\fR. When you install a
+\fBKDC\fR, \fBkadmind\fR is set up in the \fBinit\fR scripts to start
+automatically when the \fBKDC\fR is rebooted.
+.sp
+.LP
+\fBkadmind\fR requires a number of configuration files to be set up for it to
+work:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kdc.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBKDC\fR configuration file contains configuration information for the
+\fBKDC\fR and the Kerberos administration system. \fBkadmind\fR understands a
+number of configuration variables (called relations) in this file, some of
+which are mandatory and some of which are optional. In particular,
+\fBkadmind\fR uses the \fBacl_file\fR, \fBdict_file\fR, \fBadmin_keytab\fR, and
+\fBkadmind_port\fR relations in the [\fIrealms\fR] section. Refer to the
+\fBkdc.conf\fR(4) man page for information regarding the format of the
+\fBKDC\fR configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.keytab\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBkadmind\fR requires a \fBkeytab\fR (key table) containing correct entries
+for the \fBkadmin\fR/\fIfqdn\fR, \fBkadmin\fR/\fBchangepw\fR and
+\fBkadmin\fR/\fBchangepw\fR principals for every realm that \fBkadmind\fR
+answers requests. The \fBkeytab\fR can be created with the
+\fBkadmin.local\fR(1M) or \fBkdb5_util\fR(1M) command. The location of the
+keytab is determined by the \fBadmin_keytab\fR relation in the
+\fBkdc.conf\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.acl\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBkadmind\fR uses an \fBACL\fR (access control list) to determine which
+principals are allowed to perform Kerberos administration actions. The path of
+the \fBACL\fR file is determined by the \fBacl_file\fR relation in the
+\fBkdc.conf\fR file. See \fBkdc.conf\fR(4). For information regarding the
+format of the \fBACL\fR file, refer to \fBkadm5.acl\fR(4).
+.sp
+The \fBkadmind\fR daemon will need to be restarted to reread the
+\fBkadm5.acl\fR file after it has been modified. You can do this, as root, with
+the following command:
+.sp
+.in +2
+.nf
+# svcadm restart svc:/network/security/kadmin:default
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.LP
+After \fBkadmind\fR begins running, it puts itself in the background and
+disassociates itself from its controlling terminal.
+.sp
+.LP
+\fBkadmind\fR can be configured for incremental database propagation.
+Incremental propagation allows slave KDC servers to receive principal and
+policy updates incrementally instead of receiving full dumps of the database.
+These settings can be changed in the \fBkdc.conf\fR(4) file:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsunw_dbprop_enable = [true | false]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or disable incremental database propagation. Default is \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsunw_dbprop_master_ulogsize = N\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the maximum amount of log entries available for incremental
+propagation to the slave KDC servers. The maximum value that this can be is
+2500 entries. Default value is 1000 entries.
+.RE
+
+.sp
+.LP
+The \fBkiprop/\fR\fI<hostname>\fR\fB@\fR\fI<REALM>\fR principal must exist in
+the master's \fBkadm5.keytab\fR file to enable the slave to authenticate
+incremental propagation from the master. In the principal syntax above,
+\fI<hostname>\fR is the master KDC's host name and \fI<REALM>\fR is the realm
+in which the master KDC resides.
+.sp
+.LP
+Kerberos client machines can automatically migrate Unix users to the default
+Kerberos realm specified in the local \fBkrb5.conf\fR(4), if the user does not
+have a valid kerberos account already. You achieve this by using the
+\fBpam_krb5_migrate\fR(5) service module for the service in question. The
+Kerberos service principal used by the client machine attempting the migration
+needs to be validated using the \fBu\fR privilege in \fBkadm5.acl\fR(4). When
+using the \fBu\fR privilege, \fBkadmind\fR validates user passwords using PAM,
+specifically using a \fBPAM_SERVICE\fR name of \fBk5migrate\fR by calling
+\fBpam_authenticate\fR(3PAM) and \fBpam_acct_mgmt\fR(3PAM).
+.sp
+.LP
+A suitable PAM stack configuration example for \fBk5migrate\fR would look like:
+.sp
+.in +2
+.nf
+k5migrate auth required pam_unix_auth.so.1
+k5migrate account required pam_unix_account.so.1
+.fi
+.in -2
+.sp
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that \fBkadmind\fR does not put itself in the background and does not
+disassociate itself from the terminal. In normal operation, you should use the
+default behavior, which is to allow the daemon to put itself in the background.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the master database password should be retrieved from the
+keyboard rather than from the stash file. When using \fB-m\fR, the
+\fBkadmind\fR daemon receives the password prior to putting itself in the
+background. If used in combination with the \fB-d\fR option, you must
+explicitly place the daemon in the background.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIport-number\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the port on which the \fBkadmind\fR daemon listens for connections.
+The default is controlled by the \fBkadmind_port\fR relation in the
+\fBkdc.conf\fR(4) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the default realm that \fBkadmind\fR serves. If \fIrealm\fR is not
+specified, the default \fIrealm\fR of the host is used. \fBkadmind\fR answers
+requests for any realm that exists in the local \fBKDC\fR database and for
+which the appropriate principals are in its \fBkeytab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIdb_args\fR\fR
+.ad
+.sp .6
+.RS 4n
+Pass database-specific arguments to \fBkadmind\fR. Supported arguments are for
+LDAP and the \fBBerkeley-db2\fR plug-in. These arguments are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbinddn\fR=\fIbinddn\fR\fR
+.ad
+.sp .6
+.RS 4n
+LDAP simple bind DN for authorization on the directory server. Overrides the
+\fBldap_kadmind_dn\fR parameter setting in \fBkrb5.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbindpwd\fR=\fIbindpwd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bind password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdbname\fR=\fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the \fBBerkeley-db2\fR plug-in, specifies a name for the Kerberos database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnconns\fR=\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum number of server connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBport\fR=\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory server connection port.
+.RE
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos principal database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.ulog\fR\fR
+.ad
+.sp .6
+.RS 4n
+The update log file for incremental propagation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos administrative database containing policy information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5.lock\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos administrative database lock file. This file works backwards from most
+other lock files (that is, \fBkadmin\fR exits with an error if this file does
+not exist).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/kadm5.dict\fR\fR
+.ad
+.sp .6
+.RS 4n
+Dictionary of strings explicitly disallowed as passwords.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.acl\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of principals and their \fBkadmin\fR administrative privileges.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.keytab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Keytab for \fBkadmin\fR principals: \fBkadmin\fR/\fIfqdn\fR,
+\fBchangepw\fR/\fIfqdn\fR, and \fBkadmin\fR/\fBchangepw\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kdc.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBKDC\fR configuration information.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkpasswd\fR(1), \fBsvcs\fR(1), \fBgkadmin\fR(1M), \fBkadmin\fR(1M),
+\fBkadmin.local\fR(1M), \fBkdb5_util\fR(1M), \fBkdb5_ldap_util\fR(1M),
+\fBkproplog\fR(1M), \fBsvcadm\fR(1M), \fBpam_acct_mgmt\fR(3PAM),
+\fBpam_authenticate\fR(3PAM), \fBkadm5.acl\fR(4), \fBkdc.conf\fR(4),
+\fBkrb5.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5),
+\fBkrb5envvar\fR(5), \fBpam_krb5_migrate\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The Kerberos administration daemon (\fBkadmind\fR) is now compliant with the
+change-password standard mentioned in RFC 3244, which means it can now handle
+change-password requests from non-Solaris Kerberos clients.
+.sp
+.LP
+The \fBkadmind\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/security/kadmin
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/kclient.1m b/usr/src/man/man1m/kclient.1m
new file mode 100644
index 0000000000..f191ec17d7
--- /dev/null
+++ b/usr/src/man/man1m/kclient.1m
@@ -0,0 +1,626 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kclient 1M "27 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kclient \- set up a machine as a Kerberos client
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/kclient\fR [\fB-n\fR] [\fB-R\fR \fIrealm\fR] [\fB-k\fR \fIkdc\fR] [\fB-a\fR \fIadminuser\fR]
+ [\fB-c\fR \fIfilepath\fR] [\fB-d\fR \fIdnsarg\fR] [\fB-f\fR \fIfqdn_list\fR] [\fB-h\fR \fIlogical_host_name\fR]
+ [\fB-k\fR \fIkdc_list\fR] [\fB-m\fR \fImaster_kdc\fR] [\fB-p\fR \fIprofile\fR] [\fB-s\fR \fIpam_service\fR]
+ [\fB-T\fR \fIkdc_vendor\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+By specifying the various command options, you can use the \fBkclient\fR
+utility to:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure a machine as a Kerberos client for a specified realm and for KDC by
+setting up \fBkrb5.conf\fR(4).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Add the Kerberos host principal to the local host's \fBkeytab\fR file
+(\fB/etc/krb5/krb5.keytab\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Set up the machine to do kerberized NFS.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Bring over a master \fBkrb5.conf\fR copy from a specified pathname.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Setup a machine to do server and/or host/domain name-to-realm mapping lookups
+by means of DNS.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure a Kerberos client to use an MS Active Directory server. This
+generates a \fBkeytab\fR file with the Kerberos client's service keys
+populated.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Setup a Kerberos client that has no service keys. This is useful when the
+client does not require service keys, because the client does not wish to host
+a service that uses Kerberos for security.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure a Kerberos client that is part of a cluster. This option requires the
+logical host name of the cluster so that the proper service keys are created
+and populated in the client's \fBkeytab\fR file.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Setup a Kerberos client to join an environment that consists of Kerberos
+servers that are non-Solaris and non-MS Active Directory servers.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure \fBpam.conf\fR(4) to use Kerberos authentication for specified
+services.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure the client as a simple NTP broadcast/multicast client.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Specify custom domain/host name-to-realm name mappings.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Setup the Kerberos client to use multiple KDC servers.
+.RE
+.sp
+.LP
+The \fBkclient\fR utility needs to be run on the client machine with root
+permission and can be run either interactively or non-interactively. In the
+non-interactive mode, the user feeds in the required inputs by means of a
+profile, command-line options, or a combination of profile and command-line
+options. The user is prompted for "required" parameter values (\fBrealm\fR and
+\fBadminuser\fR), if found missing in the non-interactive run. The interactive
+mode is invoked when the utility is run without any command-line arguments.
+.sp
+.LP
+Both the interactive and non-interactive forms of \fBkclient\fR can add the
+\fBhost/fqdn\fR entry to the local host's \fBkeytab\fR file. They also can
+require the user to enter the password for the administrative user requested,
+to obtain the Kerberos Ticket Granting Ticket (TGT) for \fBadminuser\fR. The
+\fBhost/fqdn\fR, \fBnfs/fqdn\fR, and \fBroot/fqdn\fR principals can be added to
+the KDC database (if not already present) before their possible addition to the
+local host's \fBkeytab\fR.
+.sp
+.LP
+The \fBkclient\fR utility assumes that the local host has been setup for DNS
+and requires the presence of a valid \fBresolv.conf\fR(4). Also, \fBkclient\fR
+can fail if the localhost time is not synchronized with that of the KDC. For
+Kerberos to function the localhost time must be within five minutes of that of
+the KDC. It is advised that both systems run some form of time synchronization
+protocol, such as the Network Time Protocol (NTP). See the \fBntpd\fR man page,
+delivered in the \fBSUNWntpu\fR package (not a SunOS man page).
+.SH OPTIONS
+.sp
+.LP
+The non-interactive mode supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set up the machine for kerberized NFS. This involves making changes to
+\fBkrb5*\fR security flavors in \fBnfssec.conf\fR(4). This option will also add
+\fBnfs/fqdn\fR and \fBroot/fqdn\fR entries to the local host's \fBkeytab\fR
+file if the \fB-K\fR option has not been specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR [ \fIrealm\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the Kerberos realm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIkdc_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-k\fR option specifies the KDC host names for the Kerberos client.
+\fIkdc_list\fR is a comma-separated list of KDCs. If the \fB-m\fR option is not
+used, it is assumed that the first (or only) host in \fIkdc_list\fR is the
+master KDC host name. Note that the list specified is used verbatim. This is
+helpful when specifying non-fully qualified KDC host names that can be
+canonicalized by DNS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR [ \fIadminuser\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the Kerberos administrative user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIkdc_vendor\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configure the Kerberos client to associate with a third party server. Valid
+\fIkdc_vendor\fR currently supported are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBms_ad\fR\fR
+.ad
+.sp .6
+.RS 4n
+Microsoft Active Directory
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmit\fR\fR
+.ad
+.sp .6
+.RS 4n
+MIT KDC server
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBheimdal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Heimdal KDC server
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshishi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shishi KDC server
+.RE
+
+Knowing the administrative password will be required to associate the client
+with the server if the \fBms_ad\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR [ \fIfilepath\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the pathname to the \fBkrb5.conf\fR(4) master file, to be copied over
+to the local host. The path specified normally points to a master copy on a
+remote host and brought over to the local host by means of NFS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR [ \fIdnsarg\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the DNS lookup option to be used and specified in the
+\fBkrb5.conf\fR(4) file. Valid \fIdnsarg\fR entries are: \fBnone\fR,
+\fBdns_lookup_kdc\fR, \fBdns_lookup_realm\fR and \fBdns_fallback\fR. Any other
+entry is considered invalid. The latter three \fIdnsarg\fR values assume the
+same meaning as those described in \fBkrb5.conf\fR. \fBdns_lookup_kdc\fR
+implies DNS lookups for the KDC and the other servers. \fBdns_lookup_realm\fR
+is for host/domain name-to-realm mapping by means of DNS. \fBdns_fallback\fR is
+a superset and does DNS lookups for both the servers and the host/domain
+name-to-realm mapping. A lookup option of \fBnone\fR specifies that DNS is not
+be used for any kind of mapping lookup.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIdomain_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the host and/or domain names to be mapped to the Kerberos client's
+default realm name. \fIdomain_list\fR is a comma-separated list, for example
+"\fBexample.com,host1.example.com\fR". If the \fB-D\fR option is not used, then
+only the client's domain is used for this mapping. For example, if the client
+is \fBhost1.eng.example.com\fR, then the domain that is mapped to the
+\fBEXAMPLE.COM\fR realm is \fBexample.com\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configure the Kerberos client without service keys, which are usually stored in
+\fB/etc/krb5/krb5.keytab\fR. This is useful in the following scenarios:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The client IP address is dynamically assigned and therefore does not host
+Kerberized services.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Client has a static IP address, but does not want to host any Kerberized
+services.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Client has a static IP address, but the local administrator does not currently
+have service keys available for the machine. It is expected that, at a later
+time, these keys will be installed on the machine.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR [ \fIfqdn_list\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+This option creates a service principal entry (host/nfs/root) associated with
+each of the listed fqdn's, if required, and subsequently adds the entries to
+the local host's \fBkeytab\fR.
+.sp
+\fIfqdn_list\fR is a comma-separated list of one or more fully qualified DNS
+domain names.
+.sp
+This option is especially useful in Kerberos realms having systems offering
+kerberized services, but situated in multiple different DNS domains.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIlogical_host_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the Kerberos client is a node in a cluster. The
+\fIlogical_host_name\fR is the logical host name given to the cluster. The
+resulting \fB/etc/krb5/krb5.conf\fR and \fB/etc/krb5/krb5.keytab\fR files must
+be manually copied over to the other members of the cluster.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImaster_kdc\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option specifies the master KDC to be used by the Kerberos client.
+\fImaster_kdc\fR is the host name of the master KDC for the client. If the
+\fB-m\fR option is not used, then it is assumed that the first KDC host name
+listed with the \fB-k\fR option is the master KDC.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR [ \fIprofile\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the profile to be used to enable the reading in of the values of all
+the parameters required for setup of the machine as a Kerberos client.
+.sp
+The profile should have entries in the format:
+.sp
+.in +2
+.nf
+\fIPARAM\fR \fI<value>\fR
+.fi
+.in -2
+.sp
+
+Valid \fIPARAM\fR entries are: \fBREALM\fR, \fBKDC\fR, \fBADMIN\fR,
+\fBFILEPATH\fR, \fBNFS\fR, \fBDNSLOOKUP\fR, \fBFQDN\fR, \fBNOKEY\fR,
+\fBNOSOL\fR, \fBLHN\fR, \fBKDCVENDOR\fR, \fBRMAP\fR, \fBMAS\fR, and \fBPAM\fR.
+.sp
+These profile entries correspond to the \fB-R\fR [\fIrealm\fR], \fB-k\fR
+[\fIkdc\fR], \fB-a\fR [\fIadminuser\fR], \fB-c\fR [\fIfilepath\fR], \fB-n\fR,
+\fB-d\fR [\fIdnsarg\fR], \fB-f\fR [\fIfqdn_list\fR], \fB-K\fR, \fB-h\fR
+[\fIlogical_host_name\fR], \fB-T\fR [\fIkdc_vendor\fR], \fB-D\fR
+[\fIdomain_list\fR], \fB-m\fR [\fImaster_kdc\fR], and \fB-s\fR
+[\fIpam_service\fR] command-line options, respectively. Any other \fIPARAM\fR
+entry is considered invalid and is ignored.
+.sp
+The NFS profile entry can have a value of 0 (do nothing) or 1 (operation is
+requested). Any other value is considered invalid and is ignored.
+.sp
+Keep in mind that the command line options override the \fIPARAM\fR values
+listed in the profile.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIpam_service\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the PAM service names, listed in \fIpam_service\fR, are
+authenticated through Kerberos before any other type of authentication. Using
+this option updates \fBpam.conf\fR(4) to include \fBpam_krb5\fR(5) to existing
+authentication stacks for the specified service(s) in \fIpam_service\fR. An
+example of a possible \fIpam_service\fR value is: \fBdtlogin,sshd-kbdint\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting Up a Kerberos Client Using Command-Line Options
+.sp
+.LP
+To setup a Kerberos client using the \fBclntconfig/admin\fR administrative
+principal for realm \fB\&'ABC.COM', kdc `example1.com'\fR and that also does
+kerberized NFS, enter:
+
+.sp
+.in +2
+.nf
+# /usr/sbin/kclient -n -R ABC.COM -k example1.com -a clntconfig
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Alternatively, to set up a Kerberos client using the \fBclntconfig/admin\fR
+administrative principal for the realm \fB`EAST.ABC.COM', kdc
+`example2.east.abc.com'\fR and that also needs service principal(s) created
+and/or added to the local \fBkeytab\fR for multiple DNS domains, enter:
+
+.sp
+.in +2
+.nf
+# /usr/sbin/kclient -n -R EAST.ABC.COM -k example2.east.abc.com \e
+-f west.abc.com,central.abc.com -a clntconfig
+.fi
+.in -2
+
+.sp
+.LP
+Note that the \fBkrb5\fR administrative principal used by the administrator
+needs to have only \fBadd\fR, \fBinquire\fR, \fBchange-pwd\fR and \fBmodify\fR
+privileges (for the principals in the KDC database) in order for the
+\fBkclient\fR utility to run. A sample \fBkadm5.acl\fR(4) entry is:
+
+.sp
+.in +2
+.nf
+clntconfig/admin@ABC.COM acmi
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSetting Up a Kerberos Client Using the Profile Option
+.sp
+.LP
+To setup a Kerberos client using the \fBclntconfig/admin\fR administrative
+principal for realm \fB`ABC.COM', kdc `example1.com'\fR and that also copies
+over the master \fBkrb5.conf\fR from a specified location, enter:
+
+.sp
+.in +2
+.nf
+# /usr/sbin/kclient -p /net/example1.com/export/profile.krb5
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The contents of \fBprofile.krb5\fR:
+
+.sp
+.in +2
+.nf
+REALM ABC.COM
+KDC example1
+ADMIN clntconfig
+FILEPATH /net/example1.com/export/krb5.conf
+NFS 0
+DNSLOOKUP none
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSetting Up a Kerberos Client That Has a Dynamic IP Address
+.sp
+.LP
+In this example a Kerberos client is a DHCP client that has a dynamic IP
+address. This client does not wish to host any Kerberized services and
+therefore does not require a \fBkeytab\fR (\fB/etc/krb5/krb5.keytab\fR) file.
+
+.sp
+.LP
+For this type of client the administrator would issue the following command to
+configure this machine to be a Kerberos client of the \fBABC.COM\fR realm with
+the KDC server \fBkdc1.example.com\fR:
+
+.sp
+.in +2
+.nf
+# \fB/usr/sbin/kclient -K -R EXAMPLE.COM -k kdc1.example.com\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.acl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos access control list (ACL) file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/krb5.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default location for the local host's configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/krb5.keytab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default location for the local host's \fBkeytab\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nfssec.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+File listing NFS security modes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/resolv.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+DNS resolver configuration file.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBencrypt\fR(1), \fBksh93\fR(1), \fBldapdelete\fR(1), \fBldapmodify\fR(1),
+\fBldapsearch\fR(1), \fBdd\fR(1M), \fBsmbadm\fR(1M), \fBkadm5.acl\fR(4),
+\fBkrb5.conf\fR(4), \fBnfssec.conf\fR(4), \fBpam.conf\fR(4),
+\fBresolv.conf\fR(4), \fBattributes\fR(5), \fBpam_krb5\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBfqdn\fR stands for the Fully Qualified Domain Name of the local host. The
+\fBkclient\fR utility saves copies of both the \fBkrb5.conf\fR(4) and
+\fBnfssec.conf\fR(4) files to files with corresponding names and \fB\&.sav\fR
+extensions. The optional copy of the \fBkrb5.conf\fR(4) master file is neither
+encrypted nor integrity-protected and it takes place over regular NFS.
diff --git a/usr/src/man/man1m/kdb5_ldap_util.1m b/usr/src/man/man1m/kdb5_ldap_util.1m
new file mode 100644
index 0000000000..b7afd69178
--- /dev/null
+++ b/usr/src/man/man1m/kdb5_ldap_util.1m
@@ -0,0 +1,1274 @@
+'\" te
+.\" This manual page is derived from documentation obtained from The Massachusetts Institute of Technology.
+.\" Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kdb5_ldap_util 1M "28 Aug 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kdb5_ldap_util \- Kerberos configuration utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBkdb5_ldap_util\fR [\fB-D\fR \fIuser_dn\fR [\fB-w\fR \fIpasswd\fR]] [\fB-H\fR \fIldap_uri\fR] \fIcommand\fR
+ [\fIcommand_options\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBkdb5_ldap_util\fR utility allows an administrator to manage realms,
+Kerberos services, and ticket policies. The utility offers a set of general
+options, described under OPTIONS, and a set of commands, which, in turn, have
+their own options. Commands and their options are described in their own
+subsections, below.
+.SH OPTIONS
+.sp
+.LP
+\fBkdb5_ldap_util\fR has a small set of general options that apply to the
+\fBkdb5_ldap_util\fR utility itself and a larger number of options that apply
+to specific commands. A number of these command-specific options apply to
+multiple commands and are described in their own section, below.
+.SS "General Options"
+.sp
+.LP
+The following general options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIuser_dn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the distinguished name (DN) of a user who has sufficient rights to
+perform the operation on the LDAP server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR \fIldap_uri\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the URI of the LDAP server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fIpasswd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the password of \fIuser_dn\fR. This option is not recommended.
+.RE
+
+.SS "Common Command-specific Options"
+.sp
+.LP
+The following options apply to a number of \fBkdb5_ldap_util\fR commands.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-subtrees\fR \fIsubtree_dn_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the list of subtrees containing the principals of a realm. The list
+contains the DNs of the subtree objects separated by a colon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-sscope\fR \fIsearch_scope\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the scope for searching the principals under a subtree. The possible
+values are 1 or \fBone\fR (one level), 2 or \fBsub\fR (subtrees).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-containerref\fR \fIcontainer_reference_dn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the DN of the container object in which the principals of a realm
+will be created. If the container reference is not configured for a realm, the
+principals will be created in the realm container.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxtktlife\fR \fImax_ticket_life\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies maximum ticket life for principals in this realm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxrenewlife\fR \fImax_renewable_ticket_life\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies maximum renewable life of tickets for principals in this realm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the Kerberos realm of the database; by default the realm returned by
+\fBkrb5_default_local_realm(3)\fR is used.
+.RE
+
+.SH \fBkdb5_ldap_util\fR COMMANDS
+.sp
+.LP
+The \fBkdb5_ldap_util\fR utility comprises a set of commands, each with its own
+set of options. These commands are described in the following subsections.
+.SS "The \fBcreate\fR Command"
+.sp
+.LP
+The \fBcreate\fR command creates a realm in a directory. The command has the
+following syntax:
+.sp
+.in +2
+.nf
+create \e
+[-subtrees \fIsubtree_dn_list\fR]
+[-sscope \fIsearch_scope\fR]
+[-containerref \fIcontainer_reference_dn\fR]
+[-k \fImkeytype\fR]
+[-m|-P \fIpassword\fR| -sf \fIstashfilename\fR]
+[-s]
+[-r \fIrealm\fR]
+[-maxtktlife \fImax_ticket_life\fR]
+[-kdcdn \fIkdc_service_list\fR]
+[-admindn \fIadmin_service_list\fR]
+[-maxrenewlife \fImax_renewable_ticket_life\fR]
+[\fIticket_flags\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBcreate\fR command has the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-subtree\fR \fIsubtree_dn_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-sscope\fR \fIsearch_scope\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-containerref\fR \fIcontainer_reference_dn\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fImkeytype\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the key type of the master key in the database; the default is that
+given in \fBkdc.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the master database password should be read from the TTY rather
+than fetched from a file on the disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the master database password. This option is not recommended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-sf\fR \fIstashfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the stash file of the master database password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the stash file is to be created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxtktlife\fR \fImax_ticket_life\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxrenewlife\fR \fImax_renewable_ticket_life\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIticket_flags\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the ticket flags. If this option is not specified, by default, none
+of the flags are set. This means all the ticket options will be allowed and no
+restriction will be set. See "Ticket Flags" for a list and descriptions of
+these flags.
+.RE
+
+.SS "The \fBmodify\fR Command"
+.sp
+.LP
+The \fBmodify\fR command modifies the attributes of a realm. The command has
+the following syntax:
+.sp
+.in +2
+.nf
+modify \e
+[-subtrees \fIsubtree_dn_list\fR]
+[-sscope \fIsearch_scope\fR]
+[-containerref \fIcontainer_reference_dn\fR]
+[-r \fIrealm\fR]
+[-maxtktlife \fImax_ticket_life\fR]
+[-maxrenewlife \fImax_renewable_ticket_life\fR]
+[\fIticket_flags\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBmodify\fR command has the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-subtree\fR \fIsubtree_dn_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-sscope\fR \fIsearch_scope\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-containerref\fR \fIcontainer_reference_dn\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxtktlife\fR \fImax_ticket_life\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxrenewlife\fR \fImax_renewable_ticket_life\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIticket_flags\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the ticket flags. If this option is not specified, by default, none
+of the flags are set. This means all the ticket options will be allowed and no
+restriction will be set. See "Ticket Flags" for a list and descriptions of
+these flags.
+.RE
+
+.SS "The \fBview\fR Command"
+.sp
+.LP
+The \fBview\fR command displays the attributes of a realm. The command has the
+following syntax:
+.sp
+.in +2
+.nf
+view [-r \fIrealm\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBview\fR command has the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.SS "The \fBdestroy\fR Command"
+.sp
+.LP
+The \fBdestroy\fR command destroys a realm, including the master key stash
+file. The command has the following syntax:
+.sp
+.in +2
+.nf
+destroy [-f] [-r \fIrealm\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBdestroy\fR command has the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+If specified, \fBdestroy\fR does not prompt you for confirmation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.SS "The \fBlist\fR Command"
+.sp
+.LP
+The \fBlist\fR command displays the names of realms. The command has the
+following syntax:
+.sp
+.in +2
+.nf
+list
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBlist\fR command has no options.
+.SS "The \fBstashsrvpw\fR Command"
+.sp
+.LP
+The \fBstashsrvpw\fR command enables you to store the password for service
+object in a file so that a KDC and Administration server can use it to
+authenticate to the LDAP server. The command has the following syntax:
+.sp
+.in +2
+.nf
+stashsrvpw [-f \fIfilename\fR] \fIservicedn\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBstashsrvpw\fR command has the following option and argument:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the complete path of the service password file. The default is:
+.sp
+.in +2
+.nf
+/var/krb5/service_passwd
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIservicedn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the distinguished name (DN) of the service object whose password is
+to be stored in file.
+.RE
+
+.SS "The \fBcreate_policy\fR Command"
+.sp
+.LP
+The \fBcreate_policy\fR command creates a ticket policy in a directory. The
+command has the following syntax:
+.sp
+.in +2
+.nf
+create_policy \e
+[-r \fIrealm\fR]
+[-maxtktlife \fImax_ticket_life\fR]
+[-maxrenewlife \fImax_renewable_ticket_life\fR]
+[\fIticket_flags\fR]
+\fIpolicy_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBcreate_policy\fR command has the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxtktlife\fR \fImax_ticket_life\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-maxrenewlife\fR \fImax_renewable_ticket_life\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIticket_flags\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the ticket flags. If this option is not specified, by default, none
+of the flags are set. This means all the ticket options will be allowed and no
+restriction will be set. See "Ticket Flags" for a list and descriptions of
+these flags.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpolicy_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the ticket policy.
+.RE
+
+.SS "The \fBmodify_policy\fR Command"
+.sp
+.LP
+The \fBmodify_policy\fR command modifies the attributes of a ticket policy. The
+command has the following syntax:
+.sp
+.in +2
+.nf
+modify_policy \e
+[-r \fIrealm\fR]
+[-maxtktlife \fImax_ticket_life\fR]
+[-maxrenewlife \fImax_renewable_ticket_life\fR]
+[\fIticket_flags\fR]
+\fIpolicy_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBmodify_policy\fR command has the same options and argument as those for
+the \fBcreate_policy\fR command.
+.SS "The \fBview_policy\fR Command"
+.sp
+.LP
+The \fBview_policy\fR command displays the attributes of a ticket policy. The
+command has the following syntax:
+.sp
+.in +2
+.nf
+view_policy [-r \fIrealm\fR] \fIpolicy_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBview_policy\fR command has the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpolicy_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the ticket policy.
+.RE
+
+.SS "The \fBdestroy_policy\fR Command"
+.sp
+.LP
+The \fBdestroy_policy\fR command destroys an existing ticket policy. The
+command has the following syntax:
+.sp
+.in +2
+.nf
+destroy_policy [-r \fIrealm\fR] [-force] \fIpolicy_name\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBdestroy_policy\fR command has the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces the deletion of the policy object. If not specified, you will be
+prompted for confirmation before the policy is deleted. Enter \fByes\fR to
+confirm the deletion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpolicy_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the ticket policy.
+.RE
+
+.SS "The \fBlist_policy\fR Command"
+.sp
+.LP
+The \fBlist_policy\fR command lists the ticket policies in the default or a
+specified realm. The command has the following syntax:
+.sp
+.in +2
+.nf
+list_policy [-r \fIrealm\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBlist_policy\fR command has the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+See "Common Command-specific Options," above.
+.RE
+
+.SH TICKET FLAGS
+.sp
+.LP
+A number of \fBkdb5_ldap_util\fR commands have \fBticket_flag\fR options. These
+flags are described as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}allow_dup_skey\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_dup_skey\fR disables user-to-user authentication for principals by
+prohibiting principals from obtaining a session key for another user. This
+setting sets the \fBKRB5_KDB_DISALLOW_DUP_SKEY\fR flag. \fB+allow_dup_skey\fR
+clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}allow_forwardable\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_forwardable\fR prohibits principals from obtaining forwardable
+tickets. This setting sets the \fBKRB5_KDB_DISALLOW_FORWARDABLE\fR flag.
+\fB+allow_forwardable\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}allow_postdated\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_postdated\fR prohibits principals from obtaining postdated tickets.
+This setting sets the \fBKRB5_KDB_DISALLOW_POSTDATED\fR flag.
+\fB+allow_postdated\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}allow_proxiable\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_proxiable\fR prohibits principals from obtaining proxiable tickets.
+This setting sets the \fBKRB5_KDB_DISALLOW_PROXIABLE\fR flag.
+\fB+allow_proxiable\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}allow_renewable\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_renewable\fR prohibits principals from obtaining renewable tickets.
+This setting sets the \fBKRB5_KDB_DISALLOW_RENEWABLE\fR flag.
+\fB+allow_renewable\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}allow_svr\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_svr\fR prohibits the issuance of service tickets for principals. This
+setting sets the \fBKRB5_KDB_DISALLOW_SVR\fR flag. \fB+allow_svr\fR clears
+this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}allow_tgs_req\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_tgs_req\fR specifies that a Ticket-Granting Service (TGS) request for
+a service ticket for principals is not permitted. This option is useless for
+most purposes. \fB+allow_tgs_req\fR clears this flag. The default is
+\fB+allow_tgs_req\fR. In effect, \fB-allow_tgs_req\fR sets the
+\fBKRB5_KDB_DISALLOW_TGT_BASED\fR flag on principals in the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}allow_tix\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB-allow_tix\fR forbids the issuance of any tickets for principals.
+\fB+allow_tix\fR clears this flag. The default is \fB+allow_tix\fR. In effect,
+\fB-allow_tix\fR sets the \fBKRB5_KDB_DISALLOW_ALL_TIX\fR flag on principals in
+the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}needchange\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB+needchange\fR sets a flag in the attributes field to force a password
+change; \fB-needchange\fR clears that flag. The default is \fB-needchange\fR.
+In effect, \fB+needchange\fR sets the \fBKRB5_KDB_REQUIRES_PWCHANGE\fR flag on
+principals in the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}password_changing_service\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB+password_changing_service\fR sets a flag in the attributes field marking a
+principal as a password-change-service principal (a designation that is most
+often not useful). \fB-password_changing_service\fR clears the flag. That this
+flag has a long name is intentional. The default is
+\fB-password_changing_service\fR. In effect, \fB+password_changing_service\fR
+sets the \fBKRB5_KDB_PWCHANGE_SERVICE\fR flag on principals in the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}requires_hwauth\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fB+requires_hwauth\fR requires principals to preauthenticate using a hardware
+device before being allowed to \fBkinit\fR(1). This setting sets the
+\fBKRB5_KDB_REQUIRES_HW_AUTH\fR flag. \fB-requires_hwauth\fR clears this flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB{-|+}requires_preauth\fR\fR
+.ad
+.sp .6
+.RS 4n
++\fBrequires_preauth\fR requires principals to preauthenticate before being
+allowed to \fBkinit\fR(1). This setting sets the
+\fBKRB5_KDB_REQUIRES_PRE_AUTH\fR flag. \fB-requires_preauth\fR clears this
+flag.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBcreate\fR
+.sp
+.LP
+The following is an example of the use of the \fBcreate\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+create -subtrees o=org -sscope SUB -r ATHENA.MIT.EDU\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+Initializing database for realm 'ATHENA.MIT.EDU'
+You will be prompted for the database Master Password.
+It is important that you NOT FORGET this password.
+Enter KDC database master key: \fImaster key entered\fR
+Re-enter KDC database master key to verify: \fImaster key re-entered\fRjjjjjj
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing \fBmodify\fR
+.sp
+.LP
+The following is an example of the use of the \fBmodify\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+modify +requires_preauth -r ATHENA.MIT.EDU\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing \fBview\fR
+.sp
+.LP
+The following is an example of the use of the \fBview\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+view -r ATHENA.MIT.EDU\fR
+ Password for "cn=admin,o=org":
+ Realm Name: ATHENA.MIT.EDU
+ Subtree: ou=users,o=org
+ Subtree: ou=servers,o=org
+ SearchScope: ONE
+ Maximum ticket life: 0 days 01:00:00
+ Maximum renewable life: 0 days 10:00:00
+ Ticket flags: DISALLOW_FORWARDABLE REQUIRES_PWCHANGE
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUsing \fBdestroy\fR
+.sp
+.LP
+The following is an example of the use of the \fBdestroy\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+destroy -r ATHENA.MIT.EDU\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+Deleting KDC database of 'ATHENA.MIT.EDU', are you sure?
+(type 'yes' to confirm)? \fByes\fR
+OK, deleting database of 'ATHENA.MIT.EDU'...
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRUsing \fBlist\fR
+.sp
+.LP
+The following is an example of the use of the \fBlist\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu list\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+Re-enter Password for "cn=admin,o=org": \fIpassword re-entered\fR
+ATHENA.MIT.EDU
+OPENLDAP.MIT.EDU
+MEDIA-LAB.MIT.EDU
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRUsing \fBstashsrvpw\fR
+.sp
+.LP
+The following is an example of the use of the \fBstashsrvpw\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util stashsrvpw -f \e
+/home/andrew/conf_keyfile cn=service-kdc,o=org\fR
+Password for "cn=service-kdc,o=org": \fIpassword entered\fR
+Re-enter password for "cn=service-kdc,o=org": \fIpassword re-entered\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRUsing \fBcreate_policy\fR
+.sp
+.LP
+The following is an example of the use of the \fBcreate_policy\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+create_policy -r ATHENA.MIT.EDU \e
+-maxtktlife "1 day" -maxrenewlife "1 week" \e
+-allow_postdated +needchange -allow_forwardable \fItktpolicy\fR\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRUsing \fBmodify_policy\fR
+.sp
+.LP
+The following is an example of the use of the \fBmodify_policy\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+modify_policy -r ATHENA.MIT.EDU \e
+-maxtktlife "60 minutes" -maxrenewlife "10 hours" \e
++allow_postdated -requires_preauth \fItktpolicy\fR\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRUsing \fBview_policy\fR
+.sp
+.LP
+The following is an example of the use of the \fBview_policy\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+view_policy -r ATHENA.MIT.EDU \fItktpolicy\fR\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+ Ticket policy: tktpolicy
+ Maximum ticket life: 0 days 01:00:00
+ Maximum renewable life: 0 days 10:00:00
+ Ticket flags: DISALLOW_FORWARDABLE REQUIRES_PWCHANGE
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRUsing \fBdestroy_policy\fR
+.sp
+.LP
+The following is an example of the use of the \fBdestroy_policy\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+destroy_policy -r ATHENA.MIT.EDU \fItktpolicy\fR\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+This will delete the policy object 'tktpolicy', are you sure?
+(type 'yes' to confirm)? \fByes\fR
+** policy object '\fItktpolicy\fR' deleted.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRUsing \fBlist_policy\fR
+.sp
+.LP
+The following is an example of the use of the \fBlist_policy\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org -H ldaps://ldap-server1.mit.edu \e
+list_policy -r ATHENA.MIT.EDU\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+tktpolicy
+tmppolicy
+userpolicy
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRUsing \fBsetsrvpw\fR
+.sp
+.LP
+The following is an example of the use of the \fBsetsrvpw\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util setsrvpw -D cn=admin,o=org setsrvpw \e
+-fileonly -f /home/andrew/conf_keyfile cn=service-kdc,o=org\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+Password for "cn=service-kdc,o=org": \fIpassword entered\fR
+Re-enter password for "cn=service-kdc,o=org": \fIpassword re-entered\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRUsing \fBcreate_service\fR
+.sp
+.LP
+The following is an example of the use of the \fBcreate_service\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org create_service \e
+-kdc -randpw -f /home/andrew/conf_keyfile cn=service-kdc,o=org\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+File does not exist. Creating the file /home/andrew/conf_keyfile...
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRUsing \fBmodify_service\fR
+.sp
+.LP
+The following is an example of the use of the \fBmodify_service\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org modify_service \e
+-realm ATHENA.MIT.EDU cn=service-kdc,o=org\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+Changing rights for the service object. Please wait ... done
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 15 \fRUsing \fBview_service\fR
+.sp
+.LP
+The following is an example of the use of the \fBview_service\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org view_service \e
+cn=service-kdc,o=org\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+ Service dn: cn=service-kdc,o=org
+ Service type: kdc
+ Service host list:
+ Realm DN list: cn=ATHENA.MIT.EDU,cn=Kerberos,cn=Security
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 16 \fRUsing \fBdestroy_service\fR
+.sp
+.LP
+The following is an example of the use of the \fBdestroy_service\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org destroy_service \e
+cn=service-kdc,o=org\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+This will delete the service object 'cn=service-kdc,o=org', are you sure?
+(type 'yes' to confirm)? \fByes\fR
+** service object 'cn=service-kdc,o=org' deleted.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 17 \fRUsing \fBlist_service\fR
+.sp
+.LP
+The following is an example of the use of the \fBlist_service\fR command.
+
+.sp
+.in +2
+.nf
+# \fBkdb5_ldap_util -D cn=admin,o=org list_service\fR
+Password for "cn=admin,o=org": \fIpassword entered\fR
+cn=service-kdc,o=org
+cn=service-adm,o=org
+cn=service-pwd,o=org
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkinit\fR(1), \fBkadmin\fR(1M), \fBkdc.conf\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/kdb5_util.1m b/usr/src/man/man1m/kdb5_util.1m
new file mode 100644
index 0000000000..8161d0543b
--- /dev/null
+++ b/usr/src/man/man1m/kdb5_util.1m
@@ -0,0 +1,574 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kdb5_util 1M "29 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kdb5_util \- Kerberos Database maintenance utility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/kdb5_util\fR [\fB-d\fR \fIdbname\fR] [\fB-f\fR \fIstashfile_name\fR]
+ [\fB-k\fR \fImkeytype\fR] [\fB-m\fR ] [\fB-M\fR \fImkeyname\fR] [\fB-P\fR \fIpassword\fR] [\fB-r\fR \fIrealm\fR]
+ [\fB-x\fR \fIdb_args\fR]... \fIcmd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBkdb5_util\fR utility enables you to create, dump, load, and destroy the
+Kerberos V5 database. You can also use \fBkdb5_util\fR to create a stash file
+containing the Kerberos database master key.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdbname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the database name. \fB\&.db\fR is appended to whatever name is
+specified. You can specify an absolute path. If you do not specify the \fB-d\fR
+option, the default database name is \fB/var/krb5/principal\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIstashfile_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the stash file name. You can specify an absolute path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fImkeytype\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the master key type. Valid values are \fBdes3-cbc-sha1\fR,
+\fBdes-cbc-crc\fR, \fBdes-cbc-md5\fR, \fBdes-cbc-raw\fR,
+\fBarcfour-hmac-md5\fR, \fBarcfour-hmac-md5-exp\fR,
+\fBaes128-cts-hmac-sha1-96\fR, and \fBaes256-cts-hmac-sha1-96\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enter the master key manually.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fImkeyname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the master key name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use the specified \fIpassword\fR instead of the stash file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIrealm\fR as the default database realm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIdb_args\fR\fR
+.ad
+.sp .6
+.RS 4n
+Pass database-specific arguments to \fBkadmin\fR. Supported arguments are for
+LDAP and the \fBBerkeley-db2\fR plug-in. These arguments are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbinddn\fR=\fIbinddn\fR\fR
+.ad
+.sp .6
+.RS 4n
+LDAP simple bind DN for authorization on the directory server. Overrides the
+\fBldap_kadmind_dn\fR parameter setting in \fBkrb5.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbindpwd\fR=\fIbindpwd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bind password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdbname\fR=\fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the \fBBerkeley-db2\fR plug-in, specifies a name for the Kerberos database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnconns\fR=\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum number of server connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBport\fR=\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory server connection port.
+.RE
+
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcmd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether to create, destroy, dump, or load the database, or to create
+a stash file.
+.sp
+You can specify the following commands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate\fR \fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates the database specified by the \fB-d\fR option. You will be prompted for
+the database master password. If you specify \fB-s\fR, a stash file is created
+as specified by the \fB-f\fR option. If you did not specify \fB-f\fR, the
+default stash file name is \fB/var/krb5/.k5.realm\fR. If you use the \fB-f\fR,
+\fB-k\fR, or \fB-M\fR options when you create a database, then you must use the
+same options when modifying or destroying the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdestroy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Destroys the database specified by the \fB-d\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstash\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a stash file. If \fB-f\fR was not specified, the default stash file
+name is \fB/var/krb5/.k5.realm\fR. You will be prompted for the master database
+password. This command is useful when you want to generate the stash file from
+the password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdump\fR [\fB-old\fR] [\fB-b6\fR] [\fB-b7\fR] [\fB-ov\fR] [\fB-verbose\fR]
+[\fB-mkey_convert\fR] [\fB-new_mkey_file\fR \fImkey_file\fR] [\fB-rev\fR]
+[\fB-recurse\fR] [\fIfilename\fR [\fIprincipals\fR...]]\fR
+.ad
+.sp .6
+.RS 4n
+Dumps the current Kerberos and KADM5 database into an ASCII file. By default,
+the database is dumped in current format, "\fBkdb5_util load_dumpversion 5\fR".
+If \fIfilename\fR is not specified or is the string "-", the dump is sent to
+standard output. Options are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-old\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the dump to be in the Kerberos 5 Beta 5 and earlier dump format
+("\fBkdb5_edit load_dump version 2.0\fR").
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b6\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the dump to be in the Kerberos 5 Beta 6 format ("\fBkdb5_edit load_dump
+version 3.0\fR").
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b7\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the dump to be in the Kerberos 5 Beta 7 format ("\fBkdb5_util load_dump
+version 4\fR"). This was the dump format produced on releases prior to 1.2.2.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ov\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the dump to be in \fBovsec_adm_export\fR format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the name of each principal and policy to be displayed as it is dumped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-mkey_convert\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prompts for a new master key. This new master key will be used to re-encrypt
+the key data in the dumpfile. The key data in the database will not be changed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-new_mkey_file\fR \fImkey_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+The filename of a stash file. The master key in this stash file will be used to
+re-encrypt the key data in the dumpfile. The key data in the database will not
+be changed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-rev\fR\fR
+.ad
+.sp .6
+.RS 4n
+Dumps in reverse order. This might recover principals that do not dump
+normally, in cases where database corruption has occured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-recurse\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the dump to walk the database recursively (\fBbtree\fR only). This might
+recover principals that do not dump normally, in cases where database
+corruption has occurred. In cases of such corruption, this option will probably
+retrieve more principals than will the \fB-rev\fR option.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBload\fR [\fB-old\fR] [\fB-b6\fR] [\fB-b7\fR] [\fB-ov\fR] [\fB-hash\fR]
+[\fB-verbose\fR] [\fB-update\fR] \fIfilename\fR \fIdbname\fR
+[\fIadmin_dbname\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Loads a database dump from \fIfilename\fR into \fIdbname\fR. Unless the
+\fB-old\fR or \fB-b6\fR option is specified, the format of the dump file is
+detected automatically and handled appropriately. Unless the \fB-update\fR
+option is specified, \fBload\fR creates a new database containing only the
+principals in the dump file, overwriting the contents of any existing database.
+The \fB-old\fR option requires the database to be in the Kerberos 5 Beta 5 or
+earlier format ("\fBkdb5_edit load_dump version 2.0\fR").
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b6\fR\fR
+.ad
+.sp .6
+.RS 4n
+Requires the database to be in the Kerberos 5 Beta 6 format ("\fBkdb5_edit
+load_dump version 3.0\fR").
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b7\fR\fR
+.ad
+.sp .6
+.RS 4n
+Requires the database to be in the Kerberos 5 Beta 7 format ("\fBkdb5_util
+load_dump version 4\fR").
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ov\fR\fR
+.ad
+.sp .6
+.RS 4n
+Requires the database to be in \fBovsec_adm_import\fR format. Must be used with
+the \fB-update\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-hash\fR\fR
+.ad
+.sp .6
+.RS 4n
+Requires the database to be stored as a hash. If this option is not specified,
+the database will be stored as a \fBbtree\fR. This option is not recommended,
+as databases stored in hash format are known to corrupt data and lose
+principals.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the name of each principal and policy to be displayed as it is dumped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-update\fR\fR
+.ad
+.sp .6
+.RS 4n
+Records from the dump file are added to or updated in the existing database.
+Otherwise, a new database is created containing only what is in the dump file
+and the old one is destroyed upon successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Required argument that specifies a path to a file containing database dump.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdbname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Required argument that overrides the value specified on the command line or
+overrides the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIadmin_dbname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Optional argument that is derived from \fIdbname\fR if not specified.
+.RE
+
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating File that Contains Information about Two Principals
+.sp
+.LP
+The following example creates a file named \fBslavedata\fR that contains the
+information about two principals, \fBjdb@ACME.COM\fR and \fBpak@ACME.COM\fR.
+
+.sp
+.in +2
+.nf
+# /usr/krb5/bin/kdb5_util dump -verbose slavedata
+jdb@ACME.COM pak@ACME.COM
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos principal database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos administrative database. Contains policy information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5.lock\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lock file for the Kerberos administrative database. This file works backwards
+from most other lock files (that is, \fBkadmin\fR exits with an error if this
+file does not exist).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.ulog\fR\fR
+.ad
+.sp .6
+.RS 4n
+The update log file for incremental propagation.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkpasswd\fR(1), \fBgkadmin\fR(1M), \fBkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkadmin.local\fR(1M), \fBkdb5_ldap_util\fR(1M), \fBkproplog\fR(1M),
+\fBkadm5.acl\fR(4), \fBkdc.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5)
diff --git a/usr/src/man/man1m/kdcmgr.1m b/usr/src/man/man1m/kdcmgr.1m
new file mode 100644
index 0000000000..72a277a4ef
--- /dev/null
+++ b/usr/src/man/man1m/kdcmgr.1m
@@ -0,0 +1,430 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kdcmgr 1M "19 Sep 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kdcmgr \- set up a Kerberos Key Distribution Center (KDC)
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/kdcmgr\fR [\fB-a\fR \fIadmprincipal\fR] [\fB-e\fR \fIenctype\fR]
+ [\fB-h\fR] [\fB-p\fR \fIpwfile\fR] [\fB-r\fR \fIrealm\fR] \fIsubcommand\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Use the \fBkdcmgr\fR utility to do the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure a master Key Distribution Center (KDC) server.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure a slave KDC. This assumes that a master KDC has already been
+configured. The default propagation method configured is incremental
+propagation. See \fBkpropd\fR(1M).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Specify a list of slave KDCs to configure service principals and create access
+control list for those slaves on the master KDC.
+.RE
+.sp
+.LP
+If you specify no options, \fBkdcmgr\fR prompts you for required information,
+including a password to generate the master key and a password for the
+administrative principal. When you specify sufficient options, you are still
+prompted for these passwords, unless you specified the \fB-p\fR \fIpwfile\fR
+option.
+.sp
+.LP
+The \fBkdcmgr\fR utility must be run as superuser or by someone who has the
+Primary Administrator role. The command must be run on the server from which it
+is invoked.
+.sp
+.LP
+Note that \fBkdcmgr\fR requires the user to enter sensitive information, such
+as the password used to generate the database's master key and the password for
+the administrative principal. Great care must be taken to ensure that the
+connection to the server is secured over the network, by using a protocol such
+as \fBssh\fR(1).
+.sp
+.LP
+You must also exercise great care when selecting the administrative and master
+key passwords. They should be derived from non-dictionary words and a long
+string of characters consisting of all of the following character classes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+special characters (for example, !@#$%^&*)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+numerals (0-9)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+uppercase letters
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+lowercase letters
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIadmprincipal\fR\fR
+.ad
+.sp .6
+.RS 4n
+When creating a master KDC, specifies the administrative principal,
+\fIadmprincipal\fR, that will be created.
+.sp
+When creating a slave KDC, \fIadmprincipal\fR is used to authenticate as the
+administrative principal.
+.sp
+If you omit \fB-a\fR, the suggested default administrative principal name is
+the output of \fBlogname\fR(1) appended by \fB/admin\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIenctype\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the encryption type to be used when creating the key for the master
+key, which is used to encrypt all principal keys in the database. The set of
+valid encryption types used here are described in \fBkrb5.conf\fR(4) under the
+\fBpermitted_enctypes\fR option. Note that the encryption type specified here
+must be supported on all KDCs or else they will not be able to decrypt any of
+the principal keys. Solaris 9 and earlier releases support only the
+\fBdes-cbc-crc\fR encryption type for the master key. Therefore, if any of the
+master or slave KDCs are of these older releases, then \fB-e\fR
+\fBdes-cbc-crc\fR would need to be specified on all KDCs configured with
+\fBkdcmgr\fR.
+.sp
+The default encryption type is \fBaes128-cts-hmac-sha1-96\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays usage information for \fBkdcmgr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpwfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Provides the location of the password file that contains the password used to
+create the administrative principal and/or master key.
+.sp
+\fBWarning:\fR This option should be used with great care. Make sure that this
+\fIpwfile\fR is accessible only by a privileged user and on a local file
+system. Once the KDC has been configured, you should remove \fIpwfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the default realm for this server.
+.sp
+If the \fB-r\fR option is not specified, \fBkdcmgr\fR attempts to obtain the
+machine's local domain name by submitting the canonical form of the machine's
+host name to DNS and using the return value to derive the domain name. If
+successful, the domain name is converted to uppercase and proposed as the
+default realm name.
+.RE
+
+.SH SUBCOMMANDS
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate\fR [ \fImaster\fR ]\fR
+.ad
+.br
+.na
+\fB\fBcreate\fR [ \fB-m\fR \fImasterkdc\fR ] slave\fR
+.ad
+.sp .6
+.RS 4n
+Creates a KDC. If no option is specified, an attempt to create a master KDC is
+made.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate\fR [ \fImaster\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Create a master KDC. Upon successful configuration the \fBkrb5kdc\fR(1M) and
+\fBkadmind\fR(1M) are enabled on the machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate\fR [ \fB-m\fR \fImasterkdc\fR ] slave\fR
+.ad
+.sp .6
+.RS 4n
+Configures a slave KDC. After configuration, the \fBkrb5kdc\fR(1M) and
+\fBkpropd\fR(1M) services are enabled on the machine.
+.sp
+\fImasterkdc\fR specifies the master KDC to authenticate and with which to
+perform administrative tasks. If the \fB-m\fR option is not specified, you are
+prompted for a master KDC host name.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdestroy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove all Kerberos configuration and database files associated with the KDC
+server. A confirmation is required before these files are deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstatus\fR\fR
+.ad
+.sp .6
+.RS 4n
+Determines the role of the KDC, master or slave, and outputs this and the state
+of such associated processes as:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBkrb5kdc\fR(1M)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBkadmind\fR(1M)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBkpropd\fR(1M)
+.RE
+The subcommand also displays information on incremental propagation if the
+configuration has this feature enabled, as well as any issues with dependent
+files.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting up a Master KDC
+.sp
+.LP
+The following command configures a master KDC with the administrative principal
+\fBuser1/admin\fR and with the realm name \fBEXAMPLE.COM\fR:
+
+.sp
+.in +2
+.nf
+$ \fBkdcmgr -a user1/admin -r EXAMPLE.COM create\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that a password will be required to assign to the newly created
+\fBuser1/admin\fR principal. The password for the master key will also need to
+be provided.
+
+.LP
+\fBExample 2 \fRSetting up a Slave KDC
+.sp
+.LP
+The following command configures a slave KDC, authenticates with the
+administrative principal \fBuser1/admin\fR, specifies \fBkdc1\fR as the master,
+and uses the \fBEXAMPLE.COM\fR realm name:
+
+.sp
+.in +2
+.nf
+$ \fBkdcmgr -a user1/admin -r EXAMPLE.COM create -m kdc1 slave\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that you must enter the correct password for \fBuser1/admin\fR and that
+the master KDC must already have been created before entering this command. The
+correct password for the master key is also required.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/krb5.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Main Kerberos configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kdc.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+KDC configuration, used by both master and slave servers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/krb5.keytab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default location of the local host's service keys.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.acl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos administrative access control list (ACL).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kadm5.keytab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Service keys specific to \fBkadmind\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos principal database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos policy database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kpropd.acl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used by slaves to indicate from which server to receive updates.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below
+.TE
+
+.sp
+.LP
+The command line interface (CLI) is Uncommitted. The CLI output is Not an
+Interface.
+.SH SEE ALSO
+.sp
+.LP
+\fBlogname\fR(1), \fBssh\fR(1), \fBkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkdb5_util\fR(1M), \fBkdb5_ldap_util\fR(1M), \fBkpropd\fR(1M),
+\fBkrb5kdc\fR(1M), \fBping\fR(1M), \fBsvcadm\fR(1M), \fBkdc.conf\fR(4),
+\fBkrb5.conf\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/kernel.1m b/usr/src/man/man1m/kernel.1m
new file mode 100644
index 0000000000..f924b92809
--- /dev/null
+++ b/usr/src/man/man1m/kernel.1m
@@ -0,0 +1,417 @@
+'\" te
+.\" Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kernel 1M "27 Nov 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kernel \- UNIX system executable file containing basic operating system
+services
+.SH SYNOPSIS
+.LP
+.nf
+\fBkernel-name\fR [\fB-asrvx\fR] [\fB-m \fIsmf_options\fR\fR] [\fB-i \fIaltinit\fR\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The operating system image, or kernel, is the collection of software comprising
+the image files (\fBunix\fR and \fBgenunix\fR) and the modules loaded at any
+instant in time. The system will not function without a kernel to control it.
+.sp
+.LP
+The kernel is loaded by the \fBboot\fR(1M) command in a machine-specific way.
+The kernel may be loaded from disk, \fBCD-ROM\fR, or DVD (\fBdiskfull boot\fR)
+or over the network (\fBdiskless boot\fR). In either case, the directories
+under \fB/platform\fR and \fB/kernel\fR must be readable and must contain
+executable code which is able to perform the required kernel service. If the
+\fB-a\fR flag is given, the user is able to supply different pathnames for the
+default locations of the kernel and modules. See \fBboot\fR(1M) for more
+information on loading a specific kernel.
+.sp
+.LP
+The \fBmoddir\fR variable contains a list of module directories separated by
+whitespace. moddir can be set in the \fB/etc/system\fR file. The minimal
+default is:
+.sp
+.in +2
+.nf
+/platform/platform-name/kernel /kernel /usr/kernel
+.fi
+.in -2
+
+.sp
+.LP
+This default can be supplemented by a specific platform. It is common for many
+SPARC systems to override the default path with:
+.sp
+.in +2
+.nf
+/platform/\fIplatform-name\fR/kernel:/platform/\fIhardware-class-name\fR\e
+ /kernel:/kernel:/usr/kernel
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fIplatform-name\fR can be found using the \fB-i\fR option of
+\fBuname\fR(1), and \fIhardware-class-name\fR can be found using the \fB-m\fR
+option of \fBuname\fR(1).
+.sp
+.LP
+The kernel configuration can be controlled using the \fB/etc/system\fR file
+(see \fBsystem\fR(4)).
+.sp
+.LP
+\fBgenunix\fR is the platform-independent component of the base kernel.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Asks the user for configuration information, such as where to find the system
+file, where to mount \fBroot\fR, and even override the name of the kernel
+itself. Default responses will be contained in square brackets ([ ]), and the
+user may simply enter RETURN to use the default response (note that RETURN is
+labeled ENTER on some keyboards). To help repair a damaged \fB/etc/system\fR
+file, enter \fB/dev/null\fR at the prompt that asks for the pathname of the
+system configuration file. See \fBsystem\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIaltinit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select an alternative executable to be the primordial process. \fIaltinit\fR
+must be a valid path to an executable. The default primordial process is
+\fBinit\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIsmf_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIsmf_options\fR include two categories of options to control booting
+behavior of the service management facility: recovery options and messages
+options.
+.sp
+Message options determine the type and amount of messages that \fBsmf\fR(5)
+displays during boot. Service options determine the services which are used to
+boot the system.
+.sp
+Recovery options
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdebug\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints standard per-service output and all \fBsvc.startd\fR messages to log.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImilestone=[milestone]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Boot with some SMF services temporarily disabled, as indicated by
+\fImilestone\fR. \fImilestone\fR can be "none", "single-user", "multi-user",
+"multi-user-server", or "all". See the \fBmilestone\fR subcommand of
+\fBsvcadm\fR(1M).
+.RE
+
+Messages options
+.sp
+.ne 2
+.mk
+.na
+\fB\fIquiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints standard per-service output and error messages requiring administrative
+intervention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIverbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints standard per-service output with more informational messages.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reconfiguration boot. The system will probe all attached hardware devices and
+configure the logical namespace in \fB/dev\fR. See \fBadd_drv\fR(1M) and
+\fBrem_drv\fR(1M) for additional information about maintaining device drivers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Boots only to init level 's'. See \fBinit\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Boots with verbose messages enabled. If this flag is not given, the messages
+are still printed, but the output is directed to the system logfile. See
+\fBsyslogd\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Does not boot in clustered mode. This option only has an effect when a version
+of Sun Cluster software that supports this option has been installed.
+.RE
+
+.SH EXAMPLES
+.sp
+.LP
+See \fBboot\fR(1M) for examples and instructions on how to boot.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/kernel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains kernel components common to all platforms within a particular
+instruction set that are needed for booting the system. of the core image file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/\fIplatform-name\fR/kernel\fR\fR
+.ad
+.sp .6
+.RS 4n
+The platform-specific kernel components.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/\fIhardware-class-name\fR\fR\fB/kernel\fR\fR
+.ad
+.sp .6
+.RS 4n
+The kernel components specific to this hardware class.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/kernel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains kernel components common to all platforms within a particular
+instruction set.
+.RE
+
+.sp
+.LP
+The directories in this section can potentially contain the following
+subdirectories:
+.sp
+.ne 2
+.mk
+.na
+\fBdrv\fR
+.ad
+.sp .6
+.RS 4n
+Loadable device drivers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBexec\fR
+.ad
+.sp .6
+.RS 4n
+The modules that execute programs stored in various file formats.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfs\fR
+.ad
+.sp .6
+.RS 4n
+File system modules
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmisc\fR
+.ad
+.sp .6
+.RS 4n
+Miscellaneous system-related modules
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsched\fR
+.ad
+.sp .6
+.RS 4n
+Operating system schedulers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstrmod\fR
+.ad
+.sp .6
+.RS 4n
+System V STREAMS loadable modules
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsys\fR
+.ad
+.sp .6
+.RS 4n
+Loadable system calls
+.RE
+
+.SS "SPARC"
+.sp
+.ne 2
+.mk
+.na
+\fBcpu\fR
+.ad
+.sp .6
+.RS 4n
+Processor specific modules
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtod\fR
+.ad
+.sp .6
+.RS 4n
+Time-Of-Day hardware interface modules
+.RE
+
+.sp
+.LP
+As only 64-bit SPARC platforms are supported, all SPARC executable modules are
+contained within \fBsparcv9\fR directories in the directories listed above.
+.SS "x86"
+.sp
+.ne 2
+.mk
+.na
+\fBmach\fR
+.ad
+.sp .6
+.RS 4n
+x86 hardware support
+.RE
+
+.sp
+.LP
+Modules comprising the 32-bit x86 kernel are contained in the above
+directories, with the 64-bit x86 kernel components contained within \fBamd64\fR
+subdirectories.
+.SH SEE ALSO
+.sp
+.LP
+\fBuname\fR(1), \fBisainfo\fR(1), \fBadd_drv\fR(1M), \fBboot\fR(1M),
+\fBinit\fR(1M), \fBkadb\fR(1M), \fBrem_drv\fR(1M), \fBsavecore\fR(1M),
+\fBsvc.startd\fR(1M), \fBsvcadm\fR(1M), \fBsyslogd\fR(1M), \fBsystem\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5), \fBdevfs\fR(7FS)
+.SS "SPARC Only"
+.sp
+.LP
+\fBmonitor\fR(1M)
+.SH DIAGNOSTICS
+.sp
+.LP
+The kernel gives various warnings and error messages. If the kernel detects an
+unrecoverable fault, it will panic or halt.
+.SH NOTES
+.sp
+.LP
+Reconfiguration boot will, by design, not remove \fB/dev\fR entries for some
+classes of devices that have been physically removed from the system.
diff --git a/usr/src/man/man1m/keyserv.1m b/usr/src/man/man1m/keyserv.1m
new file mode 100644
index 0000000000..4f39fc027a
--- /dev/null
+++ b/usr/src/man/man1m/keyserv.1m
@@ -0,0 +1,209 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2005, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH keyserv 1M "4 Jan 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+keyserv \- server for storing private encryption keys
+.SH SYNOPSIS
+.LP
+.nf
+\fBkeyserv\fR [\fB-c\fR] [\fB-d\fR | \fB-e\fR] [\fB-D\fR] [\fB-n\fR] [\fB-s\fR \fIsizespec\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBkeyserv\fR is a daemon that is used for storing the private encryption keys
+of each user logged into the system. These encryption keys are used for
+accessing secure network services such as secure \fBNFS\fR and NIS+.
+.sp
+.LP
+Normally, root's key is read from the file \fB/etc/.rootkey\fR when the daemon
+is started. This is useful during power-fail reboots when no one is around to
+type a password.
+.sp
+.LP
+\fBkeyserv\fR does not start up if the system does not have a secure \fBrpc\fR
+domain configured. Set up the domain name by using the
+\fB/usr/bin/domainname\fR command. Usually the
+\fBsvc:/system/identity:domain\fR service reads the domain from
+\fB/etc/defaultdomain\fR. Invoking the \fBdomainname\fR command without
+arguments tells you if you have a domain set up.
+.sp
+.LP
+The \fB/etc/default/keyserv\fR file contains the following default parameter
+settings. See .
+.sp
+.ne 2
+.mk
+.na
+\fB\fBENABLE_NOBODY_KEYS\fR\fR
+.ad
+.RS 22n
+.rt
+Specifies whether default keys for \fBnobody\fR are used.
+\fBENABLE_NOBODY_KEYS=NO\fR is equivalent to the \fB-d\fR command-line option.
+The default value for \fBENABLE_NOBODY_KEYS\fR is \fBYES\fR.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 15n
+.rt
+Do not use disk caches. This option overrides any \fB-s\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 15n
+.rt
+Run in debugging mode and log all requests to \fBkeyserv\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 15n
+.rt
+Disable the use of default keys for \fBnobody\fR. See .
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 15n
+.rt
+Enable the use of default keys for \fBnobody\fR. This is the default behavior.
+See .
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 15n
+.rt
+Root's secret key is not read from \fB/etc/.rootkey\fR. Instead, \fBkeyserv\fR
+prompts the user for the password to decrypt root's key stored in the
+\fBpublickey\fR database and then stores the decrypted key in
+\fB/etc/.rootkey\fR for future use. This option is useful if the
+\fB/etc/.rootkey\fR file ever gets out of date or corrupted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsizespec\fR\fR
+.ad
+.RS 15n
+.rt
+Specify the size of the extended Diffie-Hellman common key disk caches. The
+\fIsizespec\fR can be one of the following forms:
+.sp
+.ne 2
+.mk
+.na
+\fB\fImechtype\fR=\fBsize\fR\fR
+.ad
+.RS 17n
+.rt
+\fBsize\fR is an integer specifying the maximum number of entries in the cache,
+or an integer immediately followed by the letter \fIM\fR, denoting the maximum
+size in MB.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsize\fR\fR
+.ad
+.RS 17n
+.rt
+This form of \fIsizespec\fR applies to all caches.
+.RE
+
+See \fBnisauthconf\fR(1M) for mechanism types. Note that the \fBdes\fR
+mechanism, \fBAUTH_DES\fR, does not use a disk cache.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/.rootkey\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/keyserv\fR\fR
+.ad
+.RS 24n
+.rt
+Contains default settings. You can use command-line options to override these
+settings.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkeylogin\fR(1), \fBsvcs\fR(1), \fBkeylogout\fR(1), \fBnisauthconf\fR(1M),
+\fBsvcadm\fR(1M), \fBpublickey\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+http://www.sun.com/directory/nisplus/transition.html
+.SH NOTES
+.sp
+.LP
+NIS+ might not be supported in future releases of the Solaris operating system.
+Tools to aid the migration from NIS+ to LDAP are available in the current
+Solaris release. For more information, visit
+http://www.sun.com/directory/nisplus/transition.html.
+.sp
+.LP
+The \fBkeyserv\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/keyserv:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/killall.1m b/usr/src/man/man1m/killall.1m
new file mode 100644
index 0000000000..20a3639b3f
--- /dev/null
+++ b/usr/src/man/man1m/killall.1m
@@ -0,0 +1,36 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH killall 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+killall \- kill all active processes
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/killall\fR [\fIsignal\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBkillall\fR is used by \fBshutdown\fR(1M) to kill all active processes not
+directly related to the shutdown procedure.
+.sp
+.LP
+\fBkillall\fR terminates all processes with open files so that the mounted file
+systems will be unbusied and can be unmounted.
+.sp
+.LP
+\fBkillall\fR sends \fIsignal\fR (see \fBkill\fR(1)) to the active processes.
+If no \fIsignal\fR is specified, a default of \fB15\fR is used.
+.sp
+.LP
+The \fBkillall\fR command can be run only by the super-user.
+.SH SEE ALSO
+.sp
+.LP
+\fBkill\fR(1), \fBps\fR(1), \fBfuser\fR(1M), \fBshutdown\fR(1M),
+\fBsignal\fR(3C), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/kprop.1m b/usr/src/man/man1m/kprop.1m
new file mode 100644
index 0000000000..6b9051b406
--- /dev/null
+++ b/usr/src/man/man1m/kprop.1m
@@ -0,0 +1,184 @@
+'\" te
+.\" Copyright 1987, 1989 by the Student Information Processing Board of the Massachusetts Institute of Technology. For copying and distribution information, please see the file kerberosv5/mit-sipb-copyright.h.
+.\" Portions Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kprop 1M "14 Nov 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kprop \- Kerberos database propagation program
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/krb5/kprop\fR [\fB-d\fR] [\fB-f\fR \fIfile\fR] [\fB-p\fR \fIport-number\fR]
+ [\fB-r\fR \fIrealm\fR] [\fB-s\fR \fIkeytab\fR] [\fIhost\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBkprop\fR is a command-line utility used for propagating a Kerberos database
+from a master \fBKDC\fR to a slave \fBKDC\fR. This command must be run on the
+master \fBKDC\fR. See the \fISolaris System Administration Guide, Vol. 6\fR on
+how to set up periodic propagation between the master \fBKDC\fR and slave
+\fBKDC\fRs.
+.sp
+.LP
+To propagate a Kerberos database, the following conditions must be met:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The slave \fBKDC\fRs must have an \fB/etc/krb5/kpropd.acl\fR file that contains
+the principals for the master \fBKDC\fR and all the slave \fBKDC\fRs.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A keytab containing a host principal entry must exist on each slave \fBKDC\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The database to be propagated must be dumped to a file using
+\fBkdb5_util\fR(1M).
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 18n
+.rt
+Enable debug mode. Default is debug mode disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfile\fR\fR
+.ad
+.RS 18n
+.rt
+File to be sent to the slave \fBKDC\fR. Default is the
+\fB/var/krb5/slave_datatrans\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIport-number\fR\fR
+.ad
+.RS 18n
+.rt
+Propagate \fIport-number\fR. Default is port \fB754\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.RS 18n
+.rt
+Realm where propagation will occur. Default \fIrealm\fR is the local realm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIkeytab\fR\fR
+.ad
+.RS 18n
+.rt
+Location of the keytab. Default location is \fB/etc/krb5/krb5.keytab\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhost\fR\fR
+.ad
+.RS 8n
+.rt
+Name of the slave \fBKDC\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRPropagating the Kerberos Database
+.sp
+.LP
+The following example propagates the Kerberos database from the
+\fB/tmp/slave_data\fR file to the slave \fBKDC\fR \fBlondon\fR. The machine
+\fBlondon\fR must have a host principal keytab entry and the \fBkpropd.acl\fR
+file must contain an entry for the all the \fBKDC\fRs.
+
+.sp
+.in +2
+.nf
+# kprop -f /tmp/slave_data london
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kpropd.acl\fR\fR
+.ad
+.RS 29n
+.rt
+List of principals of all the KDCs; resides on each slave KDC.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/krb5.keytab\fR\fR
+.ad
+.RS 29n
+.rt
+Keytab for Kerberos clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/slave_datatrans\fR\fR
+.ad
+.RS 29n
+.rt
+Kerberos database propagated to the KDC slaves.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkpasswd\fR(1), \fBsvcs\fR(1), \fBgkadmin\fR(1M), \fBinetadm\fR(1M),
+\fBinetd\fR(1M), \fBkadmind\fR(1M), \fBkadmin.local\fR(1M),
+\fBkdb5_util\fR(1M), \fBsvcadm\fR(1M), \fBkadm5.acl\fR(4), \fBkdc.conf\fR(4),
+\fBattributes\fR(5), \fBkerberos\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/kpropd.1m b/usr/src/man/man1m/kpropd.1m
new file mode 100644
index 0000000000..ca7e28005a
--- /dev/null
+++ b/usr/src/man/man1m/kpropd.1m
@@ -0,0 +1,280 @@
+'\" te
+.\" Copyright 1987, 1989 by the Student Information Processing Board of the Massachusetts Institute of Technology. For copying and distribution information, please see the file kerberosv5/mit-sipb-copyright.h.
+.\" Portions Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kpropd 1M "11 Jul 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kpropd \- Kerberos propagation daemon for slave KDCs
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/krb5/kpropd\fR [\fB-d\fR] [\fB-f\fR \fItemp_dbfile\fR] [\fB-F\fR \fIdbfile\fR]
+ [\fB-p\fR \fIkdb_util\fR] [\fB-P\fR \fIport_number\fR] [\fB-r\fR \fIrealm\fR]
+ [\fB-s\fR \fIsrv_tabfile\fR] [\fB-S\fR] [\fB-a\fR \fIacl_file\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBkpropd\fR command runs on the slave KDC server. It listens for update
+requests made by \fBkprop\fR(1M) from the master KDC and periodically requests
+incremental updates from the master KDC.
+.sp
+.LP
+When the slave receives a kprop request from the master, \fBkpropd\fR copies
+principal data to a temporary text file. Next, \fBkpropd\fR invokes
+\fBkdb5_util\fR(1M) (unless a different database utility is selected) to load
+the text file in database format.
+.sp
+.LP
+When the slave periodically requests incremental updates, \fBkpropd\fR update
+its \fBprincipal.ulog\fR file with any updates from the master.
+\fBkproplog\fR(1M) can be used to view a summary of the update entry log on the
+slave KDC.
+.sp
+.LP
+kpropd is not configured for incremental database propagation by default. These
+settings can be changed in the \fBkdc.conf\fR(4) file:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsunw_dbprop_enable = [true | false]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables or disables incremental database propagation. Default is \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsunw_dbprop_slave_poll = N[s, m, h]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies how often the slave KDC polls for any updates that the master might
+have. Default is \fB2m\fR (two minutes).
+.RE
+
+.sp
+.LP
+The \fBkiprop/\fI<hostname>\fR@\fI<REALM>\fR\fR principal must exist in the
+slave's \fBkeytab\fR file to enable the master to authenticate incremental
+propagation requests from the slave. In this syntax, \fI<hostname>\fR is the
+slave KDC's host name and \fI<REALM>\fR is the realm in which the slave KDC
+resides.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 18n
+.rt
+Enable debug mode. Default is debug mode disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fItemp_dbfile\fR\fR
+.ad
+.RS 18n
+.rt
+The location of the slave's temporary principal database file. Default is
+\fB/var/krb5/from_master\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIdbfile\fR\fR
+.ad
+.RS 18n
+.rt
+The location of the slave's principal database file. Default is
+\fB/var/krb5/principal\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIkdb_util\fR\fR
+.ad
+.RS 18n
+.rt
+The location of the Kerberos database utility used for loading principal
+databases. Default is \fB/usr/sbin/kdb5_util\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIport_number\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the port number on which \fBkpropd\fR will listen. Default is 754
+(service name: \fBkrb5_prop\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies from which Kerberos realm kpropd will receive information. Default is
+specified in \fB/etc/krb5/krb5.conf\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsrv_tabfile\fR\fR
+.ad
+.RS 18n
+.rt
+The location of the service table file used to authenticate the \fBkpropd\fR
+daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.RS 18n
+.rt
+Run the daemon in standalone mode, instead of having \fBinetd\fR listen for
+requests. Default is non-standalone mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIacl_file\fR\fR
+.ad
+.RS 18n
+.rt
+The location of the \fBkpropd\fR's access control list to verify if this server
+can run the \fBkpropd\fR daemon. The file contains a list of principal name(s)
+that will be receiving updates. Default is \fB/etc/krb5/kpropd.acl\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal\fR\fR
+.ad
+.RS 28n
+.rt
+Kerberos principal database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.ulog\fR\fR
+.ad
+.RS 28n
+.rt
+The update log file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kdc.conf\fR\fR
+.ad
+.RS 28n
+.rt
+KDC configuration information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kpropd.acl\fR\fR
+.ad
+.RS 28n
+.rt
+List of principals of all the KDCs; resides on each slave KDC.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/from_master\fR\fR
+.ad
+.RS 28n
+.rt
+Temporary file used by kpropd before loading this to the principal database.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkdb5_util\fR(1M), \fBkprop\fR(1M), \fBkproplog\fR(1M), \fBkdc.conf\fR(4),
+\fBkrb5.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBkprop\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/security/krb5_prop:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/kproplog.1m b/usr/src/man/man1m/kproplog.1m
new file mode 100644
index 0000000000..35711a5caa
--- /dev/null
+++ b/usr/src/man/man1m/kproplog.1m
@@ -0,0 +1,135 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kproplog 1M "29 Mar 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kproplog \- display the contents of the Kerberos principal update log
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/kproplog\fR [\fB-h\fR | \fB-e\fR \fInum\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBkproplog\fR displays the contents of the Kerberos principal update log
+to standard output. This command can be used to keep track of the incremental
+updates to the principal database, which is enabled by default. The
+\fB/var/krb5/principal.ulog\fR file contains the update log maintained by the
+\fBkadmind\fR(1M) process on the master KDC server and the \fBkpropd\fR(1M)
+process on the slave KDC servers. When updates occur, they are logged to this
+file. Subsequently any KDC slave configured for incremental updates will
+request the current data from the master KDC and update their
+\fBprincipal.ulog\fR file with any updates returned.
+.sp
+.LP
+The \fBkproplog\fR command can only be run on a KDC server by someone with
+privileges comparable to the superuser. It will display update entries for that
+server only.
+.sp
+.LP
+If no options are specified, the summary of the update log is displayed. If
+invoked on the master, all of the update entries are also displayed. When
+invoked on a slave KDC server, only a summary of the updates are displayed,
+which includes the serial number of the last update received and the associated
+time stamp of the last update.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 11n
+.rt
+Display a summary of the update log. This information includes the database
+version number, state of the database, the number of updates in the log, the
+time stamp of the first and last update, and the version number of the first
+and last update entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\ \fInum\fR\fR
+.ad
+.RS 11n
+.rt
+Display the last \fInum\fR update entries in the log. This is useful when
+debugging synchronization between KDC servers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 11n
+.rt
+Display individual attributes per update. An example of the output generated
+for one entry:
+.sp
+.in +2
+.nf
+Update Entry
+ Update serial # : 4
+ Update operation : Add
+ Update principal : test@EXAMPLE.COM
+ Update size : 424
+ Update committed : True
+ Update time stamp : Fri Feb 20 23:37:42 2004
+ Attributes changed : 6
+ Principal
+ Key data
+ Password last changed
+ Modifying principal
+ Modification time
+ TL data
+.fi
+.in -2
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.ulog\fR\fR
+.ad
+.RS 28n
+.rt
+The update log file for incremental propagation.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkpasswd\fR(1), \fBgkadmin\fR(1M), \fBkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkdb5_util\fR(1M), \fBkprop\fR(1M), \fBkpropd\fR(1M), \fBkadm5.acl\fR(4),
+\fBkdc.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5)
diff --git a/usr/src/man/man1m/krb5kdc.1m b/usr/src/man/man1m/krb5kdc.1m
new file mode 100644
index 0000000000..d20045d36c
--- /dev/null
+++ b/usr/src/man/man1m/krb5kdc.1m
@@ -0,0 +1,260 @@
+'\" te
+.\" Copyright 1987, 1989 by the Student Information Processing Board of the Massachusetts Institute of Technology. For copying and distribution information, please see the file kerberosv5/mit-sipb-copyright.h.
+.\" Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH krb5kdc 1M "24 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+krb5kdc \- KDC daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/krb5/krb5kdc\fR [\fB-d\fR \fIdbpath\fR] [\fB-r\fR \fIrealm\fR] [\fB-m\fR]
+ [\fB-k\fR \fImasterenctype\fR] [\fB-M\fR \fImasterkeyname\fR]
+ [\fB-p\fR \fIport\fR] [\fB-n\fR] [\fB-x\fR \fIdb_args\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBkrb5kdc\fR is the daemon that runs on the master and slave \fBKDC\fRs to
+process the Kerberos tickets. For Kerberos to function properly, \fBkrb5kdc\fR
+must be running on at least one \fBKDC\fR that the Kerberos clients can access.
+Prior to running \fBkrb5kdc\fR, you must initialize the Kerberos database using
+\fBkdb5_util\fR(1M). See the \fI\fR for information regarding how to set up
+\fBKDC\fRs and initialize the Kerberos database.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdbpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the path to the database; default value is \fB/var/krb5\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fImasterenctype\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the encryption type for encrypting the database. The default value is
+\fBdes-cbc-crc\fR. \fBdes3-cbc-sha1\fR, \fBarcfour-hmac-md5\fR,
+\fBarcfour-hmac-md5-exp\fR, \fBaes128-cts-hmac-sha1-96\fR, and
+\fBaes256-cts-hmac-sha1-96\fR are also valid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify that the master key for the database is to be entered manually.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fImasterkeyname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the principal to retrieve the master Key for the database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify that \fBkrb5kdc\fR should not detach from the terminal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIport\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the port that will be used by the \fBKDC\fR to listen for incoming
+requests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrealm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the realm name; default is the local realm name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIdb_args\fR\fR
+.ad
+.sp .6
+.RS 4n
+Pass database-specific arguments to \fBkadmin\fR. Supported arguments are for
+the LDAP plug-in. These arguments are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbinddn\fR=\fIbinddn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the DN of the object used by the KDC server to bind to the LDAP
+server. This object should have the rights to read the realm container,
+principal container and the subtree that is referenced by the realm. Overrides
+the \fBldap_kdc_dn\fR parameter setting in \fBkrb5.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbindpwd\fR=\fIbindpwd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the password for the above-mentioned \fIbinddn\fR. It is recommended
+not to use this option. Instead, the password can be stashed using the
+\fBstashsrvpw\fR command of \fBkdb5_ldap_util\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnconns\fR=\fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of connections to be maintained per LDAP server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhost\fR=\fIldapuri\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies, by an LDAP URI, the LDAP server to which to connect.
+.RE
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.db\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos principal database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos administrative database. This file contains policy information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/krb5/principal.kadm5.lock\fR\fR
+.ad
+.sp .6
+.RS 4n
+Kerberos administrative database lock file. This file works backwards from most
+other lock files (that is, \fBkadmin\fR will exit with an error if this file
+does \fInot\fR exist).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kdc.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBKDC\fR configuration file. This file is read at startup.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/kpropd.acl\fR\fR
+.ad
+.sp .6
+.RS 4n
+File that defines the access control list for propagating the Kerberos database
+using \fBkprop\fR.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkill\fR(1), \fBkpasswd\fR(1), \fBgkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkadmin.local\fR(1M), \fBkdb5_util\fR(1M), \fBkdb5_ldap_util\fR(1M),
+\fBlogadm\fR(1M), \fBkrb5.conf\fR(4), \fBattributes\fR(5), \fBkrb5envvar\fR(5),
+\fBkerberos\fR(5),
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The following signal has the specified effect when sent to the server process
+using the \fBkill\fR(1)command:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGHUP\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBkrb5kdc\fR closes and re-opens log files that it directly opens. This can be
+useful for external log-rotation utilities such as \fBlogadm\fR(1M). If this
+method is used for log file rotation, set the \fBkrb5.conf\fR(4)
+\fBkdc_rotate\fR period relation to \fBnever\fR.
+.RE
+
diff --git a/usr/src/man/man1m/ksslcfg.1m b/usr/src/man/man1m/ksslcfg.1m
new file mode 100644
index 0000000000..f36b76eeb8
--- /dev/null
+++ b/usr/src/man/man1m/ksslcfg.1m
@@ -0,0 +1,445 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ksslcfg 1M "27 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ksslcfg \- enable and configure SMF instance of Kernel SSL
+.SH SYNOPSIS
+.LP
+.nf
+\fBksslcfg\fR create \fB-f\fR pkcs11 \fB-T\fR \fItoken_label\fR \fB-C\fR \fIcertificate_label\fR
+ [\fB-d\fR \fIsofttoken_directory\fR]
+ [\fB-p\fR \fIpassword_file\fR [\fB-u\fR \fIusername\fR]]
+ [\fB-h\fR \fIca_certchain_file\fR] [\fB-c\fR \fIciphersuites\fR]
+ [\fB-t\fR \fIssl_session_cache_timeout\fR]
+ [\fB-z\fR \fIssl_session_cache_size\fR] [\fB-v\fR] \fB-x\fR \fIproxy_port\fR [\fIhost\fR] \fIssl_port\fR
+.fi
+
+.LP
+.nf
+\fBksslcfg\fR create \fB-f\fR pkcs12 \fB-i\fR \fIcert_and_key_pk12file\fR
+ [\fB-p\fR \fIpassword_file\fR [\fB-u\fR \fIusername\fR]]
+ [\fB-c\fR \fIciphersuites\fR] [\fB-t\fR \fIssl_session_cache_timeout\fR]
+ [\fB-z\fR \fIssl_session_cache_size\fR] [\fB-v\fR] \fB-x\fR \fIproxy_port\fR [\fIhost\fR] \fIssl_port\fR
+.fi
+
+.LP
+.nf
+\fBksslcfg\fR create \fB-f\fR pem \fB-i\fR \fIcert_and_key_pemfile\fR
+ [\fB-p\fR \fIpassword_file\fR [\fB-u\fR \fIusername\fR]]
+ [\fB-c\fR \fIciphersuites\fR] [\fB-t\fR \fIssl_session_cache_timeout\fR]
+ [\fB-z\fR \fIssl_session_cache_size\fR] [\fB-v\fR] \fB-x\fR \fIproxy_port\fR [\fIhost\fR] \fIssl_port\fR
+.fi
+
+.LP
+.nf
+\fBksslcfg\fR delete [\fB-v\fR] [\fIhost\fR] \fIssl_port\fR
+.fi
+
+.LP
+.nf
+\fBksslcfg\fR \fB-V\fR
+.fi
+
+.LP
+.nf
+\fBksslcfg\fR \fB-?\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBksslcfg\fR manages \fBsmf\fR(5) instances for the Kernel SSL proxy module.
+An SSL-enabled web server can use the services of its Kernel SSL proxy to
+improve the performance of the HTTPS packets processing. It does so by creating
+an instance of the Kernel SSL service, specifying the SSL proxy port and
+parameters, and by listening on the proxy port.
+.sp
+.LP
+The \fBcreate\fR subcommand creates an instance and enables the service for the
+given address and SSL port.
+.sp
+.LP
+The \fBdelete\fR subcommand disables the service for the given address and
+port, if it is enabled, and deletes the instance from the SMF repository.
+.sp
+.LP
+\fBksslcfg\fR can be run as root or by other users assigned to the Network
+Security profile. See \fBrbac\fR(5) and \fBuser_attr\fR(4). You must run
+\fBksslcfg\fR to configure your Kernel SSL proxy before you start your
+application.
+.sp
+.LP
+\fBksslcfg\fR allows you to specify an \fIssl_port\fR operand, described under
+OPERANDS, and, with the \fB-x\fR option, a \fIproxy_port\fR value. When
+specified for use with the Kernel SSL proxy, these values cannot also be
+configured for the Solaris Network Cache and Acceleration (NCA) feature. See
+\fBnca\fR(1) for a description of the NCA feature.
+.sp
+.LP
+The Fault Managed Resource Identifier (FMRI) for the kernel SSL proxy instances
+is \fBsvc://network/ssl/proxy\fR. \fBksslcfg\fR creates an instance of that
+service unique to the combination of host and SSL port. Instance FMRIs for
+particular proxy entries can be found with \fBsvcs\fR(1) and used for
+dependencies of other services.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIciphersuites\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set of ciphers a client is allowed to negotiate in a sorted order. The
+supported SSL version3 and TLS ciphers are listed below. Note that the names
+are case-insensitive.
+.sp
+.in +2
+.nf
+rsa_rc4_128_sha
+rsa_rc4_128_md5
+rsa_aes_256_cbc_sha
+rsa_aes_128_cbc_sha
+rsa_3des_ede_cbc_sha
+rsa_des_cbc_sha
+.fi
+.in -2
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIkey_format\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses the certificate/key format specified in \fIkey_format\fR. The supported
+options are \fBpkcs11\fR, \fBpkcs12\fR, and \fBpem\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIkey_and_certificate_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+When \fBpkcs12\fR or \fBpem\fR is specified with the \fB-f\fR option, reads a
+key and a certificate of the web server from \fIkey_and_certificate_file\fR.
+This file can also contain any intermediate CA certificates that form the
+certificate chain to the root CA for the server certificate. These certificates
+must follow the server certificate in the file and the order must be bottom up:
+lowest level CA certificate followed by the next higher level CA certificate,
+and so on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIcertificate_label\fR\fR
+.ad
+.sp .6
+.RS 4n
+PKCS#11 can store multiple certificates in single token. This option enables
+you to specify a single certificate, identified by \fIcertificate_label\fR.
+This label must match the \fBCKA_LABEL\fR on the certificate object in the
+token specified by \fB-T\fR. This option is to be used only with \fB-f\fR
+\fBpkcs11\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIsofttoken_directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is applicable only with the \fBpkcs11\fR key format, when the token
+label is the Sun Software PKCS#11 softtoken. Use this option to override the
+default location of the PKCS#11 softtoken directory (\fB$HOME/.sunw\fR). See
+\fBpkcs11_softtoken\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIca_certchain_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+When \fBpkcs11\fR is specified with the \fB-f\fR option, reads a set of
+intermediate CA certificates that form the certificate chain to the root CA for
+the server certificate (specified with the \fB-C\fR option), from
+\fIca_certchain_file\fR. The file must be in PEM format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpassword_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Obtains the password used to encrypt the private key from \fIpassword_file\fR.
+When using the \fBpkcs11\fR option (see \fB-f\fR, above), the password is used
+to authenticate the user to the PKCS #11 token.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIssl_session_cache_timeout\fR\fR
+.ad
+.sp .6
+.RS 4n
+The timeout value, in seconds, for an SSL session. It corresponds to
+\fBSSL3SessionTimeout\fR of the Sun ONE web server configuration or
+\fBSSLSessionCacheTimeout\fR of \fBmod_ssl\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fItoken_label\fR\fR
+.ad
+.sp .6
+.RS 4n
+When \fBpkcs11\fR is specified with \fB-f\fR, uses the PKCS#11 token specified
+in \fItoken_label\fR. Use \fBcryptoadm list\fR \fB-v\fR to display all PKCS#11
+tokens available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+The username of the user who owns the password file. If omitted, the system
+will try to read the password file as root.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the version.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIproxy_port\fR\fR
+.ad
+.sp .6
+.RS 4n
+The SSL proxy port. The port number is designated exclusively for clear-text
+HTTP communication between the web server and the kernel SSL proxy module. No
+external HTTP packets are delivered to this port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIssl_session_cache_size\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of SSL sessions that can be cached. It corresponds to
+\fBSSLCacheEntries\fR of the Sun ONE web server configuration. When this option
+is not specified, the default is 5000 entries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR \fI\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the usage of the command.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB[\fIhost\fR] [\fIssl_port\fR]\fR\fR
+.ad
+.RS 21n
+.rt
+The address and the port of the web server for which the kernel SSL entry is
+created. If \fIhost\fR is omitted, the entry will be used for all requests that
+arrived at the \fIssl_port\fR, regardless of the destination address. Both a
+host name and an IP address are acceptable forms for \fIhost\fR. \fIssl_port\fR
+is required. Typically, this has a value of 443.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreate and Enable a Kernel SSL Instance
+.sp
+.LP
+The following command creates and enables a Kernel SSL instance using a
+certificate and a key in PKCS#11 format.
+
+.sp
+.in +2
+.nf
+# \fBksslcfg create -f pkcs11 -T "Sun Software PKCS#11 softtoken" \e
+-C "Server-Cert" -p /some/directory/password -u webservd \e
+-x 8080 www.mysite.com 443\fR
+
+% \fBsvcs svc:/network/ssl/proxy\fR
+STATE STIME FMRI
+online Sep_27 svc:/network/ssl/proxy:kssl-www-mysite-com-443
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreate and Enable a Default Instance for All Addresses
+.sp
+.LP
+The following command creates and enables a default instance for all addresses
+from a certicate and key in a \fBpkcs#12\fR file.
+
+.sp
+.in +2
+.nf
+# \fBksslcfg create -x 8888 -f pkcs12 -i /some/directory/keypair.p12 \e
+ -p /some/directory/password -u webservd 443\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreate and Enable an Instance with Specific Cipher Suites
+.sp
+.LP
+The following command creates and enables an instance with specific cipher
+suites.
+
+.sp
+.in +2
+.nf
+# \fBksslcfg create -x 8080 -f pem \e
+-i /some/directory/keypair.pem -p /some/directory/password \e
+-c "rsa_rc4_128_md5,rsa_rc4_128_sha" \e
+209.249.116.195 443\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisable and Delete an Instance
+.sp
+.LP
+The following command disables and deletes an instance.
+
+.sp
+.in +2
+.nf
+# \fBksslcfg delete www.mysite.com 443\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+Command line options are Evolving; command output is Unstable. The FMRI service
+name (\fBsvc://network/ssl/proxy\fR) is Unstable, as is the FMRI instance's
+name format. The utility name is Stable.
+.SH SEE ALSO
+.sp
+.LP
+\fBnca\fR(1), \fBsvcprop\fR(1), \fBsvcs\fR(1), \fBcryptoadm\fR(1M),
+\fBsvcadm\fR(1M), \fBsvccfg\fR(1M), \fBuser_attr\fR(4), \fBattributes\fR(5),
+\fBpkcs11_softtoken\fR(5), \fBrbac\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBksslcfg\fR \fBcreate\fR without an host argument creates an \fBINADDR_ANY\fR
+\fBsmf\fR instance. \fBksslcfg\fR \fBdelete\fR without an host argument deletes
+only the \fBINADDR_ANY\fR instance. \fBksslcfg\fR \fBdelete\fR needs a host
+argument to delete any non-\fBINADDR_ANY\fR instance.
+.sp
+.LP
+On a system with \fBzones\fR(5) installed, the \fBksslcfg\fR command can be
+used only in the global zone at this time.
diff --git a/usr/src/man/man1m/kstat.1m b/usr/src/man/man1m/kstat.1m
new file mode 100644
index 0000000000..5e58b2dad4
--- /dev/null
+++ b/usr/src/man/man1m/kstat.1m
@@ -0,0 +1,403 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH kstat 1M "23 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+kstat \- display kernel statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBkstat\fR [\fB-lpq\fR] [\fB-T\fR u | d ] [\fB-c\fR \fIclass\fR] [\fB-m\fR \fImodule\fR]
+ [\fB-i\fR \fIinstance\fR] [\fB-n\fR \fIname\fR] [\fB-s\fR \fIstatistic\fR]
+ [interval [count]]
+.fi
+
+.LP
+.nf
+\fBkstat\fR [\fB-lpq\fR] [\fB-T\fR u | d ] [\fB-c\fR \fIclass\fR]
+ [\fImodule\fR:\fIinstance\fR:\fIname\fR:\fIstatistic\fR]...
+ [interval [count]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBkstat\fR utility examines the available kernel statistics, or kstats, on
+the system and reports those statistics which match the criteria specified on
+the command line. Each matching statistic is printed with its module, instance,
+and name fields, as well as its actual value.
+.sp
+.LP
+Kernel statistics may be published by various kernel subsystems, such as
+drivers or loadable modules; each kstat has a module field that denotes its
+publisher. Since each module might have countable entities (such as multiple
+disks associated with the \fBsd\fR(7D) driver) for which it wishes to report
+statistics, the kstat also has an instance field to index the statistics for
+each entity; kstat instances are numbered starting from zero. Finally, the
+kstat is given a name unique within its module.
+.sp
+.LP
+Each kstat may be a special kstat type, an array of name-value pairs, or raw
+data. In the name-value case, each reported value is given a label, which we
+refer to as the statistic. Known raw and special kstats are given statistic
+labels for each of their values by \fBkstat\fR; thus, all published values can
+be referenced as \fImodule\fR:\fIinstance\fR:\fIname\fR:\fIstatistic\fR.
+.sp
+.LP
+When invoked without any module operands or options, kstat will match all
+defined statistics on the system. Example invocations are provided below. All
+times are displayed as fractional seconds since system boot.
+.SH OPTIONS
+.sp
+.LP
+The tests specified by the following options are logically ANDed, and all
+matching kstats will be selected. A regular expression containing shell
+metacharacters must be protected from the shell by enclosing it with the
+appropriate quotes.
+.sp
+.LP
+The argument for the \fB-c\fR, \fB-i\fR, \fB-m\fR, \fB-n\fR, and \fB-s\fR
+options may be specified as a shell glob pattern, or a Perl regular expression
+enclosed in '/' characters.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass\fR\fR
+.ad
+.RS 16n
+.rt
+Displays only kstats that match the specified class. \fIclass\fR is a
+kernel-defined string which classifies the "type" of the kstat.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinstance\fR\fR
+.ad
+.RS 16n
+.rt
+Displays only kstats that match the specified instance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 16n
+.rt
+Lists matching kstat names without displaying values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImodule\fR\fR
+.ad
+.RS 16n
+.rt
+Displays only kstats that match the specified module.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIname\fR\fR
+.ad
+.RS 16n
+.rt
+Displays only kstats that match the specified name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 16n
+.rt
+Displays output in parseable format. All example output in this document is
+given in this format. If this option is not specified, \fBkstat\fR produces
+output in a human-readable, table format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 16n
+.rt
+Displays no output, but return appropriate exit status for matches against
+given criteria.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIstatistic\fR\fR
+.ad
+.RS 16n
+.rt
+Displays only kstats that match the specified statistic.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR d | u\fR
+.ad
+.RS 16n
+.rt
+Displays a time stamp before each statistics block, either in \fBdate\fR(1)
+format (\fBd\fR) or as an alphanumeric representation of the value returned by
+\fBtime\fR(2) (\fBu\fR).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fImodule\fR:\fIinstance\fR:\fIname\fR:\fIstatistic\fR\fR
+.ad
+.sp .6
+.RS 4n
+Alternate method of specifying module, instance, name, and statistic as
+described above. Each of the module, instance, name, or statistic specifiers
+may be a shell glob pattern or a Perl regular expression enclosed by '/'
+characters. It is possible to use both specifier types within a single operand.
+Leaving a specifier empty is equivalent to using the '*' glob pattern for that
+specifier.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of seconds between reports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of reports to be printed.
+.RE
+
+.SH EXAMPLES
+.sp
+.LP
+In the following examples, all the command lines in a block produce the same
+output, as shown immediately below. The exact statistics and values will of
+course vary from machine to machine.
+.LP
+\fBExample 1 \fRUsing the \fBkstat\fR Command
+.sp
+.in +2
+.nf
+example$ \fBkstat -p -m unix -i 0 -n system_misc -s 'avenrun*'\fR
+example$ \fBkstat -p -s 'avenrun*'\fR
+example$ \fBkstat -p 'unix:0:system_misc:avenrun*'\fR
+example$ \fBkstat -p ':::avenrun*'\fR
+example$ \fBkstat -p ':::/^avenrun_\ed+min$/'\fR
+
+unix:0:system_misc:avenrun_15min 3
+unix:0:system_misc:avenrun_1min 4
+unix:0:system_misc:avenrun_5min 2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing the \fBkstat\fR Command
+.sp
+.in +2
+.nf
+example$ \fBkstat -p -m cpu_stat -s 'intr*'\fR
+example$ \fBkstat -p cpu_stat:::/^intr/\fR
+
+cpu_stat:0:cpu_stat0:intr 29682330
+cpu_stat:0:cpu_stat0:intrblk 87
+cpu_stat:0:cpu_stat0:intrthread 15054222
+cpu_stat:1:cpu_stat1:intr 426073
+cpu_stat:1:cpu_stat1:intrblk 51
+cpu_stat:1:cpu_stat1:intrthread 289668
+cpu_stat:2:cpu_stat2:intr 134160
+cpu_stat:2:cpu_stat2:intrblk 0
+cpu_stat:2:cpu_stat2:intrthread 131
+cpu_stat:3:cpu_stat3:intr 196566
+cpu_stat:3:cpu_stat3:intrblk 30
+cpu_stat:3:cpu_stat3:intrthread 59626
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing the \fBkstat\fR Command
+.sp
+.in +2
+.nf
+example$ \fBkstat -p :::state ':::avenrun*'\fR
+example$ \fBkstat -p :::state :::/^avenrun/\fR
+
+cpu_info:0:cpu_info0:state on-line
+cpu_info:1:cpu_info1:state on-line
+cpu_info:2:cpu_info2:state on-line
+cpu_info:3:cpu_info3:state on-line
+unix:0:system_misc:avenrun_15min 4
+unix:0:system_misc:avenrun_1min 10
+unix:0:system_misc:avenrun_5min 3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUsing the \fBkstat\fR Command
+.sp
+.in +2
+.nf
+example$ \fBkstat -p 'unix:0:system_misc:avenrun*' 1 3\fR
+unix:0:system_misc:avenrun_15min 15
+unix:0:system_misc:avenrun_1min 11
+unix:0:system_misc:avenrun_5min 21
+
+unix:0:system_misc:avenrun_15min 15
+unix:0:system_misc:avenrun_1min 11
+unix:0:system_misc:avenrun_5min 21
+
+unix:0:system_misc:avenrun_15min 15
+unix:0:system_misc:avenrun_1min 11
+unix:0:system_misc:avenrun_5min 21
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRUsing the \fBkstat\fR Command
+.sp
+.in +2
+.nf
+example$ \fBkstat -p -T d 'unix:0:system_misc:avenrun*' 5 2\fR
+Thu Jul 22 19:39:50 1999
+unix:0:system_misc:avenrun_15min 12
+unix:0:system_misc:avenrun_1min 0
+unix:0:system_misc:avenrun_5min 11
+
+Thu Jul 22 19:39:55 1999
+unix:0:system_misc:avenrun_15min 12
+unix:0:system_misc:avenrun_1min 0
+unix:0:system_misc:avenrun_5min 11
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRUsing the \fBkstat\fR Command
+.sp
+.in +2
+.nf
+example$ \fBkstat -p -T u 'unix:0:system_misc:avenrun*'\fR
+932668656
+unix:0:system_misc:avenrun_15min 14
+unix:0:system_misc:avenrun_1min 5
+unix:0:system_misc:avenrun_5min 18
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+One or more statistics were matched.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+No statistics were matched.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+A fatal error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/kstat\fR\fR
+.ad
+.RS 14n
+.rt
+kernel statistics driver
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdate\fR(1), \fBsh\fR(1), \fBtime\fR(2), \fBgmatch\fR(3GEN),
+\fBkstat\fR(3KSTAT), \fBattributes\fR(5), \fBkstat\fR(7D), \fBsd\fR(7D),
+\fBkstat\fR(9S)
+.SH NOTES
+.sp
+.LP
+If the pattern argument contains glob or Perl RE metacharacters which are also
+shell metacharacters, it will be necessary to enclose the pattern with
+appropriate shell quotes.
diff --git a/usr/src/man/man1m/ktkt_warnd.1m b/usr/src/man/man1m/ktkt_warnd.1m
new file mode 100644
index 0000000000..95febe759f
--- /dev/null
+++ b/usr/src/man/man1m/ktkt_warnd.1m
@@ -0,0 +1,81 @@
+'\" te
+.\" Copyright 1987, 1989 by the Student Information Processing Board of the Massachusetts Institute of Technology. For copying and distribution information, please see the file kerberosv5/mit-sipb-copyright.h.
+.\" Portions Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ktkt_warnd 1M "21 Mar 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ktkt_warnd \- Kerberos warning daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/krb5/ktkt_warnd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBktkt_warnd\fR is a daemon on Kerberos clients that can warn users when their
+Kerberos tickets are about to expire or renew the tickets before they expire.
+It is invoked by \fBinetd\fR when a ticket-granting ticket (TGT) is obtained
+for the first time, such as after using the \fBkinit\fR command.
+\fBktkt_warnd\fR can be configured through the \fB/etc/krb5/warn.conf\fR file
+on the client. In \fBwarn.conf\fR, you can specify that you be supplied notice,
+through \fBsyslog\fR or terminal or mail, of ticket expiration or to renew the
+TGT.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/krb5/warn.conf\fR\fR
+.ad
+.RS 23n
+.rt
+Kerberos warning configuration file
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBsvcadm\fR(1M),
+\fBwarn.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBktkt_warnd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/security/ktkt_warn:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/labelit.1m b/usr/src/man/man1m/labelit.1m
new file mode 100644
index 0000000000..e1f203ea8b
--- /dev/null
+++ b/usr/src/man/man1m/labelit.1m
@@ -0,0 +1,172 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH labelit 1M "31 Oct 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+labelit \- list or provide labels for file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBlabelit\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] [\fB-o\fR \fIFSType-specific-options\fR] \fIspecial\fR
+ [\fIoperands\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlabelit\fR utility is used to write or display labels on unmounted disk
+file systems.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.RS 13n
+.rt
+Specify the \fIFSType\fR on which to operate. The \fIFSType\fR should either be
+specified here or be determinable from \fB/etc/vfstab\fR by matching the
+\fIspecial\fR with an entry in the table. If no matching entry is found, the
+default file system type specified in \fB/etc/default/fs\fR will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 13n
+.rt
+Echo complete command line. This option may be used to verify and validate the
+command line. Additional information obtained using a \fB/etc/vfstab\fR lookup
+is included in the output. The command is not executed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 13n
+.rt
+Specify \fIFSType\fR-specific options. See the manual page for the
+\fBlabelit\fR module specific to the file system type.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported. If no operands are specified,
+\fBlabelit\fR will display the value of the labels.
+.sp
+.ne 2
+.mk
+.na
+\fB\fIspecial\fR\fR
+.ad
+.RS 12n
+.rt
+The disk partition (for example, \fB/dev/rdsk/c0t3d0s6\fR). The device may not
+be on a remote machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIoperands\fR\fR
+.ad
+.RS 12n
+.rt
+\fIFSType\fR-specific operands. Consult the manual page of the
+\fIFSType\fR-specific \fBlabelit\fR command for detailed descriptions.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBlabelit\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Write or display of labels was successful.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 19n
+.rt
+List of default parameters for each file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.RS 19n
+.rt
+Default local file system type. Default values can be set for the following
+flags in \fB/etc/default/fs\fR. For example:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOCAL=ufs\fR\fR
+.ad
+.br
+.na
+\fB\fBLOCAL\fR\fR
+.ad
+.RS 13n
+.rt
+The default partition for a command if no \fIFSType\fR is specified.
+.RE
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlabelit_hsfs\fR(1M), \fBlabelit_udfs\fR(1M), \fBlabelit_ufs\fR(1M),
+\fBvolcopy\fR(1M), \fBvfstab\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5)
+.SH NOTES
+.sp
+.LP
+This utility may not be supported for all \fIFSTypes\fR.
diff --git a/usr/src/man/man1m/labelit_hsfs.1m b/usr/src/man/man1m/labelit_hsfs.1m
new file mode 100644
index 0000000000..0d087c434b
--- /dev/null
+++ b/usr/src/man/man1m/labelit_hsfs.1m
@@ -0,0 +1,153 @@
+'\" te
+.\" Copyright (c) 1992, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH labelit_hsfs 1M "20 Mar 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+labelit_hsfs \- provide and print labels for hsfs file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/labelit\fR \fB-F\fR hsfs [\fIgeneric_options\fR]
+ [\fB-o\fR \fIspecific_options\fR] \fIspecial\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBlabelit\fR can be used to provide labels for unmounted CD-ROM images
+(CD-ROMs may not be labeled, as they are read-only media).
+.sp
+.LP
+\fIgeneric_options\fR are options supported by the generic \fBlabelit\fR
+command.
+.sp
+.LP
+If no \fIspecific_options\fR are specified, \fBlabelit\fR prints the current
+value of all label fields.
+.sp
+.LP
+The \fIspecial\fR name should be the physical disk section (for example,
+\fB/dev/dsk/c0d0s6\fR).
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Use one or more of the following \fIname\fR=\fIvalue\fR pairs separated by
+commas (with no intervening spaces) to specify values for specific label
+fields. According to the ISO 9660 specification, only certain sets of
+characters may be used to fill in these labels. Thus, ``d-characters'' below
+refers to the characters `A' through `Z', the digits `0' through `9', and the
+`_' (underscore) character. ``a-characters'' below refers to `A' through `Z',
+`0' through `9', space, and the following characters: !"%&'()*+,-./:;<=>?_.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBabsfile=\fR\fR
+.ad
+.RS 13n
+.rt
+Abstract file identifier, d-characters, 37 characters maximum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBapplid=\fR\fR
+.ad
+.RS 13n
+.rt
+Application identifier, d-characters, 128 characters maximum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbibfile=\fR\fR
+.ad
+.RS 13n
+.rt
+Bibliographic file identifier, d-characters, 37 characters maximum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcopyfile=\fR\fR
+.ad
+.RS 13n
+.rt
+Copyright file identifier, d-characters, 128 maximum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprepid=\fR\fR
+.ad
+.RS 13n
+.rt
+Data preparer identifier, d-characters, 128 maximum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpubid=\fR\fR
+.ad
+.RS 13n
+.rt
+Publisher identifier, d-characters, 128 maximum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsysid=\fR\fR
+.ad
+.RS 13n
+.rt
+System identifier, a-characters, 32 maximum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvolid=\fR\fR
+.ad
+.RS 13n
+.rt
+Volume identifier, d-characters, 32 maximum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvolsetid=\fR\fR
+.ad
+.RS 13n
+.rt
+Volume set identifier, d-characters, 128 maximum.
+.RE
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlabelit\fR(1M), \fBvolcopy\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/labelit_udfs.1m b/usr/src/man/man1m/labelit_udfs.1m
new file mode 100644
index 0000000000..32590d80e9
--- /dev/null
+++ b/usr/src/man/man1m/labelit_udfs.1m
@@ -0,0 +1,165 @@
+'\" te
+.\" Copyright (c) 2000 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH labelit_udfs 1M "31 Oct 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+labelit_udfs \- provide and print labels for udf file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBlabelit\fR \fB-F \fR udfs [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR] \fIspecial\fR
+ [\fIfsname\fR \fIvolume\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlabelit\fR command writes labels on an unmounted disk that contains a
+universal disk file (\fBudf\fR) system. These labels can be used to identify
+volumes.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify \fIgeneric_options\fR supported by the generic \fBlabelit\fR command.
+See \fBlabelit\fR(1M) for descriptions of supported options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify udfs-file-system-specific options in a comma-separated list with no
+intervening spaces. The following \fIspecific_options\fR are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlvinfo1=\fR\fIstring\fR\fR
+.ad
+.RS 18n
+.rt
+Specify information to be inserted in the \fBLVInfo1\fR field of the
+Implementation Use Volume Descriptor. Information in \fBLVInfo1\fR is generally
+used to identify the person creating the file system. The maximum length of the
+string specified is 35 bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlvinfo2=\fR\fIstring\fR\fR
+.ad
+.RS 18n
+.rt
+Specify information to be inserted into the \fBLVInfo2\fR field of the
+Implementation Use Volume Descriptor. Information in \fBLVInfo2\fR is generally
+used to identify the organization responsible for creating the file system. The
+maximum length of the string specified is 35 bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlvinfo3=\fR\fIstring\fR\fR
+.ad
+.RS 18n
+.rt
+Specify information to be inserted into the \fBLVInfo3\fR field of the
+Implementation Use Volume Descriptor. Information in \fBLVInfo3\fR is generally
+used to identify the contact information for the medium. The maximum length of
+the string specified is 35 bytes.
+.RE
+
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIspecial\fR\fR
+.ad
+.RS 11n
+.rt
+Specify \fIspecial\fR as the physical disk slice, for example,
+\fB/dev/rdsk/c0t0d0s6\fR. The device can not be on a remote machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfsname\fR\fR
+.ad
+.RS 11n
+.rt
+Specify \fIfsname\fR as the mount point, (for example, \fBroot\fR, \fBu1\fR,
+and so forth), of the file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvolume\fR\fR
+.ad
+.RS 11n
+.rt
+Specify \fIvolume\fR as the physical volume name.
+.RE
+
+.sp
+.LP
+If none of the options (\fIfsname\fR, \fIvolume\fR, \fIspecific_options\fR) is
+specified, \fBlabelit\fR prints the current values of \fIfsname\fR,
+\fIvolume\fR, \fBLVInfo1\fR, \fBLVInfo2\fR and \fBLVInfo3\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlabelit\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/labelit_ufs.1m b/usr/src/man/man1m/labelit_ufs.1m
new file mode 100644
index 0000000000..c3d6cd45e9
--- /dev/null
+++ b/usr/src/man/man1m/labelit_ufs.1m
@@ -0,0 +1,111 @@
+'\" te
+.\" Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH labelit_ufs 1M "15 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+labelit_ufs \- provide and print labels for ufs file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBlabelit\fR \fB-F\fR ufs [\fIgeneric_options\fR] \fIspecial\fR [\fIfsname\fR \fIvolume\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBlabelit\fR is used to write labels on unmounted disk file systems. Such
+labels may be used to uniquely identify volumes and are used by volume-oriented
+programs such as \fBvolcopy\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 19n
+.rt
+options supported by the generic \fBlabelit\fR command. See
+\fBlabelit\fR(1M).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIspecial\fR\fR
+.ad
+.RS 11n
+.rt
+name should be the physical disk section (for example, \fB/dev/dsk/c0d0s6\fR).
+The device may not be on a remote machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfsname\fR\fR
+.ad
+.RS 11n
+.rt
+represents the mount point (for example, \fBroot\fR, \fBu1\fR, and so on) of
+the file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvolume\fR\fR
+.ad
+.RS 11n
+.rt
+may be used to represent the physical volume name.
+.RE
+
+.sp
+.LP
+If \fIfsname\fR and \fIvolume\fR are not specified, \fBlabelit\fR prints the
+current values of these labels. Both \fIfsname\fR and \fIvolume\fR are
+limited to six or fewer characters.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Write or display of labels was successful.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlabelit\fR(1M), \fBvolcopy\fR(1M), \fBattributes\fR(5), \fBufs\fR(7FS)
diff --git a/usr/src/man/man1m/latencytop.1m b/usr/src/man/man1m/latencytop.1m
new file mode 100644
index 0000000000..37c3cf3901
--- /dev/null
+++ b/usr/src/man/man1m/latencytop.1m
@@ -0,0 +1,322 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH latencytop 1M "29 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+latencytop \- report latency-related statistics in system and in applications
+.SH SYNOPSIS
+.LP
+.nf
+\fBlatencytop\fR [\fB-t\fR \fIinterval\fR] [\fB-o\fR \fIlog_file\fR] [\fB-k\fR \fIlog_level\fR]
+ [\fB-f\fR [no]\fIfeature\fR,...] [\fB-l\fR \fIlog_interval\fR] [\fB-h\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+LatencyTOP is an observability tool that reports statistics about latencies in
+the system and in applications. The tool reports statistics about where and
+what kind of latencies are happening in the system and in the applications that
+are running on the system. The statistics then can be used to improve
+performance throughput of applications and system, as you remove the identified
+latencies.
+.sp
+.LP
+The tool analyzes system activity periodically and displays the data in the
+output window. Two types of latencies are tracked: an LWP going in and out of
+sleep and an LWP spinning order to acquire a synchronization object. The tool
+uses the Solaris DTrace framework to collect the statistics corresponding to
+these two scenarios of inactivity of the system and application LWPs.
+.sp
+.LP
+The output window is divided into two sections. An upper part displays the
+system-wide statistics, while the lower part displays statistics about
+individual processes. The user can navigate the list of processes (using the
+left- and right-arrow keys) and select the list they are interested in. The
+tool will then display statistics about that selected process in the lower part
+of the window. If the t or T key is pressed, the tool displays the LWP-specific
+view of that selected process. The t or T key can be used to toggle between the
+process-view and the thread-view.
+.sp
+.LP
+During execution, a user can force a refresh of the analysis by pressing the r
+or R key. The interval time is restored to the default or to a specified value
+(if -t was used). To quit the application, the user must press the q or Q key.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--feature\fR [no]\fIfeature1\fR,[no]\fIfeature2\fR,...\fR
+.ad
+.sp .6
+.RS 4n
+Enables/disables features in LatencyTOP. Features can be only one of the
+following:
+.sp
+.ne 2
+.mk
+.na
+\fB[\fBno\fR]\fBfilter\fR\fR
+.ad
+.sp .6
+.RS 4n
+Filter large interruptible latencies, for example, sleep. The default is
+\fBoff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fBno\fR]\fBsched\fR\fR
+.ad
+.sp .6
+.RS 4n
+Monitors \fBsched\fR (PID=0). The default is \fBoff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fBno\fR]\fBsobj\fR\fR
+.ad
+.sp .6
+.RS 4n
+Monitors synchronize objects. The default is \fBon\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fBno\fR]\fBlow\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lower overhead by sampling small latencies. Enabling this feature will lower
+CPU utilization by estimating small latencies statistically. Use it for heavy
+workloads such as a very busy web server. The default is \fBoff\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the command's usage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIlog_level\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the level of logging in the log file. Valid values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+\fBnone\fR (default)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+\fBunknown\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+\fBall\fR
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR [\fIlog_interval\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Writes data to the log file every \fIlog_interval\fR seconds;
+\fIlog_interval\fR must be greater than 60.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIlog_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the log file where output will be written. The default log file is
+\fB/var/log/latencytop.log\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the interval, in seconds, at which the tool collects statistics from
+the system. The possible values are between 1 and 60; the default is 5 seconds.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRunning the Tool
+.sp
+.LP
+The following command launches the tool with default values for options.
+
+.sp
+.in +2
+.nf
+% \fBlatencytop\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSetting the Interval
+.sp
+.LP
+The following command sets the sampling interval to two seconds.
+
+.sp
+.in +2
+.nf
+% \fBlatencytop -t 2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSpecifying the Log File
+.sp
+.LP
+The following command sets the log file to \fB/tmp/latencytop.log\fR.
+
+.sp
+.in +2
+.nf
+% \fBlatencytop -o /tmp/latencytop.log\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSpecifying the Log Level
+.sp
+.LP
+The following command sets the log level to \fBall\fR.
+
+.sp
+.in +2
+.nf
+% \fBlatencytop -l 2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fREnabling Tracing of Latencies
+.sp
+.LP
+The following command enables the tracing of latencies caused by
+synchronization objects.
+
+.sp
+.in +2
+.nf
+% \fBlatencytop -f sobj\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Architecturex86, SPARC
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdtrace\fR(1M), \fBkstat\fR(1M), \fBattributes\fR(5)
+.SH USAGE
+.sp
+.LP
+You must have DTrace privileges to run LatencyTOP.
diff --git a/usr/src/man/man1m/ldap_cachemgr.1m b/usr/src/man/man1m/ldap_cachemgr.1m
new file mode 100644
index 0000000000..10cc607d29
--- /dev/null
+++ b/usr/src/man/man1m/ldap_cachemgr.1m
@@ -0,0 +1,168 @@
+'\" te
+.\" Copyright (C) 2005, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ldap_cachemgr 1M "7 Oct 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ldap_cachemgr \- LDAP daemon to manage client configuration for LDAP based
+Network Information Service lookups
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/ldap/ldap_cachemgr\fR [\fB-l\fR \fIlog-file\fR] [\fB-g\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBldap_cachemgr\fR daemon is a process that provides an up-to-date
+configuration cache for LDAP naming services. It is started during multi-user
+boot.
+.sp
+.LP
+The \fBldap_cachemgr\fR utility provides caching for all parameters as
+specified and used by the LDAP naming service clients. The \fBldap_cachemgr\fR
+utility uses the cache files which are originally created by executing the
+\fBldapclient\fR(1M) utility, as cold start files. Updates to the cache files
+take place dynamically if profiles are used to configure the client. See the
+\fBinit\fR option to \fBldapclient\fR(1M).
+.sp
+.LP
+The \fBldap_cachemgr\fR utility helps improve the performance of the clients
+that are using LDAP as the Naming service repository. In order for the LDAP
+naming services to function properly, the \fBldap_cachemgr\fR daemon must be
+running. \fBldap_cachemgr\fR also improves system security by making the
+configuration files readable by superuser only.
+.sp
+.LP
+The cache maintained by this daemon is shared by all the processes that access
+LDAP Naming information. All processes access this cache through a door call.
+On startup, \fBldap_cachemgr\fR initializes the cache from the cache files. See
+\fBldapclient\fR(1M). Thus, the cache survives machine reboots.
+.sp
+.LP
+The \fBldap_cachemgr\fR daemon also acts as its own administration tool. If an
+instance of \fBldap_cachemgr\fR is already running, commands are passed
+transparently to the running version.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print current configuration and statistics to standard output. This is the only
+option executable without superuser privileges.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlog-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cause \fBldap_cachemgr\fR to use a log file other than the default
+\fB/var/ldap/cachemgr.log\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRStopping and Restarting the \fBldap_cachemgr\fR Daemon
+.sp
+.LP
+The following example shows how to stop and to restart the \fBldap_cachemgr\fR
+daemon.
+
+.sp
+.in +2
+.nf
+example# svcadm disable network/ldap/client
+example# svcadm enable network/ldap/client
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRForcing \fBldap_cachemgr\fR to Reread Configuration Files
+.sp
+.LP
+The following example shows how to force \fBldap_cachemgr\fR to reread the
+\fB/var/ldap/ldap_client_file\fR and \fB/var/ldap/ldap_client_cred\fR files
+
+.sp
+.in +2
+.nf
+example# pkill -HUP ldap_cachemgr
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/ldap/cachemgr.log\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default log file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/ldap/ldap_client_file\fR\fR
+.ad
+.br
+.na
+\fB\fB/var/ldap/ldap_client_cred\fR\fR
+.ad
+.sp .6
+.RS 4n
+Files containing the LDAP configuration of the client. These files are not to
+be modified manually. Their content is not guaranteed to be human readable. Use
+\fBldapclient\fR(1M) to update these files.
+.RE
+
+.SH WARNINGS
+.sp
+.LP
+The \fBldap_cachemgr\fR utility is included in the current Solaris release on
+an uncommitted basis only. It is subject to change or removal in a future minor
+release.
+.SH SEE ALSO
+.sp
+.LP
+\fBldap\fR(1), \fBldapadd\fR(1), \fBldapdelete\fR(1), \fBldaplist\fR(1),
+\fBldapmodify\fR(1), \fBldapmodrdn\fR(1), \fBldapsearch\fR(1), \fBpkill\fR(1),
+\fBsvcs\fR(1), \fBidsconfig\fR(1M), \fBldapaddent\fR(1M), \fBldapclient\fR(1M),
+\fBsuninstall\fR(1M), \fBsvcadm\fR(1M), \fBsignal.h\fR(3HEAD),
+\fBresolv.conf\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBldap_cachemgr\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/ldap/client
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/ldapaddent.1m b/usr/src/man/man1m/ldapaddent.1m
new file mode 100644
index 0000000000..6268d2b179
--- /dev/null
+++ b/usr/src/man/man1m/ldapaddent.1m
@@ -0,0 +1,603 @@
+'\" te
+.\" Copyright (C) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ldapaddent 1M "4 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ldapaddent \- create LDAP entries from corresponding /etc files
+.SH SYNOPSIS
+.LP
+.nf
+\fBldapaddent\fR [\fB-cpv\fR] [\fB-a\fR \fIauthenticationMethod\fR] [\fB-b\fR \fIbaseDN\fR]
+ \fB-D\fR \fIbindDN\fR [\fB-w\fR \fIbind_password\fR] [\fB-j\fR \fIpasswdFile\fR] [\fB-f\fR \fIfilename\fR]
+ \fIdatabase\fR
+.fi
+
+.LP
+.nf
+\fBldapaddent\fR [\fB-cpv\fR] \fB-a\fR sasl/GSSAPI [\fB-b\fR \fIbaseDN\fR] [\fB-f\fR \fIfilename\fR]
+ \fIdatabase\fR
+.fi
+
+.LP
+.nf
+\fBldapaddent\fR \fB-d\fR [\fB-v\fR] [\fB-a\fR \fIauthenticationMethod\fR] [\fB-D\fR \fIbindDN\fR]
+ [\fB-w\fR \fIbind_password\fR] [\fB-j\fR \fIpasswdFile\fR] \fIdatabase\fR
+.fi
+
+.LP
+.nf
+\fBldapaddent\fR [\fB-cpv\fR] \fB-h\fR \fILDAP_server\fR[:\fIserverPort\fR] [\fB-M\fR \fIdomainName\fR]
+ [\fB-N\fR \fIprofileName\fR] [\fB-P\fR \fIcertifPath\fR] [\fB-a\fR \fIauthenticationMethod\fR]
+ [\fB-b\fR \fIbaseDN\fR] \fB-D\fR \fIbindDN\fR [\fB-w\fR \fIbind_password\fR] [\fB-f\fR \fIfilename\fR]
+ [\fB-j\fR \fIpasswdFile\fR] \fIdatabase\fR
+.fi
+
+.LP
+.nf
+\fBldapaddent\fR [\fB-cpv\fR] \fB-h\fR \fILDAP_server\fR[:\fIserverPort\fR] [\fB-M\fR \fIdomainName\fR]
+ [\fB-N\fR \fIprofileName\fR] [\fB-P\fR \fIcertifPath\fR] [\fB-a\fR \fIauthenticationMethod\fR]
+ [\fB-b\fR \fIbaseDN\fR] [\fB-f\fR \fIfilename\fR] \fIdatabase\fR
+.fi
+
+.LP
+.nf
+\fBldapaddent\fR \fB-d\fR [\fB-v\fR] \fB-h\fR \fILDAP_server\fR[:\fIserverPort\fR] [\fB-M\fR \fIdomainName\fR]
+ [\fB-N\fR \fIprofileName\fR] [\fB-P\fR \fIcertifPath\fR] [\fB-a\fR \fIauthenticationMethod\fR]
+ [\fB-b\fR \fIbaseDN\fR] \fB-D\fR \fIbindDN\fR [\fB-w\fR \fIbind_password\fR] [\fB-j\fR \fIpasswdFile\fR]
+ \fIdatabase\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBldapaddent\fR creates entries in LDAP containers from their corresponding
+\fB/etc\fR files. This operation is customized for each of the standard
+containers that are used in the administration of Solaris systems. The
+\fIdatabase\fR argument specifies the type of the data being processed. Legal
+values for this type are one of \fBaliases\fR, \fBauto_*\fR, \fBbootparams\fR,
+\fBethers\fR, \fBgroup\fR, \fBhosts\fR (including both IPv4 and IPv6
+addresses), \fBipnodes\fR (alias for \fBhosts\fR), \fBnetgroup\fR,
+\fBnetmasks\fR, \fBnetworks\fR, \fBpasswd\fR, \fBshadow\fR, \fBprotocols\fR,
+\fBpublickey\fR, \fBrpc\fR, and \fBservices\fR. In addition to the preceding,
+the \fIdatabase\fR argument can be one of the RBAC-related files (see
+\fBrbac\fR(5)):
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/user_attr\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/security/auth_attr\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/security/prof_attr\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/security/exec_attr\fR
+.RE
+.sp
+.LP
+By default, \fBldapaddent\fR reads from the standard input and adds this data
+to the LDAP container associated with the database specified on the command
+line. An input file from which data can be read is specified using the \fB-f\fR
+option.
+.sp
+.LP
+If you specify the \fB-h\fR option, \fBldapaddent\fR establishes a connection
+to the server indicated by the option in order to obtain a \fBDUAProfile\fR
+specified by the \fB-N\fR option. The entries will be stored in the directory
+described by the configuration obtained.
+.sp
+.LP
+By default (if the \fB-h\fR option is not specified), entries will be stored in
+the directory based on the client's configuration. To use the utility in the
+default mode, the Solaris LDAP client must be set up in advance.
+.sp
+.LP
+The location where entries are to be written can be overridden by using the
+\fB-b\fR option.
+.sp
+.LP
+If the entry to be added exists in the directory, the command displays an error
+and exits, unless the \fB-c\fR option is used.
+.sp
+.LP
+Although, there is a \fBshadow\fR database type, there is no corresponding
+\fBshadow\fR container. Both the \fBshadow\fR and the \fBpasswd\fR data is
+stored in the \fBpeople\fR container itself. Similarly, data from
+\fBnetworks\fR and \fBnetmasks\fR databases are stored in the \fBnetworks\fR
+container.
+.sp
+.LP
+The \fBuser_attr\fR and \fBaudit_user\fR data is stored by default in the
+\fBpeople\fR container. The \fBprof_attr\fR and \fBexec_attr\fR data is stored
+by default in the \fBSolarisProfAttr\fR container.
+.sp
+.LP
+You must add entries from the \fBpasswd\fR database before you attempt to add
+entries from the \fBshadow\fR database. The addition of a \fBshadow\fR entry
+that does not have a corresponding \fBpasswd\fR entry will fail.
+.sp
+.LP
+The \fBpasswd\fR database must precede both the \fBuser_attr\fR and
+\fBaudit_user\fR databases.
+.sp
+.LP
+For better performance, the recommended order in which the databases should be
+loaded is as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBpasswd\fR database followed by \fBshadow\fR database
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBnetworks\fR database followed by \fBnetmasks\fR database
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBbootparams\fR database followed by \fBethers\fR database
+.RE
+.sp
+.LP
+Only the first entry of a given type that is encountered will be added to the
+LDAP server. The \fBldapaddent\fR command skips any duplicate entries.
+.SH OPTIONS
+.sp
+.LP
+The \fBldapaddent\fR command supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIauthenticationMethod\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify authentication method. The default value is what has been configured in
+the profile. The supported authentication methods are:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBsimple\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBsasl/CRAM-MD5\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBsasl/DIGEST-MD5\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBsasl/GSSAPI\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBtls:simple\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBtls:sasl/CRAM-MD5\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBtls:sasl/DIGEST-MD5\fR
+.RE
+Selecting \fBsimple\fR causes passwords to be sent over the network in clear
+text. Its use is strongly discouraged. Additionally, if the client is
+configured with a profile which uses no authentication, that is, either the
+\fBcredentialLevel\fR attribute is set to \fBanonymous\fR or
+\fBauthenticationMethod\fR is set to \fBnone\fR, the user must use this option
+to provide an authentication method. If the authentication method is
+\fBsasl/GSSAPI\fR, \fIbindDN\fR and \fIbindPassword\fR is not required and the
+\fBhosts\fR and \fBipnodes\fR fields of \fB/etc/nsswitch.conf\fR must be
+configured as:
+.sp
+.in +2
+.nf
+hosts: dns files
+ipnodes: dns files
+.fi
+.in -2
+
+See \fBnsswitch.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\ \fIbaseDN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create entries in the \fIbaseDN\fR directory. \fIbaseDN\fR is not relative to
+the client's default search base, but rather. it is the actual location where
+the entries will be created. If this parameter is not specified, the first
+search descriptor defined for the service or the default container will be
+used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Continue adding entries to the directory even after an error. Entries will not
+be added if the directory server is not responding or if there is an
+authentication problem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\ \fIbindDN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an entry which has write permission to the \fIbaseDN\fR. When used with
+\fB-d\fR option, this entry only needs read permission.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Dump the LDAP container to the standard output in the appropriate format for
+the given database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates input file to read in an \fB/etc/\fR file format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fILDAP_server\fR[:\fIserverPort\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Specify an address (or a name) and an optional port of the LDAP server in which
+the entries will be stored. The current naming service specified in the
+\fBnsswitch.conf\fR file is used. The default value for the port is \fB389\fR,
+except when TLS is specified as the authentication method. In this case, the
+default LDAP server port number is \fB636\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-j\fR\ \fIpasswdFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a file containing the password for the bind DN or the password for the
+SSL client's key database. To protect the password, use this option in scripts
+and place the password in a secure file. This option is mutually exclusive of
+the \fB-w\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\ \fIdomainName\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of a domain served by the specified server. If not specified, the
+default domain name will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\ \fIprofileName\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the \fBDUAProfile\fR name. A profile with such a name is supposed to
+exist on the server specified by \fB-h\fR option. Otherwise, a default
+\fBDUAProfile\fR will be used. The default value is \fBdefault\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\ \fIcertifPath\fR\fR
+.ad
+.sp .6
+.RS 4n
+The certificate path for the location of the certificate database. The value is
+the path where security database files reside. This is used for TLS support,
+which is specified in the \fBauthenticationMethod\fR and
+\fBserviceAuthenticationMethod\fR attributes. The default is \fB/var/ldap\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Process the \fBpassword\fR field when loading password information from a file.
+By default, the \fBpassword\fR field is ignored because it is usually not
+valid, as the actual password appears in a \fBshadow\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\ \fIbindPassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Password to be used for authenticating the \fIbindDN\fR. If this parameter is
+missing, the command will prompt for a password. \fBNULL\fR passwords are not
+supported in LDAP.
+.sp
+When you use \fB-w\fR\ \fIbindPassword\fR to specify the password to be used
+for authentication, the password is visible to other users of the system by
+means of the \fBps\fR command, in script files or in shell history.
+.sp
+If you supply "\fB-\fR" (hyphen) as a password, you will be prompted to enter a
+password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdatabase\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the database or service name. Supported values are: \fBaliases\fR,
+\fBauto_*\fR, \fBbootparams\fR, \fBethers\fR, \fBgroup\fR, \fBhosts\fR
+(including IPv6 addresses), \fBnetgroup\fR, \fBnetmasks\fR, \fBnetworks\fR,
+\fBpasswd\fR, \fBshadow\fR, \fBprotocols\fR, \fBpublickey\fR, \fBrpc\fR, and
+\fBservices\fR. Also supported are \fBauth_attr\fR, \fBprof_attr\fR,
+\fBexec_attr\fR, \fBuser_attr\fR, and \fBprojects\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding Password Entries to the Directory Server
+.sp
+.LP
+The following example shows how to add password entries to the directory
+server:
+
+.sp
+.in +2
+.nf
+example# \fBldapaddent -D "cn=directory manager" -w secret \e
+ -f /etc/passwd passwd\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding Group Entries
+.sp
+.LP
+The following example shows how to add \fBgroup\fR entries to the directory
+server using \fBsasl/CRAM-MD5\fR as the authentication method:
+
+.sp
+.in +2
+.nf
+example# \fBldapaddent -D "cn=directory manager" -w secret \e
+ -a "sasl/CRAM-MD5" -f /etc/group group\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRAdding \fBauto_master\fR Entries
+.sp
+.LP
+The following example shows how to add \fBauto_master\fR entries to the
+directory server:
+
+.sp
+.in +2
+.nf
+example# \fBldapaddent -D "cn=directory manager" -w secret \e
+ -f /etc/auto_master auto_master\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDumping \fBpasswd\fR Entries from the Directory to File
+.sp
+.LP
+The following example shows how to dump \fBpassword\fR entries from the
+directory to a file \fBfoo\fR:
+
+.sp
+.in +2
+.nf
+example# \fBldapaddent -d passwd > foo\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRAdding Password Entries to a Specific Directory Server
+.sp
+.LP
+The following example shows how to add password entries to a directory server
+that you specify:
+
+.sp
+.in +2
+.nf
+example# \fBldapaddent -h 10.10.10.10:3890 \e
+-M another.domain.name -N special_duaprofile \e
+-D "cn=directory manager" -w secret \e
+-f /etc/passwd passwd\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/ldap/ldap_client_file\fR\fR
+.ad
+.br
+.na
+\fB\fB/var/ldap/ldap_client_cred\fR\fR
+.ad
+.sp .6
+.RS 4n
+Files containing the LDAP configuration of the client. These files are not to
+be modified manually. Their content is not guaranteed to be human readable. Use
+\fBldapclient\fR(1M) to update these files.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBldap\fR(1), \fBldaplist\fR(1), \fBldapmodify\fR(1), \fBldapmodrdn\fR(1),
+\fBldapsearch\fR(1), \fBidsconfig\fR(1M), \fBldapclient\fR(1M),
+\fBsuninstall\fR(1M), \fBnsswitch.conf\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH CAUTION
+.sp
+.LP
+Currently StartTLS is not supported by \fBlibldap.so.5\fR, therefore the port
+number provided refers to the port used during a TLS open, rather than the port
+used as part of a StartTLS sequence. For example:
+.sp
+.in +2
+.nf
+-h foo:1000 -a tls:simple
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The preceding refers to a raw TLS open on host \fBfoo\fR port 1000, not an
+open, StartTLS sequence on an unsecured port 1000. If port 1000 is unsecured
+the connection will not be made.
diff --git a/usr/src/man/man1m/ldapclient.1m b/usr/src/man/man1m/ldapclient.1m
new file mode 100644
index 0000000000..b73a9340cc
--- /dev/null
+++ b/usr/src/man/man1m/ldapclient.1m
@@ -0,0 +1,1230 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ldapclient 1M "14 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ldapclient \- initialize LDAP client machine or output an LDAP client profile
+in LDIF format
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ldapclient\fR [\fB-v\fR | \fB-q\fR] init [\fB-a\fR profileName=\fIprofileName\fR]
+ [\fB-a\fR domainName=\fIdomain\fR] [\fB-a\fR proxyDN=\fIproxyDN\fR]
+ [\fB-a\fR proxyPassword=\fIpassword\fR]
+ [\fB-a\fR authenticationMethod=\fIauthenticationMethod\fR]
+ [\fB-a\fR enableShadowUpdate=true | false]
+ [\fB-a\fR adminDN=\fIadminDN\fR]
+ [\fB-a\fR adminPassword=\fIadminPassword\fR]
+ [\fB-a\fR certificatePath=\fIpath\fR] [\fB-d\fR \fIbindDN\fR] [\fB-w\fR \fIbindPassword\fR]
+ [\fB-j\fR \fIpasswdFile\fR] [\fB-y\fR \fIpasswdFile\fR]
+ [\fB-z\fR \fIadminrPasswdFile\fR] \fILDAP_server\fR[:\fIport_number\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ldapclient\fR [\fB-v\fR | \fB-q\fR] manual [\fB-a\fR attrName=\fIattrVal\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ldapclient\fR [\fB-v\fR | \fB-q\fR] mod [\fB-a\fR attrName=\fIattrVal\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ldapclient\fR [\fB-v\fR | \fB-q\fR] list
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ldapclient\fR [\fB-v\fR | \fB-q\fR] uninit
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ldapclient\fR [\fB-v\fR | \fB-q\fR] genprofile \fB-a\fR profileName=\fIprofileName\fR
+ [\fB-a\fR attrName=\fIattrVal\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBldapclient\fR utility can be used to:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+initialize LDAP client machines
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+restore the network service environment on LDAP clients
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+list the contents of the LDAP client cache in human readable format.
+.RE
+.sp
+.LP
+The \fBinit\fR form of the \fBldapclient\fR utility is used to initialize an
+LDAP client machine, using a profile stored on an LDAP server specified by
+\fBLDAP_server\fR. The LDAP client will use the attributes in the specified
+profile to determine the configuration of the LDAP client. Using a
+configuration profile allows for easy installation of LDAP client and
+propagation of configuration changes to LDAP clients. The
+\fBldap_cachemgr\fR(1M) utility will update the LDAP client configuration when
+its cache expires by reading the profile. For more information on the
+configuration profile refer to IETF document \fIA Configuration Schema for LDAP
+Based Directory User Agents\fR.
+.sp
+.LP
+The \fBmanual\fR form of the \fBldapclient\fR utility is used to initialize an
+LDAP client machine manually. The LDAP client will use the attributes specified
+on the command line. Any unspecified attributes will be assigned their default
+values. At least one server must be specified in the \fBdefaultServerList\fR or
+the \fBpreferredServerList\fR attributes.The \fBdomainName\fR attribute must be
+specified if the client's \fBdomainName\fR is not set.
+.sp
+.LP
+The \fBmod\fR form of the \fBldapclient\fR utility is used to modify the
+configuration of an LDAP client machine that was setup manually. This option
+modifies only those LDAP client configuration attributes specified on the
+command line. The \fBmod\fR option should only be used on LDAP clients that
+were initialized using the \fBmanual\fR option.
+.sp
+.LP
+Regardless of which method is used for initialization, if a client is to be
+configured to use a proxy \fBcredentialLevel\fR, proxy credentials must be
+provided using \fB-a\fR \fBproxyDN=\fIproxyDN\fR\fR and \fB-a\fR
+\fBproxyPassword=\fIproxyPassword\fR\fR options. However, if \fB-a\fR
+\fBproxyPassword=\fIproxyPassword\fR\fR is not specified, \fBldapclient\fR will
+prompt for it. Note that \fINULL\fR passwords are not allowed in LDAP. If a
+self \fBcredentialLevel\fR is configured, \fBauthenticationMethod\fR must be
+\fBsasl/GSSAPI\fR.
+.sp
+.LP
+Similarily, if a client is to be configured to enable shadow information update
+and use a proxy credentialLevel, administrator credentials must be provided
+using \fB-a\fR \fBadminDN=\fR\fIadminDN\fR and \fB-a\fR
+\fBadminPassword=\fR\fIadminPassword\fR. However, the shadow information update
+does not need the administrator credentials if a self \fBcredentialLevel\fR is
+configured.
+.sp
+.LP
+If any file is modified during installation, it will be backed up to
+\fB/var/ldap/restore\fR. The files that are typically modified during
+initialization are:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/nsswitch.conf\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/defaultdomain\fR (if it exists)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/yp/binding/`domainname`\fR (for a NIS(YP) client)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/nis/NIS_COLD_START\fR (for a NIS+ client)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/ldap/ldap_client_file\fR (for an existing LDAP client)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/ldap/ldap_client_cred\fR (for an existing LDAP client)
+.RE
+.sp
+.LP
+\fBldapclient\fR does not set up a client to resolve hostnames using DNS. It
+simply copies \fB/etc/nsswitch.ldap\fR to \fB/etc/nsswitch.conf\fR. If you
+prefer to use DNS for host resolution, please refer to the DNS documentation
+for information on setting up DNS. See \fBresolv.conf\fR(4). If you want to use
+\fBsasl/GSSAPI\fR as the authentication method, you have to use DNS for
+\fBhosts\fR and \fBipnodes\fR resolution.
+.sp
+.LP
+The \fBlist\fR form of the \fBldapclient\fR utility is used to list the LDAP
+client configuration. The output will be human readable. LDAP configuration
+files are not guaranteed to be human readable. Note that for security reason,
+the values for adminDN and adminPassword will not be displayed.
+.sp
+.LP
+The \fBuninit\fR form of the \fBldapclient\fR utility is used to uninitialize
+the network service environment, restoring it to the state it was in prior to
+the last execution of \fBldapclient\fR using \fBinit\fR or \fBmanual\fR. The
+restoration will succeed only if the machine was initialized with the
+\fBinit\fR or \fBmanual\fR form of \fBldapclient\fR, as it uses the backup
+files created by these options.
+.sp
+.LP
+The \fBgenprofile\fR option is used to write an LDIF formatted configuration
+profile based on the attributes specified on the command line to standard
+output. This profile can then be loaded into an LDAP server to be used as the
+client profile, which can be downloaded by means of the \fBldapclient init\fR
+command. Loading the LDIF formatted profile to the directory server can be done
+through \fBldapadd\fR(1), or through any server specific import tool. Note that
+the attributes \fBproxyDN\fR, \fBproxyPassword\fR, \fBcertificatePath\fR,
+\fBdomainName\fR, \fBenableShadowUpdate\fR, \fBadminDN\fR, and
+\fBadminPassword\fR are not part of the configuration profile and thus are not
+permitted.
+.sp
+.LP
+You must have superuser privileges to run the \fBldapclient\fR command, except
+with the \fBgenprofile\fR option.
+.sp
+.LP
+To access the information stored in the directory, clients can either
+authenticate to the directory, or use an unauthenticated connection. The LDAP
+client is configured to have a credential level of either \fBanonymous\fR or
+\fBproxy\fR. In the first case, the client does not authenticate to the
+directory. In the second case, client authenticates to the directory using a
+proxy identity for read access, and using a administrator identity for write
+access if \fBenableShadowUpdate\fR is configured. In the third case, client
+authenticates to the directory using a Kerberos principal that is mapped to an
+LDAP identity by the LDAP server. Refer to the chapter on implementing security
+in the \fISystem Administration Guide: Naming and Directory Services (DNS, NIS,
+and LDAP)\fR or your appropriate directory server documentation for identity
+mapping details.
+.sp
+.LP
+If a client is configured to use an identity, you can configure which
+authentication method the client will use. The LDAP client supports the
+following authentication methods:
+.br
+.in +2
+\fBnone\fR
+.in -2
+.br
+.in +2
+\fBsimple\fR
+.in -2
+.br
+.in +2
+\fBsasl/CRAM-MD5\fR
+.in -2
+.br
+.in +2
+\fBsasl/DIGEST-MD5\fR
+.in -2
+.br
+.in +2
+\fBsasl/GSSAPI\fR
+.in -2
+.br
+.in +2
+\fBtls:simple\fR
+.in -2
+.br
+.in +2
+\fBtls:sasl/CRAM-MD5\fR
+.in -2
+.br
+.in +2
+\fBtls:sasl/DIGEST-MD5\fR
+.in -2
+.sp
+.LP
+Note that some directory servers may not support all of these authentication
+methods. For \fBsimple\fR, be aware that the bind password will be sent in the
+clear to the LDAP server. For those authentication methods using TLS (transport
+layer security), the entire session is encrypted. You will need to install the
+appropriate certificate databases to use TLS.
+.SS "Commands"
+.sp
+.LP
+The following commands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Initialize client from a profile on a server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmanual\fR\fR
+.ad
+.sp .6
+.RS 4n
+Manually initialize client with the specified attribute values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmod\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify attribute values in the configuration file after a manual initialization
+of the client.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write the contents of the LDAP client cache to standard output in human
+readable form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuninit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uninitialize an LDAP client, assuming that \fBldapclient\fR was used to
+initialize the client.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgenprofile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate a configuration profile in LDIF format that can then be stored in the
+directory for clients to use, with the \fBinit\fR form of this command.
+.RE
+
+.SS "Attributes"
+.sp
+.LP
+The following attributes are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadminDN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the Bind Distinguished Name for the administrator identity that is used
+for shadow information update. This option is required if the credential level
+is \fBproxy\fR, and \fBenableShadowUpdate\fR is set to \fBtrue\fR. There is no
+default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadminPassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the administrator password. This option is required if the credential
+level is \fBproxy\fR, and \fBenableShadowUpdate\fR is set to \fBtrue\fR. There
+is no default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBattributeMap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a mapping from an attribute defined by a service to an attribute in an
+alternative schema. This can be used to change the default schema used for a
+given service. The syntax of \fBattributeMap\fR is defined in the profile IETF
+draft. This option can be specified multiple times. The default value for all
+services is \fINULL\fR. In the example,
+.sp
+.in +2
+.nf
+attributeMap: passwd:uid=employeeNumber
+.fi
+.in -2
+.sp
+
+the LDAP client would use the LDAP attribute \fBemployeeNumber\fR rather than
+\fBuid\fR for the \fBpasswd\fR service. This is a multivalued attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauthenticationMethod\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the default authentication method used by all services unless
+overridden by the \fBserviceAuthenticationMethod\fR attribute. Multiple values
+can be specified by using a semicolon-separated list. The default value is
+\fBnone\fR. For those services that use \fBcredentialLevel\fR and
+\fBcredentialLevel\fR is \fBanonymous\fR, this attribute is ignored. Services
+such as \fBpam_ldap\fR will use this attribute, even if \fBcredentialLevel\fR
+is anonymous. The supported authentication methods are described above. If the
+authenticationMethod is \fBsasl/GSSAPI\fR, the \fBhosts\fR and \fBipnodes\fR of
+\fB/etc/nsswitch.conf\fR must be configured with DNS support, for example:
+.sp
+.in +2
+.nf
+hosts: dns files
+ipnodes: dns files
+.fi
+.in -2
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbindTimeLimit\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum time in seconds that a client should spend performing a bind
+operation. Set this to a positive integer. The default value is 30.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcertificatePath\fR\fR
+.ad
+.sp .6
+.RS 4n
+The certificate path for the location of the certificate database. The value is
+the path where security database files reside. This is used for TLS support,
+which is specified in the \fBauthenticationMethod\fR and
+\fBserviceAuthenticationMethod\fR attributes. The default is \fB/var/ldap\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcredentialLevel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the credential level the client should use to contact the directory.
+The credential levels supported are either \fBanonymous\fR or \fBproxy\fR. If a
+\fBproxy\fR credential level is specified, then the \fBauthenticationMethod\fR
+attribute must be specified to determine the authentication mechanism. Also, if
+the credential level is \fBproxy\fR and at least one of the authentication
+methods require a bind DN, the \fBproxyDN\fR and \fBproxyPassword\fR attribute
+values must be set. In addition, if \fBenableShadowUpdate\fR is set to
+\fBtrue\fR, the \fBadminDN\fR and \fBadminPassword\fR values must be set. If a
+self credential level is specified, the \fBauthenticationMethod\fR must be
+\fBsasl/GSSAPI\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefaultSearchBase\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the default search base DN. There is no default. The
+\fBserviceSearchDescriptor\fR attribute can be used to override the
+\fBdefaultSearchBase\fR for given services.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefaultSearchScope=one | sub\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the default search scope for the client's search operations. This
+default can be overridden for a given service by specifying a
+\fBserviceSearchDescriptor\fR. The default is one level search.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefaultServerList\fR\fR
+.ad
+.sp .6
+.RS 4n
+A space separated list of server names or server addresses, either IPv4 or
+IPv6. If you specify server names, be sure that the LDAP client can resolve the
+name without the LDAP name service. You must resolve the LDAP servers' names by
+using either \fBfiles\fR or \fBdns\fR. If the LDAP server name cannot be
+resolved, your naming service will fail.
+.sp
+The port number is optional. If not specified, the default LDAP server port
+number 389 is used, except when TLS is specified in the authentication method.
+In this case, the default LDAP server port number is 636.
+.sp
+The format to specify the port number for an IPv6 address is:
+.sp
+.in +2
+.nf
+[ipv6_addr]:port
+.fi
+.in -2
+
+To specify the port number for an IPv4 address, use the following format:
+.sp
+.in +2
+.nf
+ipv4_addr:port
+.fi
+.in -2
+
+If the host name is specified, use the format:
+.sp
+.in +2
+.nf
+host_name:port
+.fi
+.in -2
+
+If you use TLS, the LDAP server's hostname must match the hostname in the TLS
+certificate. Typically, the hostname in the TLS certificate is a fully
+qualified domain name. With TLS, the LDAP server host addresses must resolve to
+the hostnames in the TLS certificate. You must use \fBfiles\fR or \fBdns\fR to
+resolve the host address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdomainName\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the DNS domain name. This becomes the default domain for the machine.
+The default is the current domain name. This attribute is only used in client
+initialization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenableShadowUpdate=true | false\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify whether the client is allowed to update shadow information. If set to
+\fBtrue\fR and the credential level is \fBproxy\fR, \fBadminDN\fR and
+\fBadminPassword\fR must be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfollowReferrals=true | false\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the referral setting. A setting of true implies that referrals will be
+automatically followed and false would result in referrals not being followed.
+The default is true.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBobjectclassMap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a mapping from an \fBobjectclass\fR defined by a service to an
+\fBobjectclass\fR in an alternative schema. This can be used to change the
+default schema used for a given service. The syntax of \fBobjectclassMap\fR is
+defined in the profile IETF draft. This option can be specified multiple times.
+The default value for all services is \fINULL\fR. In the example,
+.sp
+.in +2
+.nf
+objectclassMap=passwd:posixAccount=unixAccount
+.fi
+.in -2
+.sp
+
+the LDAP client would use the LDAP \fBobjectclass\fR of \fBunixAccount\fR
+rather than the \fBposixAccount\fR for the \fBpasswd\fR service. This is a
+multivalued attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpreferredServerList\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the space separated list of server names or server addresses, either
+IPv4 or IPv6, to be contacted before servers specified by the
+\fBdefaultServerList\fR attribute. If you specify server names, be sure that
+the LDAP client can resolve the name without the LDAP name service. You must
+resolve the LDAP servers' names by using either \fBfiles\fR or \fBdns\fR. If
+the LDAP server name cannot be resolved, your naming service will fail.
+.sp
+The port number is optional. If not specified, the default LDAP server port
+number 389 is used, except when TLS is specified in the authentication method.
+In this case, the default LDAP server port number is 636.
+.sp
+The format to specify the port number for an IPv6 address is:
+.sp
+.in +2
+.nf
+[ipv6_addr]:port
+.fi
+.in -2
+
+To specify the port number for an IPv4 address, use the following format:
+.sp
+.in +2
+.nf
+ipv4_addr:port
+.fi
+.in -2
+
+If the host name is specified, use the format:
+.sp
+.in +2
+.nf
+host_name:port
+.fi
+.in -2
+
+If you use TLS, the LDAP server's hostname must match the hostname in the TLS
+certificate. Typically, the hostname in the TLS certificate is a fully
+qualified domain name. With TLS, the LDAP server host addresses must resolve to
+the hostnames in the TLS certificate. You must use \fBfiles\fR or \fBdns\fR to
+resolve the host address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprofileName\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the profile name. For \fBldapclient init\fR, this attribute is the name
+of an existing profile which may be downloaded periodically depending on the
+value of the \fBprofileTTL\fR attribute. For \fBldapclient genprofile\fR, this
+is the name of the profile to be generated. The default value is \fBdefault\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprofileTTL\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the TTL value in seconds for the client information. This is only
+relevant if the machine was initialized with a client profile. If you do not
+want \fBldap_cachemgr\fR(1M) to attempt to refresh the LDAP client
+configuration from the LDAP server, set \fBprofileTTL\fR to 0 (zero). Valid
+values are either zero 0 (for no expiration) or a positive integer in seconds.
+The default value is 12 hours.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproxyDN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the Bind Distinguished Name for the proxy identity. This option is
+required if the credential level is \fBproxy\fR, and at least one of the
+authentication methods requires a bind DN. There is no default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproxyPassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify client proxy password. This option is required if the credential level
+is \fBproxy\fR, and at least one of the authentication methods requires a bind
+DN. There is no default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsearchTimeLimit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify maximum number of seconds allowed for an LDAP search operation. The
+default is 30 seconds. The server may have its own search time limit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBserviceAuthenticationMethod\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify authentication methods to be used by a service in the form
+\fIservicename\fR:\fBauthenticationmethod\fR, for example:
+.sp
+.in +2
+.nf
+pam_ldap:tls:simple
+.fi
+.in -2
+
+For multiple authentication methods, use a semicolon-separated list. The
+default value is no service authentication methods, in which case, each service
+would default to the \fBauthenticationMethod\fR value. The supported
+authentications are described above.
+.sp
+Three services support this feature: \fBpasswd-cmd\fR, \fBkeyserv\fR, and
+\fBpam_ldap\fR. The \fBpasswd-cmd\fR service is used to define the
+authentication method to be used by \fBpasswd\fR(1) to change the user's
+password and other attributes. The \fBkeyserv\fR service is used to identify
+the authentication method to be used by the \fBchkey\fR(1) and \fBnewkey\fR(1M)
+utilities. The \fBpam_ldap\fR service defines the authentication method to be
+used for authenticating users when \fBpam_ldap\fR(5) is configured. If this
+attribute is not set for any of these services, the \fBauthenticationMethod\fR
+attribute is used to define the authentication method. This is a multivalued
+attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBserviceCredentialLevel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify credential level to be used by a service. Multiple values can be
+specified in a space-separated list. The default value for all services is
+\fINULL\fR. The supported credential levels are: \fBanonymous\fR or
+\fBproxy\fR. At present, no service uses this attribute. This is a multivalued
+attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBserviceSearchDescriptor\fR\fR
+.ad
+.sp .6
+.RS 4n
+Override the default base DN for LDAP searches for a given service. The format
+of the descriptors also allow overriding the default search scope and search
+filter for each service. The syntax of \fBserviceSearchDescriptor\fR is defined
+in the profile IETF draft. The default value for all services is \fINULL\fR.
+This is a multivalued attribute. In the example,
+.sp
+.in +2
+.nf
+serviceSearchDescriptor=passwd:ou=people,dc=a1,dc=acme,dc=com?one
+.fi
+.in -2
+.sp
+
+the LDAP client would do a one level search in
+\fBou=people,dc=a1,dc=acme,dc=com\fR rather than
+\fBou=people,\fIdefaultSearchBase\fR\fR for the \fBpasswd\fR service.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fBattrName=\fR\fIattrValue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBattrName\fR and its value. See \fBSYNOPSIS\fR for a complete list of
+possible attribute names and values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIbindDN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an entry that has read permission for the requested database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-j\fR \fIpasswdFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a file containing the password for the bind DN or the password for the
+SSL client's key database. To protect the password, use this option in scripts
+and place the password in a secure file. This option is mutually exclusive of
+the \fB-w\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quiet mode. No output is generated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fIbindPassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Password to be used for authenticating the bind DN. If this parameter is
+missing, the command will prompt for a password. \fBNULL\fR passwords are not
+supported in LDAP.
+.sp
+When you use \fB-w\fR \fIbindPassword\fR to specify the password to be used for
+authentication, the password is visible to other users of the system by means
+of the \fBps\fR command, in script files, or in shell history.
+.sp
+If you supply "\fB-\fR" (hyphen) as a password, the command will prompt for a
+password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR \fIpasswdFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a file containing the password for the proxy DN. To protect the
+password, use this option in scripts and place the password in a secure file.
+This option is mutually exclusive of the \fB-a\fR \fIproxyPassword\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIadminrPasswdFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a file containing the password for the \fBadminDN\fR. To protect the
+password, use this option in scripts and place the password in a secure file.
+This option is mutually exclusive of the \fB-a\fR \fIadminPassword\fR option.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fILDAP_server\fR\fR
+.ad
+.sp .6
+.RS 4n
+An address or a name for the LDAP server from which the profile will be loaded.
+The current naming service specified in the \fBnsswitch.conf\fR file is used.
+Once the profile is loaded, the \fBpreferredServerList\fR and
+\fBdefaultServerList\fR specified in the profile are used.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting Up a Client By Using the Default Profile Stored on a
+Specified LDAP Server
+.sp
+.LP
+The following example shows how to set up a client using the default profile
+stored on the specified LDAP server. This command will only be successful if
+either the credential level in the profile is set to \fBanonymous\fR or the
+authentication method is set to \fBnone\fR.
+
+.sp
+.in +2
+.nf
+example# \fBldapclient init 172.16.100.1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSetting Up a Client By Using the \fBsimple\fR Profile Stored on
+a Specified LDAP Server
+.sp
+.LP
+The following example shows how to set up a client using the \fBsimple\fR
+profile stored on the specified LDAP server. The domainname is set to
+\fBxyz.mycompany.com\fR and the proxyPassword is \fBsecret\fR.
+
+.sp
+.in +2
+.nf
+example# \fBldapclient init -a profileName=simple \e
+-a domainName=xyz.mycompany.com \e
+-a proxyDN=cn=proxyagent,ou=profile,dc=xyz,dc=mycompany,dc=com \e
+-a proxyPassword=secret '['fe80::a00:20ff:fea3:388']':386\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSetting Up a Client Using Only One Server
+.sp
+.LP
+The following example shows how to set up a client using only one server. The
+authentication method is set to \fBnone\fR, and the search base is
+\fBdc=mycompany,dc=com\fR.
+
+.sp
+.in +2
+.nf
+example# \fBldapclient manual -a authenticationMethod=none \e
+-a defaultSearchBase=dc=mycompany,dc=com \e
+-a defaultServerList=172.16.100.1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSetting Up a Client Using Only One Server That Does Not Follow
+Referrals
+.sp
+.LP
+The following example shows how to set up a client using only one server. The
+credential level is set to \fBproxy\fR. The authentication method of is
+\fBsasl/CRAM-MD5\fR, with the option not to follow referrals. The domain name
+is \fBxyz.mycompany.com\fR, and the LDAP server is running on port number 386
+at IP address \fB172.16.100.1\fR.
+
+.sp
+.in +2
+.nf
+example# \fBldapclient manual \e
+-a credentialLevel=proxy \e
+-a authenticationMethod=sasl/CRAM-MD5 \e
+-a proxyPassword=secret \e
+-a proxyDN=cn=proxyagent,ou=profile,dc=xyz,dc=mycompany,dc=com \e
+-a defaultSearchBase=dc=xyz,dc=mycompany,dc=com \e
+-a domainName=xyz.mycompany.com \e
+-a followReferrals=false \e
+-a defaultServerList=172.16.100.1:386\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRUsing \fBgenprofile\fR to Set Only the \fBdefaultSearchBase\fR
+and the Server Addresses
+.sp
+.LP
+The following example shows how to use the \fBgenprofile\fR command to set the
+\fBdefaultSearchBase\fR and the server addresses.
+
+.sp
+.in +2
+.nf
+example# \fBldapclient genprofile -a profileName=myprofile \e
+-a defaultSearchBase=dc=eng,dc=sun,dc=com \e
+-a "defaultServerList=172.16.100.1 172.16.234.15:386" \e
+> myprofile.ldif\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRCreating a Profile on IPv6 servers
+.sp
+.LP
+The following example creates a profile on IPv6 servers
+
+.sp
+.in +2
+.nf
+example# \fBldapclient genprofile -a profileName=eng \e
+-a credentialLevel=proxy \e
+-a authenticationMethod=sasl/DIGEST-MD5 \e
+-a defaultSearchBase=dc=eng,dc=acme,dc=com \e
+-a "serviceSearchDescriptor=passwd:ou=people,dc=a1,dc=acme,dc=com?one"\e
+-a preferredServerList= '['fe80::a00:20ff:fea3:388']' \e
+-a "defaultServerList='['fec0::111:a00:20ff:fea3:edcf']' \e
+ '['fec0::111:a00:20ff:feb5:e41']'" > eng.ldif\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRCreating a Profile That Overrides Every Default Value
+.sp
+.LP
+The following example shows a profile that overrides every default value.
+
+.sp
+.in +2
+.nf
+example# \fBldapclient genprofile -a profileName=eng \e
+-a credentialLevel=proxy -a authenticationMethod=sasl/DIGEST-MD5 \e
+-a bindTimeLimit=20 \e
+-a defaultSearchBase=dc=eng,dc=acme,dc=com \e
+-a "serviceSearchDescriptor=passwd:ou=people,dc=a1,dc=acme,dc=com?one"\e
+-a serviceAuthenticationMethod=pam_ldap:tls:simple \e
+-a defaultSearchScope=sub \e
+-a attributeMap=passwd:uid=employeeNumber \e
+-a objectclassMap=passwd:posixAccount=unixAccount \e
+-a followReferrals=false -a profileTTL=6000 \e
+-a preferredServerList=172.16.100.30 -a searchTimeLimit=30 \e
+-a "defaultServerList=172.16.200.1 172.16.100.1 192.168.5.6" > eng.ldif\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 5n
+.rt
+The command successfully executed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.RS 5n
+.rt
+An error occurred. An error message is output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.RS 5n
+.rt
+\fBproxyDN\fR and \fBproxyPassword\fR attributes are required, but they are not
+provided.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/ldap/ldap_client_cred\fR\fR
+.ad
+.br
+.na
+\fB\fB/var/ldap/ldap_client_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contain the LDAP configuration of the client. These files are not to be
+modified manually. Their content is not guaranteed to be human readable. Use
+\fBldapclient\fR to update them.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/defaultdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+System default domain name, matching the domain name of the data in the LDAP
+servers. See \fBdefaultdomain\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configuration file for the name-service switch. See \fBnsswitch.conf\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.ldap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sample configuration file for the name-service switch configured with LDAP and
+files.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchkey\fR(1), \fBldap\fR(1), \fBldapadd\fR(1), \fBldapdelete\fR(1),
+\fBldaplist\fR(1), \fBldapmodify\fR(1), \fBldapmodrdn\fR(1),
+\fBldapsearch\fR(1), \fBidsconfig\fR(1M), \fBldapaddent\fR(1M),
+\fBldap_cachemgr\fR(1M), \fBsuninstall\fR(1M), \fBdefaultdomain\fR(4),
+\fBnsswitch.conf\fR(4), \fBresolv.conf\fR(4), \fBattributes\fR(5)
+.SH CAUTION
+.sp
+.LP
+Currently \fBStartTLS\fR is not supported by \fBlibldap.so.5\fR, therefore the
+port number provided refers to the port used during a TLS open, rather than the
+port used as part of a \fBStartTLS\fR sequence. To avoid timeout delays, mixed
+use of TLS and non-TLS authentication mechanisms is not recommended.
+.sp
+.LP
+For example:
+.sp
+.in +2
+.nf
+-h foo:1000 -a authenticationMethod=tls:simple
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...or:
+.sp
+.in +2
+.nf
+defaultServerList= foo:1000
+authenticationMethod= tls:simple
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The preceding refers to a raw TLS open on host \fBfoo\fR port 1000, not an
+open, StartTLS sequence on an unsecured port 1000. If port 1000 is unsecured
+the connection will not be made.
+.sp
+.LP
+As a second example, the following will incur a significant timeout delay while
+attempting the connection to \fBfoo:636\fR with an unsecured bind.
+.sp
+.in +2
+.nf
+defaultServerList= foo:636 foo:389
+authenticationMethod= simple
+.fi
+.in -2
+.sp
+
diff --git a/usr/src/man/man1m/ldmad.1m b/usr/src/man/man1m/ldmad.1m
new file mode 100644
index 0000000000..0dca6f2463
--- /dev/null
+++ b/usr/src/man/man1m/ldmad.1m
@@ -0,0 +1,75 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ldmad 1M "8 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ldmad \- Logical Domains Agents daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/ldoms/ldmad\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBldmad\fR daemon is part of the framework that enables Logical Domain
+agents to run on a Logical Domain. A Logical Domain agent is a component that
+interacts with the control domain for providing features or information.
+.sp
+.LP
+\fBldmad\fR is responsible for running agents on a Logical Domain and must be
+enabled to ensure proper functionality of all features provided by the domain
+manager on the control domain. It is started at boot time and has no
+configuration options.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBsyslog\fR(3C), \fBsyslog.conf\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH ERRORS
+.sp
+.LP
+\fBldmad\fR uses \fBsyslog\fR(3C) to report status and error messages. All of
+the messages are logged with the \fBLOG_DAEMON\fR facility. Error messages are
+logged with the \fBLOG_ERR\fR and \fBLOG_NOTICE\fR priorities, and
+informational messages are logged with the \fBLOG_INFO\fR priority. The default
+entries in the \fB/etc/syslog.conf\fR file log all of the \fBldmad\fR error
+messages to the \fB/var/adm/messages\fR log.
+.SH NOTES
+.sp
+.LP
+The \fBldmad\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/ldoms/agents:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/link.1m b/usr/src/man/man1m/link.1m
new file mode 100644
index 0000000000..ed5a8c0a83
--- /dev/null
+++ b/usr/src/man/man1m/link.1m
@@ -0,0 +1,119 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (c) 2002Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH link 1M "9 Oct 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+link, unlink \- link and unlink files and directories
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/link \fR \fIexisting-file\fR \fInew-file\fR
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/link \fR \fIexisting-file\fR \fInew-file\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/unlink\fR \fIfile\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlink\fR and \fBunlink\fR commands link and unlink files and directories.
+Only super-users can use these commands on directories.
+.sp
+.LP
+Use \fBlink\fR to create a new file that points to an existing file. The
+\fIexisting-file\fR and \fInew-file\fR operands specify the existing file and
+newly-created files. See \fBOPERANDS\fR.
+.sp
+.LP
+\fBlink\fR and \fBunlink\fR directly invoke the \fBlink\fR(2) and
+\fBunlink\fR(2) system calls, performing exactly what they are told to do and
+abandoning all error checking. This differs from the \fBln\fR(1) command. See
+\fBln\fR(1).
+.sp
+.LP
+While linked files and directories can be removed using \fBunlink\fR, it is
+safer to use \fBrm\fR(1) and \fBrmdir\fR(1) instead. See \fBrm\fR(1) and
+\fBrmdir\fR(1).
+.SS "/usr/xpg4/bin/link"
+.sp
+.LP
+If the existing file being hard linked is itself a symbolic link, then the
+newly created file (\fInew-file\fR) will be a hard link to the file referenced
+by the symbolic link, not to the symbolic link object itself
+(\fIexisting-file\fR).
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIexisting-file\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the name of the existing file to be linked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the name of the file to be unlinked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInew-file\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the name of newly created (linked) file.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBlink\fR: \fBLANG\fR, \fBLC_ALL\fR,
+\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.SS "/usr/xpg4/bin/link"
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStandard
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBln\fR(1), \fBrm\fR(1), \fBlink\fR(2), \fBunlink\fR(2), \fBattributes\fR(5),
+\fBenviron\fR(5), \fBstandards\fR(5)
diff --git a/usr/src/man/man1m/listdgrp.1m b/usr/src/man/man1m/listdgrp.1m
new file mode 100644
index 0000000000..6c0058d707
--- /dev/null
+++ b/usr/src/man/man1m/listdgrp.1m
@@ -0,0 +1,102 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH listdgrp 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+listdgrp \- lists members of a device group
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/listdgrp\fR \fIdgroup\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBlistdgrp\fR displays the members of the device groups specified by the
+\fIdgroup\fR list.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAn example of \fBlistdgrp\fR.
+.sp
+.LP
+The following example lists the devices that belong to group \fBpartitions\fR:
+
+.sp
+.in +2
+.nf
+example% listdgrp partitions
+ root
+ swap
+ usr
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command was syntax incorrect, an invalid option used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+A device group table could not be opened for reading.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+A device group \fIdgroup\fR could not be found in the device group table.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dgroup.tab\fR\fR
+.ad
+.RS 19n
+.rt
+Device group table.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBputdgrp\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/listen.1m b/usr/src/man/man1m/listen.1m
new file mode 100644
index 0000000000..494538fce2
--- /dev/null
+++ b/usr/src/man/man1m/listen.1m
@@ -0,0 +1,107 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH listen 1M "3 Apr 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+listen \- network listener daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/saf/listen\fR [\fB-m\fR \fIdevstem\fR] \fInet_spec\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlisten\fR process ``listens'' to a network for service requests, accepts
+requests when they arrive, and invokes servers in response to those service
+requests. The network listener process may be used with any connection-oriented
+network (more precisely, with any connection-oriented transport provider) that
+conforms to the Transport Layer Interface (TLI) Specification.
+.sp
+.LP
+The listener internally generates a pathname for the minor device for each
+connection; it is this pathname that is used in the \fButmpx\fR entry for a
+service, if one is created. By default, this pathname is the concatenation of
+the prefix \fB/dev/\fR\fInetspec\fR with the decimal representation of the
+minor device number. In either case, the representation of the minor device
+number will be at least two digits (for example, 05 or 27), or longer when it
+is necessary to accommodate minor device numbers larger than 99.
+.SH SERVER INVOCATION
+.sp
+.LP
+When a connection indication is received, the listener creates a new transport
+endpoint and accepts the connection on that endpoint. Before giving the file
+descriptor for this new connection to the server, any designated STREAMS
+modules are pushed and the configuration script is executed, (if one exists).
+This file descriptor is appropriate for use with either TLI (see
+\fBt_sync\fR(3NSL) ) or the sockets interface library.
+.sp
+.LP
+By default, a new instance of the server is invoked for each connection. When
+the server is invoked, file descriptor 0 refers to the transport endpoint, and
+is open for reading and writing. File descriptors 1 and 2 are copies of file
+descriptor 0; no other file descriptors are open. The service is invoked with
+the user and group IDs of the user name under which the service was registered
+with the listener, and with the current directory set to the HOME directory of
+that user.
+.sp
+.LP
+Alternatively, a service may be registered so that the listener will pass
+connections to a standing server process through a FIFO or a named stream,
+instead of invoking the server anew for each connection. In this case, the
+connection is passed in the form of a file descriptor that refers to the new
+transport endpoint. Before the file descriptor is sent to the server, the
+listener interprets any configuration script registered for that service using
+\fBdoconfig\fR(3NSL), although \fBdoconfig\fR is invoked with both the
+\fBNORUN\fR and \fBNOASSIGN\fR flags. The server receives the file descriptor
+for the connection in a \fBstrrecvfd\fR structure using an \fBI_RECVFD\fR
+\fBioctl\fR(2).
+.sp
+.LP
+For more details about the listener and its administration, see
+\fBnlsadmin\fR(1M).
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fIdevstem\fR\fR
+.ad
+.RS 13n
+.rt
+The listener will use \fIdevstem\fR as the prefix for the pathname.
+.RE
+
+.SH FILES
+.sp
+.LP
+\fB/etc/saf/\fR\fIpmtag\fR\fB/\fR\fI*\fR
+.SH SEE ALSO
+.sp
+.LP
+\fBnlsadmin\fR(1M), \fBpmadm\fR(1M), \fBsac\fR(1M), \fBsacadm\fR(1M),
+\fBioctl\fR(2), \fBdoconfig\fR(3NSL), \fBnlsgetcall\fR(3NSL),
+\fBnlsprovider\fR(3NSL), \fBt_sync\fR(3NSL), \fBattributes\fR(5),
+\fBstreamio\fR(7I)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+When passing a connection to a standing server, the user and group IDs
+contained in the \fBstrrecvfd\fR structure will be those for the listener (that
+is, they will both be 0); the user name under which the service was registered
+with the listener is not reflected in these IDs.
+.sp
+.LP
+When operating multiple instances of the listener on a single transport
+provider, there is a potential race condition in the binding of addresses
+during initialization of the listeners, if any of their services have
+dynamically assigned addresses. This condition would appear as an inability of
+the listener to bind a static-address service to its otherwise valid address,
+and would result from a dynamic-address service having been bound to that
+address by a different instance of the listener.
diff --git a/usr/src/man/man1m/lms.1m b/usr/src/man/man1m/lms.1m
new file mode 100644
index 0000000000..0504d61df5
--- /dev/null
+++ b/usr/src/man/man1m/lms.1m
@@ -0,0 +1,69 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lms 1M "3 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lms \- allow applications to access the Intel Active Management Technology
+.SH SYNOPSIS
+.LP
+.nf
+\fBlms\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Local Manageability Service, \fBlms\fR, allows applications to access the
+Intel Active Management Technology (Intel AMT) ME (Management Engine) using the
+local HECI interface. LMS is dependent on the HECI driver.
+.sp
+.LP
+To use \fBlms\fR, ensure that the Intel AMT Manageability Interface driver is
+installed and connected to the ME.
+.sp
+.LP
+\fBlms\fR is intended to be run as a daemon. Messages from the service are sent
+to the \fBsyslog\fR. LMS messages are marked with a source of \fB"LMS"\fR.
+.sp
+.LP
+For an example of how to enable the LMS service using SMF, see \fBEXAMPLES\fR.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREnabling the LMS service using SMF
+.sp
+.LP
+The following example enables the LMS service using SMF:
+
+.sp
+.in +2
+.nf
+svcadm enable network/lms
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Architecturex86
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/locator.1m b/usr/src/man/man1m/locator.1m
new file mode 100644
index 0000000000..a3e3bf063f
--- /dev/null
+++ b/usr/src/man/man1m/locator.1m
@@ -0,0 +1,130 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH locator 1M "4 Sept 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+locator \- location indicator control
+.SH SYNOPSIS
+.LP
+.nf
+\fB /usr/sbin/locator\fR [\fB-f\fR | \fB-n\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The locator command sets or queries the state of the system locator if such a
+device exists.
+.sp
+.LP
+Without options, the locator command reports the current state of the system.
+.sp
+.LP
+The privileges required to use this command are hardware dependent. Typically,
+only the super user can get or set a locator.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Turns the locator off.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Turns the locator on.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBlocator\fR Command on a Platform Which Has a
+System Locator LED
+.sp
+.LP
+When issued on a platform which has a system locator \fBLED\fR, the following
+command turns the locator on:
+
+.sp
+.in +2
+.nf
+# \fBlocator \fR\fB-n\fR
+# \fBlocator\fR
+The 'system' locator is on
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing the \fBlocator\fR Command on a Platform Which Does Not
+Have a System Locator LED
+.sp
+.LP
+When issued on a platform which does not have a system locator \fBLED\fR, the
+following command attempts to turn the locator on. The command returns an error
+message.
+
+.sp
+.in +2
+.nf
+# \fBlocator \fR\fB-n\fR
+\&'system' locator not found
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+The requested operation failed.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/lockfs.1m b/usr/src/man/man1m/lockfs.1m
new file mode 100644
index 0000000000..badfdfdc14
--- /dev/null
+++ b/usr/src/man/man1m/lockfs.1m
@@ -0,0 +1,365 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lockfs 1M "2 Jan 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lockfs \- change or report file system locks
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/lockfs\fR [\fB-adefhnuw\fR] [\fB-c\fR \fIstring\fR] [\fIfile-system\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBlockfs\fR is used to change and report the status of file system locks.
+\fBlockfs\fR reports the lock status and unlocks the file systems that were
+improperly left locked.
+.sp
+.LP
+Using \fBlockfs\fR to lock a file system is discouraged because this requires
+extensive knowledge of SunOS internals to be used effectively and correctly.
+.sp
+.LP
+When invoked with no arguments, \fBlockfs\fR lists the \fBUFS\fR file systems
+that are locked. If \fIfile-system\fR is not specified, and \fB-a\fR is
+specified, \fBlockfs\fR is run on all mounted, \fBUFS\fR type file systems.
+.SH OPTIONS
+.sp
+.LP
+The options are mutually exclusive: \fBwndheuf\fR. If you do specify more than
+one of these options on a \fBlockfs\fR command line, the utility does not
+protest and invokes only the last option specified. In particular, you cannot
+specify a flush (\fB-f\fR) and a lock (for example, \fB-w\fR) on the same
+command line. However, all locking operations implicitly perform a flush, so
+the \fB-f\fR is superfluous when specifying a lock.
+.sp
+.LP
+You must be super-user to use any of the following options, with the exception
+of \fB-a\fR, \fB-f\fR and \fB-v\fR.
+.sp
+.LP
+The following options are supported.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply command to all mounted, \fBUFS\fR type file systems. \fIfile-system\fR is
+ignored when \fB-a\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Accept a string that is passed as the comment field. The \fB-c\fR only takes
+affect when the lock is being set using the \fB-d\fR, \fB-h\fR, \fB-n\fR,
+\fB-u\fR, or \fB-w\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete-lock (\fBdlock\fR) the specified \fIfile-system\fR. dlock suspends
+access that could remove directory entries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Error-lock (\fBelock\fR) the specified \fIfile-system\fR. elock blocks all
+local access to the locked file system and returns \fBEWOULDBLOCK\fR on all
+remote access. File systems are elocked by \fBUFS\fR on detection of internal
+inconsistency. They may only be unlocked after successful repair by \fBfsck\fR,
+which is usually done automatically (see \fBmount_ufs\fR(1M)). elocked file
+systems can be unmounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force a synchronous flush of all data that is dirty at the time \fBfsflush\fR
+is run to its backing store for the named file system (or for all file
+systems.)
+.sp
+It is a more reliable method than using \fBsync\fR(1M) because it does not
+return until all possible data has been pushed. In the case of \fBUFS\fR
+filesystems with logging enabled, the log is also rolled before returning.
+Additional data can be modified by the time \fBfsflush\fR exits, so using one
+of the locking options is more likely to be of general use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hard-lock (\fBhlock\fR) the specified \fIfile-system\fR. hlock returns an error
+on every access to the locked file system, and cannot be unlocked. hlocked file
+systems can be unmounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name-lock (\fBnlock\fR) the specified \fIfile-system\fR. nlock suspends
+accesses that could change or remove existing directories entries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unlock (\fBulock\fR) the specified \fIfile-system\fR. ulock awakens suspended
+accesses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable verbose output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-lock (\fBwlock\fR) the specified \fIfile-system\fR. wlock suspends writes
+that would modify the file system. Access times are not kept while a file
+system is write-locked.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported.
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile-system\fR\fR
+.ad
+.sp .6
+.RS 4n
+A list of path names separated by whitespace. Note that \fIfile-system\fR can
+be a directory rather than the specific name of a file system, such as \fB/\fR
+or \fB/usr\fR. For example, if you specify \fB/export/home\fR as an argument to
+a \fBlockfs\fR command and \fB/export/home\fR is mounted on the root (\fB/\fR)
+file system, the \fBlockfs\fR command will take effect on the root file system.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBlockfs\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBlockfs\fR \fB-a\fR
+.sp
+.LP
+In the following examples, \fIfilesystem\fR is the pathname of the mounted-on
+directory (mount point). \fBLocktype\fR is one of "\fBwrite\fR," "\fIname\fR,"
+"\fIdelete\fR," "\fIhard\fR," or "\fIunlock\fR". When enclosed in parenthesis,
+the lock is being set. \fBComment\fR is a string set by the process that last
+issued a lock command.
+
+.sp
+.LP
+The following example shows the \fBlockfs\fR output when only the \fB-a\fR
+option is specified.
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/lockfs -a\fR
+.fi
+.in -2
+.sp
+
+.sp
+
+.sp
+.TS
+tab();
+lw(1.83i) lw(1.83i) lw(1.83i)
+lw(1.83i) lw(1.83i) lw(1.83i)
+.
+FilesystemLocktype Comment
+/unlock
+/varunlock
+.TE
+
+.sp
+.in +2
+.nf
+example#
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing \fBlockfs\fR \fB-w\fR
+.sp
+.LP
+The following example shows the \fBlockfs\fR output when the \fB-w\fR option is
+used to write lock the \fB/var\fR file system and the comment string is set
+using the \fB-c\fR option. The \fB-a\fR option is then specified on a separate
+command line.
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/lockfs -w -c "lockfs: write lock example" /var\fR
+example# \fB/usr/sbin/lockfs -a\fR
+.fi
+.in -2
+.sp
+
+.sp
+
+.sp
+.TS
+tab();
+lw(1.83i) lw(1.83i) lw(1.83i)
+lw(1.83i) lw(1.83i) lw(1.83i)
+.
+FilesystemLocktypeComment
+/unlock
+/varwritelockfs: write lock example
+.TE
+
+.sp
+.in +2
+.nf
+example#
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing \fBlockfs\fR \fB-u\fR
+.sp
+.LP
+The following example shows the \fBlockfs\fR output when the \fB-u\fR option is
+used to unlock the \fB/var\fR file system and the comment string is set using
+the \fB-c\fR option.
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/lockfs -uc "lockfs: unlock example" /var\fR
+example# \fB/usr/sbin/lockfs /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+
+.sp
+.TS
+tab();
+lw(1.83i) lw(1.83i) lw(1.83i)
+lw(1.83i) lw(1.83i) lw(1.83i)
+.
+FilesystemLocktypeComment
+/varunlocklockfs: unlock example
+.TE
+
+.sp
+.in +2
+.nf
+example#
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkill\fR(1), \fBmount_ufs\fR(1M), \fBsync\fR(1M), \fBattributes\fR(5),
+\fBlargefile\fR(5), \fBufs\fR(7FS),
+.sp
+.LP
+\fI\fR
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile system\fR\fB: Not owner\fR\fR
+.ad
+.sp .6
+.RS 4n
+You must be root to use this command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile system\fR \fB:Deadlock condition detected/avoided\fR\fR
+.ad
+.sp .6
+.RS 4n
+A file is enabled for accounting or swapping, on \fIfile system\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile system\fR\fB: Device busy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Another process is setting the lock on \fIfile system\fR.
+.RE
+
diff --git a/usr/src/man/man1m/lockstat.1m b/usr/src/man/man1m/lockstat.1m
new file mode 100644
index 0000000000..495b294056
--- /dev/null
+++ b/usr/src/man/man1m/lockstat.1m
@@ -0,0 +1,909 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lockstat 1M "28 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lockstat \- report kernel lock and profiling statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBlockstat\fR [\fB-ACEHI\fR] [\fB-e\fR \fIevent_list\fR] [\fB-i\fR \fIrate\fR]
+ [\fB-b\fR | \fB-t\fR | \fB-h\fR | \fB-s\fR \fIdepth\fR] [\fB-n\fR \fInrecords\fR]
+ [\fB-l\fR \fIlock\fR [, \fIsize\fR]] [\fB-d\fR \fIduration\fR]
+ [\fB-f\fR \fIfunction\fR [, \fIsize\fR]] [\fB-T\fR] [\fB-ckgwWRpP\fR] [\fB-D\fR \fIcount\fR]
+ [\fB-o\fR \fIfilename\fR] [\fB-x\fR \fIopt\fR [=val]] \fIcommand\fR [\fIargs\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlockstat\fR utility gathers and displays kernel locking and profiling
+statistics. \fBlockstat\fR allows you to specify which events to watch (for
+example, spin on adaptive mutex, block on read access to rwlock due to waiting
+writers, and so forth) how much data to gather for each event, and how to
+display the data. By default, \fBlockstat\fR monitors all lock contention
+events, gathers frequency and timing data about those events, and displays the
+data in decreasing frequency order, so that the most common events appear
+first.
+.sp
+.LP
+\fBlockstat\fR gathers data until the specified command completes. For example,
+to gather statistics for a fixed-time interval, use \fBsleep\fR(1) as the
+command, as follows:
+.sp
+.LP
+\fBexample#\fR \fBlockstat\fR \fBsleep\fR \fB5\fR
+.sp
+.LP
+When the \fB-I\fR option is specified, \fBlockstat\fR establishes a
+per-processor high-level periodic interrupt source to gather profiling data.
+The interrupt handler simply generates a \fBlockstat\fR event whose caller is
+the interrupted PC (program counter). The profiling event is just like any
+other \fBlockstat\fR event, so all of the normal \fBlockstat\fR options are
+applicable.
+.sp
+.LP
+\fBlockstat\fR relies on DTrace to modify the running kernel's text to
+intercept events of interest. This imposes a small but measurable overhead on
+all system activity, so access to \fBlockstat\fR is restricted to super-user by
+default. The system administrator can permit other users to use \fBlockstat\fR
+by granting them additional DTrace privileges. Refer to the \fISolaris Dynamic
+Tracing Guide\fR for more information about DTrace security features.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.SS "Event Selection"
+.sp
+.LP
+If no event selection options are specified, the default is \fB-C\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+Watch all lock events. \fB-A\fR is equivalent to \fB-CH\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.sp .6
+.RS 4n
+Watch contention events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.sp .6
+.RS 4n
+Watch error events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fIevent_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only watch the specified events. \fIevent\fR \fIlist\fR is a comma-separated
+list of events or ranges of events such as 1,4-7,35. Run \fBlockstat\fR with no
+arguments to get a brief description of all events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.sp .6
+.RS 4n
+Watch hold events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.sp .6
+.RS 4n
+Watch profiling interrupt events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-i\fR \fIrate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Interrupt rate (per second) for \fB-I\fR. The default is 97 Hz, so that
+profiling doesn't run in lockstep with the clock interrupt (which runs at 100
+Hz).
+.RE
+
+.SS "Data Gathering"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIarg\fR[=\fIval\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Enable or modify a DTrace runtime option or D compiler option. The list of
+options is found in the \fI\fR. Boolean options are enabled by specifying their
+name. Options with values are set by separating the option name and value with
+an equals sign (=).
+.RE
+
+.SS "Data Gathering (Mutually Exclusive)"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.sp .6
+.RS 4n
+Basic statistics: lock, caller, number of events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Histogram: Timing plus time-distribution histograms.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-s\fR \fIdepth\fR\fR
+.ad
+.sp .6
+.RS 4n
+Stack trace: Histogram plus stack traces up to \fIdepth\fR frames deep.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Timing: Basic plus timing for all events [default].
+.RE
+
+.SS "Data Filtering"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-d\fR \fIduration\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only watch events longer than \fIduration\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-f\fR \fIfunc[,size]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only watch events generated by \fIfunc\fR, which can be specified as a symbolic
+name or hex address. \fIsize\fR defaults to the \fBELF\fR symbol size if
+available, or \fB1\fR if not.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR \fIlock[,size]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only watch \fIlock\fR, which can be specified as a symbolic name or hex
+address. \fBsize\fR defaults to the \fBELF\fR symbol size or \fB1\fR if the
+symbol size is not available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-n\fR \fInrecords\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum number of data records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trace (rather than sample) events [off by default].
+.RE
+
+.SS "Data Reporting"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Coalesce lock data for lock arrays (for example, \fBpse_mutex[]\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-D\fR \fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only display the top \fIcount\fR events of each type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show total events generated by function. For example, if \fBfoo()\fR calls
+\fBbar()\fR in a loop, the work done by \fBbar()\fR counts as work generated by
+\fBfoo()\fR (along with any work done by \fBfoo()\fR itself). The \fB-g\fR
+option works by counting the total number of stack frames in which each
+function appears. This implies two things: (1) the data reported by \fB-g\fR
+can be misleading if the stack traces are not deep enough, and (2) functions
+that are called recursively might show greater than 100% activity. In light of
+issue (1), the default data gathering mode when using \fB-g\fR is \fB-s\fR
+\fB50\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.sp .6
+.RS 4n
+Coalesce PCs within functions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-o\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Direct output to \fIfilename\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sort data by (\fIcount * time\fR) product.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Parsable output format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display rates (events per second) rather than counts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR\fR
+.ad
+.sp .6
+.RS 4n
+Whichever: distinguish events only by caller, not by lock.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.sp .6
+.RS 4n
+Wherever: distinguish events only by lock, not by caller.
+.RE
+
+.SH DISPLAY FORMATS
+.sp
+.LP
+The following headers appear over various columns of data.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCount\fR or \fBops/s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of times this event occurred, or the rate (times per second) if \fB-R\fR
+was specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBindv\fR\fR
+.ad
+.sp .6
+.RS 4n
+Percentage of all events represented by this individual event.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgenr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Percentage of all events generated by this function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcuml\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cumulative percentage; a running total of the individuals.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrcnt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Average reference count. This will always be \fB1\fR for exclusive locks
+(mutexes, spin locks, rwlocks held as writer) but can be greater than \fB1\fR
+for shared locks (rwlocks held as reader).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnsec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Average duration of the events in nanoseconds, as appropriate for the event.
+For the profiling event, duration means interrupt latency.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLock\fR\fR
+.ad
+.sp .6
+.RS 4n
+Address of the lock; displayed symbolically if possible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCPU+PIL\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBCPU\fR plus processor interrupt level (\fBPIL\fR). For example, if \fBCPU\fR
+4 is interrupted while at \fBPIL\fR 6, this will be reported as \fBcpu[4]+6\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCaller\fR\fR
+.ad
+.sp .6
+.RS 4n
+Address of the caller; displayed symbolically if possible.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRMeasuring Kernel Lock Contention
+.sp
+.in +2
+.nf
+example# \fBlockstat sleep 5\fR
+Adaptive mutex spin: 2210 events in 5.055 seconds (437 events/sec)
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+Count indv cuml rcnt nsec Lock Caller
+------------------------------------------------------------------------
+ 269 12% 12% 1.00 2160 service_queue background+0xdc
+ 249 11% 23% 1.00 86 service_queue qenable_locked+0x64
+ 228 10% 34% 1.00 131 service_queue background+0x15c
+ 68 3% 37% 1.00 79 0x30000024070 untimeout+0x1c
+ 59 3% 40% 1.00 384 0x300066fa8e0 background+0xb0
+ 43 2% 41% 1.00 30 rqcred_lock svc_getreq+0x3c
+ 42 2% 43% 1.00 341 0x30006834eb8 background+0xb0
+ 41 2% 45% 1.00 135 0x30000021058 untimeout+0x1c
+ 40 2% 47% 1.00 39 rqcred_lock svc_getreq+0x260
+ 37 2% 49% 1.00 2372 0x300068e83d0 hmestart+0x1c4
+ 36 2% 50% 1.00 77 0x30000021058 timeout_common+0x4
+ 36 2% 52% 1.00 354 0x300066fa120 background+0xb0
+ 32 1% 53% 1.00 97 0x30000024070 timeout_common+0x4
+ 31 1% 55% 1.00 2923 0x300069883d0 hmestart+0x1c4
+ 29 1% 56% 1.00 366 0x300066fb290 background+0xb0
+ 28 1% 57% 1.00 117 0x3000001e040 untimeout+0x1c
+ 25 1% 59% 1.00 93 0x3000001e040 timeout_common+0x4
+ 22 1% 60% 1.00 25 0x30005161110 sync_stream_buf+0xdc
+ 21 1% 60% 1.00 291 0x30006834eb8 putq+0xa4
+ 19 1% 61% 1.00 43 0x3000515dcb0 mdf_alloc+0xc
+ 18 1% 62% 1.00 456 0x30006834eb8 qenable+0x8
+ 18 1% 63% 1.00 61 service_queue queuerun+0x168
+ 17 1% 64% 1.00 268 0x30005418ee8 vmem_free+0x3c
+[...]
+
+R/W reader blocked by writer: 76 events in 5.055 seconds (15 events/sec)
+
+Count indv cuml rcnt nsec Lock Caller
+------------------------------------------------------------------------
+ 23 30% 30% 1.00 22590137 0x300098ba358 ufs_dirlook+0xd0
+ 17 22% 53% 1.00 5820995 0x3000ad815e8 find_bp+0x10
+ 13 17% 70% 1.00 2639918 0x300098ba360 ufs_iget+0x198
+ 4 5% 75% 1.00 3193015 0x300098ba360 ufs_getattr+0x54
+ 3 4% 79% 1.00 7953418 0x3000ad817c0 find_bp+0x10
+ 3 4% 83% 1.00 935211 0x3000ad815e8 find_read_lof+0x14
+ 2 3% 86% 1.00 16357310 0x300073a4720 find_bp+0x10
+ 2 3% 88% 1.00 2072433 0x300073a4720 find_read_lof+0x14
+ 2 3% 91% 1.00 1606153 0x300073a4370 find_bp+0x10
+ 1 1% 92% 1.00 2656909 0x300107e7400 ufs_iget+0x198
+[...]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRMeasuring Hold Times
+.sp
+.in +2
+.nf
+example# \fBlockstat -H -D 10 sleep 1\fR
+Adaptive mutex spin: 513 events
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+Count indv cuml rcnt nsec Lock Caller
+-------------------------------------------------------------------------
+ 480 5% 5% 1.00 1136 0x300007718e8 putnext+0x40
+ 286 3% 9% 1.00 666 0x3000077b430 getf+0xd8
+ 271 3% 12% 1.00 537 0x3000077b430 msgio32+0x2fc
+ 270 3% 15% 1.00 3670 0x300007718e8 strgetmsg+0x3d4
+ 270 3% 18% 1.00 1016 0x300007c38b0 getq_noenab+0x200
+ 264 3% 20% 1.00 1649 0x300007718e8 strgetmsg+0xa70
+ 216 2% 23% 1.00 6251 tcp_mi_lock tcp_snmp_get+0xfc
+ 206 2% 25% 1.00 602 thread_free_lock clock+0x250
+ 138 2% 27% 1.00 485 0x300007c3998 putnext+0xb8
+ 138 2% 28% 1.00 3706 0x300007718e8 strrput+0x5b8
+-------------------------------------------------------------------------
+[...]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRMeasuring Hold Times for Stack Traces Containing a Specific
+Function
+.sp
+.in +2
+.nf
+example# \fBlockstat -H -f tcp_rput_data -s 50 -D 10 sleep 1\fR
+Adaptive mutex spin: 11 events in 1.023 seconds (11
+events/sec)
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+-------------------------------------------------------------------------
+Count indv cuml rcnt nsec Lock Caller
+ 9 82% 82% 1.00 2540 0x30000031380 tcp_rput_data+0x2b90
+
+ nsec ------ Time Distribution ------ count Stack
+ 256 |@@@@@@@@@@@@@@@@ 5 tcp_rput_data+0x2b90
+ 512 |@@@@@@ 2 putnext+0x78
+ 1024 |@@@ 1 ip_rput+0xec4
+ 2048 | 0 _c_putnext+0x148
+ 4096 | 0 hmeread+0x31c
+ 8192 | 0 hmeintr+0x36c
+ 16384 |@@@ 1
+sbus_intr_wrapper+0x30
+[...]
+
+Count indv cuml rcnt nsec Lock Caller
+ 1 9% 91% 1.00 1036 0x30000055380 freemsg+0x44
+
+ nsec ------ Time Distribution ------ count Stack
+ 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 freemsg+0x44
+ tcp_rput_data+0x2fd0
+ putnext+0x78
+ ip_rput+0xec4
+ _c_putnext+0x148
+ hmeread+0x31c
+ hmeintr+0x36c
+
+sbus_intr_wrapper+0x30
+-------------------------------------------------------------------------
+[...]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRBasic Kernel Profiling
+.sp
+.LP
+For basic profiling, we don't care whether the profiling interrupt sampled
+\fBfoo()\fR\fB+0x4c\fR or \fBfoo()\fR\fB+0x78\fR; we care only that it sampled
+somewhere in \fBfoo()\fR, so we use \fB-k\fR. The \fBCPU\fR and \fBPIL\fR
+aren't relevant to basic profiling because we are measuring the system as a
+whole, not a particular \fBCPU\fR or interrupt level, so we use \fB-W\fR.
+
+.sp
+.in +2
+.nf
+example# \fBlockstat -kIW -D 20 ./polltest\fR
+Profiling interrupt: 82 events in 0.424 seconds (194
+events/sec)
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+Count indv cuml rcnt nsec Hottest CPU+PIL Caller
+-----------------------------------------------------------------------
+ 8 10% 10% 1.00 698 cpu[1] utl0
+ 6 7% 17% 1.00 299 cpu[0] read
+ 5 6% 23% 1.00 124 cpu[1] getf
+ 4 5% 28% 1.00 327 cpu[0] fifo_read
+ 4 5% 33% 1.00 112 cpu[1] poll
+ 4 5% 38% 1.00 212 cpu[1] uiomove
+ 4 5% 43% 1.00 361 cpu[1] mutex_tryenter
+ 3 4% 46% 1.00 682 cpu[0] write
+ 3 4% 50% 1.00 89 cpu[0] pcache_poll
+ 3 4% 54% 1.00 118 cpu[1] set_active_fd
+ 3 4% 57% 1.00 105 cpu[0] syscall_trap32
+ 3 4% 61% 1.00 640 cpu[1] (usermode)
+ 2 2% 63% 1.00 127 cpu[1] fifo_poll
+ 2 2% 66% 1.00 300 cpu[1] fifo_write
+ 2 2% 68% 1.00 669 cpu[0] releasef
+ 2 2% 71% 1.00 112 cpu[1] bt_getlowbit
+ 2 2% 73% 1.00 247 cpu[1] splx
+ 2 2% 76% 1.00 503 cpu[0] mutex_enter
+ 2 2% 78% 1.00 467 cpu[0]+10 disp_lock_enter
+ 2 2% 80% 1.00 139 cpu[1] default_copyin
+-----------------------------------------------------------------------
+[...]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRGenerated-load Profiling
+.sp
+.LP
+In the example above, 5% of the samples were in \fBpoll()\fR. This tells us how
+much time was spent inside \fBpoll()\fR itself, but tells us nothing about how
+much work was \fBgenerated\fR by \fBpoll()\fR; that is, how much time we spent
+in functions called by \fBpoll()\fR. To determine that, we use the \fB-g\fR
+option. The example below shows that although \fBpolltest\fR spends only 5% of
+its time in \fBpoll()\fR itself, \fBpoll()\fR-induced work accounts for 34% of
+the load.
+
+.sp
+.LP
+Note that the functions that generate the profiling interrupt
+(\fBlockstat_intr()\fR, \fBcyclic_fire()\fR, and so forth) appear in every
+stack trace, and therefore are considered to have generated 100% of the load.
+This illustrates an important point: the generated load percentages do
+\fBnot\fR add up to 100% because they are not independent. If 72% of all stack
+traces contain both \fBfoo()\fR and \fBbar()\fR, then both \fBfoo()\fR and
+\fBbar()\fR are 72% load generators.
+
+.sp
+.in +2
+.nf
+example# \fBlockstat -kgIW -D 20 ./polltest\fR
+Profiling interrupt: 80 events in 0.412 seconds (194 events/sec)
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+Count genr cuml rcnt nsec Hottest CPU+PIL Caller
+-------------------------------------------------------------------------
+ 80 100% ---- 1.00 310 cpu[1] lockstat_intr
+ 80 100% ---- 1.00 310 cpu[1] cyclic_fire
+ 80 100% ---- 1.00 310 cpu[1] cbe_level14
+ 80 100% ---- 1.00 310 cpu[1] current_thread
+ 27 34% ---- 1.00 176 cpu[1] poll
+ 20 25% ---- 1.00 221 cpu[0] write
+ 19 24% ---- 1.00 249 cpu[1] read
+ 17 21% ---- 1.00 232 cpu[0] write32
+ 17 21% ---- 1.00 207 cpu[1] pcache_poll
+ 14 18% ---- 1.00 319 cpu[0] fifo_write
+ 13 16% ---- 1.00 214 cpu[1] read32
+ 10 12% ---- 1.00 208 cpu[1] fifo_read
+ 10 12% ---- 1.00 787 cpu[1] utl0
+ 9 11% ---- 1.00 178 cpu[0] pcacheset_resolve
+ 9 11% ---- 1.00 262 cpu[0] uiomove
+ 7 9% ---- 1.00 506 cpu[1] (usermode)
+ 5 6% ---- 1.00 195 cpu[1] fifo_poll
+ 5 6% ---- 1.00 136 cpu[1] syscall_trap32
+ 4 5% ---- 1.00 139 cpu[0] releasef
+ 3 4% ---- 1.00 277 cpu[1] polllock
+-------------------------------------------------------------------------
+[...]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRGathering Lock Contention and Profiling Data for a Specific
+Module
+.sp
+.LP
+In this example we use the \fB-f\fR option not to specify a single function,
+but rather to specify the entire text space of the \fBsbus\fR module. We gather
+both lock contention and profiling statistics so that contention can be
+correlated with overall load on the module.
+
+.sp
+.in +2
+.nf
+example# \fBmodinfo | grep sbus\fR
+ 24 102a8b6f b8b4 59 1 sbus (SBus (sysio) nexus driver)
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+example# \fBlockstat -kICE -f 0x102a8b6f,0xb8b4 sleep 10\fR
+Adaptive mutex spin: 39 events in 10.042 seconds (4 events/sec)
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+Count indv cuml rcnt nsec Lock Caller
+-------------------------------------------------------------------------
+ 15 38% 38% 1.00 206 0x30005160528 sync_stream_buf
+ 7 18% 56% 1.00 14 0x30005160d18 sync_stream_buf
+ 6 15% 72% 1.00 27 0x300060c3118 sync_stream_buf
+ 5 13% 85% 1.00 24 0x300060c3510 sync_stream_buf
+ 2 5% 90% 1.00 29 0x300060c2d20 sync_stream_buf
+ 2 5% 95% 1.00 24 0x30005161cf8 sync_stream_buf
+ 1 3% 97% 1.00 21 0x30005161110 sync_stream_buf
+ 1 3% 100% 1.00 23 0x30005160130 sync_stream_buf
+[...]
+
+Adaptive mutex block: 9 events in 10.042 seconds (1 events/sec)
+
+Count indv cuml rcnt nsec Lock Caller
+-------------------------------------------------------------------------
+ 4 44% 44% 1.00 156539 0x30005160528 sync_stream_buf
+ 2 22% 67% 1.00 763516 0x30005160d18 sync_stream_buf
+ 1 11% 78% 1.00 462130 0x300060c3510 sync_stream_buf
+ 1 11% 89% 1.00 288749 0x30005161110 sync_stream_buf
+ 1 11% 100% 1.00 1015374 0x30005160130 sync_stream_buf
+[...]
+
+Profiling interrupt: 229 events in 10.042 seconds (23 events/sec)
+
+Count indv cuml rcnt nsec Hottest CPU+PIL Caller
+
+-------------------------------------------------------------------------
+ 89 39% 39% 1.00 426 cpu[0]+6 sync_stream_buf
+ 64 28% 67% 1.00 398 cpu[0]+6 sbus_intr_wrapper
+ 23 10% 77% 1.00 324 cpu[0]+6 iommu_dvma_kaddr_load
+ 21 9% 86% 1.00 512 cpu[0]+6 iommu_tlb_flush
+ 14 6% 92% 1.00 342 cpu[0]+6 iommu_dvma_unload
+ 13 6% 98% 1.00 306 cpu[1] iommu_dvma_sync
+ 5 2% 100% 1.00 389 cpu[1] iommu_dma_bindhdl
+-------------------------------------------------------------------------
+[...]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRDetermining the Average PIL (processor interrupt level) for a
+CPU
+.sp
+.in +2
+.nf
+example# \fBlockstat -Iw -l cpu[3] ./testprog\fR
+
+Profiling interrupt: 14791 events in 152.463 seconds (97 events/sec)
+
+Count indv cuml rcnt nsec CPU+PIL Hottest Caller
+
+-----------------------------------------------------------------------
+13641 92% 92% 1.00 253 cpu[3] (usermode)
+ 579 4% 96% 1.00 325 cpu[3]+6 ip_ocsum+0xe8
+ 375 3% 99% 1.00 411 cpu[3]+10 splx
+ 154 1% 100% 1.00 527 cpu[3]+4 fas_intr_svc+0x80
+ 41 0% 100% 1.00 293 cpu[3]+13 send_mondo+0x18
+ 1 0% 100% 1.00 266 cpu[3]+12 zsa_rxint+0x400
+-----------------------------------------------------------------------
+[...]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDetermining which Subsystem is Causing the System to be Busy
+.sp
+.in +2
+.nf
+example# \fBlockstat -s 10 -I sleep 20\fR
+
+Profiling interrupt: 4863 events in 47.375 seconds (103 events/sec)
+
+Count indv cuml rcnt nsec CPU+PIL Caller
+
+-----------------------------------------------------------------------
+1929 40% 40% 0.00 3215 cpu[0] usec_delay+0x78
+ nsec ------ Time Distribution ------ count Stack
+ 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1872 ata_wait+0x90
+ 8192 | 27 acersb_get_intr_status+0x34
+ 16384 | 29 ata_set_feature+0x124
+ 32768 | 1 ata_disk_start+0x15c
+ ata_hba_start+0xbc
+ ghd_waitq_process_and \e
+ _mutex_hold+0x70
+ ghd_waitq_process_and \e
+ _mutex_exit+0x4
+ ghd_transport+0x12c
+ ata_disk_tran_start+0x108
+-----------------------------------------------------------------------
+[...]
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdtrace\fR(1M), \fBplockstat\fR(1M), \fBattributes\fR(5), \fBlockstat\fR(7D),
+\fBmutex\fR(9F), \fBrwlock\fR(9F)
+.sp
+.LP
+\fISolaris Dynamic Tracing Guide\fR
+.SH NOTES
+.sp
+.LP
+The profiling support provided by \fBlockstat\fR \fB-I\fR replaces the old (and
+undocumented) \fB/usr/bin/kgmon\fR and \fB/dev/profile\fR.
+.sp
+.LP
+Tail-call elimination can affect call sites. For example, if
+\fBfoo()\fR\fB+0x50\fR calls \fBbar()\fR and the last thing \fBbar()\fR does is
+call \fBmutex_exit()\fR, the compiler can arrange for \fBbar()\fR to branch to
+\fBmutex_exit()\fRwith a return address of \fBfoo()\fR\fB+0x58\fR. Thus, the
+\fBmutex_exit()\fR in \fBbar()\fR will appear as though it occurred at
+\fBfoo()\fR\fB+0x58\fR.
+.sp
+.LP
+The \fBPC\fR in the stack frame in which an interrupt occurs can be bogus
+because, between function calls, the compiler is free to use the return address
+register for local storage.
+.sp
+.LP
+When using the \fB-I\fR and \fB-s\fR options together, the interrupted PC will
+usually not appear anywhere in the stack since the interrupt handler is entered
+asynchronously, not by a function call from that \fBPC\fR.
+.sp
+.LP
+The \fBlockstat\fR technology is provided on an as-is basis. The format and
+content of \fBlockstat\fR output reflect the current Solaris kernel
+implementation and are therefore subject to change in future releases.
diff --git a/usr/src/man/man1m/lofiadm.1m b/usr/src/man/man1m/lofiadm.1m
new file mode 100644
index 0000000000..96d6bea316
--- /dev/null
+++ b/usr/src/man/man1m/lofiadm.1m
@@ -0,0 +1,786 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lofiadm 1M "31 Aug 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lofiadm \- administer files available as block devices through lofi
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-a\fR \fIfile\fR [\fIdevice\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-c\fR \fIcrypto_algorithm\fR \fB-a\fR \fIfile\fR [\fIdevice\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-c\fR \fIcrypto_algorithm\fR \fB-k\fR \fIraw_key_file\fR \fB-a\fR \fIfile\fR [\fIdevice\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-c\fR \fIcrypto_algorithm\fR \fB-T\fR \fItoken_key\fR \fB-a\fR \fIfile\fR [\fIdevice\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-c\fR \fIcrypto_algorithm\fR \fB-T\fR \fItoken_key\fR
+ \fB-k\fR \fIwrapped_key_file\fR \fB-a\fR \fIfile\fR [\fIdevice\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-c\fR \fIcrypto_algorithm\fR \fB-e\fR \fB-a\fR \fIfile\fR [\fIdevice\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-C\fR \fIalgorithm\fR [\fB-s\fR \fIsegment_size\fR] \fIfile\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-d\fR \fIfile\fR | \fIdevice\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR \fB-U\fR \fIfile\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/lofiadm\fR [ \fIfile\fR | \fIdevice\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBlofiadm\fR administers \fBlofi\fR, the loopback file driver. \fBlofi\fR
+allows a file to be associated with a block device. That file can then be
+accessed through the block device. This is useful when the file contains an
+image of some filesystem (such as a floppy or \fBCD-ROM\fR image), because the
+block device can then be used with the normal system utilities for mounting,
+checking or repairing filesystems. See \fBfsck\fR(1M) and \fBmount\fR(1M).
+.sp
+.LP
+Use \fBlofiadm\fR to add a file as a loopback device, remove such an
+association, or print information about the current associations.
+.sp
+.LP
+Encryption and compression options are mutually exclusive on the command line.
+Further, an encrypted file cannot be compressed later, nor can a compressed
+file be encrypted later.
+.sp
+.LP
+The \fBlofi\fR driver is not available and will not work inside a zone.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIfile\fR [\fIdevice\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Add \fIfile\fR as a block device.
+.sp
+If \fIdevice\fR is not specified, an available device is picked.
+.sp
+If \fIdevice\fR is specified, \fBlofiadm\fR attempts to assign it to
+\fIfile\fR. \fIdevice\fR must be available or \fBlofiadm\fR will fail. The
+ability to specify a device is provided for use in scripts that wish to
+reestablish a particular set of associations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR {\fIgzip\fR | \fIgzip-N\fR | \fIlzma\fR}\fR
+.ad
+.sp .6
+.RS 4n
+Compress the file with the specified compression algorithm.
+.sp
+The \fBgzip\fR compression algorithm uses the same compression as the
+open-source \fBgzip\fR command. You can specify the \fBgzip\fR level by using
+the value \fBgzip-\fR\fIN\fR where \fIN\fR is 6 (fast) or 9 (best compression
+ratio). Currently, \fBgzip\fR, without a number, is equivalent to \fBgzip-6\fR
+(which is also the default for the \fBgzip\fR command).
+.sp
+\fIlzma\fR stands for the LZMA (Lempel-Ziv-Markov) compression algorithm.
+.sp
+Note that you cannot write to a compressed file, nor can you mount a compressed
+file read/write.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIfile\fR | \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove an association by \fIfile\fR or \fIdevice\fR name, if the associated
+block device is not busy, and deallocates the block device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsegment_size\fR\fR
+.ad
+.sp .6
+.RS 4n
+The segment size to use to divide the file being compressed. \fIsegment_size\fR
+can be an integer multiple of 512.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uncompress a compressed file.
+.RE
+
+.sp
+.LP
+The following options are used when the file is encrypted:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcrypto_algorithm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select the encryption algorithm. The algorithm must be specified when
+encryption is enabled because the algorithm is not stored in the disk image.
+.sp
+If none of \fB-e\fR, \fB-k\fR, or \fB-T\fR is specified, \fBlofiadm\fR prompts
+for a passphrase, with a minimum length of eight characters, to be entered .
+The passphrase is used to derive a symmetric encryption key using PKCS#5 PBKD2.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIraw_key_file\fR | \fIwrapped_key_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path to raw or wrapped symmetric encryption key. If a PKCS#11 object is also
+given with the \fB-T\fR option, then the key is wrapped by that object. If
+\fB-T\fR is not specified, the key is used raw.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fItoken_key\fR\fR
+.ad
+.sp .6
+.RS 4n
+The key in a PKCS#11 token to use for the encryption or for unwrapping the key
+file.
+.sp
+If \fB-k\fR is also specified, \fB-T\fR identifies the unwrapping key, which
+must be an RSA private key.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate an ephemeral symmetric encryption key.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcrypto_algorithm\fR\fR
+.ad
+.sp .6
+.RS 4n
+One of: \fBaes-128-cbc\fR, \fBaes-192-cbc\fR, \fBaes-256-cbc\fR,
+\fBdes3-cbc\fR, \fBblowfish-cbc\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the file name associated with the block device \fIdevice\fR.
+.sp
+Without arguments, print a list of the current associations. Filenames must be
+valid absolute pathnames.
+.sp
+When a file is added, it is opened for reading or writing by root. Any
+restrictions apply (such as restricted root access over \fBNFS\fR). The file is
+held open until the association is removed. It is not actually accessed until
+the block device is used, so it will never be written to if the block device is
+only opened read-only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the block device associated with \fIfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw_key_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path to a file of the appropriate length, in bits, to use as a raw symmetric
+encryption key.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItoken_key\fR\fR
+.ad
+.sp .6
+.RS 4n
+PKCS#11 token object in the format:
+.sp
+.in +2
+.nf
+\fItoken_name\fR:\fImanufacturer_id\fR:\fIserial_number\fR:\fIkey_label\fR
+.fi
+.in -2
+.sp
+
+All but the key label are optional and can be empty. For example, to specify a
+token object with only its key label \fBMylofiKey\fR, use:
+.sp
+.in +2
+.nf
+-T :::MylofiKey
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIwrapped_key_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path to file containing a symmetric encryption key wrapped by the RSA private
+key specified by \fB-T\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRMounting an Existing CD-ROM Image
+.sp
+.LP
+You should ensure that Solaris understands the image before creating the
+\fBCD\fR. \fBlofi\fR allows you to mount the image and see if it works.
+
+.sp
+.LP
+This example mounts an existing \fBCD-ROM\fR image (\fBsparc.iso\fR), of the
+\fBRed Hat 6.0 CD\fR which was downloaded from the Internet. It was created
+with the \fBmkisofs\fR utility from the Internet.
+
+.sp
+.LP
+Use \fBlofiadm\fR to attach a block device to it:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -a /home/mike_s/RH6.0/sparc.iso\fR
+/dev/lofi/1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBlofiadm\fR picks the device and prints the device name to the standard
+output. You can run \fBlofiadm\fR again by issuing the following command:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm\fR
+Block Device File Options
+/dev/lofi/1 /home/mike_s/RH6.0/sparc.iso -
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Or, you can give it one name and ask for the other, by issuing the following
+command:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm /dev/lofi/1\fR
+/home/mike_s/RH6.0/sparc.iso
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Use the \fBmount\fR command to mount the image:
+
+.sp
+.in +2
+.nf
+# \fBmount -F hsfs -o ro /dev/lofi/1 /mnt\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Check to ensure that Solaris understands the image:
+
+.sp
+.in +2
+.nf
+# \fBdf -k /mnt\fR
+Filesystem kbytes used avail capacity Mounted on
+/dev/lofi/1 512418 512418 0 100% /mnt
+# \fBls /mnt\fR
+\&./ RedHat/ doc/ ls-lR rr_moved/
+\&../ TRANS.TBL dosutils/ ls-lR.gz sbin@
+\&.buildlog bin@ etc@ misc/ tmp/
+COPYING boot/ images/ mnt/ usr@
+README boot.cat* kernels/ modules/
+RPM-PGP-KEY dev@ lib@ proc/
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Solaris can mount the CD-ROM image, and understand the filenames. The image was
+created properly, and you can now create the \fBCD-ROM\fR with confidence.
+
+.sp
+.LP
+As a final step, unmount and detach the images:
+
+.sp
+.in +2
+.nf
+# \fBumount /mnt\fR
+# \fBlofiadm -d /dev/lofi/1\fR
+# \fBlofiadm\fR
+Block Device File Options
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRMounting a Floppy Image
+.sp
+.LP
+This is similar to the first example.
+
+.sp
+.LP
+Using \fBlofi\fR to help you mount files that contain floppy images is helpful
+if a floppy disk contains a file that you need, but the machine which you are
+on does not have a floppy drive. It is also helpful if you do not want to take
+the time to use the \fBdd\fR command to copy the image to a floppy.
+
+.sp
+.LP
+This is an example of getting to \fBMDB\fR floppy for Solaris on an x86
+platform:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -a /export/s28/MDB_s28x_wos/latest/boot.3\fR
+/dev/lofi/1
+# \fBmount -F pcfs /dev/lofi/1 /mnt\fR
+# \fBls /mnt\fR
+\&./ COMMENT.BAT* RC.D/ SOLARIS.MAP*
+\&../ IDENT* REPLACE.BAT* X/
+APPEND.BAT* MAKEDIR.BAT* SOLARIS/
+# \fBumount /mnt\fR
+# \fBlofiadm -d /export/s28/MDB_s28x_wos/latest/boot.3\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRMaking a \fBUFS\fR Filesystem on a File
+.sp
+.LP
+Making a \fBUFS\fR filesystem on a file can be useful, particularly if a test
+suite requires a scratch filesystem. It can be painful (or annoying) to have to
+repartition a disk just for the test suite, but you do not have to. You can
+\fBnewfs\fR a file with \fBlofi\fR
+
+.sp
+.LP
+Create the file:
+
+.sp
+.in +2
+.nf
+# \fBmkfile 35m /export/home/test\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Attach it to a block device. You also get the character device that \fBnewfs\fR
+requires, so \fBnewfs\fR that:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -a /export/home/test\fR
+/dev/lofi/1
+# \fBnewfs /dev/rlofi/1\fR
+newfs: construct a new file system /dev/rlofi/1: (y/n)? \fBy\fR
+/dev/rlofi/1: 71638 sectors in 119 cylinders of 1 tracks, 602 sectors
+ 35.0MB in 8 cyl groups (16 c/g, 4.70MB/g, 2240 i/g)
+super-block backups (for fsck -F ufs -o b=#) at:
+ 32, 9664, 19296, 28928, 38560, 48192, 57824, 67456,
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that \fBufs\fR might not be able to use the entire file. Mount and use the
+filesystem:
+
+.sp
+.in +2
+.nf
+# \fBmount /dev/lofi/1 /mnt\fR
+# \fBdf -k /mnt\fR
+Filesystem kbytes used avail capacity Mounted on
+/dev/lofi/1 33455 9 30101 1% /mnt
+# \fBls /mnt\fR
+\&./ ../ lost+found/
+# \fBumount /mnt\fR
+# \fBlofiadm -d /dev/lofi/1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRCreating a PC (FAT) File System on a Unix File
+.sp
+.LP
+The following series of commands creates a \fBFAT\fR file system on a Unix
+file. The file is associated with a block device created by \fBlofiadm\fR.
+
+.sp
+.in +2
+.nf
+# \fBmkfile 10M /export/test/testfs\fR
+# \fBlofiadm -a /export/test testfs\fR
+/dev/lofi/1
+\fBNote use of\fR rlofi\fB, not\fR lofi\fB, in following command.\fR
+# \fBmkfs -F pcfs -o nofdisk,size=20480 /dev/rlofi/1\fR
+\fBConstruct a new FAT file system on /dev/rlofi/1: (y/n)?\fR y
+# \fBmount -F pcfs /dev/lofi/1 /mnt\fR
+# \fBcd /mnt\fR
+# \fBdf -k .\fR
+Filesystem kbytes used avail capacity Mounted on
+/dev/lofi/1 10142 0 10142 0% /mnt
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRCompressing an Existing CD-ROM Image
+.sp
+.LP
+The following example illustrates compressing an existing CD-ROM image
+(\fBsolaris.iso\fR), verifying that the image is compressed, and then
+uncompressing it.
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -C gzip /export/home/solaris.iso\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Use \fBlofiadm\fR to attach a block device to it:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -a /export/home/solaris.iso\fR
+ /dev/lofi/1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Check if the mapped image is compressed:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm\fR
+Block Device File Options
+/dev/lofi/1 /export/home/solaris.iso Compressed(gzip)
+/dev/lofi/2 /export/home/regular.iso -
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Unmap the compressed image and uncompress it:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -d /dev/lofi/1\fR
+# \fBlofiadm -U /export/home/solaris.iso\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRCreating an Encrypted UFS File System on a File
+.sp
+.LP
+This example is similar to the example of making a UFS filesystem on a file,
+above.
+
+.sp
+.LP
+Create the file:
+
+.sp
+.in +2
+.nf
+# \fBmkfile 35m /export/home/test\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Attach the file to a block device and specify that the file image is encrypted.
+As a result of this command, you obtain the character device, which is
+subsequently used by \fBnewfs\fR:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -c aes-256-cbc -a /export/home/secrets\fR
+Enter passphrase: \fBMy-M0th3r;l0v3s_m3+4lw4ys!\fR (\fBnot echoed\fR)
+Re-enter passphrase: \fBMy-M0th3r;l0v3s_m3+4lw4ys!\fR (\fBnot echoed\fR)
+/dev/lofi/1
+
+# \fBnewfs /dev/rlofi/1\fR
+newfs: construct a new file system /dev/rlofi/1: (y/n)? \fBy\fR
+/dev/rlofi/1: 71638 sectors in 119 cylinders of 1 tracks, 602 sectors
+ 35.0MB in 8 cyl groups (16 c/g, 4.70MB/g, 2240 i/g)
+super-block backups (for fsck -F ufs -o b=#) at:
+32, 9664, 19296, 28928, 38560, 48192, 57824, 67456,
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The mapped file system shows that encryption is enabled:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm\fR
+Block Device File Options
+/dev/lofi/1 /export/home/secrets Encrypted
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Mount and use the filesystem:
+
+.sp
+.in +2
+.nf
+# \fBmount /dev/lofi/1 /mnt\fR
+# \fBcp moms_secret_*_recipe /mnt\fR
+# \fBls /mnt\fR
+\&./ moms_secret_cookie_recipe moms_secret_soup_recipe
+\&../ moms_secret_fudge_recipe moms_secret_stuffing_recipe
+lost+found/ moms_secret_meatloaf_recipe moms_secret_waffle_recipe
+# \fBumount /mnt\fR
+# \fBlofiadm -d /dev/lofi/1\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Subsequent attempts to map the filesystem with the wrong key or the wrong
+encryption algorithm will fail:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -c blowfish-cbc -a /export/home/secrets\fR
+Enter passphrase: \fBmommy\fR (\fInot echoed\fR)
+Re-enter passphrase: \fBmommy\fR (\fInot echoed\fR)
+lofiadm: could not map file /root/lofi: Invalid argument
+# \fBlofiadm\fR
+Block Device File Options
+#
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Attempts to map the filesystem without encryption will succeed, however
+attempts to mount and use the filesystem will fail:
+
+.sp
+.in +2
+.nf
+# \fBlofiadm -a /export/home/secrets\fR
+/dev/lofi/1
+# \fBlofiadm\fR
+Block Device File Options
+/dev/lofi/1 /export/home/secrets -
+# \fBmount /dev/lofi/1 /mnt\fR
+mount: /dev/lofi/1 is not this fstype
+#
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBlofiadm\fR: \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR
+and \fBNLSPATH\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBmount\fR(1M), \fBmount_ufs\fR(1M), \fBnewfs\fR(1M),
+\fBattributes\fR(5), \fBlofi\fR(7D), \fBlofs\fR(7FS)
+.SH NOTES
+.sp
+.LP
+Just as you would not directly access a disk device that has mounted file
+systems, you should not access a file associated with a block device except
+through the \fBlofi\fR file driver. It might also be appropriate to ensure that
+the file has appropriate permissions to prevent such access.
+.sp
+.LP
+The abilities of \fBlofiadm\fR, and who can use them, are controlled by the
+permissions of \fB/dev/lofictl\fR. Read-access allows query operations, such as
+listing all the associations. Write-access is required to do any state-changing
+operations, like adding an association. As shipped, \fB/dev/lofictl\fR is owned
+by \fBroot\fR, in group \fBsys\fR, and mode \fB0644\fR, so all users can do
+query operations but only root can change anything. The administrator can give
+users write-access, allowing them to add or delete associations, but that is
+very likely a security hole and should probably only be given to a trusted
+group.
+.sp
+.LP
+When mounting a filesystem image, take care to use appropriate mount options.
+In particular, the \fBnosuid\fR mount option might be appropriate for \fBUFS\fR
+images whose origin is unknown. Also, some options might not be useful or
+appropriate, like \fBlogging\fR or \fBforcedirectio\fR for \fBUFS\fR. For
+compatibility purposes, a raw device is also exported along with the block
+device. For example, \fBnewfs\fR(1M) requires one.
+.sp
+.LP
+The output of \fBlofiadm\fR (without arguments) might change in future
+releases.
diff --git a/usr/src/man/man1m/logadm.1m b/usr/src/man/man1m/logadm.1m
new file mode 100644
index 0000000000..09da5d44c8
--- /dev/null
+++ b/usr/src/man/man1m/logadm.1m
@@ -0,0 +1,974 @@
+'\" te
+.\" Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH logadm 1M "23 May 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+logadm \- manage endlessly growing log files
+.SH SYNOPSIS
+.LP
+.nf
+\fBlogadm\fR
+.fi
+
+.LP
+.nf
+\fBlogadm\fR [\fB-\fIoptions\fR\fR] \fIlogname\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBlogadm\fR is a general log rotation tool that is suitable for running from
+\fBcron\fR(1M).
+.sp
+.LP
+Without arguments, \fBlogadm\fR reads the \fB/etc/logadm.conf\fR file, and for
+every entry found in that file checks the corresponding log file to see if it
+should be rotated. Typically this check is done each morning by an entry in the
+root's \fBcrontab\fR.
+.sp
+.LP
+If the \fIlogname\fR argument is specified, \fBlogadm\fR renames the
+corresponding log file by adding a suffix so that the most recent log file ends
+with \fB\&.0\fR (that is, \fIlogfile\fR\fB\&.0\fR), the next most recent ends
+with \fB\&.1\fR (that is, \fIlogfile\fR\fB\&.1\fR), and so forth. By default,
+ten versions of old log files are kept (that is, \fIlogfile\fR\fB\&.0\fR
+through \fIlogfile\fR\fB\&.9\fR). At the point when what would be the eleventh
+file is logged, \fBlogadm\fR automatically deletes the oldest version to keep
+the count of files at ten.
+.sp
+.LP
+\fBlogadm\fR takes a number of \fIoptions\fR. You can specify these options on
+the command line or in the \fB/etc/logadm.conf\fR file. The \fBlogadm\fR
+command searches \fB/etc/logadm.conf\fR for lines of the form \fIlogname\fR
+\fIoptions\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlogname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies an entry in \fB/etc/logadm.conf\fR. This can be a name or the
+pathname of the log file. If you specify a log file, rather than a name, for
+this field, it must be a fully qualified pathname.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIoptions\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies command line options exactly as they would be entered on the command
+line. This allows commonly used log rotation policies to be stored in the
+\fB/etc/logadm.conf\fR file. See \fBEXAMPLES\fR.
+.sp
+If \fIoptions\fR are specified both in \fB/etc/logadm.conf\fR and on the
+command line, those in the \fB/etc/logadm.conf\fR file are applied first.
+Therefore, the command line options override those in \fB/etc/logadm.conf\fR.
+.sp
+Log file names specified in \fB/etc/logadm.conf\fR may contain filename
+substitution characters such as \fB*\fR and \fB?\fR, that are supported by
+\fBcsh\fR(1).
+.RE
+
+.sp
+.LP
+Two options control when a log file is rotated. They are: \fB-s\fR size
+\fB-p\fR period.
+.sp
+.LP
+When using more than one of these options at a time, there is an implied
+\fBand\fR between them. This means that all conditions must be met before the
+log is rotated.
+.sp
+.LP
+If neither of these two options are specified, the default conditions for
+rotating a log file are: \fB\fR\fB-s\fR \fB1b\fR \fB-p\fR \fB1w\fR, which means
+the log file is only rotated if the size is non-zero and if at least 1 week has
+passed since the last time it was rotated.
+.sp
+.LP
+By specifying \fB\fR\fB-p\fR \fBnever\fR as a rotation condition, any other
+rotation conditions are ignored and \fBlogadm\fR moves on to the expiration of
+old log files. By specifying \fB\fR\fB-p\fR \fBnow\fR as a rotation condition,
+a log rotation is forced.
+.sp
+.LP
+Unless specified by the \fB-o\fR, \fB-g\fR, or \fB-m\fR options, \fBlogadm\fR
+replaces the log file (after renaming it) by creating an empty file whose
+owner, group ID, and permissions match the original file.
+.sp
+.LP
+Three options control when old log files are expired: \fB-A\fR age \fB-C\fR
+count \fB-S\fR size. These options expire the oldest log files until a
+particular condition or conditions are met. For example, the combination
+\fB\fR\fB-C\fR \fB5\fR and the \fB\fR\fB-S\fR \fB10m\fR options expires old log
+files until there are no more than 5 of the \fBand\fR their combined disk usage
+is no more than 10 megabytes. If none of these options are specified, the
+default expiration is \fB\fR\fB-C\fR \fB10\fR which keeps ten old log files. If
+no files are to be expired, use \fB\fR\fB-C\fR \fB0\fR to prevent expiration by
+default.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIpost_command\fR\fR
+.ad
+.sp .6
+.RS 4n
+Execute the \fIpost_command\fR after renaming the log file. \fIpost_command\fR
+is passed to \fBsh\fR \fB-c\fR.
+.sp
+Specify \fIpost_command\fR as a valid shell command. Use quotes to protect
+spaces or shell metacharacters in \fIpost_command\fR.
+.sp
+This option can be used to restart a daemon that is writing to the file. When
+rotating multiple logs with one \fBlogadm\fR command, \fIpost_command\fR is
+executed only once after all the logs are rotated, not once per rotated log.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIage\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete any versions that have not been modified for the amount of time
+specified by \fIage\fR.
+.sp
+Specify \fIage\fR as a number followed by an \fBh\fR (hours), \fBd\fR (days),
+\fBw\fR(weeks), \fBm\fR (months), or \fBy\fR (years).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIpre_command\fR\fR
+.ad
+.sp .6
+.RS 4n
+Execute \fIpre_command\fR before renaming the log file. \fIpre_command\fR is
+passed to \fBsh\fR \fB-c\fR.
+.sp
+Specify \fIpre_command\fR as a valid shell command. Use quotes to protect
+spaces or shell metacharacters in the \fIpre_command\fR.
+.sp
+This option can be used to stop a daemon that is writing to the file. When
+rotating multiple logs with one \fBlogadm\fR command, \fIpre_command\fR is
+executed only once before all the logs are rotated, not once per rotated log.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Rotate the log file by copying it and truncating the original logfile to zero
+length, rather than renaming the file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the oldest versions until there are not more than \fIcount\fR files
+left.
+.sp
+If no expire options (\fB-A\fR, \fB-C\fR, or \fB-S\fR) are specified,
+\fB\fR\fB-C\fR \fB10\fR is the default. To prevent the default expire rule from
+being added automatically, specify \fB\fR\fB-C\fR \fB0\fR .
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fImail_addr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Send error messages by email to \fImail_addr\fR.
+.sp
+As \fBlogadm\fR is typically run from \fBcron\fR(1M), error messages are
+captured by \fBcron\fR and mailed to the owner of the \fBcrontab\fR.
+.sp
+This option is useful if you want the mail regarding error messages to go to
+another address instead. If no errors are encountered, no mail message is
+generated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR \fIcmd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Execute \fIcmd\fR to expire the file, rather than deleting the old log file to
+expire it.
+.sp
+\fIcmd\fR is passed it to \fBsh\fR \fB-c\fR. The file is considered expired
+after \fIcmd\fR completes. If the old log file is not removed or renamed by the
+\fIcmd\fR, \fBlogadm\fR considers it for expiration the next time that it runs
+on the specified log file. If present, the keyword \fB$file\fR is expanded in
+the specified \fIcmd\fRto the name of the file being expired.
+.sp
+This option is useful for tasks such as mailing old log files to
+administrators, or copying old log files to long term storage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIconf_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIconf_file\fR instead of \fB/etc/logadm.conf\fR.
+.sp
+This option allows non-root users to keep their own \fBlogadm\fR configuration
+files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a new empty file with the \fBID\fR specified by \fIgroup\fR, instead of
+preserving the group \fBID\fR of the log file.
+.sp
+Specify \fIgroup\fR by name or by numeric group \fBID\fR, as accepted by
+\fBchgrp\fR(1).
+.sp
+This option requires the ability to change file group ownership using the
+\fBchgrp\fR(1) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print a help message that describes \fBlogadm\fR's options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use local time rather than the Coordinated Universal Time (UTC) when naming
+rotated log files (see the discussion of percent sequences in the templates
+supplied with the \fB-t\fR option).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a new empty file with the mode specified by \fImode\fR, instead of
+preserving the mode of the log file.
+.sp
+Specify \fImode\fR in any form that is accepted by the \fBchmod\fR(1) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fIcmd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIcmd\fR to rename the log file. If the keyword \fB$file\fR is specified,
+it is expanded to the name of the log file. Similarly, the keyword \fB$nfile\fR
+is expanded to the new name of the log file. The \fB$nfile\fR keyword is only
+available with commands provided with the \fB-M\fR option. After the command
+completes, the log file is replaced by the rotate file. The default \fIcmd\fR
+is "\fB/bin/mv\fR \fB$file\fR\fB\fR\fB$nfile\fR".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fI\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print the actions that the \fBlogadm\fR command will perform without actually
+performing them.
+.sp
+This option is useful for checking arguments before making any changes to the
+system.
+.sp
+It is important to remember, however, that since log rotating actions are only
+printed with this option, \fBlogadm\fR might not find files that need expiring,
+but if run without the \fB-n\fR \fBlogadm\fR might create a file that needs
+expiring by performing the log rotating actions. Therefore, if you see no files
+being expired with the \fB-n\fR option, files still might be expired without
+it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevent an error message if the specified logfile does not exist. Normally,
+\fBlogadm\fR produces an error message if the log file is not found. With
+\fB-N\fR, if the log file doesn't exist \fBlogadm\fR moves on to the expire
+rules (if any) and then to the next log file (if any), without creating the
+empty replacement log file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIowner\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create the new empty file with \fIowner\fR, instead of preserving the owner of
+the log file.
+.sp
+Specify \fIowner\fR in any form that is accepted by the \fBchown\fR(1) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIperiod\fR\fR
+.ad
+.sp .6
+.RS 4n
+Rotate a log file after the specified time period (\fIperiod\fR).
+.sp
+Specify \fIperiod\fR as a number followed by \fBd\fR for days, \fBh\fR for
+hours, \fBw\fR for weeks, \fBm\fR for months (30 days) or \fBy\fR for years.
+There are also two special values for period: \fBnow\fR and \fBnever\fR.
+"\fB\fR\fB-p\fR \fBnow\fR" forces log rotation. "\fB\fR\fB-p\fR \fBnever\fR"
+forces no log rotation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fItimestamp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used by \fBlogadm\fR to record the last time the log was rotated in
+\fB/etc/logadm.conf\fR.
+.sp
+This option uses \fItimestamp\fR to determine if the log rotation period has
+passed. The format of \fItimestamp\fR matches the format generated by
+\fBctime\fR(3C), with quotes around it to protect embedded spaces.
+\fItimestamp\fR is always recorded in the Coordinated Universal Time (UTC)
+timezone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove any entries corresponding to the specified \fIlogname\fR from the
+\fB/etc/logadm.conf\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIcmd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run the \fIcmd\fR when an old log file is created by a log rotation. If the
+keyword \fB$file\fR is embedded in the specified command, it is expanded to the
+name of the old log file just created by log rotation.
+.sp
+This option is useful for processing log file contents after rotating the log.
+\fIcmd\fR is executed by passing it to \fBsh\fR \fB-c\fR. When rotating
+multiple logs with one logadm command, the command supplied with \fB-R\fR is
+executed once every time a log is rotated. This is useful for post-processing a
+log file (that is, sorting it, removing uninteresting lines, etc.). The
+\fB-a\fR option is a better choice for restarting daemons after log rotation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Rotate the log file only if its size is greater than or equal to \fIsize\fR.
+.sp
+Specify \fIsize\fR as a number followed by the letter \fBb\fR for bytes,
+\fBk\fR for kilobytes, \fBm\fR for megabytes, or \fBg\fR for gigabytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the oldest versions until the total disk space used by the old log files
+is less than the specified size.
+.sp
+Specify \fIsize\fR as a number followed by the letter \fBb\fR for bytes,
+\fBk\fR for kilobytes, \fBm\fR for megabytes, or \fBg\fR for gigabytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItemplate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the template to use when renaming log files.
+.sp
+\fItemplate\fR can be a simple name, such as \fB/var/adm/oldfile\fR, or it can
+contain special keywords which are expanded by \fBlogadm\fR and are in the form
+\fB$\fR\fIword\fR. Allowed sequences are:
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIbasename\fR\fR
+.ad
+.sp .6
+.RS 4n
+The log file name, without the directory name
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIdirname\fR\fR
+.ad
+.sp .6
+.RS 4n
+The directory of the file to be rotated
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expands to the output of \fBdomainname\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+The full path name of the file to be rotated
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIisa\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expands to the output of \fBuname\fR \fB-p\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fImachine\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expands to the output of \fBuname\fR \fB-m\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+The version number, \fB0\fR is most recent, \fB1\fR is next most recent, and so
+forth
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIN\fR\fR
+.ad
+.sp .6
+.RS 4n
+The same as $\fIn\fR, but starts at \fB1\fR instead of zero
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fInodename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expands to the output of \fBuname\fR \fB-n\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIplatform\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expands to the output of \fBuname\fR \fB-i\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIrelease\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expands to the output of \fBuname\fR \fB-r\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIsecs\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of seconds since \fB00:00:00 UTC, January 1,1970\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIzonename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expands to the output of \fBzonename\fR(1).
+.RE
+
+To actually have the dollar sign character in the file name, use \fB$$\fR. Any
+percent sequences allowed by \fBstrftime\fR(3C) are also allowed, for example,
+\fB%d\fR expands to the day of the month. To actually have a percent sign
+character in the file name, use \fB%%\fR. Both dollar-sign keywords and percent
+sequences can appear anywhere in the template. If the template results in a
+pathname with non-existent directories, they are created as necessary when
+rotating the log file.
+.sp
+If no \fB-t\fR option is specified, the default template is \fB$file.$n\fR.
+Actual \fBrotation\fR of log files, where each version is shifted up until it
+expires is done using the \fB$n\fR keyword. If the template does not contain
+the \fB$n\fR keyword, the log file is simply renamed to the new name and then
+the expire rules, if any, are applied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIpattern\fR\fR
+.ad
+.sp .6
+.RS 4n
+Normally \fBlogadm\fR looks for a list of old log files by turning the template
+(specified with the \fB-t\fR option) into a pattern and finding existing files
+whose names match that pattern. The \fB-T\fR option causes the given pattern to
+be used instead.
+.sp
+This option is useful if another program fiddles with the old log file names,
+like a \fBcron\fR job to compress them over time. The pattern is in the form of
+a pathname with special characters such as \fB*\fR and \fB?\fR as supported by
+\fBcsh\fR(1) filename substitution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print information about the actions being executed in verbose mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Validate the configuration file.
+.sp
+This option validates that an entry for the specified \fIlogname\fR exists in
+the \fB/etc/logadm.conf\fR file and is syntactically correct. If \fIlogname\fR
+is not specified, all entries in the configuration file are validated. If a
+\fBlogname\fR argument is specified, the command validates the syntax of that
+entry. If the entry is found, it is printed and the exit value of the command
+is true. Otherwise the exit value is false.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fIentryname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write an entry into the config file (that is, \fB/etc/logadm.conf\fR) that
+corresponds to the current command line arguments. If an entry already existed
+for the specified \fIentryname\fR, it is removed first. This is the preferred
+method for updating \fB/etc/logadm.conf\fR, because it prevents syntax errors.
+The \fIentryname\fR is an argument to an invocation of \fBlogadm\fR.
+\fIentryname\fR might be chosen as something easy to remember or it can be the
+pathname of the log file. If a pathname, rather than a name is used, it must be
+a fully qualified pathname.
+.sp
+If no log file name is provided on a \fBlogadm\fR command line, the entry name
+is assumed to be the same as the log file name. For example, the following two
+lines achieve the same thing, keeping two copies of rotated log files:
+.sp
+.in +2
+.nf
+% logadm -C2 -w mylog /my/really/long/log/file/name
+% logadm -C2 -w /my/really/long/log/file/name
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Compress old log files after all other commands have been executed. \fIcount\fR
+of the most recent log files are left uncompressed, therefore making the
+\fIcount\fR most recent files easier to peruse. Use \fIcount\fR of zero to
+compress all old logs.
+.sp
+The compression is done with \fBgzip\fR(1) and the resulting log file has the
+suffix of \fB\&.gz\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlogname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the name of the entry in \fB/etc/logadm.conf\fR. If the log file
+name is specified in the \fIlogname\fR field, it is assumed that \fIlogname\fR
+is the same as the actual log file name.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRotating a File and Keeping Previous Versions
+.sp
+.LP
+The following example rotates the \fB/var/adm/exacct/proc\fR file, keeping ten
+previous versions in \fB/var/adm/exacct/proc.0\fR through
+\fB/var/adm/exacct/proc.9\fR.
+
+.sp
+.LP
+Tell \fBlogadm\fR to copy the file and truncate it.
+
+.sp
+.in +2
+.nf
+ % logadm -c /var/adm/exacct/proc
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRotating syslog
+.sp
+.LP
+The following example rotates \fBsyslog\fR and keeps eight log files. Old log
+files are put in the directory \fB/var/oldlogs\fR instead of \fB/var/log\fR:
+
+.sp
+.in +2
+.nf
+% logadm -C8 -t'/var/oldlogs/syslog.$n' /var/log/syslog
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRotating /var/adm/sulog and Expiring Based on Age
+.sp
+.LP
+The following entry in the \fB/etc/logadm.conf\fR file rotates the
+\fB/var/adm/sulog\fR file and expires any copies older than 30 days.
+
+.sp
+.in +2
+.nf
+/var/adm/sulog -A 30d
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRRotating Files and Expiring Based on Disk Usage
+.sp
+.LP
+The following entry in the \fB/etc/logadm.conf\fR file rotates the
+\fB/var/adm/sulog\fR file and expires old log files when more than 100
+megabytes are used by the sum of all the rotated log files.
+
+.sp
+.in +2
+.nf
+/var/adm/sulog -S 100m
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRCreating an Entry that Stores the Logfile Name
+.sp
+.LP
+This example creates an entry storing the log file name and the fact that we
+want to keep 20 copies in \fB/etc/logadm.conf\fR, but the \fB\fR\fB-p\fR
+\fBnever\fR means the entry is ignored by the normal \fBlogadm\fR run from
+root's crontab every morning.
+
+.sp
+.in +2
+.nf
+% logadm -w locallog /usr/local/logfile -C20 -p never
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Use the following entry on the command line to override the \fB\fR\fB-p\fR
+\fBnever\fR option:
+
+.sp
+.in +2
+.nf
+ % logadm -p now locallog
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRRotating the apache Error and Access Logs
+.sp
+.LP
+The following example rotates the apache error and access logs monthly to
+filenames based on current year and month. It keeps the 24 most recent copies
+and tells apache to restart after renaming the logs.
+
+.sp
+.LP
+This command is run once, and since the \fB-w\fR option is specified, an entry
+is made in \fB/etc/logadm.conf\fR so the apache logs are rotated from now on.
+
+.sp
+.in +2
+.nf
+ % logadm -w apache -p 1m -C 24\e
+ -t '/var/apache/old-logs/$basename.%Y-%m'\e
+ -a '/usr/apache/bin/apachectl graceful'\e
+ '/var/apache/logs/*{access,error}_log'
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This example also illustrates that the entry name supplied with the \fB-w\fR
+option doesn't have to match the log file name. In this example, the entry name
+is \fBapache\fR and once the line has been run, the entry in
+\fB/etc/logadm.conf\fR can be forced to run by executing the following command:
+
+.sp
+.in +2
+.nf
+% logadm -p now apache
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Because the expression matching the apache log file names was enclosed in
+quotes, the expression is stored in \fB/etc/logadm.conf\fR, rather than the
+list of files that it expands to. This means that each time \fBlogadm\fR runs
+from \fBcron\fR it expands that expression and checks all the log files in the
+resulting list to see if they need rotating.
+
+.sp
+.LP
+The following command is an example without the quotes around the log name
+expression. The shell expands the last argument into a list of log files that
+exist at the time the command is entered, and writes an entry to
+\fB/etc/logadm.conf\fR that rotates the files.
+
+.sp
+.in +2
+.nf
+logadm -w apache /var/apache/logs/*_log
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/logadm.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+configuration file for \fBlogadm\fR command
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchgrp\fR(1), \fBchmod\fR(1), \fBchown\fR(1), \fBcsh\fR(1), \fBgzip\fR(1),
+\fBcron\fR(1M), \fBctime\fR(3C), \fBstrftime\fR(3C), \fBlogadm.conf\fR(4),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+When \fBlogadm\fR applies expire conditions (supplied by the \fB-A\fR,
+\fB-C\fR, and \fB-S\fR options), it deletes files, the oldest first, until the
+conditions are satisfied. If the template used for naming the old logs
+contained \fB$n\fR or \fB$N\fR, \fBlogadm\fR picks the highest value of
+\fB$n\fR or \fB$N\fR found in the old log file names first. If the template
+used is something else, \fBlogadm\fR uses the modification time to determine
+which files to expire first. This may not be the expected behavior if an old
+log file has been modified since it was rotated.
+.sp
+.LP
+Depending on log file sizes and number of log files, log file rotations can be
+very time-consuming.
+.sp
+.LP
+By default, \fBlogadm\fR works in \fBGMT\fR. Therefore, all entries written to
+the \fB/etc/logadm.conf\fR file (see \fBlogadm.conf\fR(4)) will have a
+\fBGMT\fR timestamp. Users can use the \fB-l\fR option to set \fBlogadm\fR to
+local time.
diff --git a/usr/src/man/man1m/logins.1m b/usr/src/man/man1m/logins.1m
new file mode 100644
index 0000000000..c54b269b5d
--- /dev/null
+++ b/usr/src/man/man1m/logins.1m
@@ -0,0 +1,235 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH logins 1M "6 Sep 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+logins \- list user and system login information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/logins\fR [\fB-admopstux\fR] [\fB-g\fR \fIgroup...\fR]
+ [\fB-l\fR \fIlogin_name...\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+This command displays information on user and system logins known to the
+system. Contents of the output is controlled by the command options and can
+include the following: user or system login, user id number, \fBpasswd\fR
+account field value (user name or other information), primary group name,
+primary group id, multiple group names, multiple group ids, home directory,
+login shell, and four password aging parameters. The default information is the
+following: login id, user id, primary group name, primary group id and the
+account field value. Output is sorted by user id, system logins, followed by
+user logins.
+.SH OPTIONS
+.sp
+.LP
+Options may be used together. If so, any login that matches any criteria are
+displayed.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 20n
+.rt
+Add two password expiration fields to the display. The fields show how many
+days a password can remain unused before it automatically becomes inactive, and
+the date that the password expires.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 20n
+.rt
+Selects logins with duplicate uids.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-g\fR \fIgroup\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all users belonging to \fBgroup\fR, sorted by login. Multiple groups
+can be specified as a comma-separated list. When the \fB-l\fR and \fB-g\fR
+options are combined, a user is only listed once, even if the user belongs to
+more than one of the selected groups.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR \fIlogin_name...\fR\fR
+.ad
+.RS 20n
+.rt
+Selects the requested login. Multiple logins can be specified as a
+comma-separated list. Depending on the nameservice lookup types set in
+\fB/etc/nsswitch.conf\fR, the information can come from the \fB/etc/passwd\fR
+and \fB/etc/shadow\fR files and other nameservices. When the \fB-l\fR and
+\fB-g\fR options are combined, a user is only listed once, even if the user
+belongs to more than one of the selected groups.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 20n
+.rt
+Displays multiple group membership information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 20n
+.rt
+Formats output into one line of colon-separated fields.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 20n
+.rt
+Selects logins with no passwords.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all system logins.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 20n
+.rt
+Sorts output by login instead of by uid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 20n
+.rt
+Selects all user logins.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 20n
+.rt
+Prints an extended set of information about each selected user. The extended
+information includes home directory, login shell and password aging
+information, each displayed on a separate line. The password information
+currently consists of password status:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNP\fR\fR
+.ad
+.RS 6n
+.rt
+Account has no password
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLK\fR\fR
+.ad
+.RS 6n
+.rt
+Account is locked for \fBUNIX\fR authentication
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNL\fR\fR
+.ad
+.RS 6n
+.rt
+Account is a no login account
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPS\fR\fR
+.ad
+.RS 6n
+.rt
+Account probably has a valid password
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUN\fR\fR
+.ad
+.RS 6n
+.rt
+Account password status is unknown. That is, it is not a recognizable hashed
+password or any of the above entries. See \fBcrypt\fR(3C) for valid password
+hashes.
+.RE
+
+If the login is passworded, status is followed by the date the password was
+last changed, the number of days required between changes, and the number of
+days allowed before a change is required. The password aging information shows
+the time interval that the user receives a password expiration warning message
+(when logging on) before the password expires.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpasswd\fR(1), \fBcrypt\fR(3C), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/lpadmin.1m b/usr/src/man/man1m/lpadmin.1m
new file mode 100644
index 0000000000..cf4072a5e6
--- /dev/null
+++ b/usr/src/man/man1m/lpadmin.1m
@@ -0,0 +1,1478 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpadmin 1M "24 May 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpadmin \- configure the LP print service
+.SH SYNOPSIS
+.LP
+.nf
+\fBlpadmin\fR \fB-p\fR \fIprinter\fR {\fIoptions\fR}
+.fi
+
+.LP
+.nf
+\fBlpadmin\fR \fB-x\fR \fIdest\fR
+.fi
+
+.LP
+.nf
+\fBlpadmin\fR \fB-d\fR [\fIdest\fR]
+.fi
+
+.LP
+.nf
+\fBlpadmin\fR \fB-S\fR \fIprint-wheel\fR \fB-T\fR [\fB-A\fR \fIalert-type\fR] [\fB-W\fR \fIminutes\fR]
+ [\fB-Q\fR \fIrequests\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBlpadmin\fR configures the LP print service by defining printers and devices.
+It is used to add and change printers, to remove printers from service, to set
+or change the system default destination, to define alerts for printer faults,
+and to mount print wheels.
+.SH OPTIONS
+.sp
+.LP
+The \fBlpadmin\fR command has options for:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Adding or changing a printer
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Removing a printer destination
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Setting or changing the system default destination
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Setting an alert for a print wheel
+.RE
+.sp
+.LP
+The options for each of the above categories are specified in the following
+subsections.
+.sp
+.LP
+Several options support the use of lists. A list might contain, for example,
+user names, printers, printer forms, or content types. A list of multiple items
+can have the form of either comma-separated names or have the entire list
+enclosed by double quotes with a space between each name. For example, both
+lists below are acceptable:
+.sp
+.in +2
+.nf
+one,two,three
+"one two three"
+.fi
+.in -2
+
+.SS "Adding or Changing a Printer"
+.sp
+.LP
+The first form of the \fBlpadmin\fR command (\fBlpadmin\fR \fB-p\fR
+\fIprinter\fR {\fIoptions\fR}) configures a new printer or changes the
+configuration of an existing printer. It also starts the print scheduler.
+.sp
+.LP
+When creating a new printer, one of three options (\fB-v\fR, \fB-U\fR, or
+\fB-s\fR) must be supplied. In addition, only one of the following can be
+supplied: \fB-e\fR, \fB-i\fR, or \fB-m\fR; if none of these three options is
+supplied, the model standard is used. The \fB-h\fR and \fB-l\fR options are
+mutually exclusive. Printer and class names must be no longer than 14
+characters and must consist entirely of the characters \fBA\fR-\fBZ\fR,
+\fBa\fR-\fBz\fR, \fB0\fR-\fB9\fR, dash (\fB-\fR) and underscore (\fB_\fR). If
+\fB-s\fR is specified, the following options are invalid: \fB-A\fR, \fB-e\fR,
+\fB-F\fR, \fB-h\fR, \fB-i\fR, \fB-l\fR, \fB-M\fR, \fB-m\fR, \fB-o\fR, \fB-U\fR,
+\fB-v\fR, and \fB-W\fR.
+.sp
+.LP
+The following options can appear in any order.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIalert-type\fR [\fB-W\fR \fIminutes\fR]\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-A\fR option is used to define an alert that informs the administrator
+when a printer fault is detected, and periodically thereafter, until the
+printer fault is cleared by the administrator. The \fIalert-types\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmail\fR\fR
+.ad
+.RS 17n
+.rt
+Send the alert message using mail (see \fBmail\fR(1)) to the administrator.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwrite\fR\fR
+.ad
+.RS 17n
+.rt
+Write the message to the terminal on which the administrator is logged in. If
+the administrator is logged in on several terminals, one is chosen arbitrarily.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquiet\fR\fR
+.ad
+.RS 17n
+.rt
+Do not send messages for the current condition. An administrator can use this
+option to temporarily stop receiving further messages about a known problem.
+Once the fault has been cleared and printing resumes, messages are sent again
+when another fault occurs with the printer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshowfault\fR\fR
+.ad
+.RS 17n
+.rt
+Attempt to execute a fault handler on each system that has a print job in the
+queue. The fault handler is \fB/etc/lp/alerts/printer\fR. It is invoked with
+three parameters: \fIprinter_name\fR, \fBdate\fR, \fIfile_name\fR. The
+\fIfile_name\fR is the name of a file containing the fault message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone\fR\fR
+.ad
+.RS 17n
+.rt
+Do not send messages; any existing alert definition for the printer is removed.
+No alert is sent when the printer faults until a different alert-type (except
+\fBquiet\fR) is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIshell-command\fR\fR
+.ad
+.RS 17n
+.rt
+Run the \fIshell-command\fR each time the alert needs to be sent. The shell
+command should expect the message in standard input. If there are blank spaces
+embedded in the command, enclose the command in quotes. Notice that the
+\fBmail\fR and \fBwrite\fR values for this option are equivalent to the values
+\fBmail\fR \fIuser-name\fR and \fBwrite\fR \fIuser-name\fR respectively, where
+\fIuser-name\fR is the current name for the administrator. This is the login
+name of the person submitting this command unless he or she has used the
+\fBsu\fR command to change to another user ID. If the \fBsu\fR command has been
+used to change the user ID, then the \fIuser-name\fR for the new ID is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 17n
+.rt
+Display the type of the alert for the printer fault. No change is made to the
+alert.
+.RE
+
+When a fault occurs, the printing subsystem displays a message indicating that
+printing for a specified printer has stopped and the reason for the stoppage.
+The message also indicates that printing will restart in a few minutes and that
+you can enter an \fBenable\fR command if you want to restart sooner than that.
+.sp
+Following a fault that occurs in the middle of a print job, the job is
+reprinted from the beginning. An exception to this occurs when you enter a
+command, such as the one shown below, that changes the page list to be printed.
+.sp
+.in +2
+.nf
+% \fB\fR\fBlp\fR\fB \fR\fB-i\fR\fB \fIrequest-id\fR \fR\fB-P\fR\fB ...\fR
+.fi
+.in -2
+.sp
+
+For a given print request, the presence of multiple reasons for failure
+indicate multiple attempts at printing.
+.sp
+The \fBLP\fR print service can detect printer faults only through an adequate
+fast filter and only when the standard interface program or a suitable
+customized interface program is used. Furthermore, the level of recovery after
+a fault depends on the capabilities of the filter.
+.sp
+If, instead of a single printer, the keyword \fBall\fR is displayed in an
+alert, the alert applies to all printers.
+.sp
+If the \fB-W\fR option is not used to arrange fault alerting for \fIprinter\fR,
+the default procedure is to mail one message to the administrator of
+\fIprinter\fR per fault. This is equivalent to specifying \fB-W\fR \fBonce\fR
+or \fB-W\fR \fB0\fR. If \fIminutes\fR is a number greater than zero, an alert
+is sent at intervals specified by \fIminutes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insert \fIprinter\fR into the specified \fIclass\fR. \fIclass\fR is created if
+it does not already exist. This option requires the \fB-U\fR \fIdial-info\fR or
+\fB-v\fR \fIdevice\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIcomment\fR\fR
+.ad
+.sp .6
+.RS 4n
+Save this \fIcomment\fR for display whenever a user asks for a full description
+of \fIprinter\fR (see \fBlpstat\fR(1)). The LP print service does not interpret
+this comment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIprinter\fR\fR
+.ad
+.sp .6
+.RS 4n
+Copy the interface program of an existing \fIprinter\fR to be the interface
+program for \fIprinter\fR. (Options \fB-i\fR and \fB-m\fR must not be specified
+with this option.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fBallow\fR:\fIform-list\fR\fR
+.ad
+.br
+.na
+\fB\fB-f\fR \fBdeny\fR:\fIform-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or deny the forms in \fIform-list\fR to be printed on \fIprinter\fR. By
+default no forms are allowed on a new printer.
+.sp
+For each printer, the \fBLP\fR print service keeps two lists of forms: an
+``allow-list'' of forms that can be used with the printer, and a ``deny-list''
+of forms that cannot be used with the printer. With the \fB\fR\fB-f\fR\fB
+allow\fR option, the forms listed are added to the allow-list and removed from
+the deny-list. With the \fB-f\fR \fBdeny\fR option, the forms listed are added
+to the deny-list and removed from the allow-list.
+.sp
+If the allow-list is not empty, only the forms in the list can be used on the
+printer, regardless of the contents of the deny-list. If the allow-list is
+empty, but the deny-list is not, the forms in the deny-list cannot be used with
+the printer. All forms can be excluded from a printer by specifying \fB-f\fR
+\fBdeny:all\fR. All forms can be used on a printer (provided the printer can
+handle all the characteristics of each form) by specifying \fB-f\fR
+\fBallow:all\fR.
+.sp
+The \fBLP\fR print service uses this information as a set of guidelines for
+determining where a form can be mounted. Administrators, however, are not
+restricted from mounting a form on any printer. If mounting a form on a
+particular printer is in disagreement with the information in the allow-list or
+deny-list, the administrator is warned but the mount is accepted. Nonetheless,
+if a user attempts to issue a print or change request for a form and printer
+combination that is in disagreement with the information, the request is
+accepted only if the form is currently mounted on the printer. If the form is
+later unmounted before the request can print, the request is canceled and the
+user is notified by mail.
+.sp
+If the administrator tries to specify a form as acceptable for use on a printer
+that does not have the capabilities needed by the form, the command is
+rejected.
+.sp
+Notice the other use of \fB-f\fR, with the \fB-M\fR option, below.
+.sp
+The \fB-T\fR option must be invoked first with \fBlpadmin\fR to identify the
+printer type before the \fB-f\fR option can be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIfault-recovery\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option specifies the recovery to be used for any print request that is
+stopped because of a printer fault, according to the value of
+\fIfault-recovery\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcontinue\fR\fR
+.ad
+.RS 13n
+.rt
+Continue printing on the top of the page where printing stopped. This requires
+a filter to wait for the fault to clear before automatically continuing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbeginning\fR\fR
+.ad
+.RS 13n
+.rt
+Start printing the request again from the beginning.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwait\fR\fR
+.ad
+.RS 13n
+.rt
+Disable printing on \fIprinter\fR and wait for the administrator or a user to
+enable printing again.
+.sp
+During the wait, the administrator or the user who submitted the stopped print
+request can issue a change request that specifies where printing should resume.
+(See the \fB-i\fR option of the \fBlp\fR command.) If no change request is made
+before printing is enabled, printing resumes at the top of the page where
+stopped, if the filter allows; otherwise, the request is printed from the
+beginning.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicate that the device associated with the printer is hardwired. If neither
+of the mutually exclusive options, \fB-h\fR and \fB-l\fR, is specified,
+\fB-h\fR is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterface\fR\fR
+.ad
+.sp .6
+.RS 4n
+Establish a new interface program for \fIprinter\fR. \fIinterface\fR is the
+pathname of the new program. (The \fB-e\fR and \fB-m\fR options must not be
+specified with this option.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIcontent-type-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow \fIprinter\fR to handle print requests with the content types listed in a
+\fIcontent-type-list\fR.
+.sp
+The type \fBsimple\fR is recognized as the default content type for files in
+the UNIX system. A \fBsimple\fR type of file is a data stream containing only
+printable \fBASCII\fR characters and the following control characters:
+.sp
+
+.sp
+.TS
+tab();
+cw(1.83i) cw(1.83i) cw(1.83i)
+lw(1.83i) lw(1.83i) lw(1.83i)
+.
+Control CharOctal ValueMeaning
+BACKSPACE10Move back one char, except
+ at beginning of line
+TAB11Move to next tab stop
+LINEFEED12Move to beginning of
+ (newline) next line
+FORMFEED14Move to beginning of
+ next page
+RETURN15Move to beginning of
+ current line
+.TE
+
+To prevent the print service from considering \fBsimple\fR a valid type for the
+printer, specify either an explicit value (such as the printer type) in the
+\fIcontent-type-list\fR, or an empty list. If you do want \fBsimple\fR included
+along with other types, you must include \fBsimple\fR in the
+\fIcontent-type-list\fR.
+.sp
+In addition to content types defined by the print administrator, the type
+\fBPostScript\fR is recognized and supported by the Solaris print subsystem.
+This includes filters to support \fBPostScript\fR as the printer content type.
+.sp
+The type \fBany\fR is recognized as a special content type for files. When
+declared as the input type for a printer, it signals the print sub-system not
+to do any filtering on the file before sending it to the printer.
+.sp
+Except for \fBsimple\fR and \fBany\fR, each \fIcontent-type\fR name is
+determined by the administrator. If the printer type is specified by the
+\fB-T\fR option, then the printer type is implicitly considered to be also a
+valid content type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicate that the device associated with \fIprinter\fR is a login terminal. The
+LP scheduler (\fBlpsched\fR) disables all login terminals automatically each
+time it is started. (The \fB-h\fR option must not be specified with this
+option.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImodel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select \fImodel\fR interface program, provided with the \fBLP\fR print service,
+for the printer. (Options \fB-e\fR and \fB-i\fR must not be specified with this
+option.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fB-f\fR \fIform-name\fR [\fB-a\fR [\fB-o\fR \fBfilebreak\fR]]
+[\fB-t\fR \fItray-number\fR]]\fR
+.ad
+.sp .6
+.RS 4n
+Mount the form \fIform-name\fR on \fIprinter\fR. Print requests that need the
+pre-printed form \fIform-name\fR is printed on \fIprinter\fR. If more than one
+printer has the form mounted and the user has specified \fBany\fR (with the
+\fB-d\fR option of the \fBlp\fR command) as the printer destination, then the
+print request is printed on the one printer that also meets the other needs of
+the request.
+.sp
+The page length and width, and character and line pitches needed by the form
+are compared with those allowed for the printer, by checking the capabilities
+in the \fBterminfo\fR database for the type of printer. If the form requires
+attributes that are not available with the printer, the administrator is warned
+but the mount is accepted. If the form lists a print wheel as mandatory, but
+the print wheel mounted on the printer is different, the administrator is also
+warned but the mount is accepted.
+.sp
+If the \fB-a\fR option is given, an alignment pattern is printed, preceded by
+the same initialization of the physical printer that precedes a normal print
+request, with one exception: no banner page is printed. Printing is assumed to
+start at the top of the first page of the form. After the pattern is printed,
+the administrator can adjust the mounted form in the printer and press return
+for another alignment pattern (no initialization this time), and can continue
+printing as many alignment patterns as desired. The administrator can quit the
+printing of alignment patterns by typing \fBq\fR.
+.sp
+If the \fB-o\fR \fBfilebreak\fR option is given, a formfeed is inserted between
+each copy of the alignment pattern. By default, the alignment pattern is
+assumed to correctly fill a form, so no formfeed is added.
+.sp
+If the \fB-t\fR \fItray-number\fR option is specified, printer tray
+\fItray-number\fR is used.
+.sp
+A form is ``unmounted'' either by mounting a new form in its place or by using
+the \fB-f\fR \fBnone\fR option. By default, a new printer has no form mounted.
+.sp
+Notice the other use of \fB-f\fR without the \fB-M\fR option above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fB-S\fR \fIprint-wheel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mount the \fIprint-wheel\fR on \fIprinter\fR. Print requests that need the
+\fIprint-wheel\fR are printed on \fIprinter\fR. If more than one printer has
+\fIprint-wheel\fR mounted and the user has specified \fBany\fR (with the
+\fB-d\fR option of the \fBlp\fR command) as the printer destination, then the
+print request is printed on the one printer that also meets the other needs of
+the request.
+.sp
+If the \fIprint-wheel\fR is not listed as acceptable for the printer, the
+administrator is warned but the mount is accepted. If the printer does not take
+print wheels, the command is rejected.
+.sp
+A print wheel is ``unmounted'' either by mounting a new print wheel in its
+place or by using the option \fB-S\fR \fBnone\fR. By default, a new printer has
+no print wheel mounted.
+.sp
+Notice the other uses of the \fB-S\fR option without the \fB-M\fR option
+described below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIppdfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a \fBPPD\fR file for creating and modifying printer queues.
+\fIppdfilename\fR is the full path and file name to the \fBPPD\fR file. Used in
+conjunction with the \fB-p\fR, \fB-d\fR, \fB-x\fR, or \fB-S\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoption\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-o\fR option defines default printer configuration values given to an
+interface program. The default can be explicitly overwritten for individual
+requests by the user (see \fBlp\fR(1)), or taken from a preprinted form
+description (see \fBlpforms\fR(1M) and \fBlp\fR(1)).
+.sp
+There are several options which are predefined by the system. In addition, any
+number of key-value pairs can be defined. See the section "Predefined Options
+Used with the \fB-o\fR Option", below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpaper-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a paper type list that the printer supports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIclass\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove \fIprinter\fR from the specified \fIclass\fR. If \fIprinter\fR is the
+last member of \fIclass\fR, then \fIclass\fR is removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow either the print wheels or aliases for character sets named in \fIlist\fR
+to be used on the printer.
+.sp
+If the printer is a type that takes print wheels, then \fIlist\fR is a comma or
+space separated list of print wheel names. These are the only print wheels
+considered mountable on the printer. (You can always force a different print
+wheel to be mounted.) Until the option is used to specify a list, no print
+wheels are considered mountable on the printer, and print requests that ask for
+a particular print wheel with this printer are rejected.
+.sp
+If the printer is a type that has selectable character sets, then \fIlist\fR is
+a list of character set name ``mappings'' or aliases. Each ``mapping'' is of
+the form \fIknown-name=alias\fR The \fIknown-name\fR is a character set number
+preceded by \fBcs\fR (such as \fBcs3\fR for character set three) or a character
+set name from the \fBterminfo\fR database entry \fBcsnm\fR. See
+\fBterminfo\fR(4). If this option is not used to specify a list, only the names
+already known from the \fBterminfo\fR database or numbers with a prefix of
+\fBcs\fR is acceptable for the printer. If \fIlist\fR is the word \fBnone\fR,
+any existing print wheel lists or character set aliases are removed.
+.sp
+Notice the other uses of the \fB-S\fR with the \fB-M\fR option described above.
+.sp
+The \fB-T\fR option must be invoked first with \fBlpadmin\fR to identify the
+printer type before the \fB-S\fR option can be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsystem-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-s\fR option can be used for both remote or local printers. For remote
+printers:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsystem-name\fR[\fB!\fR\fIprinter-name\fR] (UUCP format)\fR
+.ad
+.br
+.na
+\fB\fB-s\fR \fIprinter-name\fR\fB@\fR\fIsystem-name\fR (RCMD format)\fR
+.ad
+.sp .6
+.RS 4n
+Make a remote printer (one that must be accessed through another system)
+accessible to users on your system. \fIsystem-name\fR is the name of the remote
+system on which the remote printer is located it. \fIprinter-name\fR is the
+name used on the remote system for that printer. For example, if you want to
+access \fIprinter1\fR on \fIsystem1\fR and you want it called \fIprinter2\fR on
+your system:
+.sp
+.in +2
+.nf
+\fB-p\fR \fIprinter2\fR \fB-s\fR \fIsystem1\fR\fB!\fR\fIprinter1\fR
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+\fB-p\fR \fIprinter2\fR \fB-s\fR \fIprinter1\fR\fB@\fR\fIsystem1\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIscheme\fR\fB://\fR\fIend-point\fR (URI format)\fR
+.ad
+.sp .6
+.RS 4n
+Make a remote printer (one that must be accessed through another system)
+accessible to users on your system. The supported schemes include \fBlpd\fR and
+\fBipp\fR. Specify URI's using the \fBlpd\fR format as follows:
+.sp
+.in +2
+.nf
+\fBlpd://\fR\fIserver\fR/\fIprinters\fR/\fIqueue\fR\fB[#Solaris]\fR
+.fi
+.in -2
+.sp
+
+URI's using the \fBipp\fR format are defined by the remote print server. They
+are generally of the format:
+.sp
+.in +2
+.nf
+\fBipp://\fR\fIserver\fR\fB/\fR\fIprinters\fR\fB/\fR\fIqueue\fR
+.fi
+.in -2
+.sp
+
+In either case, \fIserver\fR specifies the hostname or IP address of the remote
+print server, \fIqueue\fR specifies the name of the print queue on the remote
+print server, and the optional \fB#Solaris\fRspecifies that the remote print
+server is a Solaris server when \fBlpd\fR URI format is being used.
+.sp
+For example:
+.sp
+.in +2
+.nf
+\fB-p\fR \fIprinter\fR \fB-s\fR \fBlpd://\fR\fIserver\fR\fB/\fR\fIprinters\fR\fB/\fR\fIqueue\fR\fB#Solaris\fR
+\fB-p\fR \fIprinter\fR \fB-s\fR \fBipp://\fR\fIserver\fR\fB/\fR\fIprinters\fR\fB/\fR\fIqueue\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+For local printers:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR "\fBlocalhost\fR"\fR
+.ad
+.RS 18n
+.rt
+Use \fBlocalhost\fR for the \fIsystem-name\fR to be used by the print service.
+In an environment where the nodename is variable, print queues are invalidated
+when the nodename changes. Using \fBlocalhost\fR as the \fIsystem-name\fR
+allows print queues to be maintained across changing nodenames. The
+\fIsystem-name\fR, as used by the print service, is only set to \fBlocalhost\fR
+when explicitely set with this option; by default, \fBlpadmin\fR sets
+\fIsystem-name\fR to \fInodename\fR. For example, if you want to configure a
+new printer on the local system, and want it called \fIprinter3\fR:
+.sp
+\fB-p\fR \fIprinter3\fR \fB-s\fR \fIlocalhost\fR \fB-v\fR \fIdevice\fR
+.sp
+This option should never be used when creating name service maps.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIprinter-type-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identify the printer as being of one or more \fIprinter-type\fRs. Each
+\fIprinter-type\fR is used to extract data from the \fBterminfo\fR database;
+this information is used to initialize the printer before printing each user's
+request. Some filters might also use a \fIprinter-type\fR to convert content
+for the printer. If this option is not used, the default \fIprinter-type\fR is
+\fBunknown\fR. No information is extracted from \fBterminfo\fR so each user
+request is printed without first initializing the printer. Also, this option
+must be used if the following are to work: \fB\fR\fB-o\fR\fB cpi\fR,
+\fB\fR\fB-o\fR\fB lpi\fR, \fB\fR\fB-o\fR width, and \fB\fR\fB-o\fR\fB length\fR
+options of the \fBlpadmin\fR and \fBlp\fR commands, and the \fB-S\fR and
+\fB-f\fR options of the \fBlpadmin\fR command.
+.sp
+If the \fIprinter-type-list\fR contains more than one type, then the
+\fIcontent-type-list\fR of the \fB-I\fR option must either be specified as
+\fBsimple\fR, as empty (\fB\fR\fB-I\fR\fB ""\fR), or not specified at all.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-t\fR\fInumber-of-trays\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the number of trays when creating the printer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fBallow:\fR\fIlogin-ID-list\fR\fR
+.ad
+.br
+.na
+\fB\fB-u\fR \fBdeny:\fR\fIlogin-ID-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or deny the users in \fIlogin-ID-list\fR access to the printer. By
+default all users are allowed on a new printer. The \fIlogin-ID-list\fR
+argument can include any or all of the following constructs:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+a user on any system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsystem-name\fR\fB!\fR\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+a user on system \fIsystem-name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsystem-name\fR\fB!all\fR\fR
+.ad
+.RS 24n
+.rt
+all users on system \fIsystem-name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall!\fR\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+a user on all systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.RS 24n
+.rt
+all users on all systems
+.RE
+
+For each printer, the \fBLP\fR print service keeps two lists of users: an
+``allow-list'' of people allowed to use the printer, and a ``deny-list'' of
+people denied access to the printer. With the \fB\fR\fB-u\fR\fB allow\fR
+option, the users listed are added to the allow-list and removed from the
+deny-list. With the \fB\fR\fB-u\fR\fB deny\fR option, the users listed are
+added to the deny-list and removed from the allow-list.
+.sp
+If the allow-list is not empty, only the users in the list can use the printer,
+regardless of the contents of the deny-list. If the allow-list is empty, but
+the deny-list is not, the users in the deny-list cannot use the printer. All
+users can be denied access to the printer by specifying \fB\fR\fB-u\fR\fB
+deny:all\fR. All users can use the printer by specifying \fB\fR\fB-u\fR\fB
+allow:all\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-U\fR option allows your print service to access a remote printer. (It
+does not enable your print service to access a remote printer service.)
+Specifically, \fB-U\fR assigns the ``dialing'' information \fIdial-info\fR to
+the printer. \fIdial-info\fR is used with the \fBdial\fR routine to call the
+printer. Any network connection supported by the Basic Networking Utilities
+works. \fIdial-info\fR can be either a phone number for a modem connection, or
+a system name for other kinds of connections. Or, if \fB-U\fR \fBdirect\fR is
+given, no dialing takes place, because the name \fBdirect\fR is reserved for a
+printer that is directly connected. If a system name is given, it is used to
+search for connection details from the file \fB/etc/uucp/Systems\fR or related
+files. The Basic Networking Utilities are required to support this option. By
+default, \fB\fR\fB-U\fR\fB direct\fR is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-v\fR \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Associate a \fIdevice\fR with \fIprinter\fR. \fIdevice\fR is the path name of a
+file that is writable by \fBlp\fR. Notice that the same \fIdevice\fR can be
+associated with more than one printer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fIscheme\fR\fB://\fR\fIend-point\fR\fR
+.ad
+.sp .6
+.RS 4n
+Associate a network attached device with printer.
+.sp
+\fIscheme\fR is the method or protocol used to access the network attached
+device and \fIend-point\fR is the information necessary to contact that network
+attached device. Use of this device format requires the use of the \fBuri\fR
+interface script and can only be used with the \fBsmb\fR scheme at this time.
+.sp
+For example:
+.sp
+.in +2
+.nf
+# lpadmin \fB-p\fR \fIqueue\fR \fB-v\fR \fBsmb://smb-\fR\fIservice\fR\fB/\fR\fIprinter\fR \fB-m\fR \fBuri\fR
+.fi
+.in -2
+.sp
+
+See the \fB/usr/sfw/man/man1m/smbspool.1m\fR man page for details.
+.RE
+
+.SS "Removing a Printer Destination"
+.sp
+.LP
+The \fB-x\fR \fIdest\fR option removes the destination \fIdest\fR (a printer or
+a class), from the \fBLP\fR print service. If \fIdest\fR is a printer and is
+the only member of a class, then the class is deleted, too. If \fIdest\fR is
+\fBall\fR, all printers and classes are removed. If there are no remaining
+local printers and the scheduler is still running, the scheduler is shut down.
+.sp
+.LP
+No other \fIoptions\fR are allowed with \fB-x\fR.
+.SS "Setting/Changing the System Default Destination"
+.sp
+.LP
+The \fB-d\fR [\fIdest\fR] option makes \fIdest\fR (an existing printer or
+class) the new system default destination. If \fIdest\fR is not supplied, then
+there is no system default destination. No other \fIoptions\fR are allowed with
+\fB-d\fR.
+.SS "Setting an Alert for a Print Wheel"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIprint-wheel\fR [\fB-A\fR \fIalert-type\fR] [\fB-W\fR
+\fIminutes\fR] [\fB-Q\fR \fIrequests\fR] \fB-T\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-S\fR \fIprint-wheel\fR option is used with the \fB-A\fR
+\fIalert-type\fR option to define an alert to mount the print wheel when there
+are jobs queued for it. If this command is not used to arrange alerting for a
+print wheel, no alert is sent for the print wheel. Notice the other use of
+\fB-A\fR, with the \fB-p\fR option, above.
+.sp
+The \fIalert-types\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmail\fR\fR
+.ad
+.RS 17n
+.rt
+Send the alert message using the \fBmail\fR command to the administrator.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwrite\fR\fR
+.ad
+.RS 17n
+.rt
+Write the message, using the \fBwrite\fR command, to the terminal on which the
+administrator is logged in. If the administrator is logged in on several
+terminals, one is arbitrarily chosen.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquiet\fR\fR
+.ad
+.RS 17n
+.rt
+Do not send messages for the current condition. An administrator can use this
+option to temporarily stop receiving further messages about a known problem.
+Once the \fIprint-wheel\fR has been mounted and subsequently unmounted,
+messages are sent againwhen the number of print requests reaches the threshold
+specified by the \fB-Q\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone\fR\fR
+.ad
+.RS 17n
+.rt
+Do not send messages until the \fB-A\fR option is given again with a different
+\fIalert-type\fR (other than \fBquiet\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIshell-command\fR\fR
+.ad
+.RS 17n
+.rt
+Run the \fIshell-command\fR each time the alert needs to be sent. The shell
+command should expect the message in standard input. If there are blanks
+embedded in the command, enclose the command in quotes. Notice that the
+\fBmail\fR and \fBwrite\fR values for this option are equivalent to the values
+\fBmail\fR \fIuser-name\fR and \fBwrite\fR \fIuser-name\fR respectively, where
+\fIuser-name\fR is the current name for the administrator. This is the login
+name of the person submitting this command unless he or she has used the
+\fBsu\fR command to change to another user ID. If the \fBsu\fR command has been
+used to change the user ID, then the \fIuser-name\fR for the new ID is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 17n
+.rt
+Display the type of the alert for the print wheel on standard output. No change
+is made to the alert.
+.RE
+
+The message sent appears as follows:
+.sp
+.in +2
+.nf
+The print wheel \fIprint-wheel\fR needs to be mounted
+on the printer(s):
+\fIprinter\fR(\fIinteger1\fRrequests) \fIinteger2\fR print requests
+await this print wheel.
+.fi
+.in -2
+.sp
+
+The printers listed are those that the administrator had earlier specified were
+candidates for this print wheel. The number \fIinteger1\fR listed next to each
+printer is the number of requests eligible for the printer. The number
+\fIinteger2\fR shown after the printer list is the total number of requests
+awaiting the print wheel. It is less than the sum of the other numbers if some
+requests can be handled by more than one printer.
+.sp
+If the \fIprint-wheel\fR is \fBall\fR, the alerting defined in this command
+applies to all print wheels already defined to have an alert.
+.sp
+If the \fB-W\fR option is not given, the default procedure is that only one
+message is sent per need to mount the print wheel. Not specifying the \fB-W\fR
+option is equivalent to specifying \fB\fR\fB-W\fR\fB once\fR or \fB-W\fR
+\fB0\fR. If \fIminutes\fR is a number greater than zero, an alert is sent at
+intervals specified by \fIminutes\fR.
+.sp
+If the \fB-Q\fR option is also given, the alert is sent when a certain number
+(specified by the argument \fIrequests\fR) of print requests that need the
+print wheel are waiting. If the \fB-Q\fR option is not given, or \fIrequests\fR
+is 1 or \fBany\fR (which are both the default), a message is sent as soon as
+anyone submits a print request for the print wheel when it is not mounted.
+.RE
+
+.SH PREDEFINED OPTIONS USED WITH THE \fB-o\fR OPTION
+.sp
+.LP
+A number of options, described below, are predefined for use with \fB-o\fR.
+These options are used for adjusting printer capabilities, adjusting printer
+port characteristics, configuring network printers, and controlling the use of
+banner. The \fB-o\fR also supports an arbitrary \fB\fIkeyword\fR=\fIvalue\fR\fR
+format, which is referred to below as an undefined option.
+.SS "Adjusting Printer Capabilities"
+.sp
+.LP
+The \fBlength\fR, \fBwidth\fR, \fBcpi\fR, and \fBlpi\fR parameters can be used
+in conjunction with the \fB-o\fR option to adjust printer capabilities. The
+format of the parameters and their values is as follows:
+.sp
+.in +2
+.nf
+length=\fIscaled-decimal-number\fR
+width=\fIscaled-decimal-number\fR
+cpi=\fIscaled-decimal-number\fR
+lpi=\fIscaled-decimal-number\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The term \fIscaled-decimal-number\fR refers to a non-negative number used to
+indicate a unit of size. The type of unit is shown by a ``trailing'' letter
+attached to the number. Three types of \fIscaled-decimal-numbers\fR can be used
+with the LP print service: numbers that show sizes in centimeters (marked with
+a trailing \fBc\fR); numbers that show sizes in inches (marked with a trailing
+\fBi\fR); and numbers that show sizes in units appropriate to use (without a
+trailing letter), that is, lines, characters, lines per inch, or characters per
+inch.
+.sp
+.LP
+The option values must agree with the capabilities of the type of physical
+printer, as defined in the terminfo database for the printer type. If they do
+not, the command is rejected.
+.sp
+.LP
+The defaults are defined in the \fBterminfo\fR entry for the specified printer
+type. The defaults can be reset by:
+.sp
+.in +2
+.nf
+\fBlpadmin -p \fIprintername\fR -o length=
+lpadmin -p \fIprintername\fR -o width=
+lpadmin -p \fIprintername\fR -o cpi=
+lpadmin -p \fIprintername\fR -o lpi=\fR
+.fi
+.in -2
+.sp
+
+.SS "Adjusting Printer Port Characteristics"
+.sp
+.LP
+You use the \fBstty\fR keyword in conjunction with the o option to adjust
+printer port characteristics. The general form of the \fBstty\fR portion of the
+command is:
+.sp
+.in +2
+.nf
+\fBstty="'\fR\fIstty-option-list\fR'"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fIstty-option-list\fR is not checked for allowed values, but is passed
+directly to the \fBstty\fR program by the standard interface program. Any error
+messages produced by \fBstty\fR when a request is processed (by the standard
+interface program) are mailed to the user submitting the request.
+.sp
+.LP
+The default for \fBstty\fR is:
+.sp
+.in +2
+.nf
+stty="'9600 cs8 -cstopb -parenb ixon
+ -ixany opost -olcuc onlcr
+ -ocrnl -onocr
+ -onlret -ofill nl0 cr0 tab0 bs0 vt0 ff0'"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The default can be reset by:
+.sp
+.in +2
+.nf
+\fBlpadmin -p \fIprintername\fR -o stty=\fR
+.fi
+.in -2
+.sp
+
+.SS "Configuring Network Printers"
+.sp
+.LP
+The \fBdest\fR, \fBprotocol\fR, \fBbsdctrl\fR, and \fBtimeout\fR parameters are
+used in conjunction with the \fB-o\fR option to configure network printers. The
+format of these keywords and their assigned values is as follows:
+.sp
+.in +2
+.nf
+dest=\fIstring\fR protocol=\fIstring\fR bsdctrl=\fIstring\fR \e
+ timeout=\fInon-negative-integer-seconds\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+These four options are provided to support network printing. Each option is
+passed directly to the interface program; any checking for allowed values is
+done there.
+.sp
+.LP
+The value of \fBdest\fR is the name of the destination for the network printer;
+the semantics for value \fBdest\fR are dependent on the printer and the
+configuration. There is no default.
+.sp
+.LP
+The value of option \fBprotocol\fR sets the over-the-wire protocol to the
+printer. The default for option \fBprotocol\fR is \fBbsd\fR. The value of
+option \fBbsdctrl\fR sets the print order of control and data files (BSD
+protocol only); the default for this option is \fBcontrol file first\fR. The
+value of option \fBtimeout\fR sets the seed value for backoff time when the
+printer is busy. The default value for the \fBtimeout\fR option is \fB10\fR
+seconds. The defaults can be reset by:
+.sp
+.in +2
+.nf
+\fBlpadmin -p \fIprintername\fR -o protocol=
+lpadmin -p \fIprintername\fR \fR\fB-o bsdctrl=\fR
+lpadmin -p \fIprintername\fR -o timeout=
+.fi
+.in -2
+.sp
+
+.SS "Controlling the Use of the Banner Page"
+.sp
+.LP
+Use the following commands to control the use of the banner page:
+.sp
+.in +2
+.nf
+\fBlpadmin -p \fIprinter\fR -o nobanner\fR
+\fBlpadmin -p \fIprinter\fR -o banner\fR
+\fBlpadmin -p \fIprinter\fR -o banner=always\fR
+\fBlpadmin -p \fIprinter\fR -o banner=never\fR
+\fBlpadmin -p \fIprinter\fR -o banner=optional\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The first and fifth commands (\fB-o\fR \fBnobanner\fR and \fB-o\fR
+\fBbanner=optional\fR) are equivalent. The default is to print the banner page,
+unless a user specifies \fB-o\fR \fBnobanner\fR on an \fBlp\fR command line.
+.sp
+.LP
+The second and third commands (\fB-o\fR \fBbanner\fR and \fB-o\fR
+\fBbanner=always\fR) are equivalent. Both cause a banner page to be printed
+always, even if a user specifies \fBlp\fR \fB-o\fR \fBnobanner\fR. The root
+user can override this command.
+.sp
+.LP
+The fourth command (\fB-o\fR \fBbanner=never\fR) causes a banner page never to
+be printed, even if a user specifies \fBlp\fR \fB-o\fR \fBbanner\fR. The root
+user can override this command.
+.SS "Undefined Options"
+.sp
+.LP
+The \fB-o\fR option supports the use of arbitrary, user-defined options with
+the following format:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIkey\fR\fB=\fR\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Each \fIkey\fR\fB=\fR\fIvalue\fR is passed directly to the interface program.
+Any checking for allowed values is done in the interface program.
+.sp
+Any default values for a given \fIkey\fR\fB=\fR\fIvalue\fR option are defined
+in the interface program. If a default is provided, it can be reset by typing
+the key without any value:
+.sp
+.in +2
+.nf
+lpadmin -p \fIprintername\fR -o \fIkey\fR=
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlpadmin\fR \fB-p\fR \fIprinter\fR \fB-o\fR \fBfoo | nofoo\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets boolean values \fBfoo=true | foo=false\fR.
+.RE
+
+.SH EXAMPLES
+.sp
+.LP
+In the following examples, \fIprtr\fR can be any name up to 14 characters and
+can be the same name as the \fBping\fR(1M) name.
+.LP
+\fBExample 1 \fRConfiguring an HP Postscript Printer with a Jet Direct Network
+Interface
+.sp
+.LP
+The following example configures an HP postscript printer with a jet direct
+network interface:
+
+.sp
+.in +2
+.nf
+example# \fBlpadmin -p \fIprtr\fR -v /dev/null -m netstandard \e
+ -o dest=\fIping_name_of_prtr\fR:9100 -o protocol=tcp -T PS -I \e
+ postscript\fR
+example# \fBenable \fIprtr\fR\fR
+example# \fBaccept \fIprtr\fR\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRConfiguring a Standard Postscript Network Printer
+.sp
+.LP
+The following example configures a standard postscript network printer:
+
+.sp
+.in +2
+.nf
+example# \fBlpadmin -p \fIprtr\fR -v /dev/null -m netstandard \e
+ -o dest=\fIping_name_of_prtr\fR -T PS -I postscript\fR
+example# \fBenable \fIprtr\fR\fR
+example# \fBaccept \fIprtr\fR\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/lp/*\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lp\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lp/alerts/printer\fR\fR
+.ad
+.RS 26n
+.rt
+Fault handler for \fBlpadmin\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printers.conf\fR\fR
+.ad
+.RS 26n
+.rt
+System printer configuration database
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBenable\fR(1), \fBlp\fR(1), \fBlpstat\fR(1), \fBmail\fR(1), \fBstty\fR(1),
+\fBaccept\fR(1M), \fBlpforms\fR(1M), \fBlpsched\fR(1M), \fBlpsystem\fR(1M),
+\fBping\fR(1M), \fBdial\fR(3NSL), \fBterminfo\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+When using lpadmin to provide access to a remote printer, remote configuration
+data is stored in \fB/etc/printers.conf\fR. This data includes a \fBbsdaddr\fR
+and a \fBprinter-uri-supported\fR attribute. The data in this file can be
+shared through the use of a network name service or replicated across multiple
+systems. If the data is shared, it is important to make sure that the
+\fBbsdaddr\fR and \fBprinter-uri-supported\fR contain hostname information that
+is correctly resolved on all hosts sharing this data. Also, the
+\fBprinter-uri-supported\fR is the preferred means of accessing remote print
+service. The \fBbsdaddr\fR is supplied for backward compatability with Solaris
+2.6-10 systems.
diff --git a/usr/src/man/man1m/lpfilter.1m b/usr/src/man/man1m/lpfilter.1m
new file mode 100644
index 0000000000..ee91b13bc5
--- /dev/null
+++ b/usr/src/man/man1m/lpfilter.1m
@@ -0,0 +1,526 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpfilter 1M "3 Apr 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpfilter \- administer filters used with the LP print service
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/lpfilter\fR \fB-f\fR \fIfilter-name\fR
+ {\fB-\fR | \fB-i\fR | \fB-l\fR | \fB-x\fR | \fB-F\fR \fIpathname\fR}
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpfilter\fR command is used to add, change, delete, or list a filter
+used with the \fBLP\fR print service. These filters convert the content of a
+file to have a content type acceptable to a printer.
+.SH OPTIONS
+.sp
+.LP
+Arguments consist of the \fB-f\fR\fIfilter-name\fR option and exactly one of
+the arguments appearing within braces (\fB{\fR\|\fB}\fR) in the SYNOPSIS.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\(mi\fR\fR
+.ad
+.RS 18n
+.rt
+Adds or changes a filter as specified from standard input. The format of the
+input is specified below. If \fB-f\fR \fBall\fR is specified with the
+\fB\(mi\fR option, the specified change is made to all existing filters. This
+is not useful.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilter-name\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the \fIfilter-name\fR of the filter to be added, changed, reset,
+deleted, or listed. The filter name \fBall\fR is a special filter name defined
+below. The \fB-f\fR option is required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIpathname\fR\fR
+.ad
+.RS 18n
+.rt
+Adds or changes a filter as specified by the contents of the file
+\fIpathname\fR. The format of the file's contents is specified below. If
+\fB\fR\fB-f\fR\fB all\fR is specified with the \fB-F\fR option, the specified
+change is made to all existing filters. This is not useful.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 18n
+.rt
+Resets a filter to its default settings. Using \fB\fR\fB-f\fR\fB all\fR with
+the \fB-i\fR option restores all filters for which predefined settings are
+available to their original settings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 18n
+.rt
+Lists a filter description. Using \fB-f\fR \fBall\fR with the \fB-l\fR option
+produces a list of all filters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 18n
+.rt
+Deletes a filter. Using \fB-f\fR \fBall\fR with the \fB-x\fR option results in
+all filters being deleted.
+.RE
+
+.SH USAGE
+.SS "Adding or Changing a Filter"
+.sp
+.LP
+The filter named in the \fB-f\fR option is added to the filter table. If the
+filter already exists, its description is changed to reflect the new
+information in the input.
+.sp
+.LP
+When \fB\(mi\fR is specified, standard input supplies the filter description.
+When \fB-F\fR is specified, the file \fIpathname\fR supplies the filter
+description. One of these two options must be specified to add or change a
+filter.
+.sp
+.LP
+When an existing filter is changed with the \fB-F\fR or \fB\(mi\fR option,
+lines in the filter description that are not specified in the new information
+are not changed. When a new filter is added with this command, unspecified
+lines receive default values. See below.
+.sp
+.LP
+Filters are used to convert the content of a request from its initial type
+into a type acceptable to a printer. For a given print request, the \fBLP\fR
+print service knows the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The content type of the request (specified by \fBlp\fR \fB-T\fR or determined
+implicitly).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The name of the printer (specified by \fBlp\fR \fB-d\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The printer type (specified by \fBlpadmin\fR \fB-T\fR).
+.sp
+The printer type is intended to be a printer model, but some people specify it
+with a content type even though \fBlpadmin\fR \fB-I\fR is intended for this
+purpose.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The content types acceptable to the printer (specified by \fBlpadmin\fR
+\fB-I\fR\fB)\fR.
+.sp
+The values specified by the \fBlpadmin\fR \fB-T\fR are treated as if they were
+specified by the \fB-I\fR option as well.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The modes of printing asked for by the originator of the request (specified by
+various options to \fBlp\fR).
+.RE
+.sp
+.LP
+The system uses the above information to construct a list of one or more
+filters that converts the document's content type into a content type
+acceptable to the printer and consumes all \fBlp\fR arguments that invoke
+filters (\fB-y\fR and \fB-P\fR).
+.sp
+.LP
+The contents of the file (specified by the \fB-F\fR option) and the input
+stream from standard input (specified by \fB\(mi\fR) must consist of a series
+of lines, such that each line conforms to the syntax specified by one of the
+seven lines below. All lists are comma or space separated. Each item contains a
+description.
+.sp
+.in +2
+.nf
+\fBInput types: \fR\fIcontent-type-list\fR
+\fBOutput types: \fR\fIcontent-type-list\fR
+\fBPrinter types: \fR\fIprinter-type-list\fR
+\fBPrinters: \fR\fIprinter-list\fR
+\fBFilter type: \fR\fIfilter-type\fR
+\fBCommand: \fR\fIshell-command\fR
+\fBOptions: \fR\fItemplate-list\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBInput\fR \fBtypes\fR\fR
+.ad
+.RS 17n
+.rt
+This gives the content types that can be accepted by the filter. The default is
+\fBany\fR. The document content type must be a member of this list for the
+initial filter in the sequence.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOutput\fR \fBtypes\fR\fR
+.ad
+.RS 17n
+.rt
+This gives the content types that the filter can produce from any of the input
+(content) types. The default is \fBany\fR. The intersection of the output
+types of this list and the content types acceptable to the printer (from
+\fBlpadmin\fR \fB-I\fR and \fBlpadmin \fR\fB-T\fR) must be non-null for the
+last filter in the sequence. For adjacent filters in the sequence, the
+intersection of output types of one and the input types of the next must be
+non-null.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPrinter\fR \fBtypes\fR\fR
+.ad
+.RS 17n
+.rt
+This gives the printer types for which this printer can be used. The \fBLP\fR
+print service will restrict the use of the filter to these printer types (from
+\fBlpadmin\fR \fB-T\fR). The default is \fBany\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPrinters\fR\fR
+.ad
+.RS 17n
+.rt
+This gives the names of the printers for which the filter can be used. The
+\fBLP\fR print service will restrict the use of the filter to just the printers
+named. The default is \fBany\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFilter\fR \fBtype\fR\fR
+.ad
+.RS 17n
+.rt
+This marks the filter as a \fBslow\fR filter or a \fBfast\fR filter. Slow
+filters are generally those that take a long time to convert their input (that
+is, minutes or hours). They are run before the job is scheduled for a printer,
+to keep the printers from being tied up while the filter is running. If a
+listed printer is on a remote system, the filter type for it must have the
+value \fBslow\fR. That is, if a client defines a filter, it must be a slow
+filter. Fast filters are generally those that convert their input quickly (that
+is, faster than the printer can process the data), or those that must be
+connected to the printer when run. Fast filters will be given to the interface
+program to run while connected to the physical printer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCommand\fR\fR
+.ad
+.RS 17n
+.rt
+This specifies which program to run to invoke the filter. The full program
+pathname as well as fixed options must be included in the \fIshell-command\fR;
+additional options are constructed, based on the characteristics of each print
+request and on the \fBOptions\fR field. A command must be given for each
+filter. The command must accept a data stream as standard input and produce the
+converted data stream on its standard output. This allows filter pipelines to
+be constructed to convert data not handled by a single filter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOptions\fR\fR
+.ad
+.RS 17n
+.rt
+This is a comma-separated list of templates used by the \fBLP\fR print
+service to construct options to the filter from the characteristics of each
+print request listed in the table later. The \fB-y\fR and \fB- P\fR arguments
+to the \fBlp\fR command cause a filter sequence to be built even if there is no
+need for a conversion of content types.
+.sp
+In general, each template is of the following form:
+.sp
+\fIkeyword pattern \fR\fB=\fR \fIreplacement\fR
+.sp
+The \fIkeyword\fR names the characteristic that the template attempts to map
+into a filter-specific option; each valid \fIkeyword\fR is listed in the table
+below.
+.sp
+A \fIpattern\fR is one of the following: a literal pattern of one of the forms
+listed in the table, a single asterisk (\fB*\fR), or a regular expression. If
+\fIpattern\fR matches the value of the characteristic, the template fits and
+is used to generate a filter-specific option. The \fIreplacement\fR is what
+will be used as the option.
+.sp
+Regular expressions are the same as those found on the \fBregexp\fR(5) manual
+page. This includes the \fB\e(\fR\&...\fB\e)\fR and \fB\e\fR\fIn\fR
+constructions, which can be used to extract portions of the \fIpattern\fR for
+copying into the \fIreplacement\fR, and the \fB&\fR, which can be used to copy
+the entire \fIpattern\fR into the \fIreplacement\fR.
+.sp
+The \fIreplacement\fR can also contain a \fB*\fR; it too, is replaced with the
+entire \fIpattern\fR, just like the \fB&\fR of \fBregexp\fR(5).
+.RE
+
+.sp
+.LP
+The keywords are:
+.sp
+.in +2
+.nf
+lp Option Characteristic \fIkeyword\fR Possible \fIpatterns\fR
+
+-T Content type INPUT content-type
+ (input)
+
+Not applicable Content type OUTPUT content-type
+ (output)
+
+not applicable Printer type TERM printer-type
+
+-d Printer name PRINTER \fIprinter-name\fR
+
+-f, -o cpi= Character pitch CPI integer
+
+-f, -o lpi= Line pitch LPI integer
+
+-f, -o length= Page length LENGTH integer
+
+-f, -o width= Page width WIDTH integer
+
+-P Pages to print PAGES page-list
+
+-S Character set CHARSET character-set-name
+ Print wheel CHARSET print-wheel-name
+
+-f Form name FORM form-name
+
+-y Modes MODES mode
+
+-n Number of COPIES \fIinteger\fR
+ copies
+.fi
+.in -2
+.sp
+
+.SS "Resetting a Filter to Defaults"
+.sp
+.LP
+If the filter named is one originally delivered with the \fBLP\fR print
+service, the \fB-i\fR option restores the original filter description.
+.SS "Deleting a Filter"
+.sp
+.LP
+The \fB-x\fR option is used to delete the filter specified in filter-name
+from the \fBLP\fR filter table.
+.SS "Listing a Filter Description"
+.sp
+.LP
+The \fB-l\fR option is used to list the description of the filter named in
+filter-name. If the command is successful, the following message is sent to
+standard output:
+.sp
+.in +2
+.nf
+\fBInput types: \fR\fIcontent-type-list\fR
+\fBOutput types: \fR\fIcontent-type-list\fR
+\fBPrinter types: \fR\fIprinter-type-list\fR
+\fBPrinters: \fR\fIprinter-list\fR
+\fBFilter type: \fR\fIfilter-type\fR
+\fBCommand: \fR\fIshell-command\fR
+\fBOptions: \fR\fItemplate-list\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the command fails, an error message is sent to standard error.
+.SS "Large File Behavior"
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBlpfilter\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRPrinting with the landscape option
+.sp
+.LP
+For example, the template
+
+.sp
+.in +2
+.nf
+\fBMODES landscape = \fR\fB-l\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+shows that if a print request is submitted with the \fB-y\fR \fBlandscape\fR
+option, the filter will be given the option \fB-l\fR.
+
+.LP
+\fBExample 2 \fRSelecting the printer type
+.sp
+.LP
+As another example, the template
+
+.sp
+.in +2
+.nf
+\fBTERM * = \fR\fB-T\fR\fB *\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+shows that the filter will be given the option \fB-T\fR \fIprinter-type\fR for
+whichever \fIprinter-type\fR is associated with a print request using the
+filter.
+
+.LP
+\fBExample 3 \fRUsing the keywords table
+.sp
+.LP
+Consider the template
+
+.sp
+.in +2
+.nf
+\fBMODES prwidth\e=\e(.*\e) = \fR\fB-w\fR\fB\e1\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Suppose a user gives the command
+
+.sp
+.in +2
+.nf
+\fBlp -y prwidth=10\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+From the table above, the \fBLP\fR print service determines that the \fB-y\fR
+option is handled by a \fBMODES\fR template. The \fBMODES\fR template here
+works because the pattern prwidth=) matches the prwidth=10 given by the user.
+The replacement -w1 causes the \fBLP\fR print service to generate the filter
+option \fB-w10\fR. If necessary, the \fBLP\fR print service will construct a
+filter pipeline by concatenating several filters to handle the user's file and
+all the print options. See \fBsh\fR(1) for a description of a pipeline. If the
+print service constructs a filter pipeline, the \fBINPUT\fR and \fBOUTPUT\fR
+values used for each filter in the pipeline are the types of input and output
+for that filter, not for the entire pipeline.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlp\fR(1), \fBsh\fR(1), \fBlpadmin\fR(1M), \fBattributes\fR(5),
+\fBlargefile\fR(5), \fBregexp\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+If the \fBlp\fR command specifies more than one document, the filtering chain
+is determined by the first document. Other documents may have a different
+format, but they will print correctly only if the filter chain is able to
+handle their format.
diff --git a/usr/src/man/man1m/lpforms.1m b/usr/src/man/man1m/lpforms.1m
new file mode 100644
index 0000000000..7fa7a8bada
--- /dev/null
+++ b/usr/src/man/man1m/lpforms.1m
@@ -0,0 +1,731 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpforms 1M "3 Apr 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpforms \- administer forms used with the LP print service
+.SH SYNOPSIS
+.LP
+.nf
+\fBlpforms\fR \fB-f\fR \fIform-name\fR \fIoption\fR
+.fi
+
+.LP
+.nf
+\fBlpforms\fR \fB-f\fR \fIform-name\fR \fB-A\fR \fIalert-type\fR [\fB-P\fR \fIpaper-name\fR [\fB-d\fR]]
+ [\fB-Q\fR \fIrequests\fR] [\fB-W\fR \fIminutes\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpforms\fR command administers the use of preprinted forms, such as
+company letterhead paper, with the LP print service. A form is specified by its
+\fIform-name\fR. Users may specify a form when submitting a print request (see
+\fBlp\fR(1)). The argument \fBall\fR can be used instead of \fIform-name\fR
+with either of the command lines shown above. The first command line allows
+the administrator to add, change, and delete forms, to list the attributes of
+an existing form, and to allow and deny users access to particular forms. The
+second command line is used to establish the method by which the administrator
+is alerted that the form \fIform-name\fR must be mounted on a printer.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIform-name\fR\fR
+.ad
+.RS 16n
+.rt
+Specify a form.
+.RE
+
+.sp
+.LP
+The first form of \fBlpforms\fR requires that one of the following
+\fIoption\fRs (\fB\(mi\fR, \fB-l\fR, \fB-F\fR, \fB-x\fR) must be used:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIpathname\fR\fR
+.ad
+.RS 15n
+.rt
+To add or change form \fIform-name\fR, as specified by the information in
+\fIpathname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\(mi\fR\fR
+.ad
+.RS 15n
+.rt
+To add or change form \fIform-name\fR, as specified by the information from
+standard input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 15n
+.rt
+To list the attributes of form \fIform-name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 15n
+.rt
+To delete form \fIform-name\fR (this option must be used separately; it may not
+be used with any other option).
+.RE
+
+.sp
+.LP
+The second form of the \fBlpforms\fR command requires the \fB-A\fR
+\fIalert-type\fR option. The other options are optional.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIalert-type\fR\fR
+.ad
+.RS 24n
+.rt
+Defines an alert to mount the form when there are queued jobs which need it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpaper-name\fR [ \fB-d\fR ]\fR
+.ad
+.RS 24n
+.rt
+Specify the paper name when creating the form. If \fB-d\fR is specified, this
+paper is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR \fIrequests\fR\fR
+.ad
+.RS 24n
+.rt
+An alert will be sent when a certain number of print requests that need the
+form are waiting.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR \fIminutes\fR\fR
+.ad
+.RS 24n
+.rt
+An alert will be sent at intervals specified by minutes.
+.RE
+
+.SH USAGE
+.SS "Adding or Changing a Form"
+.sp
+.LP
+The \fB-F\fR \fIpathname\fR option is used to add a new form, \fIform-name\fR,
+to the LP print service, or to change the attributes of an existing form. The
+form description is taken from \fIpathname\fR if the \fB-F\fR option is given,
+or from the standard input if the \fB\(mi\fR option is used. One of these two
+options must be used to define or change a form.
+.sp
+.LP
+\fIpathname\fR is the path name of a file that contains all or any subset of
+the following information about the form.
+.sp
+.in +2
+.nf
+\fBPage length\fR: \fIscaled-decimal-number1\fR
+\fBPage width\fR: \fIscaled-decimal-number2\fR
+\fBNumber of pages\fR: \fIinteger\fR
+\fBLine pitch\fR: \fIscaled-decimal-number3\fR
+\fBCharacter pitch\fR: \fIscaled-decimal-number4\fR
+\fBCharacter set choice\fR: \fIcharacter-set/print-wheel\fR [\fBmandatory\fR]
+\fBRibbon color\fR: \fIribbon-color\fR
+\fBComment:\fR
+\fIcomment\fR
+\fBAlignment pattern\fR: [\fIcontent-type\fR]
+\fIcontent\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The term ``scaled-decimal-number'' refers to a non-negative number used to
+indicate a unit of size. The type of unit is shown by a ``trailing'' letter
+attached to the number. Three types of scaled decimal numbers can be used with
+the LP print service: numbers that show sizes in centimeters (marked with a
+trailing \fBc\fR); numbers that show sizes in inches (marked with a trailing
+\fBi\fR); and numbers that show sizes in units appropriate to use (without a
+trailing letter); lines, characters, lines per inch, or characters per inch.
+.sp
+.LP
+Except for the last two lines, the above lines may appear in any order. The
+\fBComment:\fR and \fIcomment\fR items must appear in consecutive order but may
+appear before the other items, and the \fBAlignment pattern:\fR and the
+\fIcontent\fR items must appear in consecutive order at the end of the file.
+Also, the \fIcomment\fR item may not contain a line that begins with any of the
+key phrases above, unless the key phrase is preceded with a \fB>\fR sign. Any
+leading > sign found in the \fIcomment\fR will be removed when the comment is
+displayed. There is no case distinction among the key phrases.
+.sp
+.LP
+When this command is issued, the form specified by \fIform-name\fR is added to
+the list of forms. If the form already exists, its description is changed to
+reflect the new information. Once added, a form is available for use in a print
+request, except where access to the form has been restricted, as described
+under the \fB-u\fR option. A form may also be allowed to be used on certain
+printers only.
+.sp
+.LP
+A description of each form attribute is below:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPage length\fR and \fBPage Width\fR\fR
+.ad
+.sp .6
+.RS 4n
+Before printing the content of a print request needing this form, the generic
+interface program provided with the LP print service will initialize the
+physical printer to handle pages \fIscaled-decimal-number1\fR long, and
+\fIscaled-decimal-number2\fR wide using the printer type as a key into the
+\fBterminfo\fR(4) database. The page length and page width will also be passed,
+if possible, to each filter used in a request needing this form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNumber of pages\fR\fR
+.ad
+.sp .6
+.RS 4n
+Each time the alignment pattern is printed, the LP print service will attempt
+to truncate the \fIcontent\fR to a single form by, if possible, passing to each
+filter the page subset of 1-\fIinteger\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLine pitch\fR and \fBCharacter pitch\fR\fR
+.ad
+.sp .6
+.RS 4n
+Before printing the content of a print request needing this form, the interface
+program provided with the LP print service will initialize the physical
+printer to handle these pitches, using the printer type as a key into the
+\fBterminfo\fR(4) database. Also, the pitches will be passed, if possible, to
+each filter used in a request needing this form. \fIscaled-decimal-number3\fR
+is in lines-per-centimeter if a \fBc\fR is appended, and lines-per-inch
+otherwise; similarly, \fIscaled-decimal-number4\fR is in
+characters-per-centimeter if a \fBc\fR is appended, and characters-per-inch
+otherwise. The character pitch can also be given as \fBelite\fR (12
+characters-per-inch), \fBpica\fR (10 characters-per-inch), or \fBcompressed\fR
+(as many characters-per-inch as possible).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCharacter set choice\fR\fR
+.ad
+.sp .6
+.RS 4n
+When the LP print service alerts an administrator to mount this form, it will
+also mention that the print wheel \fIprint-wheel\fR should be used on those
+printers that take print wheels. If printing with this form is to be done on a
+printer that has selectable or loadable character sets instead of print wheels,
+the interface programs provided with the LP print service will automatically
+select or load the correct character set. If \fBmandatory\fR is appended, a
+user is not allowed to select a different character set for use with the form;
+otherwise, the character set or print wheel named is a suggestion and a default
+only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRibbon color\fR\fR
+.ad
+.sp .6
+.RS 4n
+When the LP print service alerts an administrator to mount this form, it will
+also mention that the color of the ribbon should be \fIribbon-color\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBComment\fR\fR
+.ad
+.sp .6
+.RS 4n
+The LP print service will display the \fIcomment\fR unaltered when a user asks
+about this form (see \fBlpstat\fR(1)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAlignment pattern\fR\fR
+.ad
+.sp .6
+.RS 4n
+When mounting this form, an administrator can ask for the \fIcontent\fR to be
+printed repeatedly, as an aid in correctly positioning the preprinted form. The
+optional \fIcontent-type\fR defines the type of printer for which \fIcontent\fR
+had been generated. If \fIcontent-type\fR is not given, \fBsimple\fR is
+assumed. Note that the \fIcontent\fR is stored as given, and will be readable
+only by the user \fBlp\fR.
+.RE
+
+.sp
+.LP
+When an existing form is changed with this command, items missing in the new
+information are left as they were. When a new form is added with this command,
+missing items will get the following defaults:
+.sp
+.in +2
+.nf
+Page Length: \fB66\fR
+Page Width: \fB80\fR
+Number of Pages: \fB1\fR
+Line Pitch: \fB6\fR
+Character Pitch: \fB10\fR
+Character Set Choice: \fBany\fR
+Ribbon Color: \fBany\fR
+.fi
+.in -2
+.sp
+
+.SS "Deleting a Form"
+.sp
+.LP
+LP print service" The \fB-x\fR option is used to delete the form
+\fIform-name\fR from the LP print service.
+.SS "Listing Form Attributes"
+.sp
+.LP
+The \fB-l\fR option is used to list the attributes of the existing form
+\fIform-name\fR. The attributes listed are those described under \fBAdding and
+Changing a Form,\fR above. Because of the potentially sensitive nature of the
+alignment pattern, only the administrator can examine the form with this
+command. Other people may use the \fBlpstat\fR(1) command to examine the
+non-sensitive part of the form description.
+.SS "Allowing and Denying Access to a Form"
+.sp
+.LP
+The \fB-u\fR option, followed by the argument \fBallow:\fR\fIlogin-ID-list\fR
+or \fB\fR\fB-u\fR \fBdeny:\fR\fIlogin-ID-list\fR lets you determine which users
+will be allowed to specify a particular form with a print request. This option
+can be used with the \fB-F\fR or \fB\(mi\fR option, each of which is described
+above under \fBAdding or Changing a Form\fR.
+.sp
+.LP
+The \fIlogin-ID-list\fR argument may include any or all of the following
+constructs:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+A user on any system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsystem_name\fR\fB!\fR\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+A user on system \fIsystem_name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsystem_name\fR\fB!all\fR\fR
+.ad
+.RS 24n
+.rt
+All users on system \fIsystem_name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall!\fR\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+A user on all systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.RS 24n
+.rt
+All users on all systems
+.RE
+
+.sp
+.LP
+The LP print service keeps two lists of users for each form: an ``allow-list''
+of people allowed to use the form, and a ``deny-list'' of people that may not
+use the form. With the \fB\fR\fB-u\fR \fBallow\fR option, the users listed are
+added to the allow-list and removed from the deny-list. With the \fB\fR\fB-u\fR
+\fBdeny\fR option, the users listed are added to the deny-list and removed
+from the allow-list. (Both forms of the \fB-u\fR option can be run together
+with the \fB-F\fR or the \fB\(mi\fR option.)
+.sp
+.LP
+If the allow-list is not empty, only the users in the list are allowed access
+to the form, regardless of the content of the deny-list. If the allow-list is
+empty but the deny-list is not, the users in the deny-list may not use the
+form, (but all others may use it). All users can be denied access to a form by
+specifying \fB\fR\fB-f\fR \fBdeny:all\fR. All users can be allowed access to a
+form by specifying \fB\fR\fB-f\fR \fBallow:all\fR. (This is the default.)
+.SS "Setting an Alert to Mount a Form"
+.sp
+.LP
+The \fB\fR\fB-f\fR \fIform-name\fR option is used with the \fB\fR\fB-A\fR
+\fIalert-type\fR option to define an alert to mount the form when there are
+queued jobs which need it. If this option is not used to arrange alerting for a
+form, no alert will be sent for that form.
+.sp
+.LP
+The method by which the alert is sent depends on the value of the
+\fIalert-type\fR argument specified with the \fB-A\fR option. The
+\fIalert-types\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmail\fR\fR
+.ad
+.RS 17n
+.rt
+Send the alert message using the \fBmail\fR command to the administrator.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwrite\fR\fR
+.ad
+.RS 17n
+.rt
+Write the message, using the \fBwrite\fR command, to the terminal on which the
+administrator is logged in. If the administrator is logged in on several
+terminals, one is arbitrarily chosen.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquiet\fR\fR
+.ad
+.RS 17n
+.rt
+Do not send messages for the current condition. An administrator can use this
+option to temporarily stop receiving further messages about a known problem.
+Once the form \fIform-name\fR has been mounted and subsequently unmounted,
+messages will again be sent when the number of print requests reaches the
+threshold specified by the \fB-Q\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshowfault\fR\fR
+.ad
+.RS 17n
+.rt
+Attempt to execute a form alert handler on each system that has a print job for
+that form in the queue. The fault handler is \fB/etc/lp/alerts/form\fR. It is
+invoked with three parameters: \fIform_name\fR, \fBdate\fR, \fIfile_name\fR.
+\fIfile_name\fR is the name of a file containing the form alert message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone\fR\fR
+.ad
+.RS 17n
+.rt
+Do not send messages until the \fB-A\fR option is given again with a different
+\fIalert-type\fR (other than \fBquiet\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIshell-command\fR\fR
+.ad
+.RS 17n
+.rt
+Run the \fIshell-command\fR each time the alert needs to be sent. The shell
+command should expect the message in standard input. If there are blank spaces
+embedded in the command, enclose the command in quotes. Note that the
+\fBmail\fR and \fBwrite\fR values for this option are equivalent to the values
+\fBmail\fR \fIlogin-ID\fR and \fBwrite\fR \fIlogin-ID\fR respectively, where
+\fIlogin-ID\fR is the current name for the administrator. This will be the
+login name of the person submitting this command unless he or she has used the
+\fBsu\fR command to change to another login-ID. If the \fBsu\fR command has
+been used to change the user ID, then the \fIuser-name\fR for the new ID is
+used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 17n
+.rt
+Display the type of the alert for the form on standard output. No change is
+made to the alert.
+.RE
+
+.sp
+.LP
+The message sent appears as follows:
+.sp
+.in +2
+.nf
+The form \fIform-name\fR needs to be mounted
+on the printer(s):\fIprinter\fR (\fIinteger1\fR \fBrequests)\fR.
+\fIinteger2\fR print requests await this form.
+Use the \fIribbon-color\fR ribbon.
+Use the \fIprint-wheel\fR print wheel, if appropriate.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The printers listed are those that the administrator has specified as
+candidates for this form. The number \fIinteger1\fR listed next to each printer
+is the number of requests eligible for the printer. The number \fIinteger2\fR
+shown after the list of printers is the total number of requests awaiting the
+form. It will be less than the sum of the other numbers if some requests can be
+handled by more than one printer. The \fIribbon-color\fR and \fIprint-wheel\fR
+are those specified in the form description. The last line in the message is
+always sent, even if none of the printers listed use print wheels, because the
+administrator may choose to mount the form on a printer that does use a print
+wheel.
+.sp
+.LP
+Where any color ribbon or any print wheel can be used, the statements above
+will read:
+.sp
+.in +2
+.nf
+\fBUse any ribbon.\fR
+\fBUse any print-wheel.\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If \fIform-name\fR is \fBany\fR, the \fIalert-type\fR defined in this command
+applies to any form for which an alert has not yet been defined. If
+\fIform-name\fR is \fBall\fR, the \fIalert-type\fR defined in this command
+applies to all forms.
+.sp
+.LP
+If the \fB-W\fR \fIminutes\fR option is not given, the default procedure is
+that only one message will be sent per need to mount the form. Not specifying
+the \fB-W\fR option is equivalent to specifying \fB\fR\fB-W\fR \fBonce\fR or
+\fB-W\fR \fB0\fR. If \fIminutes\fR is a number greater than \fB0\fR, an alert
+will be sent at intervals specified by \fIminutes\fR.
+.sp
+.LP
+If the \fB-Q\fR \fIrequests\fR option is also given, the alert will be sent
+when a certain number (specified by the argument \fIrequests\fR) of print
+requests that need the form are waiting. If the \fB-Q\fR option is not given,
+or the value of \fIrequests\fR is \fB1\fR or \fBany\fR (which are both the
+default), a message is sent as soon as anyone submits a print request for the
+form when it is not mounted.
+.SS "Listing the Current Alert"
+.sp
+.LP
+The \fB-f\fR option, followed by the \fB-A\fR option and the argument
+\fBlist\fR is used to list the \fIalert-type\fR that has been defined for the
+specified form \fIform-name\fR. No change is made to the alert. If
+\fIform-name\fR is recognized by the LP print service, one of the following
+lines is sent to the standard output, depending on the type of alert for the
+form.
+.sp
+.ne 2
+.mk
+.na
+\fB\(mi\fR
+.ad
+.RS 8n
+.rt
+\fBWhen\fR \fIrequests\fR \fBrequests are queued:\fR \fBalert
+with\fR\fIshell-command\fR \fBevery\fR \fIminutes\fR \fBminutes\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\(mi\fR
+.ad
+.RS 8n
+.rt
+\fBWhen\fR \fIrequests\fR \fBrequests are queued:\fR \fBwrite to\fR
+\fIuser-name\fR \fBevery\fR \fIminutes\fR \fBminutes\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\(mi\fR
+.ad
+.RS 8n
+.rt
+\fBWhen\fR \fIrequests\fR \fBrequests are queued:\fR \fBmail to\fR
+\fIuser-name\fR \fBevery\fR \fIminutes\fR \fBminutes\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\(mi\fR
+.ad
+.RS 8n
+.rt
+\fBNo alert\fR
+.RE
+
+.sp
+.LP
+The phrase \fBevery\fR \fIminutes\fR \fBminutes\fR is replaced with \fBonce\fR
+if \fIminutes\fR (\fB-W\fR\fI\fR\fIminutes\fR) is 0.
+.SS "Terminating an Active Alert"
+.sp
+.LP
+The \fB-A\fR \fBquiet\fR option is used to stop messages for the current
+condition. An administrator can use this option to temporarily stop receiving
+further messages about a known problem. Once the form has been mounted and then
+unmounted, messages will again be sent when the number of print requests
+reaches the threshold \fIrequests\fR.
+.SS "Removing an Alert Definition"
+.sp
+.LP
+No messages will be sent after the \fB-A\fR \fBnone\fR option is used until the
+\fB-A\fR option is given again with a different \fIalert-type\fR. This can be
+used to permanently stop further messages from being sent as any existing
+alert definition for the form will be removed.
+.SS "Large File Behavior"
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBlpforms\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lp/alerts/form\fR\fR
+.ad
+.RS 23n
+.rt
+Fault handler for \fBlpform\fR.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlp\fR(1), \fBlpstat\fR(1), \fBlpadmin\fR(1M), \fBterminfo\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/lpget.1m b/usr/src/man/man1m/lpget.1m
new file mode 100644
index 0000000000..aa9aeb4500
--- /dev/null
+++ b/usr/src/man/man1m/lpget.1m
@@ -0,0 +1,216 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpget 1M "23 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpget \- get printing configuration
+.SH SYNOPSIS
+.LP
+.nf
+\fBlpget\fR [\fB-k\fR \fIkey\fR] [\fIdestination\fR... | list]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpget\fR utility reads printing configuration information from the
+configuration databases in \fB$HOME/.printers\fR, \fB/etc/printers.conf\fR,
+\fBprinters.conf.byname\fR, and \fBprinters.org_dir\fR printer. This
+information, called a \fIconfiguration report\fR, is displayed to the standard
+output. See \fBprinters\fR(4) and \fBprinters.conf\fR(4) for information about
+the printer configuration databases.
+.sp
+.LP
+\fBlpget\fR displays a configuration report for all keys for the specified
+destination or destinations by default. Use the \fB-k\fR option to display a
+configuration report for specific keys. Use the \fBlist\fR operand to display a
+configuration report for all configured destinations.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIkey\fR\fR
+.ad
+.RS 10n
+.rt
+Displays a configuration report for \fIkey\fR. See \fBprinters.conf\fR(4) for
+information about specifying \fIkey\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdestination\fR\fR
+.ad
+.RS 15n
+.rt
+Displays a configuration report for \fIdestination\fR. Destination can be
+either a printer of a class of printers. See \fBlpadmin\fR(1M). Specify
+\fIdestination\fR using atomic or POSIX-style
+(\fIserver\fR\fB:\fR\fIdestination\fR) names. See \fBprinters.conf \fR(4) for
+information regarding the naming conventions for atomic names and
+\fBstandards\fR(5) for information concerning POSIX.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 15n
+.rt
+Displays a configuration report for all configured destinations.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying a Configuration Report for the \fBbsdaddr\fR Key
+.sp
+.LP
+The following example displays a configuration report for the \fBbsdaddr\fR
+key for printer \fBcatalpa\fR.
+
+.sp
+.in +2
+.nf
+example% \fBlpget -k bsdaddr catalpa\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRA Configuration Report for all Keys for all Configured
+Destinations
+.sp
+.LP
+The following example displays a configuration report for all keys for all
+configured destinations.
+
+.sp
+.in +2
+.nf
+example% \fBlpget list\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printers.conf\fR\fR
+.ad
+.RS 24n
+.rt
+System printer configuration database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.printers\fR \fR
+.ad
+.RS 24n
+.rt
+User-configurable printer database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinters.conf.byname\fR\fR
+.ad
+.RS 24n
+.rt
+\fBNIS\fR version of \fB/etc/printers.conf\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinters.org_dir\fR\fR
+.ad
+.RS 24n
+.rt
+\fBNIS+\fR version of \fB/etc/printers.conf\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Stability LevelStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBldap\fR(1), \fBlp\fR(1), \fBlpc\fR(1B), \fBlpq\fR(1B), \fBlpr\fR(1B),
+\fBlpstat\fR(1), \fBlpadmin \fR(1M), \fBlpset\fR(1M), \fBprinters\fR(4),
+\fBprinters.conf\fR(4), \fBattributes\fR(5), \fBstandards\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Be mindful of the following if the LDAP database is used as the name service.
+If the \fBldapclient\fR(1M) server is a replica LDAP server, LDAP printer
+database updates may not appear immediately, as the replica server may not not
+have been updated by the master server and can be out of sync. For example, a
+printer that you deleted by using \fBlpset\fR(1M) may still appear in the
+printer list you display with \fBlpget\fR until the replica is updated from the
+master. Replica servers vary as to how often they are updated from the master.
+Refer to the \fI\fR for more information on LDAP replication.
diff --git a/usr/src/man/man1m/lpmove.1m b/usr/src/man/man1m/lpmove.1m
new file mode 100644
index 0000000000..a6f6ce708f
--- /dev/null
+++ b/usr/src/man/man1m/lpmove.1m
@@ -0,0 +1,209 @@
+'\" te
+.\" Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpmove 1M "6 Jun 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpmove \- move print requests
+.SH SYNOPSIS
+.LP
+.nf
+\fBlpmove\fR [\fIrequest-ID\fR] \fIdestination\fR
+.fi
+
+.LP
+.nf
+\fBlpmove\fR \fIsource\fR \fIdestination\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpmove\fR command moves print requests queued by \fBlp\fR(1) or
+\fBlpr\fR(1B) between destinations.
+.sp
+.LP
+The first form of \fBlpmove\fR moves specific print requests (\fIrequest-ID\fR)
+to a specific \fIdestination\fR.
+.sp
+.LP
+The second form of the \fBlpmove\fR command moves all print requests from one
+destination (\fIdestination1\fR) to another (\fIdestination2\fR). This form of
+\fBlpmove\fR also rejects new print requests for \fIdestination1\fR.
+.sp
+.LP
+\fBlpmove\fR moves individual requests or entire queues only within an instance
+of a print service, not between a local and a remote queues or local queues on
+different instances of a print service. Requests can only be moved if the print
+service or protocol supports it. The LP print server and IPP print protocol
+both support moving requests between queues. The BSD print protocol does not.
+.sp
+.LP
+When moving requests, \fBlpmove\fR does not check the acceptance status of the
+destination to which the print requests are being moved (see \fBaccept\fR(1M)).
+\fBlpmove\fR does not move requests that have options (for example, content
+type or requiring a special form) that cannot be handled by the new
+destination.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrequest-ID\fR\fR
+.ad
+.RS 15n
+.rt
+The specific print request to be moved. Specify \fIrequest-ID\fR as the
+identifier associated with a print request as reported by \fBlpstat\fR. See
+\fBlpstat\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdestination\fR\fR
+.ad
+.RS 15n
+.rt
+The name of the printer or class of printers (see \fBlpadmin\fR(1M)) to which
+\fBlpmove\fR moves a \fIspecified\fR print request. Specify \fIdestination\fR
+using atomic, URI-style (\fIscheme\fR://\fIendpoint\fR), POSIX-style
+(\fIserver\fR\fB:\fR\fIdestination\fR) syntax.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsource\fR\fR
+.ad
+.RS 15n
+.rt
+The name of the destination from which \fBlpmove\fR moves \fIall\fR print
+requests. Specify \fIdestination\fR using atomic, URI-style
+(\fIscheme\fR\fB://\fR\fIendpoint\fR), POSIX-style
+(\fIserver\fR\fB:\fR\fIdestination\fR) syntax.
+.RE
+
+.sp
+.LP
+See \fBprinters.conf\fR(4) for information regarding the naming conventions for
+atomic names and \fBstandards\fR(5) for information regarding POSIX.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printers.conf\fR\fR
+.ad
+.RS 24n
+.rt
+System printer configuration database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.printers\fR\fR
+.ad
+.RS 24n
+.rt
+User-configurable printer database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBou=printers\fR\fR
+.ad
+.RS 24n
+.rt
+LDAP version of \fB/etc/printers.conf\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinters.conf.byname\fR\fR
+.ad
+.RS 24n
+.rt
+\fBNIS\fR version of \fB/etc/printers.conf\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinters.org_dir\fR\fR
+.ad
+.RS 24n
+.rt
+\fBNIS+\fR version of \fB/etc/printers.conf\fR
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlp\fR(1), \fBlpr\fR(1B), \fBlpstat\fR(1), \fBaccept\fR(1M),
+\fBlpadmin\fR(1M), \fBlpsched\fR(1M), \fBprinters.conf\fR(4),
+\fBattributes\fR(5), \fBstandards\fR(5)
+.sp
+.LP
+\fISystem Administration Guide: Solaris Printing\fR
+.SH NOTES
+.sp
+.LP
+When IPP is in use, the user is prompted for a passphsrase if the remote print
+service is configured to require authentication.
diff --git a/usr/src/man/man1m/lpsched.1m b/usr/src/man/man1m/lpsched.1m
new file mode 100644
index 0000000000..7b17990e0b
--- /dev/null
+++ b/usr/src/man/man1m/lpsched.1m
@@ -0,0 +1,150 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpsched 1M "3 Sep 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpsched \- start the LP print service
+.SH SYNOPSIS
+.LP
+.nf
+\fBlpsched\fR [\fB-f\fR \fInum_filters\fR] [\fB-n\fR \fInum_notifiers\fR] [\fB-p\fR \fIfd_limit\fR]
+ [\fB-r\fR \fIreserved_fds\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpsched\fR command starts or restarts the \fBLP\fR print service.
+.sp
+.LP
+The \fBlpshut\fR command stops the \fBLP\fR print service. Printers that are
+restarted using \fBlpsched\fR reprint (in their entirety) print requests that
+were stopped by \fBlpshut\fR. See \fBlpshut\fR(1M).
+.sp
+.LP
+It is recommended that you start and stop the LP print service using
+\fBsvcadm\fR(1M). See \fBNOTES\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fI num_filters\fR\fR
+.ad
+.RS 20n
+.rt
+Specifies the number of concurrent slow filters that may be run on a print
+server. A default value of \fB1\fR is used if none is specified. Depending on
+server configuration, a value of \fB1\fR may cause printers to remain idle
+while there are jobs queued to them.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fI num_notifiers\fR\fR
+.ad
+.RS 20n
+.rt
+Specifies the number of concurrent notification processes that can run on a
+print server. A default value of \fB1\fR is used when none is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fI fd_limit\fR\fR
+.ad
+.RS 20n
+.rt
+Specifies the file descriptor resource limit for the \fBlpsched\fR process. A
+default value of \fB4096\fR is used if none is specified. On extremely large
+and active print servers, it may be necessary to increase this value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fI reserved_fds\fR\fR
+.ad
+.RS 20n
+.rt
+Specifies the number of file descriptors that the scheduler reserves for
+internal communications under heavy load. A default value of \fB2\fR is used
+when none is specified. It should not be necessary to modify this value unless
+instructed to do so when troubleshooting problems under high load.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/lp/*\fR\fR
+.ad
+.RS 19n
+.rt
+\fBLP\fR print queue.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlp\fR(1), \fBsvcs\fR(1), \fBlpstat\fR(1), \fBlpadmin\fR(1M),
+\fBlpmove\fR(1M), \fBlpshut\fR(1M), \fBsvcadm\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBlpsched\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/application/print/server
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/lpset.1m b/usr/src/man/man1m/lpset.1m
new file mode 100644
index 0000000000..a4f014e93a
--- /dev/null
+++ b/usr/src/man/man1m/lpset.1m
@@ -0,0 +1,300 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpset 1M "23 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpset \- set printing configuration in /etc/printers.conf or other supported
+databases
+.SH SYNOPSIS
+.LP
+.nf
+\fBlpset\fR [\fB-n\fR system | nisplus | fnsldap] [\fB-x\fR]
+ [ [\fB-D\fR binddn] [\fB-w\fR passwd] [\fB-h\fR ldaphost]]
+ [\fB-a\fR \fIkey=value\fR] [\fB-d\fR \fIkey\fR] \fIdestination\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpset\fR utility sets printing configuration information in the system
+configuration databases. Use \fBlpset\fR to create and update printing
+configuration in \fB/etc/printers.conf\fR, or \fBprinters.org_dir\fR (NIS+).
+See \fBnsswitch.conf\fR(4) and \fBprinters.conf\fR(4).
+.sp
+.LP
+Only a superuser or a member of Group 14 may execute \fBlpset\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fBsystem\fR|\fBnisplus\fR|\fBldap\fR\fR
+.ad
+.RS 26n
+.rt
+Create or update the configuration information for the \fIdestination\fR entry
+in \fB/etc/printers.conf\fR, \fBprinters.org_dir\fR (NIS+), or LDAP printer
+contexts. \fBsystem\fR specifies that the information is created or updated in
+\fB/etc/printers.conf\fR. \fBnisplus\fR specifies that the information is
+created or updated in the \fBprinters.org_dir\fR NIS+ table. \fBldap\fR
+specifies that the information is written to an LDAP server. See .
+.sp
+If \fB-n\fR is not specified, \fBsystem\fR is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 26n
+.rt
+Remove all configuration for the \fIdestination\fR entry from the database
+specified by the \fB-n\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIkey\fR\fB=\fR\fIvalue\fR\fR
+.ad
+.RS 26n
+.rt
+Configure the specified \fIkey\fR\fB=\fR\fIvalue\fR pair for the
+\fIdestination\fR. See \fBprinters.conf\fR(4) for information regarding the
+specification of \fIkey\fR\fB=\fR\fIvalue\fR pairs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIkey\fR\fR
+.ad
+.RS 26n
+.rt
+Delete the configuration option specified by \fIkey\fR for the
+\fIdestination\fR entry. See \fBprinters.conf\fR(4) for information regarding
+the specification of \fIkey\fR and \fIkey\fR\fB=\fR\fIvalue\fR pairs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fBbinddn\fR\fR
+.ad
+.RS 26n
+.rt
+Use the distinguished name (DN) \fBbinddn\fR to bind to the LDAP directory
+server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fBpasswd\fR\fR
+.ad
+.RS 26n
+.rt
+Use \fBpasswd\fR as the password for authentication to the LDAP directory
+server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fBldaphost\fR\fR
+.ad
+.RS 26n
+.rt
+Specify an alternate host on which the LDAP server is running. This option is
+only used when \fBldap\fR is specified as the naming service. If this option is
+not specified, the default is the current host system.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdestination\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies the entry in \fB/etc/printers.conf\fR, \fBprinters.org_dir\fR, or
+LDAP, in which to create or modify information. \fIdestination\fR names a
+printer of class of printers. See \fBlpadmin\fR(1M). Each entry in
+\fBprinters.conf\fR describes one destination. Specify \fIdestination\fR using
+atomic names. POSIX-style destination names are not acceptable. See
+\fBprinters.conf\fR(4) for information regarding the naming conventions for
+atomic names and \fBstandards\fR(5) for information regarding POSIX.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRemoving All Existing Printing Configuration Information
+.sp
+.LP
+The following example removes all existing printing configuration information
+for destination \fBdogs\fR from \fB/etc/printers.conf\fR:
+
+.sp
+.in +2
+.nf
+example% \fBlpset -x dogs\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSetting a \fBkey=value\fR Pair
+.sp
+.LP
+The following example sets the \fBuser-equivalence\fR \fB=true\fR
+\fIkey\fR\fB=\fR\fIvalue\fR pair for destination \fBtabloid\fR in the NIS+
+context:
+
+.sp
+.in +2
+.nf
+example% \fBlpset -n nisplus -a user-equivalence=true tabloid\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSetting a \fBkey=value\fR Pair in LDAP
+.sp
+.in +2
+.nf
+example% \fBlpset -n ldap -h ldapl.xyz.com -D "cn=Directory Manager" \e
+ -w passwd -a key1=value1 printer1\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/printers.conf\fR\fR
+.ad
+.RS 26n
+.rt
+System configuration database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinter.org_dir\fR (NIS+)\fR
+.ad
+.RS 26n
+.rt
+\fBNIS+\fR version of \fB/etc/printers.conf\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Stability LevelStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBldap\fR(1), \fBlp\fR(1), \fBlpc\fR(1B), \fBlpq\fR(1B), \fBlpr\fR(1B),
+\fBlpstat\fR(1), \fBldapclient\fR(1M), \fBlpadmin\fR(1M), \fBlpget\fR(1M),
+\fBnsswitch.conf\fR(4), \fBprinters\fR(4), \fBprinters.conf\fR(4),
+\fBattributes\fR(5), \fBstandards\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+If the \fBldap\fR database is used, the printer administrator should be mindful
+of the following when updating printer information.
+.RS +4
+.TP
+1.
+Because the domain information for the printer being updated is extracted
+from the \fBldapclient\fR(1M) configuration, the LDAP server being updated must
+host the same domain that is used by the current \fBldapclient\fR(1M) server.
+.RE
+.RS +4
+.TP
+2.
+If the LDAP server being updated is a replica LDAP server, the updates will
+be referred to the master LDAP server and completed there. The updates might be
+out of sync and not appear immediatedly, as the replica server may not have
+been updated by the master server. For example, a printer that you deleted by
+using \fBlpset\fR may still appear in the printer list you display with
+\fBlpget\fR until the replica is updated from the master. Replica servers vary
+as to how often they are updated from the master. See \fISystem Administration
+Guide: Solaris Printing\fR for information on LDAP server replication.
+.RE
+.RS +4
+.TP
+3.
+Although users can use the LDAP command line utilities \fBldapadd\fR(1) and
+\fBldapmodify\fR(1) to update printer entries in the directory, the preferred
+method is to use \fBlpset\fR. Otherwise, if the \fBldapadd\fR and
+\fBldapmodify\fR utilities are used, the administrator must ensure that the
+\fBprinter-name\fR attribute value is unique within the \fBou=printers\fR
+container on the LDAP server. If the value is not unique, the result of
+modifications done using \fBlpset\fR or the Solaris Print Manager,
+\fBprintmgr\fR(1M) may be unpredictable.
+.RE
diff --git a/usr/src/man/man1m/lpshut.1m b/usr/src/man/man1m/lpshut.1m
new file mode 100644
index 0000000000..7a4c2502e0
--- /dev/null
+++ b/usr/src/man/man1m/lpshut.1m
@@ -0,0 +1,68 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpshut 1M "8 Jan 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpshut \- stop the LP print service
+.SH SYNOPSIS
+.LP
+.nf
+\fBlpshut\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpshut\fR command stops the \fBLP\fR print service.
+.sp
+.LP
+Printers that are printing when \fBlpshut\fR is invoked stop printing. Start or
+restart printers using \fBlpsched\fR(1M).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/lp/*\fR\fR
+.ad
+.RS 19n
+.rt
+\fBLP\fR print queue.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlp\fR(1), \fBlpstat\fR(1), \fBlpadmin\fR(1M), \fBlpmove\fR(1M),
+\fBlpsched\fR(1M), \fBattributes\fR( 5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/lpsystem.1m b/usr/src/man/man1m/lpsystem.1m
new file mode 100644
index 0000000000..da3dfec5b9
--- /dev/null
+++ b/usr/src/man/man1m/lpsystem.1m
@@ -0,0 +1,40 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpsystem 1M "19 Feb 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpsystem \- register remote systems with the print service
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpsystem\fR command is obsolete, and could be removed at any time. The
+print system no longer uses the information generated by \fBlpsystem\fR. See
+\fBlpadmin\fR(1M), \fBlpusers\fR(1M) or \fBprinters.conf\fR(4) for equivalent
+functionality.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Stability LevelObsolete*
+.TE
+
+.sp
+.LP
+* This command could be removed at any time.
+.SH SEE ALSO
+.sp
+.LP
+\fBlpadmin\fR(1M), \fBlpusers\fR(1M), \fBprinters.conf\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/lpusers.1m b/usr/src/man/man1m/lpusers.1m
new file mode 100644
index 0000000000..bc8fa22ea5
--- /dev/null
+++ b/usr/src/man/man1m/lpusers.1m
@@ -0,0 +1,217 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH lpusers 1M "19 Aug 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+lpusers \- set printing queue priorities
+.SH SYNOPSIS
+.LP
+.nf
+\fBlpusers\fR \fB-d\fR \fIpriority-level\fR
+.fi
+
+.LP
+.nf
+\fBlpusers\fR \fB-q\fR \fIpriority-level\fR \fB-u\fR \fIlogin-ID-list\fR
+.fi
+
+.LP
+.nf
+\fBlpusers\fR \fB-u\fR \fIlogin-ID-list\fR
+.fi
+
+.LP
+.nf
+\fBlpusers\fR \fB-q\fR \fIpriority-level\fR
+.fi
+
+.LP
+.nf
+\fBlpusers\fR \fB-l\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBlpusers\fR command sets limits to the queue priority level that can be
+assigned to jobs submitted by users of the LP print service.
+.sp
+.LP
+The first form of the command (with \fB-d\fR) sets the system-wide priority
+default to \fIpriority-level\fR, where \fIpriority-level\fR is a value of 0 to
+39, with 0 being the highest priority. If a user does not specify a priority
+level with a print request (see \fBlp\fR(1)), the default priority level is
+used. Initially, the default priority level is 20.
+.sp
+.LP
+The second form of the command (with \fB-q\fR and \fB-u\fR) sets the default
+highest \fIpriority-level\fR (\|0-39\|) that the users in \fIlogin-ID-list\fR
+can request when submitting a print request. The \fIlogin-ID-list\fR argument
+may include any or all of the following constructs:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+A user on any system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsystem_name\fR\fB!\fR\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+A user on the system \fIsystem_name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsystem_name\fR\fB!all\fR\fR
+.ad
+.RS 24n
+.rt
+All users on system \fIsystem_name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall!\fR\fIlogin-ID\fR\fR
+.ad
+.RS 24n
+.rt
+A user on all systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.RS 24n
+.rt
+All users on all systems
+.RE
+
+.sp
+.LP
+Users that have been given a limit cannot submit a print request with a higher
+priority level than the one assigned, nor can they change a request that has
+already been submitted to have a higher priority. Any print requests submitted
+with priority levels higher than allowed will be given the highest priority
+allowed.
+.sp
+.LP
+The third form of the command (with \fB-u\fR) removes any explicit priority
+level for the specified users.
+.sp
+.LP
+The fourth form of the command (with \fB-q\fR) sets the default highest
+priority level for all users not explicitly covered by the use of the second
+form of this command.
+.sp
+.LP
+The last form of the command (with \fB-l\fR) lists the default priority level
+and the priority limits assigned to users.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fI priority-level\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the system-wide priority default to \fIpriority-level\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the default priority level and the priority limits assigned to users.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fI priority-level\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the default highest priority level for all users not explicitly covered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fI priority-level\fR \fB-u\fR\fI login-ID-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the default highest \fIpriority-level\fR that the users in
+\fIlogin-ID-list\fR can request when submitting a print request.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fI login-ID-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove any explicit priority level for the specified users.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlp\fR(1), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/luxadm.1m b/usr/src/man/man1m/luxadm.1m
new file mode 100644
index 0000000000..abcebc27ea
--- /dev/null
+++ b/usr/src/man/man1m/luxadm.1m
@@ -0,0 +1,1391 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH luxadm 1M "24 Sep 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+luxadm \- administer Sun Fire 880 storage subsystem and FC_AL devices
+.SH SYNOPSIS
+.LP
+.nf
+\fBluxadm\fR [\fIoptions\fR]... \fIsubcommand\fR [\fIoptions\fR]... \fIenclosure\fR
+ [,\fIdev\fR] | \fIpathname\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBluxadm\fR program is an administrative command that manages the
+\fBSENA\fR, Sun Fire 880 internal storage subsystem, and individual Fiber
+Channel Arbitrated Loop (\fBFC_AL\fR) devices. \fBluxadm\fR performs a variety
+of control and query tasks depending on the command line arguments and options
+used.
+.sp
+.LP
+The command line must contain a subcommand. The command line may also contain
+options, usually at least one enclosure name or pathname, and other parameters
+depending on the subcommand. You need specify only as many characters as are
+required to uniquely identify a subcommand.
+.sp
+.LP
+Specify the device that a subcommand interacts with by entering a pathname. For
+the \fBSENA\fR subsystem, a disk device or enclosure services controller may
+instead be specified by entering the World Wide Name (\fBWWN\fR) for the device
+or a port to the device. The device may also be specified by entering the name
+of the \fBSENA\fR enclosure, and an optional identifier for the particular
+device in the enclosure. The individual \fBFC_AL\fR devices may be specified by
+entering the \fBWWN\fR for the device or a port to the device.
+.SS "Pathname"
+.sp
+.LP
+Specify the device or controller by either a complete physical pathname or a
+complete logical pathname.
+.sp
+.LP
+For \fBSENA,\fR a typical physical pathname for a device is:
+.sp
+.in +2
+.nf
+/devices/sbus@1f,0/SUNW,socal@1,0/sf@0,0/ssd@w2200002037000f96,
+ 0:a,raw
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For all \fBSENA IBs\fR (Interface Boards) and Sun Fire 880 SES device
+controllers on the system, a logical link to the physical paths is kept in the
+directory \fB/dev/es\fR. An example of a logical link is \fB/dev/es/ses0\fR.
+.sp
+.LP
+The \fBWWN\fR may be used in place of the pathname to select an \fBFC_AL\fR
+device, \fBSENA\fR subsystem IB, or Sun Fire 880 internal storage subsystem.
+The \fBWWN\fR is a unique 16 hexadecimal digit value that specifies either the
+port used to access the device or the device itself. A typical \fBWWN\fR value
+is:
+.sp
+.in +2
+.nf
+2200002037000f96
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See NOTES for more information on the \fBWWN\fR formats.
+.sp
+.LP
+For a disk in a Sun Fire 880 internal storage subsystem, a typical physical
+pathname is:
+.sp
+.in +2
+.nf
+/devices/pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w2100002037a6303c,0:a
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+and a typical logical pathname is:
+.sp
+.in +2
+.nf
+/dev/rdsk/c2t8d0s2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For individual FC_AL devices, a typical physical pathname is:
+.sp
+.in +2
+.nf
+/devices/sbus@3.0/SUNW,socal@d,10000/sf@0,0/ssd@w2200002037049fc3,0:a,raw
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+and a typical logical pathname is:
+.sp
+.in +2
+.nf
+/dev/rdsk/c1t0d0s2
+.fi
+.in -2
+.sp
+
+.SS "Enclosure"
+.sp
+.LP
+For \fBSENA,\fR a device may be identified by its enclosure name and slotname:
+.br
+.in +2
+\fIbox_name\fR[\fB,f\fR\fIslot_number\fR]
+.in -2
+.br
+.in +2
+\fIbox_name\fR[\fB,r\fR\fIslot_number\fR]
+.in -2
+.sp
+.LP
+\fIbox_name\fR is the name of the \fBSENA\fR enclosure, as specified by the
+\fBenclosure_name\fR subcommand. When used without the optional
+\fIslot_number\fR parameter, the \fIbox_name\fR identifies the \fBSENA\fR
+subsystem \fBIB.\fR
+.sp
+.LP
+\fBf\fR or \fBr\fR specifies the front or rear slots in the \fBSENA\fR
+enclosure.
+.sp
+.LP
+\fIslot_number\fR specifies the slot number of the device in the \fBSENA\fR
+enclosure, \fB0-6\fR or \fB0-10\fR.
+.sp
+.LP
+For a Sun Fire 880 internal storage subsystem, a device may also be identified
+by its enclosure name and slot name. However, there is only one set of disks:
+.sp
+.in +2
+.nf
+\fIbox_name\fR[,\fIsslot_number\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fIbox_name\fR is the name of the Sun Fire 880 enclosure, as specified by the
+\fBenclosure_name\fR subcommand. When used without the optional
+\fIslot_number\fR parameter, \fIbox_name\fR identifies the Sun Fire 880
+internal storage subsystem enclosure services device. Use \fIs\fR to specify
+the disk slot number in the Sun Fire 880 internal storage subsystem, \fB0\fR -
+\fB11\fR.
+.sp
+.LP
+See \fBdisks\fR(1M) and \fBdevlinks\fR(1M) for additional information on
+logical names for disks and subsystems.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported by all subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Expert mode. This option is not recommended for the novice user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Verbose mode.
+.RE
+
+.sp
+.LP
+Options that are specific to particular subcommands are described with the
+subcommand in the \fBUSAGE\fR section.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIenclosure\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIbox_name\fR of the \fBSENA\fR or Sun Fire 880 internal storage
+subsystem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfibre_channel_HBA_port\fR\fR
+.ad
+.sp .6
+.RS 4n
+The path to the host controller port. A typical path is:
+.sp
+.in +2
+.nf
+ /devices/pci@8,600000/pci@1/SUNW,qlc@4/fp@0,0:devctl
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+The logical or physical path of a \fBSENA IB\fR, Sun Fire 880 internal storage
+subsystem, or disk device. \fIpathname\fR can also be the \fBWWN\fR of a
+\fBSENA IB\fR, \fBSENA\fR disk, or individual \fBFC_AL\fR device.
+.RE
+
+.SH USAGE
+.SS "Subcommands"
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisplay\fR \fIenclosure\fR[,\fIdev\fR]\|.\|.\|.\||
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.br
+.na
+\fB\fBdisplay\fR \fB-p\fR \fIpathname\fR\|.\|.\|.\fR
+.ad
+.br
+.na
+\fB\fBdisplay\fR \fB-r\fR \fIenclosure\fR[,\fIdev\fR]\|.\|.\|.\||
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.br
+.na
+\fB\fBdisplay\fR \fB-v\fR \fIenclosure\fR[,\fIdev\fR]\|.\|.\|.\||
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Displays enclosure or device specific data.
+.sp
+Subsystem data consists of enclosure environmental sense information and status
+for all subsystem devices, including disks.
+.sp
+Disk data consists of inquiry, capacity, and configuration information.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Displays performance information for the device or subsystem specified by
+\fIpathname\fR. This option only applies to subsystems that accumulate
+performance information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Displays error information for the \fBFC_AL\fR device specified by the
+pathname, or, if the path is a \fBSENA,\fR for all devices on the loop. The
+\fB-r\fR option only applies to \fBSENA\fR subsystems and individual
+\fBFC_AL\fR devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Displays in verbose mode, including mode sense data.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdownload\fR [ \fB-s\fR ] [ \fB-f\fR \fIfilename_path\fR ]
+\fIenclosure\fR.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Download the prom image pointed to the SENA subsystem Interface Board unit or
+the Sun Fire 880 internal storage subsystem specified by the enclosure or
+pathname.
+.sp
+When the \fBSENA's\fR download is complete, the \fBSENA\fR will be reset and
+the downloaded code executed. If no filename is specified, the default prom
+image will be used. The default prom image for the \fBSENA\fR is in the
+directory \fBusr/lib/locale/C/LC_MESSAGES\fR and is named \fBibfirmware\fR
+.sp
+When the Sun Fire 880 internal storage subsystem's download is complete, the
+subsystem resets and the downloaded code begins execution. The default firmware
+image for the Sun Fire 880 internal storage subsystem is in:
+\fB/usr/platform/SUNW,Sun-Fire-880/lib/images/int_fcbpl_fw\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Save. The \fB-s\fR option is used to save the downloaded firmware in the
+FEPROM. If \fB-s\fR is not specified, the downloaded firmware will not be saved
+across power cycles.
+.sp
+The \fB-s\fR option does not apply to the Sun Fire 880 internal storage
+subsystem as it always stores downloaded firmware in the flash memory.
+.sp
+When using the \fB-s\fR option, the \fBdownload\fR subcommand modifies the
+\fBFEPROM\fR on the subsystem and should be used with \fIcaution\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenclosure_name\fR \fInew_name\fR \fIenclosure\fR | \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change the enclosure name of the enclosure or enclosures specified by the
+enclosure or pathname. The new name (\fInew_name\fR) must be 16 or less
+characters. Only alphabetic or numeric characters are acceptable. This
+subcommand applies only to the SENA and the Sun Fire 880 internal storage
+subsystem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailover primary\fR | \fBsecondary\fR \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select which Sun Storage T3 storage array partner group controller accesses a
+given logical volume. If \fBprimary\fR is specified, the logical volume is
+accessed through the primary controller. If \fBsecondary\fR is specified, the
+logical volume is accessed through the secondary controller specified by
+\fIpathname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfcal_s_download\fR [ \fB-f\fR \fIfcode-file\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Download the fcode contained in the file \fIfcode-file\fR into \fIall\fR the
+\fBFC100/S\fR Sbus Cards. This command is interactive and expects user
+confirmation before downloading the fcode.
+.sp
+Use \fBfcal_s_download\fR \fIonly\fR in single-user mode. Using
+\fBfcal_s_download\fR to update a host adapter while there is \fBI/O\fR
+activity through that adapter \fIwill\fR cause the adapter to reset. Newly
+updated FCode will not be executed or visible until a system reboot.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfcode-file\fR\fR
+.ad
+.RS 17n
+.rt
+When invoked without the \fB-f\fR option, the current version of the fcode in
+each \fBFC100/S\fR Sbus card is printed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfcode_download\fR \fB-p\fR\fR
+.ad
+.br
+.na
+\fB\fBfcode_download\fR \fB-d\fR \fIdir-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Locate the installed \fBFC/S\fR, \fBFC100/S, FC100/P\fR, or \fBFC100/2P\fR host
+bus adapter cards and download the FCode files in \fIdir-name\fR to the
+appropriate cards. The command determines the correct card for each type of
+file, and is interactive. User confirmation is required before downloading the
+FCode to each device.
+.sp
+Use \fBfcode_download\fR to load FCode only in single-user mode. Using
+\fBfcode_download\fR to update a host adapter while there is \fBI/O\fR activity
+through that adapter causes the adapter to reset. Newly updated FCode will not
+be executed or visible until a system reboot.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir-name\fR\fR
+.ad
+.RS 15n
+.rt
+Download the FCode files contained in the directory \fIdir-name\fR to the
+appropriate adapter cards.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 15n
+.rt
+Prints the current version of FCode loaded on each card. No download is
+performed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinquiry\fR \fIenclosure\fR[,\fIdev\fR ]\|.\|.\|.\| |
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Display the inquiry information for the selected device specified by the
+enclosure or pathname.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinsert_device\fR [ \fIenclosure\fR,\fIdev\fR\|.\|.\|. ]\fR
+.ad
+.sp .6
+.RS 4n
+Assist the user in the hot insertion of a new device or a chain of new devices.
+Refer to \fBNOTES\fR for limitations on hotplug operations. This subcommand
+applies only to the \fBSENA\fR, Sun Fire 880 internal storage subsystem, and
+individual FC_AL drives. For the \fBSENA\fR, if more than one enclosure has
+been specified, concurrent hot insertions on multiple busses can be performed.
+With no arguments to the subcommand, entire enclosures or individual
+\fBFC_AL\fR drives can be inserted. For the \fBSENA\fR or the Sun Fire 880
+internal storage subsystem, this subcommand guides the user interactively
+through the hot insertion steps of a new device or chain of devices. If a list
+of disks was entered it will ask the user to verify the list of devices to be
+inserted is correct, at which point the user can continue or quit. It then
+interactively asks the user to insert the disk(s) or enclosure(s) and then
+creates and displays the logical pathnames for the devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBled\fR \fIenclosure\fR,\fIdev\fR\|.\|.\|.\|| \fIpathname\fR.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Display the current state of the \fBLED\fR associated with the disk specified
+by the enclosure or pathname. This subcommand only applies to subsystems that
+support this functionality.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBled_blink\fR \fIenclosure\fR,\fIdev\fR\|.\|.\|.\||
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Requests the subsystem to start blinking the \fBLED\fR associated with the disk
+specified by the enclosure or pathname. This subcommand only applies to
+subsystems that support this functionality.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBled_off\fR \fIenclosure\fR,\fIdev\fR\|.\|.\|.\||
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Requests the subsystem to disable (turn off) the \fBLED\fR associated with the
+disk specified by the enclosure or pathname. On a \fBSENA\fR subsystem, this
+may or may not cause the \fBLED\fR to turn off or stop blinking depending on
+the state of the \fBSENA\fR subsystem. Refer to the \fBSENA\fR Array
+Installation and Service Manual (p/n 802-7573). This subcommand only applies to
+subsystems that support this functionality.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBled_on\fR \fIpathname\fR\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Requests the subsystem to enable (turn on) the \fBLED\fR associated with the
+disk specified by the pathname. This subcommand only applies to subsystems that
+support this functionality.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpower_off\fR [ \fB-F\fR ] \fIenclosure\fR[,\fIdev\fR]\|.\|.\|. |
+\fIpathname\fR \|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+When a \fBSENA\fR is addressed, this subcommand causes the \fBSENA\fR subsystem
+to go into the power-save mode. The \fBSENA\fR drives are not available when in
+the power-save mode. When a drive in a \fBSENA\fR is addressed the drive is set
+to the drive off/unmated state. In the drive off/unmated state, the drive is
+spun down (stopped) and in bypass mode. This command does not apply to the Sun
+Fire 880 internal storage subsystem.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 6n
+.rt
+The force option only applies to the \fBSENA.\fR Instructs \fBluxadm\fR to
+attempt to power off one or more devices even if those devices are being used
+by this host (and are, therefore, busy).
+.sp
+\fBWarning\fR: Powering off a device which has data that is currently being
+used will cause unpredictable results. Users should attempt to power off the
+device normally (without \fB-F\fR) first, only resorting to this option when
+sure of the consequences of overriding normal checks.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpower_on\fR \fIenclosure\fR[\fB,\fR\fIdev\fR]\|.\|.\|\fR
+.ad
+.sp .6
+.RS 4n
+Causes the \fBSENA\fR subsystem to go out of the power-save mode, when this
+subcommand is addressed to a \fBSENA.\fR. When this subcommand is addressed to
+a drive the drive is set to its normal start-up state. This command does not
+apply to the Sun Fire 880 internal storage subsystem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprobe\fR [ \fB-p\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Finds and displays information about all attached \fBSENA\fR subsystems, Sun
+Fire 880 internal storage subsystems, and individual \fBFC_AL\fR devices,
+including the logical pathname, the \fBWWNs,\fR and enclosure names. This
+subcommand warns the user if it finds different \fBSENAs\fR with the same
+enclosure names.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Includes the physical pathname in the display.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqlgc_s_download\fR [ \fB-f\fR \fIfcode-file\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Download the FCode contained in the file \fIfcode-file\fR into all the
+\fBFC100/P\fR, \fBFC100/2P\fR \fBPCI\fR host adapter cards. This command is
+interactive and expects user confirmation before downloading the FCode to each
+device. Only use \fBqlgc_s_download\fR in single-user mode. Using
+\fBqlgc_s_download\fR to update a host adapter while there is\fB I/O\fR
+activity through that adapter will cause the adapter to reset. Newly updated
+FCode will not be executed or visible until a system reboot.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfcode-file\fR\fR
+.ad
+.RS 17n
+.rt
+When invoked without the \fB-f\fR option, the current version of the FCode in
+each \fBFC100/P\fR,\fB FC100/2P PCI\fR card is printed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrelease\fR \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Release a reservation held on the specified disk. The pathname should be the
+physical or logical pathname for the disk.
+.sp
+This subcommand is included for historical and diagnostic purposes only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove_device\fR [ \fB-F\fR ] \fIenclosure\fR[,\fIdev\fR]\|.\|.\|.\||
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Assists the user in hot removing a device or a chain of devices. This
+subcommand can also be used to remove entire enclosures. This subcommand
+applies to the \fBSENA\fR, Sun Fire 880 internal storage subsystem, and
+individual \fBFC_AL\fR drives. Refer to \fBNOTES\fR for limitations on hotplug
+operations. For the \fBSENA\fR, Sun Fire 880 internal storage subsystem, and
+individual \fBFC_AL\fR devices, this subcommand guides the user through the hot
+removal of a device or devices. During execution it will ask the user to verify
+the list of devices to be removed is correct, at which point the user can
+continue or quit. It then prepares the disk(s) or enclosure(s) for removal and
+interactively asks the user to remove the disk(s) or enclosure(s).
+.sp
+For Multi-Hosted disk, the steps taken are:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Issue the \fBluxadm\fR \fBremove_device\fR command on the first host. When
+prompted to continue, wait.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Issue the \fBluxadm\fR \fBremove_device\fR command on the secondary hosts. When
+prompted to continue, wait.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Continue with the \fBremove_device\fR command on the first host. Remove the
+device when prompted to do so.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Complete the \fBluxadm\fR \fBremove_device\fR command on the additional hosts.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 6n
+.rt
+Instructs \fBluxadm\fR to attempt to hot plug one or more devices even if those
+devices are being used by this host (and are, therefore, \fBbusy\fR or
+\fBreserved\fR), to \fBforce\fR the hotplugging operation.
+.sp
+\fBWarning\fR: Removal of a device which has data that is currently being used
+will cause unpredictable results. Users should attempt to hotplug normally
+(without \fB-F\fR) first, only resorting to this option when sure of the
+consequences of overriding normal hotplugging checks.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreserve\fR \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reserve the specified disk for exclusive use by the issuing host. The pathname
+used should be the physical or logical pathname for the disk.
+.sp
+This subcommand is included for historical and diagnostic purposes only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset_boot_dev\fR [ \fB-y\fR ] \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the boot-device variable in the system \fBPROM\fR to the physical device
+name specified by \fIpathname\fR, which can be a block special device or the
+pathname of the directory on which the boot file system is mounted. The command
+normally runs interactively requesting confirmation for setting the default
+boot-device in the \fBPROM\fR. The \fB-y\fR option can be used to run it
+non-interactively, in which case no confirmation is requested or required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstart\fR \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Spin up the specified disk(s) in a SENA.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstop\fR \fIpathname\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Spin down the specified disks in a SENA.
+.RE
+
+.SS "SENA, Sun Fire 880 Internal Storage Subsystem, and Individual FC_AL Drive Expert Mode Subcommands"
+.sp
+.LP
+The following subcommands are for expert use only, and are applicable only to
+the \fBSENA\fR, Sun Fire 880 internal storage subsystem, and fiber channel
+loops. They should only be used by users that are knowledgeable about the
+\fBSENA\fR subsystem and fiber channel loops.
+.sp
+.LP
+If you specify a disk to an expert subcommand that operates on a bus, the
+subcommand operates on the bus to which the specified disk is attached.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fBbypass\fR \fB[\fR\fB-ab\fR\fB]\fR \fIenclosure\fR,\fIdev\fR\fR
+.ad
+.br
+.na
+\fB\fB-e\fR \fBbypass\fR \fB-f\fR \fIenclosure\fR\fR
+.ad
+.sp .6
+.RS 4n
+Request the enclosure services controller to set the LRC (Loop Redundancy
+Circuit) to the bypassed state for the port and device specified.
+.sp
+This subcommand supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Bypass port \fBa\fR of the device specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 6n
+.rt
+Bypass port \fBb\fR of the device specified.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fBdump_map\fR \fIfibre_channel_HBA_port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display WWN data for a target device or host bus adapter on the specified fibre
+channel port. If there are no target devices on the specified port, an error is
+returned.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fBenable\fR \fB[\fR\fB-ab\fR\fB]\fR \fIenclosure\fR,\fIdev\fR\fR
+.ad
+.br
+.na
+\fB\fB-e\fR \fBenable\fR \fB-f\fR \fIenclosure\fR\fR
+.ad
+.sp .6
+.RS 4n
+Request the enclosure services controller to set the LRC (Loop Redundancy
+Circuit) to the enabled state for the port and device specified.
+.sp
+This subcommand supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Enable port \fBa\fR of the device specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 6n
+.rt
+Enable port \fBb\fR of the device specified.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBforcelip\fR \fIenclosure\fR[\fB,\fR\fIdev\fR] \|.\|.\|. |
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Force the link to reinitialize, using the Loop Initialization Primitive
+(\fBLIP\fR) sequence. The enclosure or pathname can specify any device on the
+loop. Use the pathname to specify a specific path for multiple loop
+configurations.
+.sp
+This is an expert only command and should be used with caution. It will reset
+all ports on the loop.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBrdls\fR \fIenclosure\fR[\fB,\fR\fIdev\fR] \|.\|.\|. |
+\fIpathname\fR\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Read and display the link error status information for all available devices on
+the loop that contains the device specified by the enclosure or pathname.
+.RE
+
+.SS "Other Expert Mode Subcommands"
+.sp
+.LP
+See \fBNOTES\fR for limitations of these subcommands. They should only be used
+by users that are knowledgeable about the systems they are managing.
+.sp
+.LP
+These commands do not apply to the Sun Fire 880 internal storage subsystem.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBbus_getstate\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Get and display the state of the specified bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBbus_quiesce\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Quiesce the specified bus.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBbus_reset\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Reset the specified bus only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBbus_resetall\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Reset the specified bus and all devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBbus_unquiesce\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Unquiesce the specified bus. the specified device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBdev_getstate\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Get and display the state of the specified device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBdev_reset\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Reset the specified device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBoffline\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Take the specified device offline.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fBonline\fR \fIpathname\fR\fR
+.ad
+.RS 29n
+.rt
+Put the specified device online.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying the \fBSENA\fRs and Individual FC_AL Devices on a
+System
+.sp
+.LP
+The following example finds and displays all of the \fBSENA\fRs and individual
+\fBFC_AL\fR devices on a system:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm probe\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying a \fBSENA\fR or Sun Fire 880 Internal Storage
+Subsystem
+.sp
+.LP
+The following example displays a \fBSENA\fR or Sun Fire 880 internal storage
+subsystem:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm display /dev/es/ses0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying Two Subsystems
+.sp
+.LP
+The following example displays two subsystems using the enclosure names:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm display BOB system1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisplaying Information about the First Disk
+.sp
+.LP
+The following example displays information about the first disk in the front of
+the enclosure named \fBBOB.\fR Use \fBf\fR to specify the front disks. Use
+\fBr\fR to specify the rear disks.
+
+.sp
+.in +2
+.nf
+example% \fBluxadm display BOB,f0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDisplaying Information on a Sun Fire 880 Internal Storage
+Subsystem
+.sp
+.LP
+The Sun Fire 880 internal storage subsystem has only one set of disks. In this
+case, use \fIs\fR to specify the slot:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm display BOB,s0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDisplaying Information about a \fBSENA\fR disk, an Enclosure,
+or an Individual \fBFC_AL\fR Drive
+.sp
+.LP
+The following example displays information about a \fBSENA\fR disk, an
+enclosure, or an individual \fBFC_AL\fR drive with the port \fBWWN\fR of
+\fB2200002037001246\fR:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm display 2200002037001246\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRUsing Unique Characters to Issue a Subcommand
+.sp
+.LP
+The following example uses only as many characters as are required to uniquely
+identify a subcommand:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm disp BOB\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDisplaying Error Information
+.sp
+.LP
+The following example displays error information about the loop that the
+enclosure \fBBOB\fR is on:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm display \fR\fB-r\fR\fB BOB\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRDownloading New Firmware into the Interface Board
+.sp
+.LP
+The following example downloads new firmware into the Interface Board in the
+enclosure named \fBBOB\fR (using the default path for the file to download):
+
+.sp
+.in +2
+.nf
+example% \fBluxadm download \fR\fB-s\fR\fB BOB\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRDisplaying Information from the \fBSCSI\fR Inquiry Command
+.sp
+.LP
+The following example displays information from the \fBSCSI\fR inquiry command
+from all individual disks on the system, using only as many characters as
+necessary to uniquely identify the inquiry subcommand:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm inq /dev/rdsk/c?t?d?s2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRHotplugging
+.sp
+.LP
+The following example hotplugs a new drive into the first slot in the front of
+the enclosure named \fBBOB:\fR
+
+.sp
+.in +2
+.nf
+example% \fBluxadm insert_device BOB,f0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example hotplugs a new drive into the first slot in the Sun Fire
+880 internal storage subsystem named SF880-1:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm insert_device SF880-1,s0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRRunning an Expert Subcommand
+.sp
+.LP
+The following example runs an expert subcommand. The subcommand forces a loop
+initialization on the loop that the enclosure \fBBOB\fR is on:
+
+.sp
+.in +2
+.nf
+example% \fBluxadm \fR\fB-e\fR\fB forcelip BOB\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRUsing the Expert Mode Hot Plugging Subcommands
+.sp
+.LP
+An example of using the expert mode hot plugging subcommands to hot remove a
+disk follows. See \fBNOTES\fR for hot plugging limitations.
+
+.sp
+.LP
+The first step reserves the SCSI device so that it can't be accessed by way of
+its second SCSI bus:
+
+.sp
+.in +2
+.nf
+example# \fBluxadm reserve /dev/rdsk/c1t8d0s2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRTaking the Disk to be Removed Offline
+.sp
+.LP
+The next two steps take the disk to be removed offline then quiesce the bus:
+
+.sp
+.in +2
+.nf
+example# \fBluxadm \fR\fB-e\fR\fB offline /dev/rdsk/c1t8d0s2\fR
+example# \fBluxadm -e bus_quiesce /dev/rdsk/c1t8d0s2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 15 \fRUnquiescing the Bus
+.sp
+.LP
+The user then removes the disk and continues by unquiescing the bus, putting
+the disk back online, then unreserving it:
+
+.sp
+.in +2
+.nf
+example# \fBluxadm \fR\fB-e\fR\fB bus_unquiesce /dev/rdsk/c1t8d0s2\fR
+example# \fBluxadm \fR\fB-e\fR\fB online /dev/rdsk/c1t8d0s2\fR
+example# \fBluxadm release /dev/rdsk/c1t8d0s2\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for a description of the \fBLANG\fR environment variable
+that affects the execution of \fBluxadm\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 9n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\(mi1\fR\fR
+.ad
+.RS 9n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusr/lib/firmware/fc_s/fc_s_fcode\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusr/lib/locale/C/LC_MESSAGES/ibfirmware\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdevlinks\fR(1M), \fBdisks\fR(1M), \fBattributes\fR(5), \fBenviron\fR(5),
+\fBses\fR( 7D)
+.sp
+.LP
+\fISENA Array Installation and Service Manual\fR (p/n 802-7573).
+.sp
+.LP
+\fIRAID Manager 6.1 Installation and Support Guide Answerbook\fR
+.sp
+.LP
+\fIRAID Manager 6.1 User's Guide Answerbook\fR
+.SH NOTES
+.sp
+.LP
+See the \fISENA Array Installation and Service Manual\fR for additional
+information on the \fBSENA.\fR Refer to \fITutorial for SCSI use of IEEE
+Company_ID\fR, R. Snively, for additional information regarding the \fBIEEE\fR
+extended \fBWWN.\fR See \fBSEE ALSO\fR. Currently, only some device drivers
+support hot plugging. If hot plugging is attempted on a disk or bus where it is
+not supported, an error message of the form:
+.sp
+.in +2
+.nf
+luxadm: can't acquire "PATHNAME": No such file or directory
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+will be displayed.
+.sp
+.LP
+You must be careful not to quiesce a bus that contains the root or the
+\fB/usr\fR filesystems or any swap data. If you do quiesce such a bus a
+deadlock can result, requiring a system reboot.
diff --git a/usr/src/man/man1m/mail.local.1m b/usr/src/man/man1m/mail.local.1m
new file mode 100644
index 0000000000..2e43dc569c
--- /dev/null
+++ b/usr/src/man/man1m/mail.local.1m
@@ -0,0 +1,235 @@
+'\" te
+.\" Copyright (c) 1983 Eric P. Allman
+.\" Copyright (c) 1988, 1993 The Regents of the University of California. All rights reserved.
+.\" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display
+.\" the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific
+.\" prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\" Copyright (c) 1998-2006, 2008 Sendmail, Inc. and its suppliers. All rights reserved.
+.\" The following license terms and conditions apply, unless a different license is obtained from Sendmail, Inc., 6425 Christie Ave, Fourth Floor, Emeryville, CA 94608, USA, or by electronic mail at license@sendmail.com. License Terms: Use, Modification and Redistribution
+.\" (including distribution of any modified or derived work) in source and binary forms is permitted only if each of the following conditions is met: 1. Redistributions qualify as "freeware" or "Open Source Software" under one of the following terms: (a) Redistributions are made at no charge
+.\" beyond the reasonable cost of materials and delivery. (b) Redistributions are accompanied by a copy of the Source Code or by an irrevocable offer to provide a copy of the Source Code for up to three years at the cost of materials and delivery. Such redistributions
+.\" must allow further use, modification, and redistribution of the Source Code under substantially the same terms as this license. For the purposes of redistribution "Source Code" means the complete compilable and linkable source code of sendmail including all modifications.
+.\" 2. Redistributions of source code must retain the copyright notices as they appear in each source code file, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below. 3. Redistributions in binary form must reproduce the Copyright Notice, these license
+.\" terms, and the disclaimer/limitation of liability set forth as paragraph 6 below, in the documentation and/or other materials provided with the distribution. For the purposes of binary distribution the "Copyright Notice" refers to the following language: "Copyright (c) 1998-2004 Sendmail,
+.\" Inc. All rights reserved." 4. Neither the name of Sendmail, Inc. nor the University of California nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. The name "sendmail" is a trademark
+.\" of Sendmail, Inc. 5. All redistributions must comply with the conditions imposed by the University of California on certain embedded code, whose copyright notice and conditions for redistribution are as follows: (a) Copyright (c) 1988, 1993 The Regents of the University of California.
+.\" All rights reserved. (b) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: (i) Redistributions of source code must retain the above copyright notice, this list of
+.\" conditions and the following disclaimer. (ii) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.\" (iii) Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY SENDMAIL,
+.\" INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF CALIFORNIA OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.TH mail.local 1M "11 Apr 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mail.local \- store mail in a mailbox
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/mail.local\fR [\fB-f\fR \fIsender\fR] [\fB-d\fR] \fIrecipient\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmail.local\fR reads the standard input up to an end-of-file and appends it
+to each user's mail file (mailbox). This program is intended to be used by
+\fBsendmail\fR(1M) as a mail delivery agent for local mail. It is not a user
+interface agent.
+.sp
+.LP
+Messages are appended to the user's mail file in the \fB/var/mail\fR directory.
+The user must be a valid user name.
+.sp
+.LP
+Each delivered mail message in the mailbox is preceded by a "Unix From line"
+with the following format:
+.sp
+.LP
+\fBFrom\fR \fIsender_address\fR \fItime_stamp\fR
+.sp
+.LP
+The \fIsender_address\fR is extracted from the \fBSMTP\fR envelope address (the
+envelope address is specified with the \fB-f\fR option).
+.sp
+.LP
+A trailing blank line is also added to the end of each message.
+.sp
+.LP
+The mail files are locked with a \fB\&.lock\fR file while mail is appended.
+.sp
+.LP
+The mail files are created with mode \fB660\fR, owner is set to
+\fIrecipient\fR, and group is set to \fBmail\fR. If the ``biff'' service is
+returned by \fBgetservbyname\fR(3SOCKET), the biff server is notified of
+delivered mail. This program also computes the \fBContent-Length:\fR header
+which will be used by the mailbox reader to mark the message boundary.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIsender\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the "envelope from address" of the message. This flag is technically
+optional, but should be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the recipient of the message. This flag is also optional and is
+supported here for backward compatibility. That is, \fBmail.local\fR\fI
+recipient\fR is the same as \fBmail.local\fR \fB-d\fR \fIrecipient\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 13n
+.rt
+Turn on \fBLMTP\fR mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIfrom\fR\fR
+.ad
+.RS 13n
+.rt
+Specify the sender's name (for backward compatibility).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-7\fR\fR
+.ad
+.RS 13n
+.rt
+Do not advertise 8BITMIME support in \fBLMTP\fR mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 13n
+.rt
+Return a permanent error instead of a temporary error if a mailbox exceeds
+quota.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrecipient\fR\fR
+.ad
+.RS 13n
+.rt
+The recipient of the mail message.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTZ\fR\fR
+.ad
+.RS 6n
+.rt
+Used to set the appropriate time zone on the timestamp.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/tmp/local.\fR\fIXXXXXX\fR\fR
+.ad
+.RS 23n
+.rt
+temporary files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/tmp/lochd.\fR\fIXXXXXX\fR\fR
+.ad
+.RS 23n
+.rt
+temporary files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/mail/\fR\fIuser_name\fR\fR
+.ad
+.RS 23n
+.rt
+user's mail file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmail\fR(1), \fBcomsat\fR(1M), \fBsendmail\fR(1M),
+\fBgetservbyname\fR(3SOCKET), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/makedbm.1m b/usr/src/man/man1m/makedbm.1m
new file mode 100644
index 0000000000..6eeaaaaad7
--- /dev/null
+++ b/usr/src/man/man1m/makedbm.1m
@@ -0,0 +1,204 @@
+'\" te
+.\" Copyright (c) 1999, Sun Microsystems, Inc. Copyright 1989 AT&T All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH makedbm 1M "17 Aug 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+makedbm \- make a dbm file, or get a text file from a dbm file
+.SH SYNOPSIS
+.LP
+.nf
+\fBmakedbm\fR [\fB-b\fR] [\fB-l\fR] [\fB-s\fR] [\fB-E\fR] [\fB-i\fR \fIyp_input_file\fR]
+ [\fB-o\fR \fIyp_output_name\fR] [\fB-d\fR \fIyp_domain_name\fR]
+ [\fB-m\fR \fIyp_master_name\fR] [\fB-S\fR \fIdelimiter\fR]
+ [\fB-D\fR \fInumber_of_delimiters\fR] \fIinfile\fR \fIoutfile\fR
+.fi
+
+.LP
+.nf
+\fBmakedbm\fR [\fB-u\fR \fIdbmfilename\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmakedbm\fR utility takes the \fIinfile\fR and converts it to a pair of
+files in \fBndbm\fR format (see \fBndbm\fR(3C)), namely
+\fIoutfile\fR\fB\&.pag\fR and \fIoutfile\fR\fB\&.dir.\fR Each line of the input
+file is converted to a single \fBdbm\fR record. All characters up to the first
+\fBTAB\fR or \fBSPACE\fR form the key, and the rest of the line is the data. If
+a line ends with `\e' (backslash), the data for that record is continued on to
+the next line. \fBmakedbm\fR does not treat `#' (pound-sign) as a special
+character.
+.sp
+.LP
+Because \fBmakedbm\fR is mainly used in generating \fBdbm\fR files for the
+\fBNIS\fR name service, it generates a special entry with the key
+\fIyp_last_modified\fR, which is the date of \fIinfile\fR (or the current time,
+if \fIinfile\fR is `\(mi'). The entries that have keys with the prefix
+\fIyp_\fR are interpreted by \fBNIS\fR server utilities.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 27n
+.rt
+Insert the \fBYP_INTERDOMAIN\fR into the output. This key causes
+\fBypserv\fR(1M) to use \fBDNS\fR for host name and address lookups for hosts
+not found in the maps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fI yp_domain_name\fR\fR
+.ad
+.RS 27n
+.rt
+Create a special entry with the key \fIyp_domain_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fInumber_of delimiters\fR\fR
+.ad
+.RS 27n
+.rt
+Specify \fInumber_of_delimiters\fR to skip before forming the key.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.RS 27n
+.rt
+Delimiters are escaped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI yp_input_file\fR\fR
+.ad
+.RS 27n
+.rt
+Create a special entry with the key \fIyp_input_file\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 27n
+.rt
+Lower case. Convert the keys of the given map to lower case, so that, for
+example, host name matches succeed independent of upper or lower case
+distinctions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fI yp_master_name\fR\fR
+.ad
+.RS 27n
+.rt
+Create a special entry with the key \fIyp_master_name\fR. If no master host
+name is specified, \fIyp_master_name\fR is set to the local host name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fI yp_output_name\fR\fR
+.ad
+.RS 27n
+.rt
+Create a special entry with the key \fIyp_output_name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 27n
+.rt
+Secure map. Accept connections from secure \fBNIS\fR networks only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIdelimiter\fR\fR
+.ad
+.RS 27n
+.rt
+Specify the \fIdelimiter\fR to use instead of the default delimiter for forming
+the key.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fI dbmfilename\fR\fR
+.ad
+.RS 27n
+.rt
+Undo a \fBdbm\fR file. Prints out the file in text format, one entry per line,
+with a single space separating keys from values.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinfile\fR\fR
+.ad
+.RS 11n
+.rt
+Input file for \fBmakedbm\fR. If \fIinfile\fR is `\fB\(mi\fR\&' (dash), the
+standard input is read.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIoutfile\fR\fR
+.ad
+.RS 11n
+.rt
+One of two output files in \fBndbm\fR format: \fIoutfile\fR\fB\&.pag\fR and
+\fIoutfile\fR\fB\&.dir.\fR
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBypserv\fR(1M), \fBndbm\fR(3C), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/makemap.1m b/usr/src/man/man1m/makemap.1m
new file mode 100644
index 0000000000..139a03c1ac
--- /dev/null
+++ b/usr/src/man/man1m/makemap.1m
@@ -0,0 +1,285 @@
+'\" te
+.\" Copyright (c) 1983 Eric P. Allman
+.\" Copyright (c) 1988, 1993 The Regents of the University of California. All rights reserved.
+.\" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display
+.\" the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific
+.\" prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\" Copyright (c) 1998-2006, 2008 Sendmail, Inc. and its suppliers. All rights reserved.
+.\" The following license terms and conditions apply, unless a different license is obtained from Sendmail, Inc., 6425 Christie Ave, Fourth Floor, Emeryville, CA 94608, USA, or by electronic mail at license@sendmail.com. License Terms: Use, Modification and Redistribution
+.\" (including distribution of any modified or derived work) in source and binary forms is permitted only if each of the following conditions is met: 1. Redistributions qualify as "freeware" or "Open Source Software" under one of the following terms: (a) Redistributions are made at no charge
+.\" beyond the reasonable cost of materials and delivery. (b) Redistributions are accompanied by a copy of the Source Code or by an irrevocable offer to provide a copy of the Source Code for up to three years at the cost of materials and delivery. Such redistributions
+.\" must allow further use, modification, and redistribution of the Source Code under substantially the same terms as this license. For the purposes of redistribution "Source Code" means the complete compilable and linkable source code of sendmail including all modifications.
+.\" 2. Redistributions of source code must retain the copyright notices as they appear in each source code file, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below. 3. Redistributions in binary form must reproduce the Copyright Notice, these license
+.\" terms, and the disclaimer/limitation of liability set forth as paragraph 6 below, in the documentation and/or other materials provided with the distribution. For the purposes of binary distribution the "Copyright Notice" refers to the following language: "Copyright (c) 1998-2004 Sendmail,
+.\" Inc. All rights reserved." 4. Neither the name of Sendmail, Inc. nor the University of California nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. The name "sendmail" is a trademark
+.\" of Sendmail, Inc. 5. All redistributions must comply with the conditions imposed by the University of California on certain embedded code, whose copyright notice and conditions for redistribution are as follows: (a) Copyright (c) 1988, 1993 The Regents of the University of California.
+.\" All rights reserved. (b) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: (i) Redistributions of source code must retain the above copyright notice, this list of
+.\" conditions and the following disclaimer. (ii) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.\" (iii) Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY SENDMAIL,
+.\" INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF CALIFORNIA OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.TH makemap 1M "22 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+makemap \- create database maps for sendmail
+.SH SYNOPSIS
+.LP
+.nf
+\fBmakemap\fR [\fB-N\fR] [\fB-d\fR] [\fB-f\fR] [\fB-o\fR] [\fB-r\fR] [\fB-s\fR] [\fB-v\fR] [\fB-C\fR \fIfile\fR]
+ [\fB-c\fR \fIcachesize\fR] [\fB-D\fR \fIcommentchar\fR] [\fB-e\fR] [\fB-l\fR] [\fB-t\fR \fIdelim\fR]
+ [\fB-u\fR] \fImantype\fR \fImapname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmakemap\fR creates the database maps used by the keyed map lookups in
+\fBsendmail\fR(1M). \fBmakemap\fR reads from the standard input and outputs to
+the specified \fImapname\fR.
+.sp
+.LP
+In all cases, \fBmakemap\fR reads lines from the standard input consisting of
+two words separated by whitespace. The first is the database key, the second is
+the value. The value may contain \fB%\fR\fIn\fR strings to indicated parameter
+substitution. Literal percents should be doubled (\fB%%\fR). Blank lines and
+lines beginning with \fB#\fR are ignored.
+.sp
+.LP
+\fBmakemap\fR handles three different database formats. Database format is
+selected using the \fImaptype\fR parameter. See \fBOPERANDS\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcachesize\fR\fR
+.ad
+.RS 18n
+.rt
+Use the specified hash and B-Tree cache size (\fIcachesize\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIfile\fR\fR
+.ad
+.RS 18n
+.rt
+Use the specified sendmail configuration file (\fIfile\fR) for looking up the
+TrustedUser option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 18n
+.rt
+Allow duplicate keys in the map. This is only allowed on B-Tree format maps. If
+two identical keys are read, both be inserted into the map.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIcommentchar\fR\fR
+.ad
+.RS 18n
+.rt
+Use the specified character to indicate a comment (which is ignored) instead of
+the default of '\fB#\fR'.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 18n
+.rt
+Allow empty value (right hand side).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 18n
+.rt
+Normally, all upper case letters in the key are folded to lower case. This flag
+disables that behavior. This is intended to mesh with the \fB-f\fR flag in the
+\fBK\fR line in \fBsendmail.cf\fR. The value is never case folded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 18n
+.rt
+List supported map types.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.RS 18n
+.rt
+Include the null byte that terminates strings in the map. This must match the
+\fB-N\fR flag in the \fBK\fR line in \fBsendmail.cf\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 18n
+.rt
+Append to an old file. This allows you to augment an existing file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 18n
+.rt
+Allow replacement of existing keys. Normally \fBmakemap\fR complains if you
+repeat a key, and does not do the insert.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 18n
+.rt
+Ignore safety checks on maps being created. This includes checking for hard or
+symbolic links in world writable directories.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIdelim\fR\fR
+.ad
+.RS 18n
+.rt
+Use the specified delimiter (\fIdelim\fR) instead of whitespace.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 18n
+.rt
+Dump (unmap) the content of the database to standard output. Note that, if the
+\fB-t\fR option is also provided, the specified delimiter is used when the
+content is dumped instead of whitespace.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 18n
+.rt
+Verbosely print what it is doing.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fImapname\fR\fR
+.ad
+.RS 11n
+.rt
+File name of the database map being created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImaptype\fR\fR
+.ad
+.RS 11n
+.rt
+Specifies the database format. The following \fImaptype\fR parameters are
+available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdbm\fR\fR
+.ad
+.RS 9n
+.rt
+Specifies \fBDBM\fR format maps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbtree\fR\fR
+.ad
+.RS 9n
+.rt
+Specifies B-Tree format maps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhash\fR\fR
+.ad
+.RS 9n
+.rt
+Specifies hash format maps.
+.RE
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBeditmap\fR(1M), \fBsendmail\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/mdmonitord.1m b/usr/src/man/man1m/mdmonitord.1m
new file mode 100644
index 0000000000..5ecda27e6c
--- /dev/null
+++ b/usr/src/man/man1m/mdmonitord.1m
@@ -0,0 +1,114 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mdmonitord 1M "25 Jul 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mdmonitord \- daemon to monitor metadevices
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/mdmonitord\fR [\fB-t\fR \fItime_interval\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmdmonitord\fR utility is part of Solaris Volume Manager. It monitors and
+checks RAID1 (mirrors), RAID5 and hot spares.
+.sp
+.LP
+There are two methods for checking:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+At fixed time intervals.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+When a RAID-1 (mirror), RAID-5, or hot spare fails. A failure generates an
+error event which triggers a check of these metadevices.
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 6n
+.rt
+Time interval in seconds. The default value is 0, which causes probes to occur
+only upon an error. If you want to run \fBmdmonitord\fR at a regular interval,
+a value of 1800 (seconds, every half hour) is recommended as a starting point.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>0\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBmetaclear\fR(1M), \fBmetadb\fR(1M), \fBmetadetach\fR(1M),
+\fBmetahs\fR(1M), \fBmetainit\fR(1M), \fBmetaoffline\fR(1M),
+\fBmetaonline\fR(1M), \fBmetaparam\fR(1M), \fBmetarecover\fR(1M),
+\fBmetarename\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBsvcadm\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4),
+\fBmddb.cf\fR(4), \fBmd.tab\fR(4), \fBattributes\fR(5), \fBsmf\fR(5),
+\fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Since frequent probes can affect performance, it is recommended that the
+intervals between probes be limited.
+.sp
+.LP
+The \fBmdmonitord\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/mdmonitor
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/medstat.1m b/usr/src/man/man1m/medstat.1m
new file mode 100644
index 0000000000..25b06daf96
--- /dev/null
+++ b/usr/src/man/man1m/medstat.1m
@@ -0,0 +1,143 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH medstat 1M "18 Jan 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+medstat \- check the status of mediator hosts for a given diskset
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/medstat\fR [\fB-q\fR] \fB-s\fR \fIsetname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+If a specified diskset has been configured for mediators, \fBmedstat\fR
+attempts to contact these hosts to see if they are accessible and returns the
+results of the communication.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR \fR
+.ad
+.RS 15n
+.rt
+This optional argument disables the printing of informative text. When used
+with \fB-q\fR, \fBmedstat\fR still prints error messages and returns a result
+code.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR \fR
+.ad
+.RS 15n
+.rt
+Specifies the name of a diskset on which \fBmedstat\fR will work.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fR Checking diskset
+.sp
+.LP
+This example checks the mediator hosts for the selected diskset.
+
+.sp
+.in +2
+.nf
+# medstat -s relo-red
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The name of the diskset is \fBrelo-red\fR. The \fBmedstat\fR command prints the
+status for each mediator host. Additionally, if the mediator quorum is met,
+either through a ``golden'' mediator host or because half+1 of the mediator
+hosts respond, the exit code is 0. If the quorum is not met, then the exit code
+is 1. If no mediator hosts have been configured for the named diskset, the exit
+code is 2. The status field will contain one of the following values:
+Unreachable, Bad, Fatal, or Ok, where Unreachable indicates an
+RPC/communication problem, Bad indicates an error in the mediator data, Fatal
+indicates any other error condition, and Ok indicates no error conditions.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lvm/meddb\fR\fR
+.ad
+.RS 18n
+.rt
+Contains the mediator data for a host that has been selected as a mediator
+host.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>0\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBATTRIBUTE TYPE\fR\fBATTRIBUTE VALUE\fR
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmetaclear\fR(1M), \fBmetadb\fR(1M), \fBmetadetach\fR(1M), \fBmetahs\fR(1M),
+\fBmetainit\fR(1M), \fBmetaoffline\fR(1M), \fBmetaonline\fR(1M),
+\fBmetaparam\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M), \fBmetattach\fR(1M),
+\fBmd.cf\fR(4), \fBmd.tab\fR(4), \fBmddb.cf\fR(4), \fBmeddb\fR(4),
+\fBmediator\fR(7D)
+.sp
+.LP
+Sun Cluster documentation, \fISolaris Volume Manager Administration Guide\fR
+.SH NOTES
+.sp
+.LP
+This command is designed for use in the high availability product.
diff --git a/usr/src/man/man1m/metaclear.1m b/usr/src/man/man1m/metaclear.1m
new file mode 100644
index 0000000000..f2d8ef6009
--- /dev/null
+++ b/usr/src/man/man1m/metaclear.1m
@@ -0,0 +1,317 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metaclear 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metaclear \- delete active metadevices and hot spare pools
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metaclear\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaclear\fR [\fB-s\fR \fIsetname\fR] \fB-a\fR [\fB-f\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaclear\fR \fIcomponent\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaclear\fR [\fB-s\fR \fIsetname\fR] [\fB-f\fR] \fImetadevice...\fR \fIhot_spare_pool...\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaclear\fR [\fB-s\fR \fIsetname\fR] \fB-r\fR [\fB-f\fR] \fImetadevice...\fR \fIhot_spare_pool...\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaclear\fR [\fB-s\fR \fIsetname\fR] \fB-p\fR \fIcomponent\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaclear\fR [\fB-s\fR \fIsetname\fR] \fB-p\fR \fImetadevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetaclear\fR command deletes the specified metadevice or
+\fIhot_spare_pool\fR, or purges all soft partitions from the designated
+component. Once a metadevice or hot spare pool is deleted, it must be
+re-created using \fBmetainit\fR before it can be used again.
+.sp
+.LP
+Any metadevice currently in use (open) cannot be deleted.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for all of the following options except \fB-h\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 14n
+.rt
+Deletes all metadevices and configured hot spare pools in the set named by
+\fB-s\fR, or the local set by default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 14n
+.rt
+Deletes (forcibly) a metadevice that contains a subcomponent in an error state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 14n
+.rt
+Displays usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 14n
+.rt
+Deletes (purges) all soft partitions from the specified metadevice or
+component.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 14n
+.rt
+Recursively deletes specified metadevices and hot spare pools, but does not
+delete metadevices on which others depend.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies the name of the diskset on which \fBmetaclear\fR will work. Using the
+\fB-s\fR option causes the command to perform its administrative function
+within the specified diskset. Without this option, the command performs its
+function on local metadevices and/or hot spare pools.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fImetadevice\fR \fI\&...\fR\fR
+.ad
+.RS 24n
+.rt
+Specifies the name(s) of the metadevice(s) to be deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent\fR\fR
+.ad
+.RS 24n
+.rt
+Specifies the \fBc*d*t*s*\fR name(s) of the components containing soft
+partitions to be deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhot_spare_pool\fR \fI\&...\fR\fR
+.ad
+.RS 24n
+.rt
+Specifies the name(s) of the hot spare pools to be deleted. Names for hot spare
+pools can be any legal file name that is composed of alphanumeric characters, a
+dash ("-"), an underscore ("_"), or a period ("."). Names must begin with a
+letter. The words "all" and "none" are reserved and cannot be used.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDeleting Various Devices
+.sp
+.LP
+The following example deletes a metadevice named \fBd10\fR.
+
+.sp
+.in +2
+.nf
+# metaclear /dev/md/dsk/d10
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example deletes all local metadevices and hot spare pools on the
+system.
+
+.sp
+.in +2
+.nf
+# metaclear -a
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example deletes a mirror, \fBmymirror\fR, with a submirror in an
+error state.
+
+.sp
+.in +2
+.nf
+# metaclear -f mymirror
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example deletes a hot spare pool, \fBhsp001\fR.
+
+.sp
+.in +2
+.nf
+# metaclear hsp001
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example deletes a soft partition, \fBd23\fR.
+
+.sp
+.in +2
+.nf
+# metaclear d23
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example purges all soft partitions on the slice \fBc2t3d5s2\fR if
+those partitions are not being used by other metadevices or are not open.
+
+.sp
+.in +2
+.nf
+# metaclear -p c2t3d5s2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example purges soft partitions from a metadevice.
+
+.sp
+.in +2
+.nf
+# metaclear -p d2
+d3: Soft Partition is cleared
+d4: Soft Partition is cleared
+d5: Soft Partition is cleared
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetadb\fR(1M), \fBmetadetach\fR(1M), \fBmetahs\fR(1M),
+\fBmetainit\fR(1M), \fBmetaoffline\fR(1M), \fBmetaonline\fR(1M),
+\fBmetaparam\fR(1M), \fBmetarecover\fR(1M), \fBmetarename\fR(1M),
+\fBmetareplace\fR(1M), \fBmetaroot\fR(1M), \fBmetaset\fR(1M),
+\fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/metadb.1m b/usr/src/man/man1m/metadb.1m
new file mode 100644
index 0000000000..02aa68af81
--- /dev/null
+++ b/usr/src/man/man1m/metadb.1m
@@ -0,0 +1,668 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metadb 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metadb \- create and delete replicas of the metadevice state database
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/metadb\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metadb\fR [\fB-s\fR \fIsetname\fR]
+.fi
+
+.LP
+.nf
+\fB/sbin/metadb\fR [\fB-s\fR \fIsetname\fR] \fB-a\fR [\fB-f\fR] [\fB-k\fR \fIsystem-file\fR] mddb\fInn\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metadb\fR [\fB-s\fR \fIsetname\fR] \fB-a\fR [\fB-f\fR] [\fB-k\fR \fIsystem-file\fR]
+ [\fB-c\fR \fInumber\fR] [\fB-l\fR \fIlength\fR] \fIslice...\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metadb\fR [\fB-s\fR \fIsetname\fR] \fB-d\fR [\fB-f\fR] [\fB-k\fR \fIsystem-file\fR] mddb\fInn\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metadb\fR [\fB-s\fR \fIsetname\fR] \fB-d\fR [\fB-f\fR] [\fB-k\fR \fIsystem-file\fR] \fIslice...\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metadb\fR [\fB-s\fR \fIsetname\fR] \fB-i\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metadb\fR [\fB-s\fR \fIsetname\fR] \fB-p\fR [\fB-k\fR \fIsystem-file\fR]
+ [\fImddb.cf-file\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetadb\fR command creates and deletes replicas of the metadevice state
+database. State database replicas can be created on dedicated slices, or on
+slices that will later become part of a simple metadevice (concatenation or
+stripe) or RAID5 metadevice. Do not place state database replicas on
+fabric-attached storage, SANs, or other storage that is not directly attached
+to the system and available at the same point in the boot process as
+traditional SCSI or IDE drives. See \fBNOTES\fR.
+.sp
+.LP
+The metadevice state database contains the configuration of all metadevices and
+hot spare pools in the system. Additionally, the metadevice state database
+keeps track of the current state of metadevices and hot spare pools, and their
+components. Solaris Volume Manager automatically updates the metadevice state
+database when a configuration or state change occurs. A submirror failure is an
+example of a state change. Creating a new metadevice is an example of a
+configuration change.
+.sp
+.LP
+The metadevice state database is actually a collection of multiple, replicated
+database copies. Each copy, referred to as a replica, is subject to strict
+consistency checking to ensure correctness.
+.sp
+.LP
+Replicated databases have an inherent problem in determining which database has
+valid and correct data. To solve this problem, Volume Manager uses a
+\fImajority consensus algorithm\fR. This algorithm requires that a majority of
+the database replicas be available before any of them are declared valid. This
+algorithm strongly encourages the presence of at least three initial replicas,
+which you create. A consensus can then be reached as long as at least two of
+the three replicas are available. If there is only one replica and the system
+crashes, it is possible that all metadevice configuration data can be lost.
+.sp
+.LP
+The majority consensus algorithm is conservative in the sense that it will fail
+if a majority consensus cannot be reached, even if one replica actually does
+contain the most up-to-date data. This approach guarantees that stale data will
+not be accidentally used, regardless of the failure scenario. The majority
+consensus algorithm accounts for the following: the system will stay running
+with exactly half or more replicas; the system will panic when less than half
+the replicas are available; the system will not reboot without one more than
+half the total replicas.
+.sp
+.LP
+When used with no options, the \fBmetadb\fR command gives a short form of the
+status of the metadevice state database. Use \fBmetadb\fR \fB-i\fR for an
+explanation of the flags field in the output.
+.sp
+.LP
+The initial state database is created using the \fBmetadb\fR command with both
+the \fB-a\fR and \fB-f\fR options, followed by the slice where the replica is
+to reside. The \fB-a\fR option specifies that a replica (in this case, the
+initial) state database should be created. The \fB-f\fR option forces the
+creation to occur, even though a state database does not exist. (The \fB-a\fR
+and \fB-f\fR options should be used together only when no state databases
+exist.)
+.sp
+.LP
+Additional replicas beyond those initially created can be added to the system.
+They contain the same information as the existing replicas, and help to prevent
+the loss of the configuration information. Loss of the configuration makes
+operation of the metadevices impossible. To create additional replicas, use the
+\fBmetadb\fR \fB-a\fR command, followed by the name of the new slice(s) where
+the replicas will reside. All replicas that are located on the same slice must
+be created at the same time.
+.sp
+.LP
+To delete all replicas that are located on the same slice, the \fBmetadb\fR
+\fB-d\fR command is used, followed by the slice name.
+.sp
+.LP
+When used with the \fB-i\fR option, \fBmetadb\fR displays the status of the
+metadevice state databases. The status can change if a hardware failure occurs
+or when state databases have been added or deleted.
+.sp
+.LP
+To fix a replica in an error state, delete the replica and add it back again.
+.sp
+.LP
+The metadevice state database (\fBmddb\fR) also contains a list of the replica
+locations for this set (local or shared diskset).
+.sp
+.LP
+The local set \fBmddb\fR can also contain host and drive information for each
+of the shared disksets of which this node is a member. Other than the diskset
+host and drive information stored in the local set \fBmddb\fR, the local and
+shared diskset \fBmddb\fRs are functionality identical.
+.sp
+.LP
+The \fBmddb\fRs are written to during the resync of a mirror or during a
+component failure or configuration change. A configuration change or failure
+can also occur on a single replica (removal of a \fBmddb\fR or a failed disk)
+and this causes the other replicas to be updated with this failure information.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for all of the following options except \fB-h\fR
+and \fB-i\fR.
+.sp
+.LP
+The following options can be used with the \fBmetadb\fR command. Not all the
+options are compatible on the same command line. Refer to the \fBSYNOPSIS\fR to
+see the supported use of the options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 18n
+.rt
+Attach a new database device. The \fB/kernel/drv/md.conf\fR file is
+automatically updated with the new information and the \fB/etc/lvm/mddb.cf\fR
+file is updated as well. An alternate way to create replicas is by defining
+them in the \fB/etc/lvm/md.tab\fR file and specifying the assigned name at the
+command line in the form, \fBmddb\fInn\fR\fR, where \fInn\fR is a two-digit
+number given to the replica definitions. Refer to the \fBmd.tab\fR(4) man page
+for instructions on setting up replicas in that file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fInumber\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the number of replicas to be placed on each device. The default
+number of replicas is 1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 18n
+.rt
+Deletes all replicas that are located on the specified \fIslice\fR. The
+\fB/kernel/drv/md.conf\fR file is automatically updated with the new
+information and the \fB/etc/lvm/mddb.cf\fR file is updated as well.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 18n
+.rt
+The \fB-f\fR option is used to create the initial state database. It is also
+used to force the deletion of replicas below the minimum of one. (The \fB-a\fR
+and \fB-f\fR options should be used together only when no state databases
+exist.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 18n
+.rt
+Displays a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 18n
+.rt
+Inquire about the status of the replicas. The output of the \fB-i\fR option
+includes characters in front of the device name that represent the status of
+the state database. Explanations of the characters are displayed following the
+replica status and are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.RS 5n
+.rt
+replica does not have an associated device ID.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo\fR\fR
+.ad
+.RS 5n
+.rt
+replica active prior to last \fBmddb\fR configuration change
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBu\fR\fR
+.ad
+.RS 5n
+.rt
+replica is up to date
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\fR\fR
+.ad
+.RS 5n
+.rt
+locator for this replica was read successfully
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 5n
+.rt
+replica's location was in \fB/etc/lvm/mddb.cf\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+replica's location was patched in kernel
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+.rt
+replica is master, this is replica selected as input
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 5n
+.rt
+replica does not have device relocation information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+.rt
+tagged data is associated with the replica
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBW\fR\fR
+.ad
+.RS 5n
+.rt
+replica has device write errors
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBa\fR\fR
+.ad
+.RS 5n
+.rt
+replica is active, commits are occurring to this
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBM\fR\fR
+.ad
+.RS 5n
+.rt
+replica had problem with master blocks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBD\fR\fR
+.ad
+.RS 5n
+.rt
+replica had problem with data blocks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBF\fR\fR
+.ad
+.RS 5n
+.rt
+replica had format problems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR\fR
+.ad
+.RS 5n
+.rt
+replica is too small to hold current database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBR\fR\fR
+.ad
+.RS 5n
+.rt
+replica had device read errors
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBB\fR\fR
+.ad
+.RS 5n
+.rt
+tagged data associated with the replica is not valid
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIsystem-file\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the name of the kernel file where the replica information should be
+written. The default \fIsystem-file\fR is \fB/kernel/drv/md.conf\fR. This
+option is for use with the local diskset only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlength\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the size of each replica. The default \fIlength\fR is 8192 blocks,
+which should be appropriate for most configurations. "Replica" sizes of less
+than 128 blocks are not recommended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies updating the system file (\fB/kernel/drv/md.conf\fR) with entries
+from the \fB/etc/lvm/mddb.cf\fR file. This option is normally used to update a
+newly built system before it is booted for the first time. If the system has
+been built on a system other than the one where it will run, the location of
+the \fBmddb.cf\fR on the local machine can be passed as an argument. The system
+file to be updated can be changed using the \fB-k\fR option. This option is for
+use with the local diskset only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsetname\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the name of the diskset on which the \fBmetadb\fR command will work.
+Using the \fB-s\fR option will cause the command to perform its administrative
+function within the specified diskset. Without this option, the command will
+perform its function on local database replicas.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIslice\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the logical name of the physical slice (partition), such as
+\fB/dev/dsk/c0t0d0s3\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating Initial State Database Replicas
+.sp
+.LP
+The following example creates the initial state database replicas on a new
+system.
+
+.sp
+.in +2
+.nf
+# metadb -a -f c0t0d0s7 c0t1d0s3 c1t0d0s7 c1t1d0s3
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fB-a\fR and \fB-f\fR options force the creation of the initial database
+and replicas. You could then create metadevices with these same slices, making
+efficient use of the system.
+
+.LP
+\fBExample 2 \fRAdding Two Replicas on Two New Disks
+.sp
+.LP
+This example shows how to add two replicas on two new disks that have been
+connected to a system currently running Volume Manager.
+
+.sp
+.in +2
+.nf
+# metadb -a c0t2d0s3 c1t1d0s3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDeleting Two Replicas
+.sp
+.LP
+This example shows how to delete two replicas from the system. Assume that
+replicas have been set up on \fB/dev/dsk/c0t2d0s3\fR and
+\fB/dev/dsk/c1t1d0s3\fR.
+
+.sp
+.in +2
+.nf
+# metadb -d c0t2d0s3 c1t1d0s3
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Although you can delete all replicas, you should never do so while metadevices
+still exist. Removing all replicas causes existing metadevices to become
+inoperable.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lvm/mddb.cf\fR\fR
+.ad
+.RS 23n
+.rt
+Contains the location of each copy of the metadevice state database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lvm/md.tab\fR\fR
+.ad
+.RS 23n
+.rt
+Workspace file for metadevice database configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/kernel/drv/md.conf\fR\fR
+.ad
+.RS 23n
+.rt
+Contains database replica information for all metadevices on a system. Also
+contains Solaris Volume Manager configuration information.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+successful completion
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+an error occurred
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadetach\fR(1M),
+\fBmetahs\fR(1M), \fBmetainit\fR(1M), \fBmetaoffline\fR(1M),
+\fBmetaonline\fR(1M), \fBmetaparam\fR(1M), \fBmetarecover\fR(1M),
+\fBmetarename\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Replicas cannot be stored on fabric-attached storage, SANs, or other storage
+that is not directly attached to the system. Replicas must be on storage that
+is available at the same point in the boot process as traditional SCSI or IDE
+drives. A replica can be stored on a:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Dedicated local disk partition
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Local partition that will be part of a volume
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Local partition that will be part of a UFS logging device
+.RE
diff --git a/usr/src/man/man1m/metadevadm.1m b/usr/src/man/man1m/metadevadm.1m
new file mode 100644
index 0000000000..a4901f73e0
--- /dev/null
+++ b/usr/src/man/man1m/metadevadm.1m
@@ -0,0 +1,289 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metadevadm 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metadevadm \- update metadevice information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metadevadm\fR [\fB-h\fR] [\fB-n\fR] [ [\fB-l\fR]\fB-r\fR] [\fB-s\fR \fIsetname\fR]
+ [\fB-u\fR \fIdisk_specifier\fR] [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetadevadm\fR command facilitates the administration of device ID
+entries in Solaris Volume Manager. Use this command when the pathname stored in
+the metadevice state database no longer correctly addresses the device or when
+a disk drive has had its device ID changed.
+.sp
+.LP
+This command requires root privileges.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 21n
+.rt
+Provide a help display.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 21n
+.rt
+Specify that \fBmetadevadm\fR log to \fBsyslog\fR(3C). \fBmetadevadm\fR logs to
+the \fBDAEMON\fR facility at the \fBERR\fR level by default. See
+\fBsyslog.conf\fR(4) for additional information on changing logging levels.
+.sp
+Use this option anytime. It is most useful in startup scripts and less useful
+interactively.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 21n
+.rt
+Emulate the effect of a command, without making any changes to the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 21n
+.rt
+Recompute the pathname and disk specifier (including slice) associated with all
+devices in the metadevice state database if the device supports device IDs. If
+a device does not support device IDs or the device is not available, then no
+action is taken for that device.
+.sp
+Use this option when the disk has been moved or readdressed.
+.sp
+This option is run automatically at boot time to detect device ID changes and
+update the state database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsetname\fR\fR
+.ad
+.RS 21n
+.rt
+Specify the name of the disk set on which \fBmetadevadm\fR works. This option
+causes the command to perform its administrative function within the specified
+disk set. Without this option, the command performs its function on devices in
+the local disk set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fB\fIdisk_specifier\fR\fR\fR
+.ad
+.RS 21n
+.rt
+Obtain the device ID associated with the \fIdisk_specifier\fR (for example,
+\fBc1t2d0\fR) of a device and update the metadevice state database. If the
+device ID has not changed this option does nothing. Use this option when a disk
+drive has had its device ID changed during a firmware upgrade or due to
+changing the controller of a storage subsystem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 21n
+.rt
+Execute in verbose mode. This option has no effect when used with \fB-u\fR.
+Verbose is the default.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUpdating Device ID of Disk
+.sp
+.LP
+The following example updates the device \fBc2t3d0\fR:
+
+.sp
+.in +2
+.nf
+# metadevadm -u c2t3d0
+Updating SLVM device relocation information for c2t3d0.
+Old device reloc information: id19280192391293123012012010012012091398
+New device reloc information: id19380192391293123012012010012012091398
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example is a variation of the preceding, using the full pathname.
+
+.sp
+.in +2
+.nf
+# metadevadm -u /dev/dsk/c2t3d0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example uses the \fB-n\fR option, which means that the command is
+emulated, but does not take effect. Note that when the \fB-v\fR option is used
+with \fB-u\fR, \fB-v\fR has no effect (verbose is the default).
+
+.sp
+.in +2
+.nf
+# metadevadm -u -v -n c2t3d0
+Updating SLVM device relocation information for c2t3d0.
+Old device reloc information: id19280192391293123012012010012012091398
+New device reloc information: id19380192391293123012012010012012091398
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRecomputing Pathnames
+.sp
+.LP
+In the following example, all device names are valid.
+
+.sp
+.in +2
+.nf
+# metadevadm -r
+Disk movement detected.
+Updating device names in SLVM.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the following example, once again device names are valid.
+
+.sp
+.in +2
+.nf
+# metadevadm -r -v
+Disk movement detected.
+Updating device names in SLVM.
+c0t0d0s0 changed to c0t0d1s0 from device relocation information
+id12098123lkmklsdjaasdkfjadfjakds
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the following example, \fBmetadevadm\fR detects an invalid device name.
+
+.sp
+.in +2
+.nf
+# metadevadm -r
+Invalid device relocation information detected in SLVM.
+Please check status of following disk(s):
+c3t0d0
+.fi
+.in -2
+.sp
+
+.SH RETURN VALUES
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Command was successful.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+\fBmetadevadm\fR encountered an error condition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+An invalid device ID was detected when using the \fB-r\fR option. This is for
+use in the \fBrc2.d\fR script. See \fBinit.d\fR(4).
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetarename\fR(1M), \fBmetareplace\fR(1M),
+\fBmetaroot\fR(1M), \fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M),
+\fBmetasync\fR(1M), \fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4),
+\fBmddb.cf\fR(4), \fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/metahs.1m b/usr/src/man/man1m/metahs.1m
new file mode 100644
index 0000000000..e0af517266
--- /dev/null
+++ b/usr/src/man/man1m/metahs.1m
@@ -0,0 +1,376 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metahs 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metahs \- manage hot spares and hot spare pools
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metahs\fR [\fB-s\fR \fIsetname\fR] \fB-a\fR all \fIcomponent\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metahs\fR [\fB-s\fR \fIsetname\fR] \fB-a\fR \fIhot_spare_pool\fR [\fIcomponent\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metahs\fR [\fB-s\fR \fIsetname\fR] \fB-d\fR \fIhot_spare_pool\fR [\fIcomponent\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metahs\fR [\fB-s\fR \fIsetname\fR] \fB-d\fR all \fIcomponent\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metahs\fR [\fB-s\fR \fIsetname\fR] \fB-e\fR \fIcomponent\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metahs\fR [\fB-s\fR \fIsetname\fR] \fB-r\fR \fIhot_spare_pool\fR \fIcomponent-old\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metahs\fR [\fB-s\fR \fIsetname\fR] \fB-r\fR all \fIcomponent-old\fR \fIcomponent-new\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metahs\fR [\fB-s\fR \fIsetname\fR] \fB-i\fR [\fIhot_spare_pool\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetahs\fR command manages existing hot spares and hot spare pools. It is
+used to add, delete, enable, and replace components (slices) in hot spare
+pools. Like the \fBmetainit\fR command, the \fBmetahs\fR command can also
+create an initial hot spare pool. The \fBmetahs\fR command does not replace a
+component of a metadevice. This function is performed by the \fBmetareplace\fR
+command.
+.sp
+.LP
+Hot spares are always in one of three states: available, in-use, or broken.
+Available hot spares are running and ready to accept data, but are not
+currently being written to or read from. In-use hot spares are currently being
+written to and read from. Broken hot spares are out of service and should be
+repaired. The status of hot spares is displayed when \fBmetahs\fR is invoked
+with the \fB-i\fR option.
+.sp
+.LP
+Solaris Volume Manager supports storage devices and logical volumes, including
+hot spares, greater than 1 terabyte (TB) when Solaris 10 is running a 64-bit
+kernel.
+.sp
+.LP
+If a system with large volumes or hot spares is rebooted under a 32-bit Solaris
+10 kernel, the large volumes are visible through \fBmetastat\fR output, but
+they cannot be accessed, modified or deleted, and no new large volumes can be
+created. Any volumes or file systems on a large volume in this situation are
+also unavailable. If a system with large volumes is rebooted under a version of
+Solaris prior to Solaris 10, Solaris Volume Manager will not start. All large
+volumes must be removed before Solaris Volume Manager runs under another
+version of the Solaris Operating Environment.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for any of the following options except \fB-i\fR.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fBall\fR \fIcomponent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add \fIcomponent\fR to all hot spare pools. \fBall\fR is not case sensitive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIhot_spare_pool\fR \fB[\fR\fIcomponent\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add the \fIcomponent\fR to the specified \fIhot_spare_pool\fR.
+\fIhot_spare_pool\fR is created if it does not already exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fBall\fR \fIcomponent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete \fIcomponent\fR from all the hot spare pools. The \fIcomponent\fR cannot
+be deleted if it is in the in-use state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIhot_spare_pool\fR \fB[\fR\fIcomponent\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete \fIhot_spare_pool\fR, if the \fIhot_spare_pool\fR is both empty and not
+referenced by a metadevice. If \fIcomponent\fR is specified, it is deleted from
+the \fIhot_spare_pool\fR. Hot spares in the in-use state cannot be deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIcomponent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable \fIcomponent\fR to be available for use as a hot spare. The
+\fIcomponent\fR can be enabled if it is in the broken state and has been
+repaired.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fB[\fR\fIhot_spare_pool\fR\fB\|.\|.\|.]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the status of the specified \fIhot_spare_pool\fR or for all hot spare
+pools if one is not specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fBall\fR \fIcomponent-old component-new\fR\fR
+.ad
+.sp .6
+.RS 4n
+Replace \fIcomponent-old\fR with \fIcomponent-new\fR in all hot spare pools
+which have the component associated. Components cannot be replaced from any hot
+spare pool if the old hot spare is in the in-use state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIhot_spare_pool component-old component-new\fR\fR
+.ad
+.sp .6
+.RS 4n
+Replace \fIcomponent-old\fR with \fIcomponent-new\fR in the specified
+\fIhot_spare_pool\fR. Components cannot be replaced from a hot spare pool if
+the old hot spare is in the in-use state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of the diskset on which \fBmetahs\fR works. Using the \fB-s\fR
+option causes the command to perform its administrative function within the
+specified diskset. Without this option, the command performs its function on
+local hot spare pools.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent\fR\fR
+.ad
+.RS 18n
+.rt
+The logical name for the physical slice (partition) on a disk drive, such as
+\fB/dev/dsk/c0t0d0s2\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhot_spare_pool\fR\fR
+.ad
+.RS 18n
+.rt
+Names for hot spare pools can be any legal file name that is composed of
+alphanumeric characters, a dash ("-"), an underscore ("_"), or a period (".").
+Names must begin with a letter. The words "all" and "none" are reserved and
+cannot be used.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a Hot Spare to a Hot Spare Pool
+.sp
+.LP
+The following example adds a hot spare \fB/dev/dsk/c0t0d0s7\fR to a hot spare
+pool \fBmirror1_pool\fR:
+
+.sp
+.in +2
+.nf
+# metahs -a mirror1_pool c0t0d0s7
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When the hot spare is added to the pool, the existing order of the hot spares
+already in the pool is preserved. The new hot spare is added at the end of the
+list of hot spares in the hot spare pool specified.
+
+.LP
+\fBExample 2 \fRAdding a Hot Spare to All Currently Defined Pools
+.sp
+.LP
+This example adds a hot spare to the hot spare pools that are currently
+defined:
+
+.sp
+.in +2
+.nf
+# metahs -a all c0t0d0s7
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The keyword \fBall\fR in this example specifies adding the hot spare,
+\fB/dev/dsk/c0t0d0s7\fR, to all the hot spare pools.
+
+.LP
+\fBExample 3 \fRDeleting a Hot Spare
+.sp
+.LP
+This example deletes a hot spare, \fB/dev/dsk/c0t0d0s7\fR, from a hot spare
+pool, \fBhsp003\fR:
+
+.sp
+.in +2
+.nf
+# metahs -d hsp003 c0t0d0s7
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When you delete a hot spare, the position of the remaining hot spares in the
+pool changes to reflect the new order. For instance, if in this example
+\fB/dev/dsk/c0t0d0s7\fR were the second of three hot spares, after deletion the
+third hot spare would move to the second position.
+
+.LP
+\fBExample 4 \fRReplacing a Hot Spare
+.sp
+.LP
+This example replaces a hot spare that was previously defined:
+
+.sp
+.in +2
+.nf
+# metahs -r hsp001 c0t1d0s0 c0t3d0s0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the hot spare \fB/dev/dsk/c0t1d0s0\fR is replaced by
+\fB/dev/dsk/c0t3d0s0\fR. The order of the hot spares does not change.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetainit\fR(1M), \fBmetaoffline\fR(1M),
+\fBmetaonline\fR(1M), \fBmetaparam\fR(1M), \fBmetarecover\fR(1M),
+\fBmetarename\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH WARNINGS
+.sp
+.LP
+Do not create large (>1 TB) volumes if you expect to run the Solaris Operating
+Environment with a 32-bit kernel or if you expect to use a version of the
+Solaris Operating Environment prior to Solaris 10.
diff --git a/usr/src/man/man1m/metaimport.1m b/usr/src/man/man1m/metaimport.1m
new file mode 100644
index 0000000000..b7e964bf8d
--- /dev/null
+++ b/usr/src/man/man1m/metaimport.1m
@@ -0,0 +1,249 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metaimport 1M "28 Oct 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metaimport \- imports disk sets into existing Solaris Volume Manager
+configurations
+.SH SYNOPSIS
+.LP
+.nf
+\fBmetaimport\fR \fB-s\fR \fIsetname\fR [\fB-n\fR] [\fB-f\fR] [\fB-v\fR] [\fIdisks\fR]...
+.fi
+
+.LP
+.nf
+\fBmetaimport\fR \fB-r\fR [\fB-v\fR] [\fIdisks\fR]...
+.fi
+
+.LP
+.nf
+\fBmetaimport\fR \fB-V\fR
+.fi
+
+.LP
+.nf
+\fBmetaimport\fR \fB-?\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetaimport\fR command allows the importing of disk sets, including
+replicated disk sets, into an existing Solaris Volume Manager configuration.
+Replicated disk sets are disk sets created using remote replication software.
+.sp
+.LP
+The default Solaris Volume Manager configuration specifies a maximum number of
+disk sets that can be configured. The \fBmetaimport\fR command fails if
+importing the disk set would result in exceeding the number of disk sets
+configured on the system. To increase the number of disk sets allowed on a
+system, see the \fI\fR.
+.sp
+.LP
+Use \fBmetaset\fR(1M) or \fBmetastat\fR(1M) to view the configuration of the
+imported set.
+.sp
+.LP
+You must run \fBmetaimport\fR as root.
+.sp
+.LP
+\fBmetaimport\fR requires a functional Solaris Volume Manager configuration
+before it runs.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 14n
+.rt
+Force the import, even if a quorum of replicas from the imported disk set is
+not available. This option could result in corrupt configurations and should
+only be used when \fBmetaimport\fR fails with the "Insufficient quorum
+detected; exiting" error. If only a partial disk set is available, this option
+might be necessary to successfully import. Some or all data could be corrupted
+or unavailable when importing a partial set or a set lacking a replica quorum.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 14n
+.rt
+Does not actually perform the operation, but shows the output or errors that
+would have resulted from the operation, had it been run.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 14n
+.rt
+Report on the non-configured disk sets found on the system. If no disk device
+or LUN is specified, \fBmetaimport\fR reports on all non-configured disk sets
+attached to the system. When the name of one disk is specified,
+\fBmetaimport\fR reports on the disk set (or virtual LUN) containing the
+specified disk. If two or more disks are specified, metaimport reports on the
+set (or sets, if they belong to different disk sets) containing the specified
+disks. If two or more disks are specified, \fBmetaimport\fR reports on the set
+(or sets, if they belong to different disk sets) containing the specified
+disks.
+.sp
+This option can be used in conjunction with the \fB-v\fR option to give verbose
+output on each disk set reported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsetname\fR\fR
+.ad
+.RS 14n
+.rt
+Specify the disk set name to use when importing. The imported disk set will be
+called \fIsetname\fR, without regard to the name it may have had on a different
+system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 14n
+.rt
+Verbose. Provides detailed information about the \fBmetadb\fR replica location
+and status. It also provides detailed information about the disk set
+configuration and status similar to the "\fBmetastat -c\fR" output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 14n
+.rt
+Version information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR\fR
+.ad
+.RS 14n
+.rt
+Display a help message.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRImporting a Disk Set
+.sp
+.LP
+The following example creates a disk set called \fBblue\fR and identifies
+\fBc1t5d0\fR as a disk containing a state database replica from the disk set
+being imported.
+
+.sp
+.in +2
+.nf
+# metaimport -s blue c1t5d0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRReporting Disk Sets to Import
+.sp
+.LP
+The following example scans all disks and LUNs attached to the system and
+configured as part of the system. It scans for disks that could be part of a
+disk set to be imported. Components that are already part of the Solaris Volume
+Manager configuration are ignored.
+
+.sp
+.LP
+This use of \fBmetaimport\fR provides suggested forms of the \fBmetaimport\fR
+command to use to actually import the disk sets that have been found. You can
+specify a component on the command line to reduce the scope of the scan and
+generate results more quickly.
+
+.sp
+.in +2
+.nf
+ # metaimport -r
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M), \fBmetattach\fR(1M),
+\fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/metainit.1m b/usr/src/man/man1m/metainit.1m
new file mode 100644
index 0000000000..cf0f7a2446
--- /dev/null
+++ b/usr/src/man/man1m/metainit.1m
@@ -0,0 +1,1047 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metainit 1M "27 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metainit \- configure metadevices
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/metainit\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR [\fIgeneric options\fR] \fIconcat/stripe\fR \fInumstripes\fR \fIwidth\fR
+ \fIcomponent...\fR [\fB-i\fR \fIinterlace\fR]
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR [\fIwidth\fR \fIcomponent...\fR [\fB-i\fR \fIinterlace\fR]]
+ [\fB-h\fR \fIhot_spare_pool\fR]
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR [\fIgeneric options\fR] \fImirror\fR \fB-m\fR \fIsubmirror\fR
+ [\fIread_options\fR] [\fIwrite_options\fR]
+ [\fIpass_num\fR]
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR [\fIgeneric options\fR] \fIRAID\fR \fB-r\fR \fIcomponent...\fR
+ [\fB-i\fR \fIinterlace\fR]
+ [\fB-h\fR \fIhot_spare_pool\fR] [\fB-k\fR] [\fB-o\fR \fIoriginal_column_count\fR]
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR [\fIgeneric options\fR] \fIhot_spare_pool\fR
+ [\fIhotspare...\fR]
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR [\fIgeneric options\fR] \fImetadevice-name\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR [\fIgeneric options\fR] \fB-a\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR [\fIgeneric options\fR] \fIsoftpart\fR \fB-p\fR [\fB-e\fR] \fIcomponent\fR
+ [\fB-A\fR \fIalignment\fR] \fIsize\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metainit\fR \fB-r\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetainit\fR command configures metadevices and hot spares according to
+the information specified on the command line. Alternatively, you can run
+\fBmetainit\fR so that it uses configuration entries you specify in the
+\fB/etc/lvm/md.tab\fR file (see \fBmd.tab\fR(4)). All metadevices must be set
+up by the \fBmetainit\fR command before they can be used.
+.sp
+.LP
+Solaris Volume Manager supports storage devices and logical volumes greater
+than 1 terabyte (TB) when a system runs a 64-bit Solaris kernel. Support for
+large volumes is automatic. If a device greater than 1 TB is created, Solaris
+Volume Manager configures it appropriately and without user intervention.
+.sp
+.LP
+If a system with large volumes is rebooted under a 32-bit Solaris kernel, the
+large volumes are visible through \fBmetastat\fR output. Large volumes cannot
+be accessed, modified or deleted, and no new large volumes can be created. Any
+volumes or file systems on a large volume in this situation are unavailable. If
+a system with large volumes is rebooted under a version of Solaris prior to the
+Solaris 9 4/03 release, Solaris Volume Manager does not start. You must remove
+all large volumes before Solaris Volume Manager runs under an earlier version
+of the Solaris Operating System.
+.sp
+.LP
+If you edit the \fB/etc/lvm/md.tab\fR file to configure metadevices, specify
+one complete configuration entry per line. You then run the \fBmetainit\fR
+command with either the \fB-a\fR option, to activate all metadevices you
+entered in the \fB/etc/lvm/md.tab\fR file, or with the metadevice name
+corresponding to a specific configuration entry.
+.sp
+.LP
+\fBmetainit\fR does not maintain the state of the volumes that would have been
+created when \fBmetainit\fR is run with both the \fB-a\fR and \fB-n\fR flags.
+Any volumes in \fBmd.tab\fR that have dependencies on other volumes in
+\fBmd.tab\fR are reported as errors when \fBmetainit\fR \fB-a\fR \fB-n\fR is
+run, although the operations might succeed when \fBmetainit\fR \fB-a\fR is run.
+See \fBmd.tab\fR(4).
+.sp
+.LP
+Solaris Volume Manager never updates the \fB/etc/lvm/md.tab\fR file. Complete
+configuration information is stored in the metadevice state database, not
+\fBmd.tab\fR. The only way information appears in \fBmd.tab\fR is through
+editing it by hand.
+.sp
+.LP
+When setting up a disk mirror, the \fBfirst\fR step is to use \fBmetainit\fR
+create a one-on-one concatenation for the root slice. See \fBEXAMPLES\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.SS "Generic Options"
+.sp
+.LP
+Root privileges are required for all of the following options except \fB-h\fR.
+.sp
+.LP
+The following generic options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces the \fBmetainit\fR command to continue even if one of the slices
+contains a mounted file system or is being used as \fBswap\fR, or if the stripe
+being created is smaller in size than the underlying soft partition. This
+option is required when configuring mirrors on root (\fB/\fR), \fBswap\fR, and
+\fB/usr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Checks the syntax of your command line or \fBmd.tab\fR entry without actually
+setting up the metadevice. If used with \fB-a\fR, all devices are checked but
+not initialized.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only used in a shell script at boot time. Sets up all metadevices that were
+configured before the system crashed or was shut down. The information about
+previously configured metadevices is stored in the metadevice state database
+(see \fBmetadb\fR(1M)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the diskset on which \fBmetainit\fR works. Without the
+\fB-s\fR option, the \fBmetainit\fR command operates on your local metadevices
+and/or hotspares.
+.RE
+
+.SS "Concat/Stripe Options"
+.sp
+.LP
+The following concat/stripe options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIconcat/stripe\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the metadevice name of the concatenation, stripe, or concatenation of
+stripes being defined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInumstripes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of individual stripes in the metadevice. For a simple
+stripe, \fInumstripes\fR is always 1. For a concatenation, \fInumstripes\fR is
+equal to the number of slices. For a concatenation of stripes, \fInumstripes\fR
+varies according to the number of stripes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIwidth\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of slices that make up a stripe. When \fIwidth\fR is
+greater than 1, the slices are striped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent\fR\fR
+.ad
+.sp .6
+.RS 4n
+The logical name for the physical slice (partition) on a disk drive, such as
+\fB/dev/dsk/c0t0d0s0\fR. For RAID level 5 metadevices, a minimum of three
+slices is necessary to enable striping of the parity information across slices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fB\fIinterlace\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the interlace size. This value tells Solaris Volume Manager how much
+data to place on a slice of a striped or RAID level 5 metadevice before moving
+on to the next slice. \fIinterlace\fR is a specified value, followed by either
+`\fBk\fR' for kilobytes, `\fBm\fR' for megabytes, or `\fBb\fR' for blocks. The
+characters can be either uppercase or lowercase. The \fIinterlace\fR specified
+cannot be less than 16 blocks, or greater than 100 megabytes. If
+\fIinterlace\fR is not specified, it defaults to 512 kilobytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fB\fIhot_spare_pool\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIhot_spare_pool\fR to be associated with the metadevice. If you
+use the command line, the hot spare pool must have been previously created by
+the \fBmetainit\fR command before it can be associated with a metadevice. Use
+\fB/-h\fR \fBhsp\fR\fInnn\fR when the concat/stripe being created is to be used
+as a submirror.
+.sp
+Names for hot spare pools can be any legal file name that is composed of
+alphanumeric characters, a dash ("-"), an underscore ("_"), or a period (".").
+Names must begin with a letter. The words "all" and "none" are reserved and
+cannot be used.
+.RE
+
+.SS "Mirror Options"
+.sp
+.LP
+The following mirror options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fImirror\fR \fB-m\fR \fI\fR\fIsubmirror\fR\fI\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the metadevice name of the mirror. The \fB-m\fR indicates that the
+configuration is a mirror. \fIsubmirror\fR is a metadevice (stripe or
+concatentation) that makes up the initial one-way mirror. Solaris Volume
+Manager supports a maximum of four-way mirroring. When defining mirrors, first
+create the mirror with the \fBmetainit\fR command as a one-way mirror. Then
+attach subsequent submirrors using the \fBmetattach\fR command. This method
+ensures that Solaris Volume Manager properly syncs the mirrors. (The second and
+any subsequent submirrors are first created using the \fBmetainit\fR command.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIread_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+The following read options for mirrors are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables the geometric read option, which results in faster performance on
+sequential reads.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directs all reads to the first submirror. This should only be used when the
+devices comprising the first submirror are substantially faster than those of
+the second mirror. This flag cannot be used with the \fB-g\fR flag.
+.RE
+
+If neither the \fB-g\fR nor \fB-r\fR flags are specified, reads are made in a
+round-robin order from all submirrors in the mirror. This enables load
+balancing across the submirrors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIwrite_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+The following write options for mirrors are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.sp .6
+.RS 4n
+Performs serial writes to mirrors. The first submirror write completes before
+the second is started. This can be useful if hardware is susceptible to partial
+sector failures. If \fB-S\fR is not specified, writes are replicated and
+dispatched to all mirrors simultaneously.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpass_num\fR\fR
+.ad
+.sp .6
+.RS 4n
+A number in the range 0-9 at the end of an entry defining a mirror that
+determines the order in which that mirror is resynced during a reboot. The
+default is 1. Smaller pass numbers are resynced first. Equal pass numbers are
+run concurrently. If 0 is used, the resync is skipped. 0 should be used only
+for mirrors mounted as read-only, or as \fBswap\fR.
+.RE
+
+.SS "RAID Level 5 Options"
+.sp
+.LP
+The following RAID level 5 options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIRAID\fR \fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the RAID level 5 metadevice. The \fB-r\fR specifies that
+the configuration is RAID level 5.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.sp .6
+.RS 4n
+For RAID level 5 metadevices, informs the driver that it is not to initialize
+(zero the disk blocks) due to existing data. Only use this option to recreate a
+previously created RAID level 5 device.
+.sp
+Use the \fB-k\fR option with extreme caution. This option sets the disk blocks
+to the \fBOK\fR state. If any errors exist on disk blocks within the
+metadevice, Solaris Volume Manager might begin fabricating data. Instead of
+using the \fB-k\fR option, you might want to initialize the device and restore
+data from tape.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fB\fIoriginal_column_count\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+For RAID level 5 metadevices, used with the \fB-k\fR option to define the
+number of original slices in the event the originally defined metadevice was
+grown. This is necessary since the parity segments are not striped across
+concatenated devices.
+.sp
+Use the \fB-o\fR option with extreme caution. This option sets the disk blocks
+to the \fBOK\fR state. If any errors exist on disk blocks within the
+metadevice, Solaris Volume Manager might begin fabricating data. Instead of
+using the \fB-o\fR option, you might want to initialize the device and restore
+data from tape.
+.RE
+
+.SS "Soft Partition Options"
+.sp
+.LP
+The following soft partition options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsoftpart\fR \fB-p\fR [\fB-e\fR] \fIcomponent\fR [\fB-A\fR
+\fIalignment\fR] \fIsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIsoftpart\fR argument specifies the name of the soft partition. The
+\fB-p\fR specifies that the configuration is a soft partition.
+.sp
+The \fB-e\fR specifies that the entire disk specified by \fIcomponent\fR as
+\fBc*t*d*\fR should be repartitioned and reserved for soft partitions. The
+specified component is repartitioned such that slice 7 reserves space for
+system (state database replica) usage and slice 0 contains all remaining space
+on the disk. Slice 7 is a minimum of 4MB, but can be larger, depending on the
+disk geometry. The newly created soft partition is placed on slice 0 of the
+device.
+.sp
+The \fIcomponent\fR argument specifies the disk (\fBc*t*d*\fR), slice
+(\fBc*t*d*s*\fR), or meta device (\fBd*\fR) from which to create the soft
+partition. The \fIsize\fR argument determines the space to use for the soft
+partition and can be specified in \fBK\fR or \fBk\fR for kilobytes, \fBM\fR or
+\fBm\fR for megabytes, \fBG\fR or \fBg\fR for gigabytes, \fBT\fR or \fBt\fR for
+terabyte (one terabyte is the maximum size), and \fBB\fR or \fBb\fR for blocks
+(sectors). All values represent powers of 2, and upper and lower case options
+are equivalent. Only integer values are permitted.
+.sp
+The \fB-A\fR alignment option sets the value of the soft partition extent
+alignment. This option used when it is important specify a starting offset for
+the soft partition. It preserves the data alignment between the metadevice
+address space and the address space of the underlying physical device. For
+example, a hardware device that does checksumming should not have its I/O
+requests divided by Solaris Volume Manager. In this case, use a value from the
+hardware configuration as the value for the alignment. When you use this option
+in conjunction with a software I/O load, the alignment value corresponds to the
+I/O load of the application. This prevents I/O from being divided unnecessarily
+and affecting performance.
+.sp
+The literal \fBall\fR, used instead of specifying size, specifies that the soft
+partition should occupy all available space on the device.
+.RE
+
+.SS "Hot Spare Pool Options"
+.sp
+.LP
+The following hot spare pool options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhot_spare_pool\fR \fI\fR\fB[\fR\fI\fR \fI\fR\fIhotspare...\fR\fI\fR
+\fI\fR\fB]\fR\fI\fR\fR
+.ad
+.sp .6
+.RS 4n
+When used as arguments to the \fBmetainit\fR command, \fIhot_spare_pool\fR
+defines the name for a hot spare pool, and \fIhotspare...\fR is the logical
+name for the physical slice(s) for availability in that pool. Names for hot
+spare pools can be any legal file name that is composed of alphanumeric
+characters, a dash ("-"), an underscore ("_"), or a period ("."). Names must
+begin with a letter. The words "all" and "none" are reserved and cannot be
+used.
+.RE
+
+.SS "\fBmd.tab\fR File Options"
+.sp
+.LP
+The following \fBmd.tab\fR file options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fImetadevice-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+When the \fBmetainit\fR command is run with a \fImetadevice-name\fR as its only
+argument, it searches the \fB/etc/lvm/md.tab\fR file to find that name and its
+corresponding entry. The order in which entries appear in the \fBmd.tab\fR file
+is unimportant. For example, consider the following \fBmd.tab\fR entry:
+.sp
+.in +2
+.nf
+d0 2 1 c1t0d0s0 1 c2t1d0s0
+.fi
+.in -2
+.sp
+
+When you run the command \fBmetainit d0\fR, it configures metadevice \fBd0\fR
+based on the configuration information found in the \fBmd.tab\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Activates all metadevices defined in the \fBmd.tab\fR file.
+.sp
+\fBmetainit\fR does not maintain the state of the volumes that would have been
+created when \fBmetainit\fR is run with both the \fB-a\fR and \fB-n\fR flags.
+If a device \fBd0\fR is created in the first line of the \fBmd.tab\fR file, and
+a later line in \fBmd.tab\fR assumes the existence of \fBd0\fR, the later line
+fails when \fBmetainit\fR \fB-an\fR runs (even if it would succeed with
+\fBmetainit\fR \fB-a\fR).
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a One-on-One Concatenation
+.sp
+.LP
+The following command creates a one-on-one concatenation for the root slice.
+This is the first step you take when setting up a mirror for the root slice
+(and any other slice that cannot be unmounted). The \fB-f\fR option is required
+to create a volume with an existing file system, such as root(\fB/\fR).
+
+.sp
+.in +2
+.nf
+# metainit \fB-f\fR dl 1 1 c0t0d0s0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The preceding command makes \fBd1\fR a one-on-one concatenation, using the root
+slice. You can then enter:
+
+.sp
+.in +2
+.nf
+# metainit d0 -m d1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...to make a one-way mirror of the root slice.
+
+.LP
+\fBExample 2 \fRConcatenation
+.sp
+.LP
+All drives in the following examples have the same size of 525 Mbytes.
+
+.sp
+.LP
+This example shows a metadevice, \fB/dev/md/dsk/d7\fR, consisting of a
+concatenation of four slices.
+
+.sp
+.in +2
+.nf
+# metainit d7 4 1 c0t1d0s0 1 c0t2d0s0 1 c0t3d0s0 1 /dev/dsk/c0t4d0s0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The number 4 indicates there are four individual stripes in the concatenation.
+Each stripe is made of one slice, hence the number 1 appears in front of each
+slice. The first disk sector in all of these devices contains a disk label. To
+preserve the labels on devices \fB/dev/dsk/c0t2d0s0\fR,
+\fB/dev/dsk/c0t3d0s0\fR, and \fB/dev/dsk/c0t4d0s0\fR, the metadisk driver must
+skip at least the first sector of those disks when mapping accesses across the
+concatenation boundaries. Because skipping only the first sector would create
+an irregular disk geometry, the entire first cylinder of these disks is
+skipped. This allows higher level file system software to optimize block
+allocations correctly.
+
+.LP
+\fBExample 3 \fRStripe
+.sp
+.LP
+This example shows a metadevice, \fB/dev/md/dsk/d15\fR, consisting of two
+slices.
+
+.sp
+.in +2
+.nf
+# metainit d15 1 2 c0t1d0s0 c0t2d0s0 -i 32k
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The number 1 indicates that one stripe is being created. Because the stripe is
+made of two slices, the number 2 follows next. The optional \fB-i\fR followed
+by \fB32k\fR specifies the interlace size as 32 Kbytes. If the interlace size
+were not specified, the stripe would use the default value of 16 Kbytes.
+
+.LP
+\fBExample 4 \fRConcatentation of Stripes
+.sp
+.LP
+This example shows a metadevice, \fB/dev/md/dsk/d75\fR, consisting of a
+concatenation of two stripes of three disks.
+
+.sp
+.in +2
+.nf
+# metainit d75 2 3 c0t1d0s0 c0t2d0s0 \e
+ c0t3d0s0 -i 16k \e
+ 3 c1t1d0s0 c1t2d0s0 c1t3d0s0 -i 32k
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+On the first line, the \fB-i\fR followed by 16k specifies that the stripe
+interlace size is 16 Kbytes. The second set specifies the stripe interlace size
+as 32 Kbytes. If the second set did not specify 32 Kbytes, the set would use
+the default interlace value of 16 Kbytes. The blocks of each set of three disks
+are interlaced across three disks.
+
+.LP
+\fBExample 5 \fRMirroring
+.sp
+.LP
+This example shows a two-way mirror, \fB/dev/md/dsk/d50\fR, consisting of two
+submirrors. This mirror does not contain any existing data.
+
+.sp
+.in +2
+.nf
+# metainit d51 1 1 c0t1d0s0
+# metainit d52 1 1 c0t2d0s0
+# metainit d50 -m d51
+# metattach d50 d52
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, two submirrors, \fBd51\fR and \fBd52\fR, are created with the
+\fBmetainit\fR command. These two submirrors are simple concatenations. Next, a
+one-way mirror, \fBd50\fR, is created using the \fB-m\fR option with \fBd51\fR.
+The second submirror is attached later using the \fBmetattach\fR command. When
+creating a mirror, any combination of stripes and concatenations can be used.
+The default read and write options in this example are a round-robin read
+algorithm and parallel writes to all submirrors.
+
+.LP
+\fBExample 6 \fRCreating a metadevice in a diskset
+.sp
+.LP
+This example shows a metadevice, \fB/dev/md/dsk/d75\fR, consisting of a
+concatenation of two stripes within a diskset called \fBset1\fR.
+
+.sp
+.in +2
+.nf
+# metainit -s set1 d75 2 3 c2t1d0s0 c2t2d0s0 \e
+ c2t3d0s0 -i 32k
+# metainit -s set1 d51 1 1 c2t1d0s0
+# metainit -s set1 d52 1 1 c3t1d0s0
+# metainit -s set1 d50 -m d51
+# metattach -s set1 d50 d52
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, a diskset is created using the \fBmetaset\fR command.
+Metadevices are then created within the diskset using the \fBmetainit\fR
+command. The two submirrors, \fBd51\fR and \fBd52\fR, are simple
+concatenations. Next, a one-way mirror, \fBd50\fR, is created using the
+\fB-m\fR option with \fBd51\fR. The second submirror is attached later using
+the \fBmetattach\fR command. When creating a mirror, any combination of stripes
+and concatenations can be used. The default read and write options in this
+example are a round-robin read algorithm and parallel writes to all submirrors.
+
+.LP
+\fBExample 7 \fRRAID Level 5
+.sp
+.LP
+This example shows a RAID level 5 device, \fBd80\fR, consisting of three
+slices:
+
+.sp
+.in +2
+.nf
+# metainit d80 -r c1t0d0s0 c1t1d0s0 c1t3d0s0 -i 20k
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, a RAID level 5 metadevice is defined using the \fB-r\fR option
+with an interlace size of 20 Kbytes. The data and parity segments are striped
+across the slices, \fBc1t0d0s0\fR, \fBc1t2d0s0\fR, and \fBc1t3d0s0\fR.
+
+.LP
+\fBExample 8 \fRSoft Partition
+.sp
+.LP
+The following example shows a soft partition device, \fBd1\fR, built on
+metadevice \fBd100\fR and 100 Mbytes (indicated by \fB100M\fR) in size:
+
+.sp
+.in +2
+.nf
+# metainit d1 -p d100 100M
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The preceding command creates a 100 Mbyte soft partition on the \fBd100\fR
+metadevice. This metadevice could be a RAID level 5, stripe, concatenation, or
+mirror.
+
+.LP
+\fBExample 9 \fRSoft Partition on Full Disk
+.sp
+.LP
+The following example shows a soft partition device, \fBd1\fR, built on disk
+\fBc3t4d0\fR:
+
+.sp
+.in +2
+.nf
+# metainit d1 -p -e c3t4d0 9G
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the disk is repartitioned and a soft partition is defined to
+occupy all 9 Gbytes of disk \fBc3t4d0s0\fR.
+
+.LP
+\fBExample 10 \fRSoft Partition Taking All Available Space
+.sp
+.LP
+The following example shows a soft partition device, \fBd1\fR, built on disk
+\fBc3t4d0\fR:
+
+.sp
+.in +2
+.nf
+# metainit d1 -p -e c3t4d0 all
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, the disk is repartitioned and a soft partition is defined to
+occupy all available disk space on slice \fBc3t4d0s0\fR.
+
+.LP
+\fBExample 11 \fRHot Spare
+.sp
+.LP
+This example shows a two-way mirror, \fB/dev/md/dsk/d10\fR, and a hot spare
+pool with three hot spare components. The mirror does not contain any existing
+data.
+
+.sp
+.in +2
+.nf
+# metainit hsp001 c2t2d0s0 c3t2d0s0 c1t2d0s0
+# metainit d41 1 1 c1t0d0s0 -h hsp001
+# metainit d42 1 1 c3t0d0s0 -h hsp001
+# metainit d40 -m d41
+# metattach d40 d42
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, a hot spare pool, \fBhsp001\fR, is created with three slices
+from three different disks used as hot spares. Next, two submirrors are
+created, \fBd41\fR and \fBd42\fR. These are simple concatenations. The
+\fBmetainit\fR command uses the \fB-h\fR option to associate the hot spare pool
+\fBhsp001\fR with each submirror. A one-way mirror is then defined using the
+\fB-m\fR option. The second submirror is attached using the \fBmetattach\fR
+command.
+
+.LP
+\fBExample 12 \fRSetting the Value of the Soft Partition Extent Alignment
+.sp
+.LP
+This example shows how to set the alignment of the soft partition to 1
+megabyte.
+
+.sp
+.in +2
+.nf
+# metainit -s red d13 -p c1t3d0s4 -A 1m 4m
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example the soft partition, \fBd13\fR, is created with an extent
+alignment of 1 megabyte. The \fBmetainit\fR command uses the \fB-A\fR option
+with an alignment of \fB1m\fR to define the soft partition extent alignment.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lvm/md.tab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains list of metadevice and hot spare configurations for batch-like
+creation.
+.RE
+
+.SH WARNINGS
+.sp
+.LP
+This section contains information on different types of warnings.
+.SS "Devices and Volumes Greater Than 1 TB"
+.sp
+.LP
+Do not create large (>1 TB) volumes if you expect to run the Solaris Operating
+Environment with a 32-bit kernel or if you expect to use a version of the
+Solaris Operating Environment prior to Solaris 10.
+.SS "Multi-Way Mirror"
+.sp
+.LP
+Do not use the \fBmetainit\fR command to create a multi-way mirror. Rather,
+create a one-way mirror with \fBmetainit\fR then attach additional submirrors
+with \fBmetattach\fR. When the \fBmetattach\fR command is not used, no resync
+operations occur and data could become corrupted.
+.sp
+.LP
+If you use \fBmetainit\fR to create a mirror with multiple submirrors, the
+following message is displayed:
+.sp
+.in +2
+.nf
+WARNING: This form of metainit is not recommended.
+The submirrors may not have the same data.
+Please see ERRORS in metainit(1M) for additional information.
+.fi
+.in -2
+.sp
+
+.SS "Truncation of Soft Partitions"
+.sp
+.LP
+When creating stripes on top of soft partitions it is possible for the size of
+the new stripe to be less than the size of the underlying soft partition. If
+this occurs, \fBmetainit\fR fails with an error indicating the actions required
+to overcome the failure.
+.sp
+.LP
+If you use the \fB-f\fR option to override this behavior, the following message
+is displayed:
+.sp
+.in +2
+.nf
+WARNING: This form of metainit is not recommended.
+The stripe is truncating the size of the underlying device.
+Please see ERRORS in metainit(1M) for additional information.
+.fi
+.in -2
+.sp
+
+.SS "Write-On-Write Problem"
+.sp
+.LP
+When mirroring data in Solaris Volume Manager, transfers from memory to the
+disks do not all occur at exactly the same time for all sides of the mirror. If
+the contents of buffers are changed while the data is in-flight to the disk
+(called write-on-write), then different data can end up being stored on each
+side of a mirror.
+.sp
+.LP
+This problem can be addressed by making a private copy of the data for mirror
+writes, however, doing this copy is expensive. Another approach is to detect
+when memory has been modified across a write by looking at the dirty-bit
+associated with the memory page. Solaris Volume Manager uses this dirty-bit
+technique when it can. Unfortunately, this technique does not work for raw I/O
+or direct I/O. By default, Solaris Volume Manager is tuned for performance with
+the liability that mirrored data might be out of sync if an application does a
+"write-on-write" to buffers associated with raw I/O or direct I/O. Without
+mirroring, you were not guaranteed what data would actually end up on media,
+but multiple reads would return the same data. With mirroring, multiple reads
+can return different data. The following line can be added to \fB/etc/system\fR
+to cause a stable copy of the buffers to be used for all raw I/O and direct I/O
+write operations.
+.sp
+.in +2
+.nf
+set md_mirror:md_mirror_wow_flg=0x20
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Setting this flag degrades performance.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetaoffline\fR(1M),
+\fBmetaonline\fR(1M), \fBmetaparam\fR(1M), \fBmetarecover\fR(1M),
+\fBmetarename\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH LIMITATIONS
+.sp
+.LP
+Recursive mirroring is not allowed; that is, a mirror cannot appear in the
+definition of another mirror.
+.sp
+.LP
+Recursive logging is not allowed; that is, a trans metadevice cannot appear in
+the definition of another metadevice.
+.sp
+.LP
+Stripes, concatenations, and RAID level 5 metadevices must consist of slices
+only.
+.sp
+.LP
+Mirroring of RAID level 5 metadevices is not allowed.
+.sp
+.LP
+Soft partitions can be built on raw devices, or on stripes, RAID level 5, or
+mirrors.
+.sp
+.LP
+RAID level 5 or stripe metadevices can be built directly on soft partitions.
+.SH NOTES
+.sp
+.LP
+Trans metadevices have been replaced by UFS logging. Existing trans devices are
+\fBnot\fR logging--they pass data directly through to the underlying device.
+See \fBmount_ufs\fR(1M) for more information about UFS logging.
diff --git a/usr/src/man/man1m/metaoffline.1m b/usr/src/man/man1m/metaoffline.1m
new file mode 100644
index 0000000000..446ac6903c
--- /dev/null
+++ b/usr/src/man/man1m/metaoffline.1m
@@ -0,0 +1,204 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metaoffline 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metaoffline, metaonline \- place submirrors offline and online
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metaoffline\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaoffline\fR [\fB-s\fR \fIsetname\fR] [\fB-f\fR] \fImirror\fR \fIsubmirror\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaonline\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaonline\fR [\fB-s\fR \fIsetname\fR] \fImirror\fR \fIsubmirror\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetaoffline\fR command prevents Solaris Volume Manager from reading and
+writing to the submirror that has been taken offline. While the submirror is
+offline, all writes to the mirror will be kept track of (by region) and will be
+written when the submirror is brought back online. The \fBmetaoffline\fR
+command can also be used to perform online backups: one submirror is taken
+offline and backed up while the mirror remains accessible. (However, if this is
+a two-way mirror, data redundancy is lost while one submirror is offline.) The
+\fBmetaoffline\fR command differs from the \fBmetadetach\fR command because it
+does not sever the logical association between the submirror and the mirror. To
+completely remove a submirror from a mirror, use the \fBmetadetach\fR command.
+.sp
+.LP
+A submirror that has been taken offline will only remain offline until the
+\fBmetaonline\fR command is invoked or the system is rebooted.
+.sp
+.LP
+When the \fBmetaonline\fR command is used, reading from and writing to the
+submirror resumes. A resync is automatically invoked to resync the regions
+written while the submirror was offline. Writes are directed to the submirror
+during resync. Reads, however, will come from a different submirror. Once the
+resync operation completes, reads and writes are performed on that submirror.
+The \fBmetaonline\fR command is only effective on a submirror of a mirror that
+has been taken offline.
+.sp
+.LP
+The \fBmetaoffline\fR and \fBmetaonline\fR commands can not be used on RAID 1
+volumes in application-based recovery (ABR) mode.
+.sp
+.LP
+A submirror that has been taken offline with the \fBmetaoffline\fR command can
+only be mounted as read-only.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for all of the following options except \fB-h\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 14n
+.rt
+Forces offlining of submirrors that have slices requiring maintenance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 14n
+.rt
+Displays usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies the name of the diskset on which \fBmetaoffline\fR and
+\fBmetaonline\fR will work. Using the \fB-s\fR option will cause the command to
+perform its administrative function within the specified diskset. Without this
+option, the command will perform its function on local metadevices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImirror\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies the metadevice name of the mirror from which the submirror will be
+either taken offline or put online.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsubmirror\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies the metadevice name of the submirror to be either taken offline or
+put online.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRTaking a Submirror Offline
+.sp
+.LP
+This example takes one submirror, \fBmymirror_sub1\fR, offline from mirror
+\fBmymirror\fR.
+
+.sp
+.in +2
+.nf
+# metaoffline mymirror mymirror_sub1
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaparam\fR(1M), \fBmetarecover\fR(1M), \fBmetarename\fR(1M),
+\fBmetareplace\fR(1M), \fBmetaroot\fR(1M), \fBmetaset\fR(1M),
+\fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBmetaonline\fR and \fBmetaoffline\fR commands are not applicable to
+mirrors in application-based recovery (ABR) mode.
diff --git a/usr/src/man/man1m/metaparam.1m b/usr/src/man/man1m/metaparam.1m
new file mode 100644
index 0000000000..134338d5bf
--- /dev/null
+++ b/usr/src/man/man1m/metaparam.1m
@@ -0,0 +1,242 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metaparam 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metaparam \- modify parameters of metadevices
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metaparam\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaparam\fR [\fB-s\fR \fIsetname\fR]
+ [\fIconcat/stripe\fR \fIor\fR \fIRAID5\fR \fIoptions\fR] \fIconcat/stripe\fR \fIRAID\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaparam\fR [\fB-s\fR \fIsetname\fR] [\fImirror\fR \fIoptions\fR] \fImirror\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetaparam\fR command is used to display or modify current parameters of
+metadevices.
+.sp
+.LP
+If just the metadevice is specified as an argument to the \fBmetaparam\fR
+command, the current settings are displayed.
+.sp
+.LP
+The \fBmetaparam\fR command enables most metadevice (volume) parameters to be
+changed. Only the interlace value cannot be changed by \fBmetaparam\fR, because
+it is established when the metadevice is created and cannot be changed
+thereafter.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for all of the options.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of the diskset on which \fBmetaparam\fR works. Using the
+\fB-s\fR option causes the command to perform its administrative function
+within the specified diskset. Without this option, the command performs its
+function on local metadevices.
+.RE
+
+.SH CONCAT/STRIPE OR RAID5 OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fIhot_spare_pool\fR \fB| none\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the hot spare pool to be used by a metadevice. If \fBnone\fR is
+specified, the metadevice is disassociated with the hot spare pool assigned to
+it. If the metadevice is currently using a hot spare, then \fBmetaparam\fR
+cannot replace the hot spare pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIconcat/stripe\fR \fB|\fR\fIRAID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the metadevice name of the concatenation, stripe, or concatenation of
+stripes, or of the RAID5 metadevice.
+.RE
+
+.SH MIRROR OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r roundrobin | geometric | first\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies the read option for a mirror. The \fB-r\fR option must be followed by
+either \fBroundrobin\fR, \fBgeometric\fR, or \fBfirst\fR. \fBroundrobin\fR,
+which is the default action under the \fBmetainit\fR command, specifies reading
+the disks in a round-robin (load balancing) method. \fBgeometric\fR allows for
+faster performance on sequential reads. \fBfirst\fR specifies reading only from
+the first submirror.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w parallel | serial\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies the write option for a mirror. The \fB-w\fR option must be followed by
+either \fBparallel\fR or \fBserial\fR. \fBparallel\fR, the default action under
+the \fBmetainit\fR command, specifies that all writes are parallel.
+\fBserial\fR specifies that all writes are serial.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpass_number\fR\fR
+.ad
+.sp .6
+.RS 4n
+A number from 0-to-9 that specifies the order in which a mirror is resynced
+during reboot. The default is 1. Smaller pass numbers are resynced first. Equal
+pass numbers are run concurrently. If 0 is used, the mirror resync is skipped.
+0 should only be used for mirrors mounted as read-only, or as \fBswap\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImirror\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the metadevice name of the mirror.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAssociating Hot Spare Pool with RAID5 Metadevice
+.sp
+.LP
+This example associates a hot spare pool, \fBuser_pool\fR, with a RAID5
+metadevice, \fBuser_raid\fR.
+
+.sp
+.in +2
+.nf
+# metaparam -h user_pool user_raid
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRChanging Read Option to Geometric
+.sp
+.LP
+This example changes the read option on a mirror \fBd50\fR from the default of
+roundrobin to geometric.
+
+.sp
+.in +2
+.nf
+# metaparam -r geometric d50
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetarecover\fR(1M),
+\fBmetarename\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/metarecover.1m b/usr/src/man/man1m/metarecover.1m
new file mode 100644
index 0000000000..b9fbf8fcd2
--- /dev/null
+++ b/usr/src/man/man1m/metarecover.1m
@@ -0,0 +1,268 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metarecover 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metarecover \- recover soft partition information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/metarecover\fR [\fB-n\fR] [\fB-v\fR] [\fB-s\fR \fIsetname\fR] \fIcomponent\fR \fB-p\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/metarecover\fR [\fB-n\fR] [\fB-v\fR] [\fB-s\fR \fIsetname\fR] \fIcomponent\fR \fB-p\fR {\fB-d\fR}
+.fi
+
+.LP
+.nf
+\fB/sbin/metarecover\fR [\fB-n\fR] [\fB-v\fR] [\fB-s\fR \fIsetname\fR] \fIcomponent\fR \fB-p\fR {\fB-m\fR}
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetarecover\fR command scans a specified component to look for soft
+partition configuration information and to regenerate the configuration.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 14n
+.rt
+Recover soft partitions in the metadevice state database from the extent
+headers on the device. Options \fB-d\fR and \fB-m\fR are mutually exclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 14n
+.rt
+Regenerate the extent headers and reapplies them to the underlying device based
+on the soft partitions listed in the metadevice state database. Options
+\fB-d\fR and \fB-m\fR are mutually exclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 14n
+.rt
+Do not actually perform the operation. Show the output or errors that would
+have resulted from the operation, had it been run.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 14n
+.rt
+Regenerate soft partitions based on the metadevice state database or extent
+headers on the underlying device. If neither \fB-d\fR nor \fB-m\fR are
+specified, this option compares the soft partition information in the
+metadevice state database to the extent headers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsetname\fR\fR
+.ad
+.RS 14n
+.rt
+Specify the name of the diskset on which \fBmetarecover\fR works. Using the
+\fBs\fR option causes the command to perform its function within the specified
+diskset. Without the \fB-s\fR option, the \fBmetarecover\fR command operates on
+the metadevices and/or hot spare pools in the local diskset.
+.sp
+This option is required to recover former \fBsps\fR from a diskset component or
+raw-device. \fIsetname\fR must be identical to the former \fIsetname\fR in
+which the \fBsps\fR were created. The set numbers, however, seem irrelevant.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 14n
+.rt
+Verbose mode, displaying the changes being made.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent\fR\fR
+.ad
+.RS 13n
+.rt
+Specifies the \fBc*t*d*s*\fR number of the disk or slice containing the
+partitions, or the device name (for example, \fBd10\fR) of the metadevice
+containing the partitions.
+.sp
+\fIcomponent\fR can be a slice name, component name, \fB/dev/dsk path\fR, or
+\fB/dev/rdsk path\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUpdating Metadevice State Database Based on Disk Extent Headers
+.sp
+.LP
+A disk containing soft partitions is moved from one system to another. The
+system administrator would like to use the existing soft partitions.
+\fBmetarecover\fR updates the metadevice state database based on the extent
+headers on the disk.
+
+.sp
+.in +2
+.nf
+# metarecover -v c0t3d0s2 -p -d
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUpdating Metadevice State Database Based on Incomplete Soft
+Partition Creation
+.sp
+.LP
+A system crashes in the middle of creating a new soft partition. The soft
+partition is in the creating state and the driver does not let that device be
+opened. \fBmetarecover\fR rewrites the extent headers for the partially created
+soft partition and mark it as \fBOkay\fR.
+
+.sp
+.in +2
+.nf
+# metarecover -v c0t3d0s2 -p -m
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUpdating Extent Headers Based on Metadevice State Database
+.sp
+.LP
+Someone accidentally overwrote a portion of a disk leaving extent headers
+destroyed. \fBmetarecover\fR rewrites the extent headers to ensure a valid soft
+partition configuration, though user data is not recovered.
+
+.sp
+.in +2
+.nf
+# metarecover -v d5 -m
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example implements the same command using a descriptive name.
+
+.sp
+.in +2
+.nf
+# metarecover -v myvolume -m
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRValidating Soft Partition Configuration
+.sp
+.LP
+To validate the existing soft partition configuration, use \fBmetarecover\fR
+with only the \fB-p\fR flag.
+
+.sp
+.in +2
+.nf
+# metarecover c0t3d0s2 -p
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarename\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/metarename.1m b/usr/src/man/man1m/metarename.1m
new file mode 100644
index 0000000000..96405511c3
--- /dev/null
+++ b/usr/src/man/man1m/metarename.1m
@@ -0,0 +1,319 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metarename 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metarename \- rename metadevice or switch layered metadevice names
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metarename\fR [\fB-s\fR \fIsetname\fR] \fImetadevice1\fR \fImetadevice2\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metarename\fR [\fB-s\fR \fIsetname\fR] [\fB-f\fR] \fB-x\fR \fImetadevice1\fR \fImetadevice2\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metarename\fR \fB-h\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+There are two ways to use \fBmetarename\fR, one with and one without the
+\fB-x\fR option. The first method (without \fB-x\fR) renames an existing
+metadevice to a new name. This makes managing the metadevice namespace easier.
+The metadevice being renamed cannot be mounted or open, nor can the new name
+already exist. For example, to rename a metadevice that contains a mounted file
+system, you would first need to unmount the file system.
+.sp
+.LP
+With the second way to use \fBmetarename\fR, using the \fB-x\fR option,
+\fBmetarename\fR switches (exchanges) the names of an existing layered
+metadevice and one of its subdevices. In Solaris Volume Manager terms, a
+layered metadevice can be either a mirror or a trans metadevice. The \fB-x\fR
+option enables you to switch the metadevice names of a mirror and one of its
+submirrors, or a trans metadevice and its master device.
+.sp
+.LP
+\fBmetarename\fR \fB-x\fR makes it easier to mirror or unmirror an existing
+stripe or concatenation, and to remove a trans device.
+.sp
+.LP
+When used to mirror an existing stripe or concatenatation, you must stop access
+to the device. For example, if the device contains a mounted file system, you
+must first unmount the file system before doing the rename.
+.sp
+.LP
+You can also use the \fBmetarename\fR \fB-x\fR command to untrans a trans
+metadevice from an existing device. This applies only to the master device. You
+cannot remove a logging device with \fBmetarename\fR. Before you can rename a
+trans device, you must detach the logging device. Then you must stop access to
+the trans metadevice itself.
+.sp
+.LP
+You cannot rename or switch metadevices that are in an error state or that have
+subcomponents in an error state, or metadevices actively using a hot spare
+replacement.
+.sp
+.LP
+You can only switch metadevices that have a direct child/parent relationship.
+You could not, for example, directly exchange a stripe in a mirror that is a
+master device with the trans metadevice.
+.sp
+.LP
+You must use the \fB-f\fR flag when switching members of a trans metadevice.
+.sp
+.LP
+Only metadevices can be switched, not slices.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 15n
+.rt
+Force the switching of trans metadevice members.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 15n
+.rt
+Display a help message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies the name of the diskset on which \fBmetarename\fR will work. Using
+the \fB-s\fR option will cause the command to perform its administrative
+function within the specified diskset. Without this option, the command will
+perform its function on the local metadevices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 15n
+.rt
+Exchange the metadevice names \fImetadevice1\fR and \fImetadevice2\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImetadevice1\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies the metadevice to be renamed or switched.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImetadevice2\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies the target metadevice name for the rename or switch operation.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRenaming a Metadevice
+.sp
+.LP
+This example renames a metadevice named \fBd10\fR to \fBaccount_records\fR.
+Note that \fBaccount_records\fR must not exist for the rename to succeed.
+
+.sp
+.in +2
+.nf
+# metarename d10 account_records
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a Two-Way Mirror
+.sp
+.LP
+This example creates a two-way mirror from an existing stripe named \fBd1\fR
+with a mounted file system, \fB/home2\fR.
+
+.sp
+.in +2
+.nf
+# metainit d2 1 1 c13d0s1
+# metainit -f d20 -m d1
+# umount /home2
+# metarename -x d20 d1
+# metattach d1 d2
+# mount /home2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+First, a second concatenation \fBd2\fR, is created. (\fBd1\fR already exists.)
+The \fBmetainit\fR command creates a one-way mirror, \fBd20\fR, from \fBd1\fR.
+Next, you umount the file system and switch \fBd1\fR for \fBd20\fR, making
+\fBd1\fR the top-level device (mirror). You attach the second submirror,
+\fBd2\fR, to create a two-way mirror. Lastly, you remount the file system.
+
+.LP
+\fBExample 3 \fRMounting a Mirrored File System on Stripe
+.sp
+.LP
+This example takes an existing mirror named \fBd1\fR with a mounted file
+system, and ends up with the file system mounted on a stripe \fBd1\fR.
+
+.sp
+.in +2
+.nf
+# umount /fs2
+# metarename -x d1 d20
+# metadetach d20 d1
+# metaclear -r d20
+# mount /fs2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+First, you unmount the file system, then switch the mirror \fBd1\fR and its
+submirror \fBd20\fR. This makes the mirror into \fBd20\fR. Next, you detach
+\fBd1\fR from \fBd20\fR, then delete the mirror \fBd20\fR and its other
+submirror. You then remount the file system.
+
+.LP
+\fBExample 4 \fRDeleting a Trans Metadevice
+.sp
+.LP
+This example deletes a trans metadevice named \fBd10\fR while its mount point
+is \fB/myhome\fR. The master device, which is a stripe, is named \fBd2\fR. The
+logging device, also a stripe, is named \fBd5\fR.
+
+.sp
+.in +2
+.nf
+# umount /myhome
+# metadetach d10
+# metarename -f -x d10 d2
+# metaclear d2
+# metaclear d5
+# fsck /dev/md/dsk/d10
+# mount /myhome
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+You umount the file system first, then detach the trans metadevice's logging
+device. The trans metadevice is switched with the master device, making the
+trans metadevice \fBd2\fR and the underlying stripe \fBd10\fR. You clear the
+trans metadevice \fBd2\fR and the logging device \fBd5\fR. \fBd10\fR must be
+\fBfsck\fR'd, and then the file system is remounted.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetareplace\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH LIMITATIONS
+.sp
+.LP
+Renaming and exchanging metadevice names can only be used for metadevices. A
+physical slice cannot be renamed to a metadevice, nor can a metadevice be
+exchanged with a physical slice name.
+.sp
+.LP
+Metadevice names are strings of the pattern \fId\fR\fB<\fR\fIxyz\fR\fB>\fR
+where \fIxyz\fR is a value between \fB0\fR and \fB8192\fR. You cannot use
+logical names for metadevices.
+.SH NOTES
+.sp
+.LP
+Trans metadevices have been replaced by UFS logging. Existing trans devices are
+\fBnot\fR logging--they pass data directly through to the underlying device.
+See \fBmount_ufs\fR(1M) for more information about UFS logging.
diff --git a/usr/src/man/man1m/metareplace.1m b/usr/src/man/man1m/metareplace.1m
new file mode 100644
index 0000000000..6c73167edb
--- /dev/null
+++ b/usr/src/man/man1m/metareplace.1m
@@ -0,0 +1,274 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metareplace 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metareplace \- enable or replace components of submirrors or RAID5 metadevices
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metareplace\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metareplace\fR [\fB-s\fR \fIsetname\fR] \fB-e\fR \fImirror\fR \fIcomponent\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metareplace\fR [\fB-s\fR \fIsetname\fR] \fImirror\fR \fIcomponent-old\fR \fIcomponent-new\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metareplace\fR [\fB-s\fR \fIsetname\fR] \fB-e\fR \fIRAID\fR \fIcomponent\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metareplace\fR [\fB-s\fR \fIsetname\fR] [\fB-f\fR] \fIRAID\fR \fIcomponent-old\fR \fIcomponent-new\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetareplace\fR command is used to enable or replace components (slices)
+within a submirror or a RAID5 metadevice.
+.sp
+.LP
+When you replace a component, the \fBmetareplace\fR command automatically
+starts resyncing the new component with the rest of the metadevice. When the
+resync completes, the replaced component becomes readable and writable. If the
+failed component has been hot spare replaced, the hot spare is placed in the
+available state and made available for other hot spare replacements.
+.sp
+.LP
+Note that the new component must be large enough to replace the old component.
+.sp
+.LP
+A component may be in one of several states. The \fBLast\fR \fBErred\fR and the
+\fBMaintenance\fR states require action. Always replace components in the
+\fBMaintenance\fR state first, followed by a resync and validation of data.
+After components requiring maintenance are fixed, validated, and resynced,
+components in the \fBLast\fR \fBErred\fR state should be replaced. To avoid
+data loss, it is always best to back up all data before replacing \fBLast\fR
+\fBErred\fR devices.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for all of the following options except \fB-h\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 17n
+.rt
+Transitions the state of \fIcomponent\fR to the available state and resyncs the
+failed component. If the failed component has been hot spare replaced, the hot
+spare is placed in the available state and made available for other hot spare
+replacements. This command is useful when a component fails due to human error
+(for example, accidentally turning off a disk), or because the component was
+physically replaced. In this case, the replacement component must be
+partitioned to match the disk being replaced before running the
+\fBmetareplace\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 17n
+.rt
+Forces the replacement of an errored component of a metadevice in which
+multiple components are in error. The component determined by the
+\fBmetastat\fR display to be in the ``Maintenance'' state must be replaced
+first. This option may cause data to be fabricated since multiple components
+are in error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 17n
+.rt
+Display help message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the name of the diskset on which \fBmetareplace\fR will work. Using
+the \fB-s\fR option will cause the command to perform its administrative
+function within the specified diskset. Without this option, the command will
+perform its function on local metadevices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImirror\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name of the mirror.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent\fR\fR
+.ad
+.RS 17n
+.rt
+The logical name for the physical slice (partition) on a disk drive, such as
+\fB/dev/dsk/c0t0d0s2\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent-old\fR\fR
+.ad
+.RS 17n
+.rt
+The physical slice that is being replaced.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent-new\fR\fR
+.ad
+.RS 17n
+.rt
+The physical slice that is replacing \fIcomponent-old\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIRAID\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name of the RAID5 device.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRecovering from Error Condition in RAID5 Metadevice
+.sp
+.LP
+This example shows how to recover when a single component in a RAID5 metadevice
+is errored.
+
+.sp
+.in +2
+.nf
+# metareplace d10 c3t0d0s2 c5t0d0s2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, a RAID5 metadevice \fBd10\fR has an errored component,
+\fBc3t0d0s2\fR, replaced by a new component, \fBc5t0d0s2\fR.
+
+.LP
+\fBExample 2 \fRUse of \fB-e\fR After Physical Disk Replacement
+.sp
+.LP
+This example shows the use of the \fB-e\fR option after a physical disk in a
+submirror (a submirror of mirror \fBmymirror1\fR, in this case) has been
+replaced.
+
+.sp
+.in +2
+.nf
+# metareplace -e mymirror1 c1t4d0s2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note: The replacement disk must be partitioned to match the disk it is
+replacing before running the \fBmetareplace\fR command.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetarename\fR(1M), \fBmetaroot\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/metaroot.1m b/usr/src/man/man1m/metaroot.1m
new file mode 100644
index 0000000000..a5f96b9bde
--- /dev/null
+++ b/usr/src/man/man1m/metaroot.1m
@@ -0,0 +1,296 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metaroot 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metaroot \- setup system files for root (/) metadevice
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metaroot\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaroot\fR [\fB-n\fR] [\fB-k\fR \fIsystem-name\fR] [\fB-v\fR \fIvfstab-name\fR]
+ [\fB-c\fR \fImddb.cf-name\fR] [\fB-m\fR \fImd.conf-name\fR] [\fB-R\fR \fIroot-path\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetaroot\fR command edits the \fB/etc/vfstab\fR and \fB/etc/system\fR
+files so that the system may be booted with the root file system (\fB/\fR) on
+an appropriate metadevice. The only metadevices that support the root file
+system are a stripe with only a single slice or a mirror on a single-slice
+stripe.
+.sp
+.LP
+If necessary, the \fBmetaroot\fR command can reset a system that has been
+configured to boot the root file system (\fB/\fR) on a metadevice so that it
+uses a physical slice.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for all of the following options except \fB-h\fR.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fImddb.cf-name\fR\fR
+.ad
+.RS 19n
+.rt
+Use \fImddb.cf-name\fR instead of the default \fB/etc/lvm/mddb.cf\fR file as a
+source of metadevice database locations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 19n
+.rt
+Display a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIsystem-name\fR\fR
+.ad
+.RS 19n
+.rt
+Edit a user-supplied \fIsystem-name\fR instead of the default \fB/etc/system\fR
+system configuration information file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImd.conf-name\fR\fR
+.ad
+.RS 19n
+.rt
+Edit the configuration file specified by \fImd.conf-name\fR rather than the
+default, \fB/kernel/drv/md.conf\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 19n
+.rt
+Print what would be done without actually doing it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-path\fR\fR
+.ad
+.RS 19n
+.rt
+When metaroot modifies system files, it accesses them in their relative
+location under \fIroot-path\fR.
+.sp
+The \fB-R\fR option cannot be used in combination with the \fB-c\fR,
+\fB-k\fR,\fB-m\fR, or \fB-v\fR options.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fIvfstab-name\fR\fR
+.ad
+.RS 19n
+.rt
+Edit \fIvfstab-name\fR instead of the default \fB/etc/vfstab\fR table of file
+system defaults.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 10n
+.rt
+Specifies either the metadevice or the conventional disk device (slice) used
+for the root file system (\fB/\fR).
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSpecifying Root File System on Metadevice
+.sp
+.LP
+The following command edits \fB/etc/system\fR and \fB/etc/vfstab\fR to specify
+that the root file system is now on metadevice \fBd0\fR.
+
+.sp
+.in +2
+.nf
+# metaroot d0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example shows the same command using a desriptive name for the
+metadevice.
+
+.sp
+.in +2
+.nf
+# metaroot newrootfilesystem
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSpecifying Root File System on SCSI Disk
+.sp
+.LP
+The following command edits \fB/etc/system\fR and \fB/etc/vfstab\fR to specify
+that the root file system is now on the SCSI disk device
+\fB/dev/dsk/c0t3d0s0\fR.
+
+.sp
+.in +2
+.nf
+# metaroot /dev/dsk/c0t3d0s0
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/system\fR\fR
+.ad
+.RS 23n
+.rt
+System configuration information file. See \fBsystem\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 23n
+.rt
+File system defaults.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lvm/mddb.cf\fR\fR
+.ad
+.RS 23n
+.rt
+Metadevice state database locations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/kernel/drv/md.conf\fR\fR
+.ad
+.RS 23n
+.rt
+Configuration file for the metadevice driver, \fBmd\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetarename\fR(1M), \fBmetareplace\fR(1M),
+\fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/metaset.1m b/usr/src/man/man1m/metaset.1m
new file mode 100644
index 0000000000..f8cf1414e7
--- /dev/null
+++ b/usr/src/man/man1m/metaset.1m
@@ -0,0 +1,925 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metaset 1M "4 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metaset \- configure disk sets
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR [\fB-M\fR\fB-a\fR \fB-h\fR \fIhostname\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-A\fR {enable | disable}
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR [\fB-A\fR {enable | disable}] \fB-a\fR \fB-h\fR \fIhostname\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-a\fR [\fB-l\fR \fIlength\fR] [\fB-L\fR] \fIdrivename...\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-C\fR {take | release | purge}
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-d\fR [\fB-f\fR] \fB-h\fR \fIhostname...\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-d\fR [\fB-f\fR] \fIdrivename...\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-j\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-r\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-w\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-t\fR [\fB-f\fR] [\fB-u\fR \fItagnumber\fR] [y]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-b\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-P\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-q\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR \fB-s\fR \fIsetname\fR \fB-o\fR [\fB-h\fR \fIhostname\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR [\fB-s\fR \fIsetname\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metaset\fR [\fB-s\fR \fIsetname\fR] \fB-a\fR | \fB-d\fR
+ [ [m] \fImediator_host_list\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetaset\fR command administers sets of disks in named disk sets. Named
+disk sets include any disk set that is not in the local set. While disk sets
+enable a high-availability configuration, Solaris Volume Manager itself does
+not actually provide a high-availability environment.
+.sp
+.LP
+A single-owner disk set configuration manages storage on a SAN or
+fabric-attached storage, or provides namespace control and state database
+replica management for a specified set of disks.
+.sp
+.LP
+In a shared disk set configuration, multiple hosts are physically connected to
+the same set of disks. When one host fails, another host has exclusive access
+to the disks. Each host can control a shared disk set, but only one host can
+control it at a time.
+.sp
+.LP
+When you add a new disk to any disk set, Solaris Volume Manager checks the disk
+format. If necessary, it repartitions the disk to ensure that the disk has an
+appropriately configured reserved slice 7 (or slice 6 on an EFI labelled
+device) with adequate space for a state database replica. The precise size of
+slice 7 (or slice 6 on an EFI labelled device) depends on the disk geometry.
+For tradtional disk sets, the slice is no less than 4 Mbytes, and probably
+closer to 6 Mbytes, depending on where the cylinder boundaries lie. For
+multi-owner disk sets, the slice is a minimum of 256 Mbytes. The minimal size
+for slice 7 might change in the future. This change is based on a variety of
+factors, including the size of the state database replica and information to be
+stored in the state database replica.
+.sp
+.LP
+For use in disk sets, disks must have a dedicated slice (six or seven) that
+meets specific criteria:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The slice must start at sector 0
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The slice must include enough space for disk label
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The state database replicas cannot be mounted
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The slice does not overlap with any other slices, including slice 2
+.RE
+.sp
+.LP
+If the existing partition table does not meet these criteria, or if the -L flag
+is specified, Solaris Volume Manager repartitions the disk. A small portion of
+each drive is reserved in slice 7 (or slice 6 on an EFI labelled device) for
+use by Solaris Volume Manager. The remainder of the space on each drive is
+placed into slice 0. Any existing data on the disks is lost by repartitioning.
+.sp
+.LP
+After you add a drive to a disk set, it can be repartitioned as necessary, with
+the exception that slice 7 (or slice 6 on an EFI labelled device) is not
+altered in any way.
+.sp
+.LP
+After a disk set is created and metadevices are set up within the set, the
+metadevice name is in the following form:
+.sp
+.LP
+\fB/dev/md/\fR\fIsetname\fR/{\fBdsk\fR,\fBrdsk\fR}/\fBd\fR\fInumber\fR
+.sp
+.LP
+where \fIsetname\fR is the name of the disk set, and \fInumber\fR is the number
+of the metadevice (\fB0\fR-\fB127\fR).
+.sp
+.LP
+If you have disk sets that you upgraded from Solstice DiskSuite software, the
+default state database replica size on those sets is 1034 blocks, not the 8192
+block size from Solaris Volume Manager. Also, slice 7 on the disks that were
+added under Solstice DiskSuite are correspondingly smaller than slice 7 on
+disks that were added under Solaris Volume Manager.
+.sp
+.LP
+If disks you add to a disk set have acceptable slice 7s (that start at cylinder
+0 and that have sufficient space for the state database replica), they are not
+reformatted.
+.sp
+.LP
+Hot spare pools within local disk sets use standard Solaris Volume Manager
+naming conventions. Hot spare pools with shared disk sets use the following
+convention:
+.sp
+.LP
+\fIsetname\fR/\fIhot_spare_pool\fR
+.sp
+.LP
+where \fIsetname\fR is the name of the disk set, and \fIhot_spare_pool\fR is
+the name of the hot spare pool associated with the disk set.
+.SS "Multi-node Environment"
+.sp
+.LP
+To create and work with a disk set in a multi\(emnode environment, \fBroot\fR
+must be a member of Group 14 on all hosts, or the \fB/.rhosts\fR file must
+contain an entry for all other host names. This is not required in a SunCluster
+3.x enviroment.
+.SS "Tagged data"
+.sp
+.LP
+Tagged data occurs when there are different versions of a disk set's replicas.
+This tagged data consists of the set owner's nodename, the hardware serial
+number of the owner and the time it was written out to the available replicas.
+The system administer can use this information to determine which replica
+contains the correct data.
+.sp
+.LP
+When a disk set is configured with an even number of storage enclosures and has
+replicas balanced across them evenly, it is possible that up to half of the
+replicas can be lost (for example, through a power failure of half of the
+storage enclosures). After the enclosure that went down is rebooted, half of
+the replicas are not recognized by SVM. When the set is retaken, the
+\fBmetaset\fR command returns an error of "stale databases", and all of the
+metadevices are in a read-only state.
+.sp
+.LP
+Some of the replicas that are not recognized need to be deleted. The action of
+deleting the replicas also causes updates to the replicas that are not being
+deleted. In a dual hosted disk set environment, the second node can access the
+deleted replicas instead of the existing replicas when it takes the set. This
+leads to the possibility of getting the wrong replica record on a disk set
+take. An error message is displayed, and user intervention is required.
+.sp
+.LP
+Use the \fB-q\fR to query the disk set and the \fB-t\fR, \fB-u\fR, and
+\fB-y\fR, options to select the tag and take the disk set. See \fBOPTIONS\fR.
+.SS "Mediator Configuration"
+.sp
+.LP
+SVM provides support for a low-end HA solution consisting of two hosts that
+share only two strings of drives. The hosts in this type of configuration,
+referred to as \fBmediators\fR or mediator hosts, run a special daemon,
+\fBrpc.metamedd\fR(1M). The mediator hosts take on additional responsibilities
+to ensure that data is available in the case of host or drive failures.
+.sp
+.LP
+A mediator configuration can survive the failure of a single host or a single
+string of drives, without administrative intervention. If both a host and a
+string of drives fail (multiple failures), the integrity of the data cannot be
+guaranteed. At this point, administrative intervention is required to make the
+data accessible. See \fBmediator\fR(7D) for further details.
+.sp
+.LP
+Use the \fB-m\fR option to add or delete a mediator host. See \fBOPTIONS\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIdrivename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add drives or hosts to the named set. For a drive to be accepted into a set,
+the drive must not be in use within another metadevice or disk set, mounted on,
+or swapped on. When the drive is accepted into the set, it is repartitioned and
+the metadevice state database replica (for the set) can be placed on it.
+However, if a slice 7 (or slice 6 on an EFI labelled device), starts at
+cylinder 0, and is large enough to hold a state database replica, then the disk
+is not repartitioned. Also, a drive is not accepted if it cannot be found on
+all hosts specified as part of the set. This means that if a host within the
+specified set is unreachable due to network problems, or is administratively
+down, the add fails.
+.sp
+Specify a drive name in the form
+\fBc\fR\fInum\fR\fBt\fR\fInum\fR\fBd\fR\fInum\fR. Do not specify a slice number
+(\fBs\fR\fInum\fR). For drives in a Sun Cluster, you must specify a complete
+pathname for each drive. Such a name has the form:
+.sp
+.in +2
+.nf
+/dev/did/[r]dsk/d\fInum\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR | \fB-d\fR | \fB-m\fR \fImediator_host_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add (\fB-a\fR) or delete (\fB-d\fR) mediator hosts to the specified disk set. A
+\fImediator_host_list\fR is the \fBnodename\fR(4) of the mediator host to be
+added and (for adding) up to two other aliases for the mediator host. The
+nodename and aliases for each mediator host are separated only by commas. Up to
+three mediator hosts can be specified for the named disk set. Specify only the
+nodename of that host as the argument to \fB-m\fR to delete a mediator host.
+.sp
+In a single \fBmetaset\fR command you can add or delete up to three mediator
+hosts. See \fBEXAMPLES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fB{enable | disable}\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify auto-take status for a disk set. If auto-take is enabled for a set, the
+disk set is automatically taken at boot, and file systems on volumes within the
+disk set can be mounted through \fB/etc/vfstab\fR entries. Only a single host
+can be associated with an auto-take set, so attempts to add a second host to an
+auto-take set or attempts to configure a disk set with multiple hosts as
+auto-take fails with an error message. Disabling auto-take status for a
+specific disk set causes the disk set to revert to normal behavior. That is,
+the disk set is potentially shared (non-concurrently) among hosts, and
+unavailable for mounting through \fB/etc/vfstab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insure that the replicas are distributed according to the replica layout
+algorithm. This can be invoked at any time, and does nothing if the replicas
+are correctly distributed. In cases where the user has used the \fBmetadb\fR
+command to manually remove or add replicas, this command can be used to insure
+that the distribution of replicas matches the replica layout algorithm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fB{take | release | purge}\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not interact with the Cluster Framework when used in a Sun Cluster 3
+environment. In effect, this means do not modify the Cluster Configuration
+Repository. These options should only be used to fix a broken disk set
+configuration.
+.sp
+.ne 2
+.mk
+.na
+\fBtake\fR
+.ad
+.sp .6
+.RS 4n
+Take ownership of the disk set but do not inform the Cluster Framework that the
+disk set is available. This option is not for use with a multi-owner disk set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrelease\fR
+.ad
+.sp .6
+.RS 4n
+Release ownership of the disk set without informing the Cluster Framework. This
+option should only be used if the disk set ownership was taken with the
+corresponding \fB-C\fR \fBtake\fR option. This option is not for use with a
+multi-owner disk set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpurge\fR
+.ad
+.sp .6
+.RS 4n
+Remove the disk set without informing the Cluster Framework that the disk set
+has been purged. This option should only be used when the disk set is not
+accessible and requires rebuilding.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdrivename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete drives or hosts from the named disk set. For a drive to be deleted, it
+must not be in use within the set. The last host cannot be deleted unless all
+of the drives within the set are deleted. Deleting the last host in a disk set
+destroys the disk set.
+.sp
+Specify a drive name in the form
+\fBc\fR\fInum\fR\fBt\fR\fInum\fR\fBd\fR\fInum\fR. Do not specify a slice number
+(\fBs\fR\fInum\fR). For drives in a Sun Cluster, you must specify a complete
+pathname for each drive. Such a name has the form:
+.sp
+.in +2
+.nf
+/dev/did/[r]dsk/d\fInum\fR
+.fi
+.in -2
+.sp
+
+This option fails on a multi-owner disk set if attempting to withdraw the
+master node while other nodes are in the set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force one of three actions to occur: takes ownership of a disk set when used
+with \fB-t\fR; deletes the last disk drive from the disk set; or deletes the
+last host from the disk set. Deleting the last drive or host from a disk set
+requires the \fB-d\fR option.
+.sp
+When used to forcibly take ownership of the disk set, this causes the disk set
+to be grabbed whether or not another host owns the set. All of the disks within
+the set are taken over (reserved) and fail fast is enabled, causing the other
+host to panic if it had disk set ownership. The metadevice state database is
+read in by the host performing the take, and the shared metadevices contained
+in the set are accessible.
+.sp
+You can use this option to delete the last drive in the disk set, because this
+drive would implicitly contain the last state database replica.
+.sp
+You can use \fB-f\fR option to delete hosts from a set. When specified with a
+partial list of hosts, it can be used for one-host administration. One-host
+administration could be useful when a host is known to be non-functional, thus
+avoiding timeouts and failed commands. When specified with a complete list of
+hosts, the set is completely deleted. It is generally specified with a complete
+list of hosts to clean up after one-host administration has been performed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fB\fIhostname...\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify one or more host names to be added to or deleted from a disk set.
+Adding the first host creates the set. The last host cannot be deleted unless
+all of the drives within the set have been deleted. The host name is not
+accepted if all of the drives within the set cannot be found on the specified
+host. The host name is the same name found in \fB/etc/nodename\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-j\fR\fR
+.ad
+.sp .6
+.RS 4n
+Join a host to the owner list for a multi-owner disk set. The concepts of take
+and release, used with traditional disk sets, do not apply to multi-owner sets,
+because multiple owners are allowed.
+.sp
+As a host boots and is brought online, it must go through three configuration
+levels to be able to use a multi-owner disk set:
+.RS +4
+.TP
+1.
+It must be included in the cluster nodelist, which happens automatically in
+a cluster or single-node sitatuion.
+.RE
+.RS +4
+.TP
+2.
+It must be added to the multi-owner disk set with the \fB-a\fR \fB-h\fR
+options documented elsewhere in this man page
+.RE
+.RS +4
+.TP
+3.
+It must join the set. When the host is first added to the set, it is
+automatically joined.
+.RE
+On manual restarts, the administrator must manually issue
+.sp
+.in +2
+.nf
+metaset \fB-s\fR \fImultinodesetname\fR \fB-j\fR
+.fi
+.in -2
+.sp
+
+to join the host to the owner list. After the cluster reconfiguration, when the
+host reenters the cluster, the node is automatically joined to the set. The
+\fBmetaset\fR \fB-j\fR command joins the host to all multi-owner sets that the
+host has been added to. In a single node situation, joining the node to the
+disk set starts any necessary resynchronizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.sp .6
+.RS 4n
+When adding a disk to a disk set, force the disk to be repartitioned using the
+standard Solaris Volume Manager algorithm. See \fBDESCRIPTION\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlength\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the size (in blocks) for the metadevice state database replica. The length
+can only be set when adding a new drive; it cannot be changed on an existing
+drive. The default (and maximum) size is 8192 blocks, which should be
+appropriate for most configurations. Replica sizes of less than 128 blocks are
+not recommended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify that the disk set to be created or modified is a multi-owner disk set
+that supports multiple concurrent owners.
+.sp
+This option is required when creating a multi-owner disk set. Its use is
+optional on all other operations on a multi-owner disk set and has no effect.
+Existing disk sets cannot be converted to multi-owner sets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.sp .6
+.RS 4n
+Return an exit status of \fB0\fR if the local host or the host specified with
+the \fB-h\fR option is the owner of the disk set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.sp .6
+.RS 4n
+Purge the named disk set from the node on which the \fBmetaset\fR command is
+run. The disk set must not be owned by the node that runs this command. If the
+node does own the disk set, the command fails.
+.sp
+If you need to delete a disk set but cannot take ownership of the set, use the
+\fB-P\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays an enumerated list of tags pertaining to ``tagged data'' that can be
+encountered during a take of the ownership of a disk set.
+.sp
+This option is not for use with a multi-owner disk set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Release ownership of a disk set. All of the disks within the set are released.
+The metadevices set up within the set are no longer accessible.
+.sp
+This option is not for use with a multi-owner disk set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of a disk set on which \fBmetaset\fR works. If no
+\fIsetname\fR is specified, all disk sets are returned.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Take ownership of a disk set safely. If \fBmetaset\fR finds that another host
+owns the set, this host is not be allowed to take ownership of the set. If the
+set is not owned by any other host, all the disks within the set are owned by
+the host on which \fBmetaset\fR was executed. The metadevice state database is
+read in, and the shared metadevices contained in the set become accessible. The
+\fB-t\fR option takes a disk set that has stale databases. When the databases
+are stale, \fBmetaset\fR exits with code 66, and prints a message. At that
+point, the only operations permitted are the addition and deletion of replicas.
+Once the addition or deletion of the replicas has been completed, the disk set
+should be released and retaken to gain full access to the data.
+.sp
+This option is not for use with a multi-owner disk set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fItagnumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+Once a tag has been selected, a subsequent take with \fB-u\fR \fItagnumber\fR
+can be executed to select the data associated with the given \fItagnumber\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBw\fR
+.ad
+.sp .6
+.RS 4n
+Withdraws a host from the owner list for a multi-owner disk set. The concepts
+of take and release, used with traditional disk sets, do not apply to
+multi-owner sets, because multiple owners are allowed.
+.sp
+Instead of releasing a set, a host can issue
+.sp
+.in +2
+.nf
+metaset -s \fImultinodesetname\fR -w
+.fi
+.in -2
+.sp
+
+to withdraw from the owner list. A host automatically withdraws on a reboot,
+but can be manually withdrawn if it should not be able to use the set, but
+should be able to rejoin at a later time. A host that withdrew due to a reboot
+can still appear joined from other hosts in the set until a reconfiguration
+cycle occurs.
+.sp
+\fBmetaset\fR \fB-w\fR withdraws from ownership of all multi-owner sets of
+which the host is a member. This option fails if you attempt to withdraw the
+master node while other nodes are in the disk set owner list. This option
+cancels all resyncs running on the node. A cluster reconfiguration process that
+is removing a node from the cluster membership list effectively withdraws the
+host from the ownership list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.sp .6
+.RS 4n
+Execute a subsequent take. If the take operation encounters ``tagged data,''
+the take operation exits with code 2. You can then run the \fBmetaset\fR
+command with the \fB-q\fR option to see an enumerated list of tags.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDefining a Disk Set
+.sp
+.LP
+This example defines a disk set.
+
+.sp
+.in +2
+.nf
+# metaset -s relo-red -a -h red blue
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The name of the disk set is \fBrelo-red\fR. The names of the first and second
+hosts added to the set are \fBred\fR and \fBblue\fR, respectively. (The
+hostname is found in \fB/etc/nodename\fR.) Adding the first host creates the
+disk set. A disk set can be created with just one host, with the second added
+later. The last host cannot be deleted until all of the drives within the set
+have been deleted.
+
+.LP
+\fBExample 2 \fRAdding Drives to a Disk Set
+.sp
+.LP
+This example adds drives to a disk set.
+
+.sp
+.in +2
+.nf
+# metaset -s relo-red -a c2t0d0 c2t1d0 c2t2d0 c2t3d0 c2t4d0 c2t5d0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The name of the previously created disk set is \fBrelo-red\fR. The names of the
+drives are \fBc2t0d0\fR, \fBc2t1d0\fR, \fBc2t2d0\fR, \fBc2t3d0\fR,
+\fBc2t4d0\fR, and \fBc2t5d0\fR. There is no slice identifier ("s\fIx\fR") at
+the end of the drive names.
+
+.LP
+\fBExample 3 \fRAdding Multiple Mediator Hosts
+.sp
+.LP
+The following command adds three mediator hosts to the specified disk set.
+
+.sp
+.in +2
+.nf
+# metaset -s mydiskset -a -m myhost1,alias1 myhost2,alias2 myhost3,alias3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRPurging a Disk Set from the Node
+.sp
+.LP
+The following command purges the disk set \fBrelo-red\fR from the node:
+
+.sp
+.in +2
+.nf
+# metaset -s relo-red -P
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRQuerying a Disk Set for Tagged Data
+.sp
+.LP
+The following command queries the disk set \fBrelo-red\fR for a list of the
+tagged data:
+
+.sp
+.in +2
+.nf
+# metaset -s relo-red -q
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command produces the following results:
+.sp
+.in +2
+.nf
+The following tag(s) were found:
+ 1 - vha-1000c - Fri Sep 20 17:20:08 2002
+ 2 - vha-1000c - Mon Sep 23 11:01:27 2002
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRSelecting a tag and taking a Disk set
+.sp
+.LP
+The following command selects a tag and takes the disk set \fBrelo-red\fR:
+
+.sp
+.in +2
+.nf
+# metaset -s relo-red -t -u 2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRDefining a Multi-Owner Disk Set
+.sp
+.LP
+The following command defines a multi-owner disk set:
+
+.sp
+.in +2
+.nf
+# metaset -s blue -M -a -h hahost1 hahost2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The name of the disk set is \fBblue\fR. The names of the first and second hosts
+added to the set are \fBhahost1\fR and \fBhahost2\fR, respectively. The
+hostname is found in \fB/etc/nodename\fR. Adding the first host creates the
+multi-owner disk set. A disk set can be created with just one host, with
+additional hosts added later. The last host cannot be deleted until all of the
+drives within the set have been deleted.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/lvm/md.tab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains list of metadevice configurations.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetarename\fR(1M), \fBmetareplace\fR(1M),
+\fBmetaroot\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M),
+\fBmetasync\fR(1M), \fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4),
+\fBmddb.cf\fR(4), \fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Disk set administration, including the addition and deletion of hosts and
+drives, requires all hosts in the set to be accessible from the network.
diff --git a/usr/src/man/man1m/metassist.1m b/usr/src/man/man1m/metassist.1m
new file mode 100644
index 0000000000..18d76726a0
--- /dev/null
+++ b/usr/src/man/man1m/metassist.1m
@@ -0,0 +1,551 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metassist 1M "22 Feb 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metassist \- automated volume creation utility to support Solaris Volume
+Manager
+.SH SYNOPSIS
+.LP
+.nf
+\fBmetassist\fR \fB-V\fR
+.fi
+
+.LP
+.nf
+\fBmetassist\fR \fB-?\fR
+.fi
+
+.LP
+.nf
+\fBmetassist\fR create [\fB-v\fR \fIn\fR] [\fB-c\fR] \fB-F\fR \fIconfig_file\fR
+.fi
+
+.LP
+.nf
+\fBmetassist\fR create [\fB-v\fR \fIn\fR] [\fB-c\fR | \fB-d\fR] \fB-F\fR \fIrequest_file\fR
+.fi
+
+.LP
+.nf
+\fBmetassist\fR create [\fB-v\fR \fIn\fR] [\fB-c\fR | \fB-d\fR] [\fB-f\fR] [\fB-n\fR \fIname\fR]
+ [\fB-p\fR \fIdatapaths\fR] [\fB-r\fR \fIredundancy\fR]
+ [\fB-a\fR \fIavailable\fR [,\fIavailable\fR,\&.\|.\|.]]
+ [\fB-u\fR \fIunavailable\fR [,\fIunavailable\fR,\&.\|.\|.]] \fB-s\fR \fIsetname\fR \fB-S\fR \fIsize\fR
+.fi
+
+.LP
+.nf
+\fBmetassist\fR create \fB-?\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetassist\fR command provides assistance, through automation, with
+common Solaris Volume Manager tasks.
+.SS "SUBCOMMANDS"
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate\fR\fR
+.ad
+.RS 10n
+.rt
+The \fBcreate\fR subcommand creates one or more Solaris Volume Manager volumes.
+You can specify this request on the command line or in a file specified on the
+command line.
+.sp
+If you create a volume using the command line, you can specify the
+characteristics of the volume in terms of the desired quality of service it
+will provide - its size, the number of redundant copies of the data it
+contains, the number of data paths by which it is accessible, and whether
+faulty components are replaced automatically. The diskset in which the volume
+will reside and the volume's size must be specified on the command line in this
+form of the command.
+.sp
+If you create a volume using a request in a file, you can specify the
+characteristics of the volume in terms of the quality of service they provide,
+as on the command line. Alternatively, the file can specify the types and
+component parts of the volume, (for example, mirrors, stripes, concatenations,
+and their component slices). The file may also specify volumes partly in terms
+of their types and partly in terms of their component parts, and may specify
+the characteristics of more than one volume. All volumes specified in a file
+must reside in the same diskset, whose name must be specified in the file.
+.sp
+If you specify the \fB-c\fR or \fB-d\fR option on the command line, the command
+runs without creating an actual volume or volumes. Instead, it outputs either a
+a Bourne shell command script (\fB-c\fR option) or a volume configuration
+(\fB-d\fR option). The command script, when run, creates the specified volume
+or volumes. The volume configuration specifies the volume or volumes in
+complete detail, naming all their components.
+.sp
+The input file given on the command line can take one of the following forms:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a volume request, which specifies a request for a volume with explicit
+attributes and components, or matching a given quality of service
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a volume configuration, produced by a previous execution of the command
+.RE
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following option is mandatory if you specify a volume request or volume
+configuration in a file:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIconfig_file\fR | \fIrequest_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the volume request or volume configuration file to process. If
+\fIconfig_file\fR or \fIrequest_file\fR is \fB-\fR, it is read from standard
+input.
+.sp
+The \fB-d\fR option cannot be specified when \fIinputfile\fR is a volume
+configuration file.
+.RE
+
+.sp
+.LP
+The following options are mandatory if you specify a volume request on the
+command line:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIset\fR\fR
+.ad
+.RS 11n
+.rt
+Specify the disk set to use when creating volumes. All the volumes and hot
+spare pools are created in this disk set. If necessary, disks are moved into
+the diskset for use in the volumes and hot spare pools. If the diskset doesn't
+exist the command creates it. This option is required. \fBmetassist\fR works
+entirely within a named disk set. Use of the local, or unnamed disk set, is not
+allowed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIsize\fR\fR
+.ad
+.RS 11n
+.rt
+Specify the size of the volume to be created. The size argument consists of a
+numeric value (a decimal can be specified) followed by KB, MB, GB, or TB,
+indicating kilobytes, megabytes, gigabytes, or terabytes, respectively. Case is
+ignored when interpreting this option. This option is required.
+.RE
+
+.sp
+.LP
+The following options are optional command line parameters:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIdevice1\fR\fB,\fR\fIdevice2\fR\fB,...\fR\fR
+.ad
+.RS 26n
+.rt
+Explicitly specify the devices that can be used in the creation of this volume.
+Named devices may be controllers or disks. Only used when specifying a volume
+on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 26n
+.rt
+Output the command script that would implement the specified or generated
+volume configuration. The command script is not run, and processing stops at
+this stage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 26n
+.rt
+Output the volume configuration that satisfies the specified or generated
+volume request. No command script is generated or executed, and processing
+stops at this stage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 26n
+.rt
+Specify whether the volume should support automatic component replacement after
+a fault. If this option is specified, a mirror is created and its submirrors
+are associated with a hot spare.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIname\fR\fR
+.ad
+.RS 26n
+.rt
+Specify the name of the new volume. See \fBmetainit\fR(1M) for naming
+guidelines.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIn\fR\fR
+.ad
+.RS 26n
+.rt
+Specify the number of required paths to the storage volume. The value of
+\fIn\fR cannot be greater than the number of different physical paths and
+logical paths to attached storage. Only used when specifying a volume on the
+command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIn\fR\fR
+.ad
+.RS 26n
+.rt
+Specify the redundancy level (\fB0\fR-\fB4\fR) of the data. The default is
+\fB0\fR. Only used when specifying a volume on the command line. If redundancy
+is \fB0\fR, a stripe is created. If redundancy is \fB1\fR or greater, a mirror
+with this number of submirrors is created. In this case, the volume can suffer
+a disk failure on \fIn\fR\fB-1\fR copies without data loss. With the use of hot
+spares (see the \fB-f\fR option), a volume can suffer a disk failure on
+\fIn\fR\fB+hsps-1\fR volumes without data loss, assuming non-concurrent
+failures.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIdevice1\fR\fB,\fR\fIdevice2\fR\fB,...\fR\fR
+.ad
+.RS 26n
+.rt
+Explicitly specify devices to exclude in the creation of this volume. Named
+devices can be controllers or disks. You can use this option alone, or to
+exclude some of the devices listed as available with the \fB-a\fR option, Only
+used when specifying a volume on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fIvalue\fR\fR
+.ad
+.RS 26n
+.rt
+Specify the level of verbosity. Values from \fB0\fR to \fB2\fR are available,
+with higher numbers specifying more verbose output when the command is run.
+\fB-v\fR \fB0\fR indicates silent output, except for errors or other critical
+messages. The default level is \fB1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 26n
+.rt
+Display program version information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR\fR
+.ad
+.RS 26n
+.rt
+Display help information. This option can follow a subcommand for
+subcommand-specific help.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Mirror
+.sp
+.LP
+The following example creates a two-way, 36Gb mirror on available devices from
+controller 1 and controller 2. It places the volume in diskset \fBmirrorset\fR.
+
+.sp
+.in +2
+.nf
+# metassist create -r 2 -a c1,c2 -s mirrorset -S 36GB
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a Mirror with Additional Fault Tolerance
+.sp
+.LP
+The following example creates a two-way, 36Gb mirror on available devices from
+controller 1 and controller 2. It provides additional fault tolerance in the
+form of a hot spare. It places the volume in diskset \fBmirrorset\fR.
+
+.sp
+.in +2
+.nf
+# metassist create -f -r 2 -a c1,c2 -s mirrorset -S 36GB
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating a Three-way Mirror and Excluding Devices
+.sp
+.LP
+The following example creates a three-way, 180Gb mirror from storage devices on
+controller 1 or controller 2. It excludes the disks \fBc1t2d0\fR and
+\fBc2t2d1\fR from the volume. It places the volume in diskset \fBmirrorset\fR.
+
+.sp
+.in +2
+.nf
+metassist create -r 3 -a c1,c2 -u c1t2d0, c2t2d1 \e
+ -s mirrorset -S 180GB
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDetermining and Implementing a Configuration
+.sp
+.LP
+The following example determines and implements a configuration satisfying the
+request specified in a request file:
+
+.sp
+.in +2
+.nf
+# metassist create -F request.xml
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDetermining a Configuration and Saving It in a volume-config
+File
+.sp
+.LP
+The following example determines a configuration which satisfies the given
+request. It saves the configuration in a volume-config file without
+implementing it:
+
+.sp
+.in +2
+.nf
+# metassist create -d -F request.xml > volume-config
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDetermining a Configuration and Saving It in a Shell Script
+.sp
+.LP
+The following example determines a configuration which satisfies the given
+request. It saves the configuration in a shell script without implementing it:
+
+.sp
+.in +2
+.nf
+# metassist create -c -F request.xml > setupvols.sh
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRImplementing the Given volume-config
+.sp
+.LP
+The following example implements the given volume-config:
+
+.sp
+.in +2
+.nf
+# metassist create -F config.xml
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRConverting the Given volume-config to a Shell Script
+.sp
+.LP
+The following example converts the given volume-config to a shell script that
+you can run later:
+
+.sp
+.in +2
+.nf
+# metassist create -c -F config.xml > setupvols.sh
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/xml/dtd/volume-request.dtd\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/xml/dtd/volume-defaults.dtd\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/xml/dtd/volume-config.dtd\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Inteface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetarename\fR(1M), \fBmetareplace\fR(1M),
+\fBmetaroot\fR(1M), \fBmetaset\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBvolume-config\fR(4), \fBvolume-request\fR(4),
+\fBattributes\fR(5), \fBmd\fR(7D)
+.SH NOTES
+.sp
+.LP
+The quality of service arguments are mutually exclusive with the \fB-F\fR
+\fIinputfile\fR argument.
+.sp
+.LP
+When specifying a request file or quality of service arguments on the command
+line, the \fB/etc/default/metassist.xml\fR file is read for global and per-disk
+set defaults.
+.sp
+.LP
+Characteristics of this file are specified in the DTD, in
+\fB/usr/share/lib/xml/dtd/volume-defaults.dtd\fR.
+.sp
+.LP
+Characteristics of the XML request file are specified in the DTD, in
+\fB/usr/share/lib/xml/dtd/volume-request.dtd\fR.
+.sp
+.LP
+Characteristics of the XML configuration file are specified in the DTD, in
+\fB/usr/share/lib/xml/dtd/volume-config.dtd\fR.
+.sp
+.LP
+This command must be run as root.
+.sp
+.LP
+This command requires a functional Solaris Volume Manager configuration before
+it runs.
diff --git a/usr/src/man/man1m/metastat.1m b/usr/src/man/man1m/metastat.1m
new file mode 100644
index 0000000000..e5938c4bd6
--- /dev/null
+++ b/usr/src/man/man1m/metastat.1m
@@ -0,0 +1,506 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metastat 1M "26 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metastat \- display status for metadevice or hot spare pool
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metastat\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metastat\fR [\fB-a\fR] [\fB-B\fR] [\fB-D\fR] [\fB-c\fR] [\fB-i\fR] [\fB-p\fR] [\fB-q\fR]
+ [\fB-s\fR \fIsetname\fR] [\fB-t\fR] [\fImetadevice...\fR] [\fIhot_spare_pool\fR...]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metastat\fR [\fB-a\fR] [\fB-B\fR] [\fB-D\fR] [\fB-c\fR] [\fB-i\fR] [\fB-p\fR] [\fB-q\fR]
+ [\fB-s\fR \fIsetname\fR] \fIcomponent\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetastat\fR command displays the current status for each metadevice
+(including stripes, concatenations, concatenations of stripes, mirrors, RAID5,
+soft partitions, and trans devices) or hot spare pool, or of specified
+metadevices, components, or hot spare pools.
+.sp
+.LP
+It is helpful to run the \fBmetastat\fR command after using the \fBmetattach\fR
+command to view the status of the metadevice.
+.sp
+.LP
+\fBmetastat\fR displays the state of each Solaris Volume Manager RAID-1 volume
+on the system. The possible states include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOkay\fR\fR
+.ad
+.RS 21n
+.rt
+The device reports no errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNeeds maintenance\fR\fR
+.ad
+.RS 21n
+.rt
+A problem has been detected. This requires that the system administrator
+replace the failed physical device. Volumes displaying \fBNeeds maintenance\fR
+have incurred no data loss, although additional failures could risk data loss.
+Take action as quickly as possible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLast erred\fR\fR
+.ad
+.RS 21n
+.rt
+A problem has been detected. Data loss is a possibility. This might occur if a
+component of a submirror fails and is not replaced by a hot spare, therefore
+going into \fBNeeds maintenance\fR state. If the corresponding component also
+fails, it would go into \fBLast erred\fR state and, as there is no remaining
+valid data source, data loss could be a possibility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUnavailable\fR\fR
+.ad
+.RS 21n
+.rt
+A device cannot be accessed, but has not incurred errors. This might occur if a
+physical device has been removed with Solaris Dynamic Reconfiguration (DR)
+features, thus leaving the Solaris Volume Manager volume unavailable. It could
+also occur if an array or disk is powered off at system initialization, or if a
+>1TB volume is present when the system is booted in 32-bit mode.
+.sp
+After the storage has been made available, run the \fBmetastat\fR command with
+the \fB-i\fR option to update the status of the metadevices. This clears the
+unavailable state for accessible devices.
+.RE
+
+.sp
+.LP
+See the \fI\fR for instructions on replacing disks and handling volumes in
+Needs maintenance or Last erred states.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 14n
+.rt
+Display all disk sets. Only metadevices in disk sets that are owned by the
+current host are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR\fR
+.ad
+.RS 14n
+.rt
+Display the current status of all of the 64-bit metadevices and hot spares.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 14n
+.rt
+Display concise output.
+.sp
+There is one line of output for each metadevice. The output shows the basic
+structure and the error status, if any, for each metadevice.
+.sp
+The \fB-c\fR output format is distinct from the \fB-p\fR output format. The
+\fB-p\fR option does not display metadevice status and is not intended as
+human-readable output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 14n
+.rt
+Display the current status of all of the descriptive name metadevices and
+hotspares.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 14n
+.rt
+Display usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 14n
+.rt
+Check the status of RAID-1 (mirror) volumes, RAID-5 volumes, and hot spares.
+The inquiry checks each metadevice for accessibility, starting at the top level
+metadevice. When problems are discovered, the metadevice state databases are
+updated as if an error had occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 14n
+.rt
+Display the list of active metadevices and hot spare pools in the same format
+as \fBmd.tab\fR. See \fBmd.tab\fR(4).
+.sp
+The \fB-p\fR output is designed for snapshotting the configuration for later
+recovery or setup.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 14n
+.rt
+Display the status for metadevices without the device relocation information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.RS 14n
+.rt
+Specify the name of the disk set on which \fBmetastat\fR works. Using the
+\fB-s\fR option causes the command to perform its administrative function
+within the specified disk set. Without this option, the command performs its
+function on metadevices and hot spare pools in the local disk set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 14n
+.rt
+Display the current status and timestamp for the specified metadevices and hot
+spare pools. The timestamp provides the date and time of the last state change.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent\fR\fR
+.ad
+.RS 18n
+.rt
+Display the status of the component hosting a soft partition, including
+extents, starting blocks, and block count.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhot_spare_pool\fR\fR
+.ad
+.RS 18n
+.rt
+Display the status of the specified hot spare pool(s).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImetadevice\fR\fR
+.ad
+.RS 18n
+.rt
+Display the status of the specified metadevice(s). If a trans metadevice is
+specified, the status of the master and log devices is also displayed. Trans
+metadevices have been replaced by UFS logging. See \fBNOTES\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fROutput Showing Mirror with Two Submirrors
+.sp
+.LP
+The following example shows the partial output of the \fBmetastat\fR command
+after creating a mirror, \fBopt_mirror\fR, consisting of two submirrors,
+\fBopt_sub1\fR and \fBopt_sub2\fR.
+
+.sp
+.in +2
+.nf
+# metastat opt_mirror
+opt_mirror: Mirror
+ Submirror 0: opt_sub1
+ State: Okay
+ Submirror 1: opt_sub2
+ State: Resyncing
+ Resync in progress: 15 % done
+ Pass: 1
+ Read option: roundrobin (default)
+ Write option: parallel (default)
+ Size: 2006130 blocks
+ .
+ .
+ .
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSoft Partition on Mirror with Submirror
+.sp
+.LP
+The following example shows the partial output of the \fBmetastat\fR command
+after creating a soft partition, \fBd3\fR, on concat \fBd2\fR, which is built
+on a soft partition.
+
+.sp
+.in +2
+.nf
+# metastat
+d2: Concat/Stripe
+ Size: 204800 blocks
+ Stripe 0:
+ Device Start Block Dbase State Hot Spare
+ d0 0 No Okay
+
+d0: Soft Partition
+ Component: c0t3d0s0
+ Status: Okay
+ Size: 204800 blocks
+ Extent Start Block Block count
+ 0 129 204800
+
+d3: Soft Partition
+ Component: d2
+ Status: Okay
+ Size: 202752 blocks
+ Extent Start Block Block count
+ 0 129 202752
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRTrans Metadevice
+.sp
+.LP
+The following example shows the output of the \fBmetastat\fR command after
+creating a trans metadevice.
+
+.sp
+.in +2
+.nf
+# metastat
+d2: Concat/Stripe
+ Size: 204800 blocks
+ Stripe 0:
+ Device Start Block Dbase State Hot Spare
+ d0 0 No Okay
+
+d0: Soft Partition
+ Component: c0t3d0s0
+ Status: Okay
+ Size: 204800 blocks
+ Extent Start Block Block count
+ 0 129 204800
+
+d3: Soft Partition
+ Component: d2
+ Status: Okay
+ Size: 202752 blocks
+ Extent Start Block Block count
+ 0 129 202752
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRMulti-owner disk set
+.sp
+.LP
+The following example shows the output of the \fBmetastat\fR command with a
+multi-owner disk set and application-based mirror resynchronization option.
+Application-based resynchronization is set automatically if needed.
+
+.sp
+.in +2
+.nf
+# metastat -s oban
+oban/d100: Mirror
+ Submirror 0: oban/d10
+ State: Okay
+ Submirror 1: oban/d11
+ State: Okay
+ Pass: 1
+ Read option: roundrobin (default)
+ Write option: parallel (default)
+ Resync option: application based
+ Owner: None
+ Size: 1027216 blocks (501 MB)
+
+oban/d10: Submirror of oban/d100
+ State: Okay
+ Size: 1027216 blocks (501 MB)
+ Stripe 0:
+ Device Start Block Dbase State Reloc Hot Spare
+ c1t3d0s0 0 No Okay
+
+oban/d11: Submirror of oban/d100
+ State: Okay
+ Size: 1027216 blocks (501 MB)
+ Stripe 0:
+ Device Start Block Dbase State Reloc Hot Spare
+ c1t4d0s0 0 No Okay
+.fi
+.in -2
+.sp
+
+.SH WARNINGS
+.sp
+.LP
+\fBmetastat\fR displays states as of the time the command is entered. It is
+unwise to use the output of the \fBmetastat\fR \fB-p\fR command to create a
+\fBmd.tab\fR(4) file for a number of reasons:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The output of \fBmetastat\fR \fB-p\fR might show hot spares being used.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+It might show mirrors with multiple submirrors. See \fBmetainit\fR(1M) for
+instructions for creating multi-way mirrors using \fBmetainit\fR and
+\fBmetattach\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A slice may go into an error state after \fBmetastat\fR \fB-p\fR is issued.
+.RE
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetarename\fR(1M), \fBmetareplace\fR(1M),
+\fBmetaroot\fR(1M), \fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetasync\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Trans metadevices have been replaced by UFS logging. Existing trans devices are
+\fBnot\fR logging--they pass data directly through to the underlying device.
+See \fBmount_ufs\fR(1M) for more information about UFS logging.
diff --git a/usr/src/man/man1m/metasync.1m b/usr/src/man/man1m/metasync.1m
new file mode 100644
index 0000000000..bb61ddf3b0
--- /dev/null
+++ b/usr/src/man/man1m/metasync.1m
@@ -0,0 +1,201 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metasync 1M "27 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metasync \- handle metadevice resync during reboot
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metasync\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metasync\fR [\fB-s\fR \fIsetname\fR] [\fIbuffer_size\fR] \fImetadevice\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metasync\fR [\fB-s\fR \fIsetname\fR] \fB-r\fR [\fIbuffer_size\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metasync\fR \fB-p\fR \fImetadevice\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metasync\fR \fB-c\fR \fImetadevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmetasync\fR command starts a resync operation on the specified
+\fImetadevice\fR. All components that need to be resynced are resynced. If the
+system crashes during a RAID5 initialization, or during a RAID5 resync, either
+an initialization or resync restarts when the system reboots.
+.sp
+.LP
+Applications are free to access a metadevice at the same time that it is being
+resynced by \fBmetasync\fR. Also, \fBmetasync\fR performs the copy operations
+from inside the kernel, which makes the utility more efficient.
+.sp
+.LP
+Use the \fB-r\fR option in boot scripts to resync all possible submirrors.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fImetadevice\fR\fR
+.ad
+.RS 17n
+.rt
+Cancels the resync that is in progress on the specified metadevice. The resync
+will be stopped at its current point and can be resumed by running the
+"\fBmetasync metadevice\fR" command. This option only applies to RAID1 volumes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 17n
+.rt
+Displays usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fImetadevice\fR\fR
+.ad
+.RS 17n
+.rt
+Regenerates parity information for RAID5 metadevices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fB\fIsetname\fR\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the name of the diskset on which \fBmetasync\fR will work. Using the
+\fB-s\fR option will cause the command to perform its administrative function
+within the specified diskset. Without this option, the command will perform its
+function on local metadevices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies that the \fBmetasync\fR command handle special resync requirements
+during a system reboot. \fBmetasync\fR \fB-r\fR should only be invoked from the
+\fBsvc:/system/mdmonitor\fR service. The \fBmetasync\fR command only resyncs
+those metadevices that need to be resynced. \fBmetasync\fR schedules all the
+mirror resyncs according to their pass numbers.
+.sp
+To override the default buffer_size value used by the
+\fBsvc:/system/mdmonitor\fR service, you can edit \fB/etc/system\fR to specify:
+.sp
+.in +2
+.nf
+set md_mirror:md_resync_bufsz = 2048
+.fi
+.in -2
+.sp
+
+so that resyncs occur as quickly as possible.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIbuffer_size\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies the size (number of 512-byte disk blocks) of the internal copy buffer
+for the mirror resync. The size defaults to 1024 512-byte disk blocks. It can
+be no more than 2048 blocks. For best performance (quickest completion of the
+resync), 2048 blocks is the recommended size.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M),
+\fBmetadetach\fR(1M), \fBmetahs\fR(1M), \fBmetainit\fR(1M),
+\fBmetaoffline\fR(1M), \fBmetaonline\fR(1M), \fBmetaparam\fR(1M),
+\fBmetarecover\fR(1M), \fBmetarename\fR(1M), \fBmetareplace\fR(1M),
+\fBmetaroot\fR(1M), \fBmetaset\fR(1M), \fBmetassist\fR(1M), \fBmetastat\fR(1M),
+\fBmetattach\fR(1M), \fBmd.tab\fR(4), \fBmd.cf\fR(4), \fBmddb.cf\fR(4),
+\fBmd.tab\fR(4), \fBattributes\fR(5), \fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBmetasync\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/mdmonitor
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/metattach.1m b/usr/src/man/man1m/metattach.1m
new file mode 100644
index 0000000000..529b1c37f1
--- /dev/null
+++ b/usr/src/man/man1m/metattach.1m
@@ -0,0 +1,549 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH metattach 1M "20 Jun 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+metattach, metadetach \- attach or detach a metadevice
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/metattach\fR [\fB-h\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metattach\fR [\fB-s\fR \fIsetname\fR] \fImirror\fR [\fImetadevice\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metattach\fR [\fB-s\fR \fIsetname\fR] [\fB-i\fR \fIinterlace\fR] \fIconcat/stripe\fR \fIcomponent...\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metattach\fR [\fB-s\fR \fIsetname\fR] \fIRAID\fR \fIcomponent...\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metattach\fR [\fB-s\fR \fIsetname\fR] [\fB-A\fR \fIalignment\fR] \fIsoftpart\fR \fIsize\fR |\fI all\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metadetach\fR [\fB-s\fR \fIsetname\fR] [\fB-f\fR] \fImirror\fR \fIsubmirror\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/metadetach\fR [\fB-s\fR \fIsetname\fR] [\fB-f\fR] \fItrans\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmetattach\fR adds submirrors to a mirror, grows metadevices, or grows soft
+partitions. Growing metadevices can be done without interrupting service. To
+grow the size of a mirror or trans, the slices must be added to the submirrors
+or to the master devices.
+.sp
+.LP
+Solaris Volume Manager supports storage devices and logical volumes greater
+than 1 terabyte (TB) when a system runs a 64-bit Solaris kernel. Support for
+large volumes is automatic. If a device greater than 1 TB is created, Solaris
+Volume Manager configures it appropriately and without user intervention.
+.sp
+.LP
+If a system with large volumes is rebooted under a 32-bit Solaris kernel, the
+large volumes are visible through \fBmetastat\fR output. Large volumes cannot
+be accessed, modified or deleted, and no new large volumes can be created. Any
+volumes or file systems on a large volume in this situation are also
+unavailable. If a system with large volumes is rebooted under a version of
+Solaris prior to the Solaris 9 4/03 release, Solaris Volume Manager does not
+start. You must remove all large volumes before Solaris Volume Manager runs
+under an earlier version of the Solaris Operating System.
+.sp
+.LP
+Solaris Volume Manager supports one-to-four-way mirrors. You can only attach a
+metadevice to a mirror if there are three or fewer submirrors beneath the
+mirror. Once a new metadevice is attached to a mirror, \fBmetattach\fR
+automatically starts a resync operation to the new submirror.
+.sp
+.LP
+\fBmetadetach\fR detaches submirrors from mirrors and logging devices from
+trans metadevices.
+.sp
+.LP
+When a submirror is detached from a mirror, it is no longer part of the mirror,
+thus reads and writes to and from that metadevice by way of the mirror are no
+longer performed through the mirror. Detaching the only existing submirror is
+not allowed. Detaching a submirror that has slices reported as needing
+maintenance (by \fBmetastat\fR) is not allowed unless the \fB-f\fR (force) flag
+is used.
+.sp
+.LP
+\fBmetadetach\fR also detaches the logging device from a trans. This step is
+necessary before you can clear the trans volume. Trans metadevices have been
+replaced by UFS logging. Existing trans devices are not logging. They pass data
+directly through to the underlying device. See \fBmount_ufs\fR(1M) for more
+information about UFS logging.
+.sp
+.LP
+Detaching the logging device from a busy trans device is not allowed unless the
+\fB-f\fR (force) flag is used. Even so, the logging device is not actually
+detached until the trans is idle. The trans is in the \fIDetaching\fR state
+(\fBmetastat\fR) until the logging device is detached.
+.SH OPTIONS
+.sp
+.LP
+Root privileges are required for all of the following options except \fB-h\fR.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIalignment\fR\fR
+.ad
+.RS 16n
+.rt
+Set the value of the soft partition extent alignment. Use this option when it
+is important specify a starting offset for the soft partition. It preserves the
+data alignment between the metadevice address space and the address space of
+the underlying physical device.
+.sp
+For example, a hardware device that does checksumming should not have its I/O
+requests divided by Solaris Volume Manager. In this case, use a value from the
+hardware configuration as the value for the alignment. When using this option
+in conjunction with a software I/O load, the alignment value corresponds to the
+I/O load of the application. This prevents I/O from being divided unnecessarily
+and affecting performance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 16n
+.rt
+Force the detaching of metadevices that have components that need maintenance
+or are busy. You can use this option only when a mirror is in a maintenance
+state that can be fixed with \fBmetareplace\fR(1M). If the mirror is in a
+maintenance state that can only be fixed with \fBmetasync\fR(1M) (as shown by
+the output of \fBmetastat\fR(1M)), \fBmetadetach \fR\fB-f\fR has no effect,
+because the mirrors must be resynchronized before one of them can be detached.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 16n
+.rt
+Display a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterlace\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the interlace value for stripes, where \fBsize\fR is a specified value
+followed by either \fBk\fR for kilobytes, \fBm\fR for megabytes, or \fBb\fR for
+blocks. The units can be either uppercase or lowercase. If \fIsize\fR is not
+specified, the size defaults to the interlace size of the last stripe of the
+metadevice. When an interlace size change is made on a stripe, it is carried
+forward on all stripes that follow.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsetname\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the name of the diskset on which the \fBmetattach\fR command or the
+\fBmetadetach\fR command works.. Using the \fB-s\fR option causes the command
+to perform its administrative function within the specified diskset. Without
+this option, the command performs its function on local metadevices.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcomponent\fR\fR
+.ad
+.RS 17n
+.rt
+The logical name for the physical slice (partition) on a disk drive, such as
+\fB/dev/dsk/c0t0d0s2\fR, being added to the concatenation, stripe,
+concatenation of stripes, or RAID5 metadevice.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIconcat/stripe\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name of the concatenation, stripe, or concatenation of stripes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlog\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name of the logging device to be attached to the trans
+metadevice.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImetadevice\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name to be attached to the mirror as a submirror. This
+metadevice must have been previously created by the \fBmetainit\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImirror\fR\fR
+.ad
+.RS 17n
+.rt
+The name of the mirror.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIRAID\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name of the RAID5 metadevice.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsize\fR | \fIall\fR\fR
+.ad
+.RS 17n
+.rt
+The amount of space to add to the soft partition in \fBK\fR or \fBk\fR for
+kilobytes, \fBM\fR or \fBm\fR for megabytes, \fBG\fR or \fBg\fR for gigabytes,
+\fBT\fR or \fBt\fR for terabytes, and \fBB\fR or \fBb\fR for blocks (sectors).
+All values represent powers of 2, and upper and lower case options are
+equivalent. Only integer values are permitted. The literal \fBall\fR specifies
+that the soft partition should grow to occupy all available space on the
+underlying volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsoftpart\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name of the existing soft partition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsubmirror\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name of the submirror to be detached from the mirror.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItrans\fR\fR
+.ad
+.RS 17n
+.rt
+The metadevice name of the trans metadevice (not the master or logging device).
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConcatenating a New Slice to a Metadevice
+.sp
+.LP
+This example concatenates a single new slice to an existing metadevice,
+\fBVolume.1\fR. Afterwards, you would use the \fBgrowfs\fR(1M) command to
+expand the file system.
+
+.sp
+.in +2
+.nf
+# metattach Volume.1 /dev/dsk/c0t1d0s2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDetaching Logging Device from Trans Metadevice
+.sp
+.LP
+This example detaches the logging device from a trans metadevice \fBd9\fR.
+Notice that you do not have to specify the logging device itself, as there can
+only be one.
+
+.sp
+.in +2
+.nf
+# metadetach d9
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRExpanding a RAID5 Metadevice
+.sp
+.LP
+This example expands a RAID5 metadevice, \fBd45\fR, by attaching another slice.
+
+.sp
+.in +2
+.nf
+# metattach d45 /dev/dsk/c3t0d0s2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When you add additional slices to a RAID5 metadevice, the additional space is
+devoted to data. No new parity blocks are allocated. The data on the added
+slices is, however, included in the overall parity calculations, so it is
+protected against single-device failure.
+
+.LP
+\fBExample 4 \fRExpanding a Soft Partition
+.sp
+.LP
+The following example expands a soft partition, \fBd42\fR, attaching all space
+available on the underlying device.
+
+.sp
+.in +2
+.nf
+# metattach d42 all
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When you add additional space to a soft partition, the additional space is
+taken from any available space on the slice and might not be contiguous with
+the existing soft partition.
+
+.LP
+\fBExample 5 \fRAdding Space to Two-Way Mirror
+.sp
+.LP
+This example adds space to a two-way mirror by adding a slice to each
+submirror. Afterwards, you would use the \fBgrowfs\fR(1M) command to expand the
+file system.
+
+.sp
+.in +2
+.nf
+# metattach d9 /dev/dsk/c0t2d0s5
+# metattach d10 /dev/dsk/c0t3d0s5
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This example tells the mirror to grow to the size of the underlying devices
+
+.sp
+.in +2
+.nf
+# metattach d11
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This example increases the size of the UFS on the device so the space can be
+used.
+
+.sp
+.in +2
+.nf
+# growfs -M /export /dev/md/rdsk/d11
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDetaching a Submirror from a Mirror
+.sp
+.LP
+This example detaches a submirror, \fBd2\fR, from a mirror, \fBd4\fR.
+
+.sp
+.in +2
+.nf
+# metadetach d4 d2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRAdding Four Slices to Metadevice
+.sp
+.LP
+This example adds four slices to an existing metadevice, \fBd9\fR. Afterwards,
+you would use the \fBgrowfs\fR(1M) command to expand the file system.
+
+.sp
+.in +2
+.nf
+# metattach d9 /dev/dsk/c0t1d0s2 /dev/dsk/c0t2d0s2 \
+ /dev/dsk/c0t3d0s2 /dev/dsk/c0t4d0s2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRSetting the Value of the Soft Partition Extent Alignment
+.sp
+.LP
+This example shows how to set the alignment of the soft partition to 1mb when
+the soft partition is expanded.
+
+.sp
+.in +2
+.nf
+# metattach -s red -A 2m d13 1m
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdmonitord\fR(1M), \fBmetaclear\fR(1M), \fBmetadb\fR(1M), \fBmetahs\fR(1M),
+\fBmetainit\fR(1M), \fBmetaoffline\fR(1M), \fBmetaonline\fR(1M),
+\fBmetaparam\fR(1M), \fBmetarecover\fR(1M), \fBmetarename\fR(1M),
+\fBmetareplace\fR(1M), \fBmetaroot\fR(1M), \fBmetaset\fR(1M),
+\fBmetassist\fR(1M), \fBmetastat\fR(1M), \fBmetasync\fR(1M), \fBmd.tab\fR(4),
+\fBmd.cf\fR(4), \fBmddb.cf\fR(4), \fBmd.tab\fR(4), \fBattributes\fR(5),
+\fBmd\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH WARNINGS
+.sp
+.LP
+This section provides information regarding warnings for devices greater than 1
+TB and for multi-way mirrors.
+.SS "Devices and Volumes Greater Than 1 TB"
+.sp
+.LP
+Do not create large (>1 TB) volumes if you expect to run the Solaris Operating
+System with a 32-bit kernel or if you expect to use a version of the Solaris
+Operating System prior to Solaris 9 4/03.
+.SS "Multi-Way Mirrors"
+.sp
+.LP
+When a submirror is detached from its mirror, the data on the metadevice might
+not be the same as the data that existed on the mirror prior to running
+\fBmetadetach\fR. In particular, if the \fB-f\fR option was needed, the
+metadevice and mirror probably do not contain the same data.
+.SH NOTES
+.sp
+.LP
+Trans metadevices have been replaced by UFS logging. Existing trans devices are
+\fBnot\fR logging. They pass data directly through to the underlying device.
+See \fBmount_ufs\fR(1M) for more information about UFS logging.
diff --git a/usr/src/man/man1m/mkbootmedia.1m b/usr/src/man/man1m/mkbootmedia.1m
new file mode 100644
index 0000000000..bde48cc5c8
--- /dev/null
+++ b/usr/src/man/man1m/mkbootmedia.1m
@@ -0,0 +1,125 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkbootmedia 1M "23 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkbootmedia \- create bootable Solaris ISO image
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/mkbootmedia\fR \fB-v\fR [\fB-l\fR \fIlabel\fR] \fImedia-root\fR \fIiso\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmkbootmedia\fR utility takes \fImedia-root\fR (the root of an on-disk
+Solaris install media) as input and creates a bootable Solaris ISO image in the
+file \fIiso\fR, using \fBmkisofs(8)\fR. The file can then be burned onto a
+CD/DVD with utilities such as \fBcdrw\fR(1) or \fBcdrecord(1)\fR. (Neither
+\fBmkisofs(8)\fR nor \fBcdrecord(1)\fR are SunOS man pages.)
+.LP
+Caution -
+.sp
+.RS 2
+The directory tree \fImedia-root\fR must contain the file
+\fBboot/grub/stage2_eltorito\fR, which will be written to the media boot
+sectors. This file will be modified with some boot information, thus it must be
+writable. If necessary, first save a copy prior to running this utility.
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets \fIlabel\fR as the label/volume name of the ISO image.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. Multiple \fB-v\fR options increase verbosity.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fImedia-root\fR\fR
+.ad
+.sp .6
+.RS 4n
+Top-level directory of an on-disk Solaris install media.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIiso\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of the output file which will contain the resulting ISO image.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating an ISO Image and Burning a CD/DVD
+.sp
+.LP
+The following commands create an ISO image from the content of \fBs10u1\fR and
+burn the image to a CD/DVD.
+
+.sp
+.in +2
+.nf
+# \fB/usr/bin/mkbootmedia s10u1 s10u1.iso\fR
+# \fB/usr/bin/cdrw -i s10u1.iso\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcdrw\fR(1), \fBattributes\fR(5)
+.sp
+.LP
+\fBmkisofs(8)\fR, (\fB/usr/share/man/man8/mkisofs.8\fR), in the
+\fBSUNWfsman\fR package (not a SunOS man page)
diff --git a/usr/src/man/man1m/mkdevalloc.1m b/usr/src/man/man1m/mkdevalloc.1m
new file mode 100644
index 0000000000..4140fdf0e2
--- /dev/null
+++ b/usr/src/man/man1m/mkdevalloc.1m
@@ -0,0 +1,87 @@
+'\" te
+.\" Copyright 2001, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkdevalloc 1M "8 Oct 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkdevalloc \- Make device_allocate entries
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/mkdevalloc\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmkdevalloc\fR command writes to standard out a set of
+\fBdevice_allocate\fR(4) entries describing the system's frame buffer, audio
+and removable media devices.
+.sp
+.LP
+The \fBmkdevalloc\fR command is used by the \fBinit.d\fR(4) scripts to create
+or update the \fB/etc/security/device_allocate\fR file.
+.sp
+.LP
+Entries are generated based on the device special files found in \fB/dev\fR.
+For the different categories of devices, the \fBmkdevalloc\fR command checks
+for the following files under \fB/dev\fR:
+.sp
+.in +2
+.nf
+audio /dev/audio, /dev/audioctl, /dev/sound/...
+tape /dev/rst*, /dev/nrst*, /dev/rmt/...
+floppy /dev/diskette, /dev/fd*, /dev/rdiskette, /dev/rfd*
+removable disk /dev/sr*, /dev/nsr*, /dev/dsk/c0t?d0s?, /dev/rdsk/c0t?d0s?
+frame buffer /dev/fb
+.fi
+.in -2
+
+.sp
+.LP
+All entries set the \fIdevice-minimum\fR and \fIdevice-maximum\fR fields to the
+hex representations of \fBADMIN_LOW\fR and \fBADMIN_HIGH\fR, respectively. The
+\fIdevice-authorization\fR field is set to \fBsolaris.device.allocate\fR,
+except for the \fBframebuffer\fR entry, where it is set to \fB*\fR. The
+\fIdevice-name\fR, \fIdevice-type\fR and \fIdevice-clean\fR fields are set to
+the following values:
+.sp
+.in +2
+.nf
+ device-name device-type device-clean
+
+audio audio audio audio_clean_wrapper
+tape mag_tape_0,1,... st st_clean
+floppy floppy_0,1,... fd disk_clean
+removable disk cdrom_0,1,... sr disk_clean
+frame buffer framebuffer fb /bin/true
+.fi
+.in -2
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBallocate\fR(1), \fBbsmconv\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBmkdevalloc\fR might not be supported in a future release of the Solaris
+operating system.
diff --git a/usr/src/man/man1m/mkdevmaps.1m b/usr/src/man/man1m/mkdevmaps.1m
new file mode 100644
index 0000000000..1024d7a0c1
--- /dev/null
+++ b/usr/src/man/man1m/mkdevmaps.1m
@@ -0,0 +1,66 @@
+'\" te
+.\" Copyright 2001, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkdevmaps 1M "8 Oct 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkdevmaps \- make device_maps entries
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/mkdevmaps\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmkdevmaps\fR command writes to standard out a set of
+\fBdevice_maps\fR(4) entries describing the system's frame buffer, audio, and
+removable media devices.
+.sp
+.LP
+The \fBmkdevmaps\fR command is used by the \fBinit.d\fR(4) scripts to create or
+update the \fB/etc/security/device_maps\fR file.
+.sp
+.LP
+Entries are generated based on the device special files found in \fB/dev\fR.
+For the different categories of devices, the \fBmkdevmaps\fR command checks for
+the following files under \fB/dev\fR:
+.sp
+.in +2
+.nf
+audio /dev/audio, /dev/audioctl, /dev/sound/...
+tape /dev/rst*, /dev/nrst*, /dev/rmt/...
+floppy /dev/diskette, /dev/fd*, /dev/rdiskette, /dev/rfd*
+removable disk /dev/dsk/c0t?d0s?, /dev/rdsk/c0t?d0s?
+frame buffer /dev/fb
+.fi
+.in -2
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBallocate\fR(1), \fBbsmconv\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBmkdevmaps\fR might not be supported in a future release of the Solaris
+operating system.
diff --git a/usr/src/man/man1m/mkfifo.1m b/usr/src/man/man1m/mkfifo.1m
new file mode 100644
index 0000000000..725d687ffe
--- /dev/null
+++ b/usr/src/man/man1m/mkfifo.1m
@@ -0,0 +1,166 @@
+'\" te
+.\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/.
+.\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text
+.\" are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical
+.\" and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
+.\" This notice shall appear on any product containing this material.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkfifo 1M "11 Aug 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkfifo \- make FIFO special file
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/mkfifo\fR [\fB-m\fR \fImode\fR] \fIpath\fR...
+.fi
+
+.SS "ksh93"
+.LP
+.nf
+mkfifo [ \fIoptions\fR ] \fIfile\fR...
+.fi
+
+.SH DESCRIPTION
+.SS "/usr/bin/mkfifo"
+.sp
+.LP
+The \fBmkfifo\fR utility creates the \fBFIFO\fR special files named by its
+argument list. The arguments are taken sequentially, in the order specified;
+and each \fBFIFO\fR special file is either created completely or, in the case
+of an error or signal, not created at all.
+.sp
+.LP
+If errors are encountered in creating one of the special files, \fBmkfifo\fR
+writes a diagnostic message to the standard error and continues with the
+remaining arguments, if any.
+.sp
+.LP
+The \fBmkfifo\fR utility calls the library routine \fBmkfifo\fR(3C), with the
+\fIpath\fR argument is passed as the \fIpath\fR argument from the command line,
+and \fImode\fR is set to the equivalent of \fBa=rw\fR, modified by the current
+value of the file mode creation mask \fBumask\fR(1).
+.SS "ksh93"
+.sp
+.LP
+The \fBmkfifo\fR utility creates one or more \fBFIFO\fRs. By default, the mode
+of the created FIFO is \fBa=rw\fR minus the bits set in \fBumask\fR(1).
+.SH OPTIONS
+.SS "/usr/bin/ksh93"
+.sp
+.LP
+The following option is supported for \fB/usr/bin/mkfifo\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImode\fR\fR
+.ad
+.RS 11n
+.rt
+Set the file permission bits of the newly-created \fBFIFO\fR to the specified
+\fImode\fR value. The \fImode\fR option-argument will be the same as the
+\fImode\fR operand defined for the \fBchmod\fR(1) command. In
+<\fIsymbolic\fRmode> strings, the \fIop\fR characters \fB+\fR and \fB\(mi\fR
+will be interpreted relative to an assumed initial mode of \fBa=rw\fR.
+.RE
+
+.SS "ksh93"
+.sp
+.LP
+The following option is supported for \fBksh93\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImode\fR\fR
+.ad
+.br
+.na
+\fB\fB--mode=\fR\fImode\fR\fR
+.ad
+.RS 15n
+.rt
+Set the mode of the created FIFO to \fImode\fR. The \fImode\fR option-argument
+is a symbolic or octal mode as in \fBchmod\fR(1). Relative modes assume an
+initial mode of \fBa=rw\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.RS 8n
+.rt
+A path name of the \fBFIFO\fR special file to be created.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBmkfifo\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBmkfifo\fR: \fBLANG\fR, \fBLC_ALL\fR,
+\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+All the specified \fBFIFO\fR special files were created successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStandard
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchmod\fR(1), \fBumask\fR(1), \fBmkfifo\fR(3C), \fBattributes\fR(5),
+\fBenviron\fR(5), \fBlargefile\fR(5), \fBstandards\fR(5)
diff --git a/usr/src/man/man1m/mkfile.1m b/usr/src/man/man1m/mkfile.1m
new file mode 100644
index 0000000000..ab5ede8d97
--- /dev/null
+++ b/usr/src/man/man1m/mkfile.1m
@@ -0,0 +1,101 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkfile 1M "20 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkfile \- create a file
+.SH SYNOPSIS
+.LP
+.nf
+\fBmkfile\fR [\fB-nv\fR] \fIsize\fR [g | k | b | m] \fIfilename\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmkfile\fR creates one or more files that are suitable for use as
+\fBNFS-mounted\fR swap areas, or as local swap areas. When a root user executes
+\fBmkfile()\fR, the sticky bit is set and the file is padded with zeros by
+default. When non-root users execute \fBmkfile()\fR, they must manually set
+the sticky bit using \fBchmod\fR(1). The default \fBsize\fR is in bytes, but
+it can be flagged as gigabytes, kilobytes, blocks, or megabytes, with the
+\fBg\fR, \fBk\fR, \fBb\fR, or \fBm\fR suffixes, respectively.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Create an empty \fIfilename\fR. The size is noted, but disk blocks are not
+allocated until data is written to them. Files created with this option cannot
+be swapped over local UFS mounts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Verbose. Report the names and sizes of created files.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBmkfile\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchmod\fR(1), \fBswap\fR(1M), \fBattributes\fR(5), \fBlargefile\fR(5)
diff --git a/usr/src/man/man1m/mkfs.1m b/usr/src/man/man1m/mkfs.1m
new file mode 100644
index 0000000000..a5de81ea1f
--- /dev/null
+++ b/usr/src/man/man1m/mkfs.1m
@@ -0,0 +1,152 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkfs 1M "17 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkfs \- construct a file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBmkfs\fR [\fB-F\fR \fIFSType\fR] [\fIgeneric_options\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR] \fIraw_device_file\fR
+ [\fIoperands\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmkfs\fR utility constructs a file system on the \fIraw_device_file\fR by
+calling the specific \fBmkfs\fR module indicated by \fB-F\fR\fI
+FSType\fR\fB\&.\fR
+.sp
+.LP
+\fBNote\fR: ufs file systems are normally created with the \fBnewfs\fR(1M)
+command.
+.sp
+.LP
+\fIgeneric_options\fR are independent of file system type.
+\fIFSType-specific_options\fR is a comma-separated list of
+\fIkeyword\fR=\fIvalue\fR pairs (with no intervening spaces), which are
+\fIFSType\fR-specific. \fIraw_device_file\fR specifies the disk partition on
+which to write the file system. It is required and must be the first argument
+following the \fIspecific_options\fR (if any). \fIoperands\fR are
+\fIFSType\fR-specific. See the \fIFSType\fR-specific manual page of \fBmkfs\fR
+(for example, \fBmkfs_ufs \fR(1M)) for a detailed description.
+.SH OPTIONS
+.sp
+.LP
+The following are the generic options for \fBmkfs\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 6n
+.rt
+Specify the \fIFSType\fR to be constructed. If \fB-F\fR is not specified, the
+\fIFSType\fR is determined from \fB/etc/vfstab\fR by matching the
+\fIraw_device_file\fR with a \fBvfstab\fR entry, or by consulting the
+\fB/etc/default/fs\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 6n
+.rt
+Echo the complete command line, but do not execute the command. The command
+line is generated by using the options and arguments provided and adding to
+them information derived from \fB/etc/vfstab\fR or \fB/etc/default/fs\fR.
+This option may be used to verify and validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 6n
+.rt
+Return the command line which was used to create the file system. The file
+system must already exist. This option provides a means of determining the
+command used in constructing the file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Specify \fIFSType\fR-specific options. See the manual page for the \fBmkfs\fR
+module specific to the file system type.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBmkfs\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.RS 19n
+.rt
+Default file system type. Default values can be set for the following flags in
+\fB/etc/default/fs\fR. For example: \fBLOCAL=ufs\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOCAL\fR\fR
+.ad
+.RS 9n
+.rt
+The default partition for a command if no \fIFSType\fR is specified.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 19n
+.rt
+List of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmkfs_ufs\fR(1M), \fBnewfs\fR(1M), \fBvfstab\fR(4), \fBattributes\fR(5),
+\fBlargefile\fR(5)
+.sp
+.LP
+Manual pages for the \fIFSType\fR-specific modules of \fBmkfs\fR.
+.SH NOTES
+.sp
+.LP
+This command might not be supported for all \fIFSType\fRs.
+.sp
+.LP
+You can use \fBlofiadm\fR to create a file that appears to a \fBmkfs\fR command
+as a raw device. You can then use a \fBmkfs\fR command to create a file system
+on that device. See \fBlofiadm\fR(1M) for examples of creating a UFS and a PC
+(FAT) file system (using \fBmkfs_ufs\fR(1M) and \fBmkfs_pcfs\fR(1M)) on a
+device created by \fBlofiadm\fR.
diff --git a/usr/src/man/man1m/mkfs_pcfs.1m b/usr/src/man/man1m/mkfs_pcfs.1m
new file mode 100644
index 0000000000..d65fc5349a
--- /dev/null
+++ b/usr/src/man/man1m/mkfs_pcfs.1m
@@ -0,0 +1,412 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkfs_pcfs 1M "1 Dec 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkfs_pcfs \- construct a FAT file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBmkfs\fR \fB-F\fR pcfs [\fIgeneric_options\fR] [\fB-o\fR \fIFSType_specific_options\fR] \fIraw_device_file\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpcfs\fR-specific module of \fBmkfs\fR constructs a File Allocation Table
+(\fBFAT\fR) on removable media (diskette, JAZ disk, ZIP disk, PCMCIA card), a
+hard disk, or a file (see NOTES). \fBFAT\fRs are the standard \fBMS-DOS\fR and
+Windows file system format. Note that you can use \fBfdformat\fR(1) to
+construct a FAT file system only on a diskette or PCMCIA card.
+.sp
+.LP
+\fBmkfs\fR for \fBpcfs\fR determines an appropriate \fBFAT\fR size for the
+medium, then it installs an initial boot sector and an empty \fBFAT\fR. A
+sector size of 512 bytes is used. \fBmkfs\fR for \fBpcfs\fR can also install
+the initial file in the file system (see the \fBpcfs\fR-specific \fB-o i\fR
+option). This first file can optionally be marked as read-only, system, and/or
+hidden.
+.sp
+.LP
+If you want to construct a FAT with \fBmkfs\fR for \fBpcfs\fR on a medium that
+is not formatted, you must first perform a low-level format on the medium with
+\fBfdformat\fR(1) or \fBformat\fR(1M). Non-diskette media must also be
+partitioned with the \fBfdisk\fR(1M) utility. Note that all existing data on
+the diskette or disk partition, if any, is destroyed when a new \fBFAT\fR is
+constructed.
+.sp
+.LP
+\fIgeneric_options\fR are supported by the generic \fBmkfs\fR command. See
+\fBmkfs\fR(1M) for a description of these options.
+.sp
+.LP
+\fIraw_device_file\fR indicates the device on which to write unless the \fB-o
+N\fR option has been specified, or if the \fB-V\fR or \fB-m\fR generic options
+are passed from the generic \fBmkfs\fR module.
+.SH OPTIONS
+.sp
+.LP
+See \fBmkfs\fR(1M) for the list of supported generic options.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIFSType_specific_options\fR\fR
+.ad
+.RS 30n
+.rt
+Specify \fBpcfs\fR file system-specific options in a comma-separated list with
+no intervening spaces. If invalid options are specified, a warning message is
+printed and the invalid options are ignored.
+.sp
+.ne 2
+.mk
+.na
+\fBb=\fIlabel\fR\fR
+.ad
+.RS 14n
+.rt
+Label the media with volume label. The volume label is restricted to 11
+uppercase characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBB=\fIfilename\fR\fR
+.ad
+.RS 14n
+.rt
+Install \fIfilename\fR as the boot loader in the file system's boot sector. If
+you don't specify a boot loader, an \fBMS-DOS\fR boot loader is installed. The
+\fBMS-DOS\fR boot loader requires specific \fBMS-DOS\fR system files to make
+the diskette bootable. See \fBNOTES\fR for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfat=\fIn\fR\fR
+.ad
+.RS 14n
+.rt
+The size of a \fBFAT\fR entry. Currently, 12, 16, and 32 are valid values. The
+default is 12 for diskettes, 16 for larger media.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBh\fR
+.ad
+.RS 14n
+.rt
+Mark the first file installed as a hidden file. The \fB-i\fR option must also
+be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhidden=\fIn\fR\fR
+.ad
+.RS 14n
+.rt
+Set the number of hidden sectors to \fIn\fR. This is the number of sectors on
+the physical disk preceding the start of the volume (which is the boot sector
+itself). This defaults to 0 for diskettes or a computed valued (based on the
+fdisk table) for disks. This option may be used only in conjunction with the
+\fBnofdisk\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBi=\fIfilename\fR\fR
+.ad
+.RS 14n
+.rt
+Install \fIfilename\fR as the initial file in the new file system. The initial
+file's contents are guaranteed to occupy consecutive clusters at the start of
+the files area. When creating bootable media, a boot program should be
+specified as the initial file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnofdisk\fR
+.ad
+.RS 14n
+.rt
+Do not attempt to find an \fBfdisk\fR table on the medium. Instead rely on the
+\fBsize\fR option for determining the partition size. By default, the created
+\fBFAT\fR is 16 bits and begins at the first sector of the device. This
+origination sector can be modified with the hidden option (\fB-h\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnsect=\fIn\fR\fR
+.ad
+.RS 14n
+.rt
+The number of sectors per track on the disk. If not specified, the value is
+determined by using a \fBdkio\fR(7I) ioctl to get the disk geometry, or (for
+diskette) from the results of an \fBFDIOGCHAR\fR ioctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBntrack=\fIn\fR\fR
+.ad
+.RS 14n
+.rt
+The number of tracks per cylinder on the disk. If not specified, the value is
+determined by using a \fBdkio\fR(7I) ioctl to get the disk geometry, or (for
+diskette) from the results of an \fBFDIOGCHAR\fR ioctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBN\fR
+.ad
+.RS 14n
+.rt
+No execution mode. Print normal output, but do not actually write the file
+system to the medium. This is most useful when used in conjunction with the
+verbose option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBr\fR
+.ad
+.RS 14n
+.rt
+Mark the first file installed as read-only. The \fB-i\fR option must also be
+specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreserve=\fIn\fR\fR
+.ad
+.RS 14n
+.rt
+Set the number of reserved sectors to \fIn\fR. This is the number of sectors in
+the volume, preceding the start of the first \fBFAT\fR, including the boot
+sector. The value should always be at least 1, and the default value is exactly
+1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBs\fR
+.ad
+.RS 14n
+.rt
+Mark the first file installed as a system file. The \fB-i\fR option must also
+be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsize=\fIn\fR\fR
+.ad
+.RS 14n
+.rt
+The number of sectors in the file system. If not specified, the value is
+determined from the size of the partition given in the fdisk table or (for
+diskette) by way of computation using the \fBFDIOGCHAR\fR ioctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBspc=\fIn\fR\fR
+.ad
+.RS 14n
+.rt
+The size of the allocation unit for space within the file system, expressed as
+a number of sectors. The default value depends on the \fBFAT\fR entry size and
+the size of the file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBv\fR
+.ad
+.RS 14n
+.rt
+Verbose output. Describe, in detail, operations being performed.
+.RE
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw_device_file\fR\fR
+.ad
+.RS 19n
+.rt
+The device on which to build the \fBFAT\fR. The device name for a diskette must
+be specified as \fB/dev/rdiskette0\fR for the first diskette drive, or
+\fB/dev/rdiskette1\fR for a second diskette drive. For non-diskette media, a
+disk device name must be qualified with a suffix to indicate the proper
+partition. For example, in the name \fB/dev/rdsk/c0t0d0p0:c\fR, the \fB:c\fR
+suffix indicates that the first partition on the disk should receive the new
+\fBFAT\fR.
+.sp
+For a file, \fIraw_device_file\fR is the block device name returned by
+\fBlofiadm\fR(1M).
+.RE
+
+.SH EXAMPLES
+.sp
+.LP
+The media in these examples must be formatted before running \fBmkfs\fR for
+\fBpcfs\fR. See DESCRIPTION for more details.
+.LP
+\fBExample 1 \fRCreating a FAT File System on a Diskette
+.sp
+.LP
+The following command creates a \fBFAT\fR file system on a diskette:
+
+.sp
+.in +2
+.nf
+mkfs -F pcfs /dev/rdiskette
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a FAT File System on a Disk
+.sp
+.LP
+The following command creates a \fBFAT\fR file system on the second fdisk
+partition of a disk attached to an x86 based system:
+
+.sp
+.in +2
+.nf
+mkfs -F pcfs /dev/rdsk/c0d0p0:d
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating a FAT File System on a ZIP Disk
+.sp
+.LP
+The following command creates a \fBFAT\fR file system on a ZIP disk located on
+a SPARC based system:
+
+.sp
+.in +2
+.nf
+mkfs -F pcfs /dev/rdsk/c0t4d0s2:c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRCreating a FAT File System on a JAZ Disk
+.sp
+.LP
+The following command creates a \fBFAT\fR file system on a JAZ disk located on
+a SPARC based system and overrides the sectors/track and tracks/cylinder values
+obtained from the device's controller:
+
+.sp
+.in +2
+.nf
+mkfs -F pcfs -o nsect=32,ntrack=64 /dev/rdsk/c0t3d0s2:c
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfdformat\fR(1), \fBfdisk\fR(1M), \fBformat\fR(1M), \fBlofiadm\fR(1M),
+\fBmkfs\fR(1M), \fBattributes\fR(5), \fBfd\fR(7D), \fBdkio\fR(7I),
+\fBfdio\fR(7I)
+.SH NOTES
+.sp
+.LP
+The default \fBMS-DOS\fR boot loader, which is installed by default if \fB-o
+B\fR is not specified, requires specific \fBMS-DOS\fR system files to make the
+diskette bootable. These \fBMS-DOS\fR files are not installed when you format a
+diskette with \fBmkfs\fR for \fBpcfs\fR, which makes a diskette formatted this
+way not bootable. Trying to boot from it on an x86 based system will result in
+the following message:
+.sp
+.in +2
+.nf
+Non-System disk or disk error
+Replace and strike any key when ready
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+You must format a diskette with the \fBDOS\fR \fBformat\fR command to install
+the specific \fBMS-DOS\fR system files required by the default boot loader.
+.sp
+.LP
+You can use \fBlofiadm\fR to create a file that appears to a \fBmkfs\fR command
+(for example, \fBmkfs_pcfs\fR or \fBmkfs_ufs\fR) as a raw device. You can then
+use a \fBmkfs\fR command to create a file system on that device. See
+\fBlofiadm\fR(1M) for examples of creating a UFS and a PC (FAT) file system on
+a device created by \fBlofiadm\fR.
diff --git a/usr/src/man/man1m/mkfs_udfs.1m b/usr/src/man/man1m/mkfs_udfs.1m
new file mode 100644
index 0000000000..5eacf257c2
--- /dev/null
+++ b/usr/src/man/man1m/mkfs_udfs.1m
@@ -0,0 +1,197 @@
+'\" te
+.\" Copyright (c) 2000 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkfs_udfs 1M "17 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkfs_udfs \- construct a udfs file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBmkfs\fR \fB-F udfs\fR [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR] \fIraw_device_file\fR
+ [\fIsize\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+This is the universal disk format file system (\fBudfs\fR) -specific module of
+the \fBmkfs\fR command. \fBmkfs\fR constructs a \fBudfs\fR file system with a
+root directory.
+.SH OPTIONS
+.sp
+.LP
+See \fBmkfs\fR(1M) for the list of supported \fIgeneric_options\fR.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify a \fBudfs\fR-specific option. Specify \fBudfs\fR file system specific
+options in a comma-separated list with no intervening spaces. If invalid
+options are specified, a warning message is printed and the invalid options are
+ignored.
+.sp
+The following \fIspecific_options\fR are available:
+.sp
+.ne 2
+.mk
+.na
+\fBN\fR
+.ad
+.RS 16n
+.rt
+Print the file system parameters without actually creating the file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlabel=\fIstring\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the label to be written into the volume header structures. Specify
+\fIstring\fR as the name of the label. If \fIstring\fR is not specified, a
+default \fIstring\fR is generated in the form of \fB*NoLabel*\fR.
+.RE
+
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw_device_file\fR\fR
+.ad
+.RS 19n
+.rt
+ Specify the disk partition on which to write.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsize\fR\fR
+.ad
+.RS 19n
+.rt
+Specify the number of 512-byte blocks in the file system.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M),\fBmkfs\fR(1M), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.in +2
+.nf
+not currently a valid file system
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The specified device does not contain a valid \fBudfs\fR file system.
+.sp
+.in +2
+.nf
+Invalid size: larger than the partition size
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Number of blocks given as parameter to create the file system is larger than
+the size of the device specified.
+.sp
+.in +2
+.nf
+is mounted can't mkfs
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Device is in use, cannot create file system when the device is in use.
+.sp
+.in +2
+.nf
+preposterous size
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Negative size parameter provided is invalid.
+.sp
+.in +2
+.nf
+sector size must be between 512, 8192 bytes
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Sector size given is not in the valid range.
+.sp
+.in +2
+.nf
+Volume integrity sequence descriptors too long
+File set descriptor too long.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Not enough space to create volume integrity sequence or file set descriptor.
+.sp
+.in +2
+.nf
+mkfs: argument out of range
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+One of the arguments is out of range.
+.sp
+.in +2
+.nf
+mkfs: bad numeric arg
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+One of the arguments is potentially a bad numeric.
+.SH NOTES
+.sp
+.LP
+You can use \fBlofiadm\fR to create a file that appears to a \fBmkfs\fR command
+(for example, \fBmkfs_pcfs\fR or \fBmkfs_ufs\fR) as a raw device. You can then
+use a \fBmkfs\fR command to create a file system on that device. See
+\fBlofiadm\fR(1M) for examples of creating a UFS and a PC (FAT) file system on
+a device created by \fBlofiadm\fR.
diff --git a/usr/src/man/man1m/mkfs_ufs.1m b/usr/src/man/man1m/mkfs_ufs.1m
new file mode 100644
index 0000000000..f2d77a3778
--- /dev/null
+++ b/usr/src/man/man1m/mkfs_ufs.1m
@@ -0,0 +1,449 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkfs_ufs 1M "8 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkfs_ufs \- construct a UFS file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBmkfs\fR \fB-F\fR ufs [\fIgeneric_options\fR] [\fB-o\fR \fIFSType_specific_options\fR] \fIraw_device_file\fR
+ [\fIsize\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The UFS-specific module of \fBmkfs\fR builds a UFS file system with a root
+directory and a \fBlost+found\fR directory (see \fBfsck\fR(1M)).
+.sp
+.LP
+The UFS-specific \fBmkfs\fR is rarely run directly. Use the \fBnewfs\fR(1M)
+command instead.
+.sp
+.LP
+\fIraw_device_file\fR indicates the disk partition on which to create the new
+file system. If the \fB-o\fR \fBN\fR, \fB-V\fR, or \fB-m\fR options are
+specified, the \fIraw_device_file\fR is not actually modified. \fIsize\fR
+specifies the number of disk sectors in the file system, where a disk sector is
+usually 512 bytes. This argument must follow the \fIraw_device_file\fR argument
+and is required (even with \fB\fR\fB-o\fR\fB N\fR), unless the \fB-V\fR or
+\fB-m\fR generic options are specified.
+.sp
+.LP
+\fIgeneric_options\fR are supported by the generic \fBmkfs\fR command. See
+\fBmkfs\fR(1M) for a description of these options.
+.SH OPTIONS
+.sp
+.LP
+The following generic options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 6n
+.rt
+Print the command line that was used to create the existing file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 6n
+.rt
+Print the current \fBmkfs\fR command line.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following UFS-specific options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Use one or more of the following values separated by commas (with no
+intervening spaces) to specify UFS-specific options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBapc=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The number of alternate sectors per cylinder to reserve for bad block
+replacement for SCSI devices only. The default is \fB0\fR.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbsize=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The logical block size of the file system in bytes, either \fB4096\fR or
+\fB8192\fR. The default is \fB8192\fR. The sun4u architecture does not support
+the \fB4096\fR block size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcalcbinsb\fR\fR
+.ad
+.RS 15n
+.rt
+Sends to stdout a binary (machine-readable) version of the superblock that
+would be used to create a file system with the specified configuration
+parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcalcsb\fR\fR
+.ad
+.RS 15n
+.rt
+Sends to stdout a human-readable version of the superblock that would be used
+to create a file system with the specified configuration parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcgsize=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The number of cylinders per cylinder group, ranging from \fB16\fR to \fB256\fR.
+The default is calculated by dividing the number of sectors in the file system
+by the number of sectors in a gigabyte. Then, the result is multiplied by
+\fB32\fR. The default value is always between \fB16\fR and \fB256\fR.
+.sp
+The per-cylinder-group meta data must fit in a space no larger than what is
+available in one logical file system block. If too large a \fBcgsize\fR is
+requested, it is changed by the minimum amount necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfragsize=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The smallest amount of disk space in bytes that can be allocated to a file.
+\fBfragsize\fR must be a power of 2 divisor of \fBbsize\fR, where:
+.sp
+\fBbsize\fR / \fBfragsize\fR is 1, 2, 4, or 8.
+.sp
+This means that if the logical block size is \fB4096\fR, legal values for
+\fBfragsize\fR are \fB512\fR, \fB1024\fR, \fB2048\fR, and \fB4096\fR. When the
+logical block size is \fB8192\fR, legal values are \fB1024\fR, \fB2048\fR,
+\fB4096\fR, and \fB8192\fR. The default value is \fB1024\fR.
+.sp
+For file systems greater than 1 terabyte or for file systems created with the
+\fBmtb=y\fR option, \fBfragsize\fR is forced to match block size (\fBbsize\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfree=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The minimum percentage of free space to maintain in the file system between 0%
+and 99%, inclusively. This space is off-limits to users. Once the file system
+is filled to this threshold, only the superuser can continue writing to the
+file system.
+.sp
+The default is ((64 Mbytes/partition size) * 100), rounded down to the nearest
+integer and limited between 1% and 10%, inclusively.
+.sp
+This parameter can be subsequently changed using the \fBtunefs\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgap=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+Rotational delay. This option is obsolete in the Solaris 10 release. The value
+is always set to \fB0\fR, regardless of the input value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxcontig=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The maximum number of logical blocks, belonging to one file, that are allocated
+contiguously. The default is calculated as follows:
+.sp
+.in +2
+.nf
+\fBmaxcontig =\fR \fIdisk drive maximum transfer size / disk block size\fR
+.fi
+.in -2
+.sp
+
+If the disk drive's maximum transfer size cannot be determined, the default
+value for \fBmaxcontig\fR is calculated from kernel parameters as follows:
+.sp
+If \fBmaxphys\fR is less than \fBufs_maxmaxphys\fR, which is typically 1 Mbyte,
+then \fBmaxcontig\fR is set to \fBmaxphys\fR. Otherwise, \fBmaxcontig\fR is set
+to \fBufs_maxmaxphys\fR.
+.sp
+You can set \fBmaxcontig\fR to any positive integer value.
+.sp
+The actual value will be the lesser of what has been specified and what the
+hardware supports.
+.sp
+You can subsequently change this parameter by using \fBtunefs\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmtb=y\fR\fR
+.ad
+.RS 15n
+.rt
+Set the parameters of the file system to allow eventual growth to over a
+terabyte in total file system size. This option sets \fIfragsize\fR to be the
+same as \fIbsize\fR, and sets \fInbpi\fR to 1 Mbyte, unless the \fB-i\fR option
+is used to make it even larger. If you explicitly set the \fIfragsize\fR or
+\fInbpi\fR parameters to values that are incompatible with this option, the
+user-supplied value of \fIfragsize\fR or \fInbpi\fR is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBN\fR\fR
+.ad
+.RS 15n
+.rt
+Print out the file system parameters that would be used to create the file
+system without actually creating the file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnbpi=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The number of bytes per inode, which specifies the density of inodes in the
+file system. The number is divided into the total size of the file system to
+determine the number of inodes to create.
+.sp
+This value should reflect the expected average size of files in the file
+system. If fewer inodes are desired, a larger number should be used. To create
+more inodes, a smaller number should be given. The default is \fB2048\fR.
+.sp
+The number of inodes can increase if the file system is expanded with the
+\fBgrowfs\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnrpos=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The number of different rotational positions in which to divide a cylinder
+group. The default is \fB8\fR.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnsect=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The number of sectors per track on the disk. The default is \fB32\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntrack=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The number of tracks per cylinder on the disk. The default is \fB16\fR.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBopt=\fR\fIs\fR\||\|\fIt\fR\fR
+.ad
+.RS 15n
+.rt
+The file system can either be instructed to try to minimize the \fBtime\fR
+spent allocating blocks, or to try to minimize the \fBspace\fR fragmentation on
+the disk. The default is \fItime\fR.
+.sp
+This parameter can be subsequently changed with the \fBtunefs\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrps=\fR\fIn\fR\fR
+.ad
+.RS 15n
+.rt
+The rotational speed of the disk, in revolutions per second. The default is
+\fB60\fR.
+.sp
+Note that you specify \fIrps\fR for \fBmkfs\fR and \fIrpm\fR for \fBnewfs\fR.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+Alternatively, parameters can be entered as a list of space-separated values
+(without keywords) whose meaning is positional. In this case, the \fB-o\fR
+option is omitted and the list follows the size operand. This is the way
+\fBnewfs\fR passes the parameters to \fBmkfs\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw_device_file\fR\fR
+.ad
+.RS 19n
+.rt
+The disk partition on which to write.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBmkfs\fR(1M), \fBnewfs\fR(1M), \fBtunefs\fR(1M),
+\fBdir_ufs\fR(4), \fBattributes\fR(5), \fBufs\fR(7FS)
+.SH DIAGNOSTICS
+.sp
+.LP
+The following error message typically occurs with very high density disks. On
+such disks, the file system structure cannot encode the proper disk layout
+information. However, such disks have enough onboard intelligence to make up
+for any layout deficiencies, so there is no actual impact on performance. The
+warning that performance might be impaired can be safely ignored.
+.sp
+.in +2
+.nf
+Warning: insufficient space in super block for
+rotational layout tables with nsect \fIsblock.fs_nsect\fR
+and ntrak \fIsblock.fs_ntrak\fR. (File system performance may be impaired.)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following error message occurs when the disk geometry results in a
+situation where the last truncated cylinder group cannot contain the correct
+number of data blocks. Some disk space is wasted.
+.sp
+.in +2
+.nf
+Warning: inode blocks/cyl group (\fIgrp\fR) >= data blocks (\fInum\fR) in last cylinder
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If there is only one cylinder group and if the above condition holds true,
+\fBmkfs\fR fails with the following error:
+.sp
+.in +2
+.nf
+File system creation failed. There is only one cylinder group and that is
+not even big enough to hold the inodes.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following error message occurs when the best calculated file system layout
+is unable to include the last few sectors in the last cylinder group. This is
+due to the interaction between how much space is used for various pieces of
+meta data and the total blocks available in a cylinder group. Modifying
+\fBnbpi\fR and \fBcpg\fR might reduce this number, but it is rarely worth the
+effort.
+.sp
+.in +2
+.nf
+Warning: \fInum\fR sector(s) in last cylinder group unallocated
+.fi
+.in -2
+.sp
+
+.SH NOTES
+.sp
+.LP
+You can use \fBlofiadm\fR to create a file that appears to the \fBmkfs\fR
+command (for example, \fBmkfs_pcfs\fR or \fBmkfs_ufs\fR) as a raw device. You
+can then use the \fBmkfs\fR command to create a file system on that device. See
+\fBlofiadm\fR(1M) for examples of creating a \fBUFS\fR and a \fBPC\fR
+(\fBFAT\fR) file system on a device created by \fBlofiadm\fR.
+.sp
+.LP
+Both the block and character devices, such as devices in \fB/dev/dsk\fR and
+\fB/dev/rdsk\fR, must be available prior to running the \fBmkfs\fR command.
diff --git a/usr/src/man/man1m/mknod.1m b/usr/src/man/man1m/mknod.1m
new file mode 100644
index 0000000000..f415600186
--- /dev/null
+++ b/usr/src/man/man1m/mknod.1m
@@ -0,0 +1,124 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mknod 1M "16 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mknod \- make a special file
+.SH SYNOPSIS
+.LP
+.nf
+\fBmknod\fR \fIname\fR b \fImajor\fR \fIminor\fR
+.fi
+
+.LP
+.nf
+\fBmknod\fR \fIname\fR c \fImajor\fR \fIminor\fR
+.fi
+
+.LP
+.nf
+\fBmknod\fR \fIname\fR p
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmknod\fR makes a directory entry for a special file.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 5n
+.rt
+Create a block-type special file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 5n
+.rt
+Create a character-type special file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+Create a FIFO (named pipe).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fImajor\fR\fR
+.ad
+.RS 9n
+.rt
+The \fImajor\fR device number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIminor\fR\fR
+.ad
+.RS 9n
+.rt
+The \fIminor\fR device number; can be either decimal or octal. The assignment
+of major device numbers is specific to each system. You must be the super-user
+to use this form of the command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIname\fR\fR
+.ad
+.RS 9n
+.rt
+A special file to be created.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBmknod\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH SEE ALSO
+.sp
+.LP
+\fBftp\fR(1), \fBin.ftpd\fR(1M), \fBmknod\fR(2), \fBsymlink\fR(2),
+\fBattributes\fR(5), \fBlargefile\fR(5)
+.SH NOTES
+.sp
+.LP
+If \fBmknod\fR(2) is used to create a device, the major and minor device
+numbers are always interpreted by the kernel running on that machine.
+.sp
+.LP
+With the advent of physical device naming, it would be preferable to create a
+symbolic link to the physical name of the device (in the \fB/devices\fR
+subtree) rather than using \fBmknod\fR.
diff --git a/usr/src/man/man1m/mkntfs.1m b/usr/src/man/man1m/mkntfs.1m
new file mode 100644
index 0000000000..f1f1088a98
--- /dev/null
+++ b/usr/src/man/man1m/mkntfs.1m
@@ -0,0 +1,339 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH mkntfs 1M "27 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkntfs \- create an NTFS file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBmkntfs\fR [\fIoptions\fR] \fIdevice\fR [\fInumber_of_sectors\fR]
+.fi
+
+.LP
+.nf
+\fBmkntfs\fR [\fB-C\fR] [\fB-c\fR \fIcluster-size\fR] [\fB-F\fR] [\fB-f\fR] [\fB-H\fR \fIheads\fR] [\fB-h\fR] [\fB-I\fR]
+ [\fB-L\fR \fIvolume-label\fR] [\fB-l\fR] [\fB-n\fR] [\fB-p\fR \fIpart-start-sect\fR] [\fB-Q\fR] [\fB-q\fR]
+ [\fB-S\fR \fIsectors-per-track\fR] [\fB-s\fR \fIsector-size\fR] [\fB-T\fR] [\fB-V\fR] [\fB-v\fR]
+ [\fB-z\fR \fImft-zone-multiplier\fR] [\fB--debug\fR] \fIdevice\fR [\fInumber-of-sectors\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmkntfs\fR utility is used to create an NTFS file system on a device,
+usually a disk partition, or file. The \fIdevice\fR operand is the special
+file corresponding to the device; for example, \fB/dev/dsk/c0d0p0\fR. The
+\fInumber-of-sectors\fR operand is the number of blocks on the device. If
+omitted, \fBmkntfs\fR automatically figures the file system size.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.LP
+Options are divided among basic, advanced, output, and help options, as listed
+below.
+.SS "Basic Options"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR, \fB--enable-compression\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable compression on the volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--fast\fR or \fB-q\fR, \fB--quick\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform quick (fast) format. This option skips both zeroing of the volume and
+bad sector checking.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR, \fB--label\fR \fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the volume label for the filesystem to \fIstring\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR, \fB--no-action\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes \fBmkntfs\fR to not actually create a file system, but display what it
+would do if it were to create a file system. All formatting steps are carried
+out except the actual writing to the device.
+.RE
+
+.SS "Advanced Options"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB--cluster-size\fR \fIbytes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the size of clusters in bytes. Valid cluster size values are powers of
+two, with at least 256, and at most 65536, bytes per cluster. If omitted,
+\fBmkntfs\fR uses 4096 bytes as the default cluster size.
+.sp
+Note that the default cluster size is set to be at least equal to the sector
+size, as a cluster cannot be smaller than a sector. Also, note that values
+greater than 4096 have the side effect that compression is disabled on the
+volume. This is due to limitations in the NTFS compression algorithm used by
+Windows.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force \fBmkntfs\fR to run, even if the specified device is not a block special
+device, or appears to be mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR, \fB--heads\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the number of heads. The maximum is 65535 (0xffff). If omitted,
+\fBmkntfs\fR attempts to determine the number of heads automatically. If that
+fails a default of 0 is used. Note that specifying \fInum\fR is required for
+Windows to be able to boot from the created volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR, \fB--no-indexing\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable content indexing on the volume. This option is only meaningful on
+Windows 2000 and later. Windows NT 4.0 and earlier ignore this, as they do not
+implement content indexing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--partition-start\fR \fIsector\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the partition start sector. The maximum is 4294967295 (2^32-1). If
+omitted, \fBmkntfs\fR attempts to determine \fIsector\fRautomatically. If that
+fails, a default of 0 is used. Note that specifying \fIsector\fR is required
+for Windows to be able to boot from the created volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR, \fB--sectors-per-track\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the number of sectors per track. The maximum is 65535 (0xffff). If
+omitted, mkntfs attempts to determine the number of sectors-per-track
+automatically and if that fails a default of 0 is used. Note that
+sectors-per-track is required for Windows to be able to boot from the created
+volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--sector-size\fR \fIbytes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the size of sectors in bytes. Valid sector size values are 256, 512,
+1024, 2048, and 4096. If omitted, \fBmkntfs\fR attempts to determine the
+sector-size automatically. If that fails, a default of 512 bytes per sector is
+used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR, \fB--zero-time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Fake the time to be 00:00:00 UTC, Jan 1, 1970, instead of the current system
+time. This can be useful for debugging purposes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR, \fB--mft-zone-multiplier\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the master file table (MFT) zone multiplier, which determines the size of
+the MFT zone to use on the volume. The MFT zone is the area at the beginning of
+the volume reserved for the MFT, which stores the on-disk inodes (MFT records).
+It is noteworthy that small files are stored entirely within the inode; thus,
+if you expect to use the volume for storing large numbers of very small files,
+it is useful to set the zone multiplier to a higher value. Although the MFT
+zone is resized on the fly as required during operation of the NTFS driver,
+choosing an optimal value reduces fragmentation. Valid values are \fB1\fR,
+\fB2\fR, \fB3\fR, and \fB4\fR. The values have the following meaning:
+.sp
+.in +2
+.nf
+MFT zone MFT zone size
+multiplier (% of volume size)
+1 12.5% (default)
+2 25.0%
+3 37.5%
+4 50.0%
+.fi
+.in -2
+.sp
+
+.RE
+
+.SS "Output Options"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--debug\fR\fR
+.ad
+.sp .6
+.RS 4n
+Includes the verbose output from the \fB-v\fR option, as well as additional
+output useful for debugging \fBmkntfs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR, \fB--quiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose execution. Errors are written to stderr, no output to stdout occurs at
+all. Useful if \fBmkntfs\fR is run in a script.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose execution.
+.RE
+
+.SS "Help Options"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR, \fB--license\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the \fBmkntfs\fR licensing information and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the \fBmkntfs\fR version number and exit.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBntfsprogs\fR(1M), \fBntfsresize\fR(1M), \fBntfsundelete\fR(1M),
+\fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBmkntfs\fR was written by Anton Altaparmakov, Richard Russon, Erik Sornes and
+Szabolcs Szakacsits.
diff --git a/usr/src/man/man1m/mkpwdict.1m b/usr/src/man/man1m/mkpwdict.1m
new file mode 100644
index 0000000000..d070a98647
--- /dev/null
+++ b/usr/src/man/man1m/mkpwdict.1m
@@ -0,0 +1,106 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mkpwdict 1M "1 Jun 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mkpwdict \- maintain password-strength checking database
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/mkpwdict\fR [\fB-s\fR \fIdict1\fR,... ,\fIdictN\fR]
+ [\fB-d\fR \fIdestination-path\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmkpwdict\fR command adds words to the dictionary-lookup database used by
+\fBpam_authtok_check\fR(5) and \fBpasswd\fR(1).
+.sp
+.LP
+Files containing words to be added to the database can be specified on the
+command-line using the \fB-s\fR flag. These source files should have a single
+word per line, much like \fB/usr/share/lib/dict/words\fR.
+.sp
+.LP
+If \fB-s\fR is omitted, \fBmkpwdict\fR will use the value of \fBDICTIONLIST\fR
+specified in \fB/etc/default/passwd\fR (see \fBpasswd\fR(1)).
+.sp
+.LP
+The database is created in the directory specified by the \fB-d\fR option. If
+this option is omitted, \fBmkpwdict\fR uses the value of \fBDICTIONDBDIR\fR
+specified in \fB/etc/default/passwd\fR (see \fBpasswd\fR(1)). The default
+location is \fB/var/passwd\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies a comma-separated list of files containing words to be added to the
+dictionary-lookup database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies the target location of the dictionary-database.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/passwd\fR\fR
+.ad
+.RS 23n
+.rt
+See \fBpasswd\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/passwd\fR\fR
+.ad
+.RS 23n
+.rt
+default destination directory
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpasswd\fR(1), \fBattributes\fR(5), \fBpam_authtok_check\fR(5)
diff --git a/usr/src/man/man1m/modinfo.1m b/usr/src/man/man1m/modinfo.1m
new file mode 100644
index 0000000000..f683c603c2
--- /dev/null
+++ b/usr/src/man/man1m/modinfo.1m
@@ -0,0 +1,166 @@
+'\" te
+.\" Copyright (C) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH modinfo 1M "1 Oct 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+modinfo \- display information about loaded kernel modules
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/modinfo\fR [\fB-c\fR] [\fB-w\fR] [\fB-i\fR \fImodule-id\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmodinfo\fR utility displays information about the loaded modules. The
+format of the information is as follows:
+.sp
+.in +2
+.nf
+\fIId\fR \fILoadaddr\fR \fISize\fR \fIInfo\fR \fIRev\fR \fIModule Name\fR
+.fi
+.in -2
+
+.sp
+.LP
+where \fIId\fR is the module ID, \fILoadaddr\fR is the starting text address in
+hexadecimal, \fISize\fR is the size of text, data, and bss in hexadecimal
+bytes, \fIInfo\fR is module specific information, \fIRev\fR is the revision of
+the loadable modules system, and \fIModule Name\fR is the filename and
+description of the module.
+.sp
+.LP
+The module specific information is the block and character major numbers for
+drivers, the system call number for system calls, and unspecified for other
+module types.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 16n
+.rt
+Display the number of instances of the module loaded and the module's current
+state.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI module-id\fR\fR
+.ad
+.RS 16n
+.rt
+Display information about this module only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.RS 16n
+.rt
+Do not truncate module information at \fB80\fR characters.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying the Status of a Module
+.sp
+.LP
+The following example displays the status of module 2:
+
+.sp
+.in +2
+.nf
+example% \fBmodinfo -i 2\fR
+Id Loadaddr Size Info Rev Module Name
+ 2 ff08e000 1734 - 1 swapgeneric (root and swap configuration)
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying the Status of Kernel Modules
+.sp
+.LP
+The following example displays the status of some kernel modules:
+
+.sp
+.in +2
+.nf
+example% \fBmodinfo\fR
+Id Loadaddr Size Info Rev Module Name
+ 2 ff08e000 1734 - 1 swapgeneric
+ 4 ff07a000 3bc0 - 1 specfs (filesystem for specfs)
+ 6 ff07dbc0 2918 - 1 TS (time sharing sched class)
+ 7 ff0804d8 49c - 1 TS_DPTBL (Time sharing dispatch table)
+ 8 ff04a000 24a30 2 1 ufs (filesystem for ufs)
+ 9 ff080978 c640 226 1 rpcmod (RPC syscall)
+ 9 ff080978 c640 - 1 rpcmod (rpc interface str mod)
+10 ff08cfb8 2031c - 1 ip (IP Streams module)
+10 ff08cfb8 2031c 2 1 ip (IP Streams device)
+
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing the \fB-c\fR Option
+.sp
+.LP
+Using the \fBmodinfo\fR command with the \fB-c\fR option displays the number of
+instances of the module loaded and the module's current state.
+
+.sp
+.in +2
+.nf
+example% \fBmodinfo -c \fR
+Id Loadcnt Module Name State
+ 1 0 krtld UNLOADED/UNINSTALLED
+ 2 0 genunix UNLOADED/UNINSTALLED
+ 3 0 platmod UNLOADED/UNINSTALLED
+ 4 0 SUNW,UltraSPARC-IIi UNLOADED/UNINSTALLED
+ 5 0 cl_bootstrap UNLOADED/UNINSTALLED
+ 6 1 specfs LOADED/INSTALLED
+ 7 1 swapgeneric UNLOADED/UNINSTALLED
+ 8 1 TS LOADED/INSTALLED
+ 9 1 TS_DPTBL LOADED/INSTALLED
+ 10 1 ufs LOADED/INSTALLED
+ 11 1 fssnap_if LOADED/INSTALLED
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmodload\fR(1M), \fBmodunload\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/modload.1m b/usr/src/man/man1m/modload.1m
new file mode 100644
index 0000000000..68855b62c4
--- /dev/null
+++ b/usr/src/man/man1m/modload.1m
@@ -0,0 +1,100 @@
+'\" te
+.\" Copyright (c) 1993, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH modload 1M "1 Dec 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+modload \- load a kernel module
+.SH SYNOPSIS
+.LP
+.nf
+\fBmodload\fR [\fB-p\fR] [\fB-e\fR \fIexec_file\fR] \fIfilename\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmodload\fR command loads the loadable module \fIfilename\fR into the
+running system.
+.sp
+.LP
+\fIfilename\fR is an object file produced by \fBld \fR\fB-r\fR. If
+\fIfilename\fR is an absolute pathname then the file specified by that absolute
+path is loaded. If \fIfilename\fR does not begin with a slash (\fB/\fR), then
+the path to load \fIfilename\fR is relative to the current directory unless
+the \fB-p\fR option is specified.
+.sp
+.LP
+The kernel's \fBmodpath\fR variable can be set using the \fB/etc/system\fR
+file. The default value of the kernel's \fBmodpath\fR variable is set to the
+path where the operating system was loaded. Typically this is \fB/kernel
+/usr/kernel\fR.
+.sp
+.LP
+For example, the following command looks for \fB\&./drv/foo\fR:
+.sp
+.in +2
+.nf
+example# \fBmodload drv/foo\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command looks for \fB/kernel/drv/foo\fR and then
+\fB/usr/kernel/drv/foo\fR:
+.sp
+.in +2
+.nf
+example# \fBmodload -p drv/foo\fR
+.fi
+.in -2
+.sp
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fI exec_file\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the name of a shell script or executable image file that is executed
+after the module is successfully loaded. The first argument passed is the
+module ID (in decimal). The other argument is module specific. The module
+specific information is: the block and character major numbers for drivers, the
+system call number for system calls, or, for other module types, the index
+into the appropriate kernel table. See \fBmodinfo\fR(1M)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 16n
+.rt
+Use the kernel's internal modpath variable as the search path for the module.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBld\fR(1), \fBadd_drv\fR(1M), \fBkernel\fR(1M), \fBmodinfo\fR(1M),
+\fBmodunload\fR(1M), \fBsystem\fR(4), \fBattributes\fR(5), \fBmodldrv\fR(9S),
+\fBmodlinkage\fR(9S), \fBmodlstrmod\fR(9S), \fBmodule_info\fR(9S)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Use \fBadd_drv\fR(1M) to add device drivers, not \fBmodload\fR. See \fI\fR for
+procedures on adding device drivers.
diff --git a/usr/src/man/man1m/modunload.1m b/usr/src/man/man1m/modunload.1m
new file mode 100644
index 0000000000..0700a369b8
--- /dev/null
+++ b/usr/src/man/man1m/modunload.1m
@@ -0,0 +1,70 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH modunload 1M "19 Nov 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+modunload \- unload a module
+.SH SYNOPSIS
+.LP
+.nf
+\fBmodunload\fR \fB-i\fR \fImodule_id\fR [\fB-e\fR \fIexec_file\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmodunload\fR unloads a loadable module from the running system. The
+\fImodule_id\fR is the \fBID\fR of the module as shown by \fBmodinfo\fR(1M). If
+\fBID\fR is \fB0\fR, all modules that were autoloaded which are unloadable, are
+unloaded. Modules loaded by \fBmodload\fR(1M) are not affected.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIexec_file\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the name of a shell script or executable image file to be executed
+before the module is unloaded. The first argument passed is the module id (in
+decimal). There are two additional arguments that are module specific. For
+loadable drivers, the second argument is the driver major number. For loadable
+system calls, the second argument is the system call number. For loadable exec
+classes, the second argument is the index into the \fBexecsw\fR table. For
+loadable filesystems, the second argument is the index into the \fBvfssw\fR
+table. For loadable streams modules, the second argument is the index into the
+\fBfmodsw\fR table. For loadable scheduling classes, the second argument is the
+index into the class array. Minus one is passed for an argument that does not
+apply.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fImodule_id\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the module to be unloaded.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmodinfo\fR(1M), \fBmodload\fR(1M), \fBupdate_drv\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBmodunload\fR command is often used on driver modules to force the system
+to reread the associated driver configuration file. While this works in the
+current Solaris release, it is not the supported way to reread the
+configuration file and is not guaranteed to work in future releases. The
+supported way for rereading driver configuration file is through the
+\fBupdate_drv\fR(1M) command.
diff --git a/usr/src/man/man1m/monitor.1m b/usr/src/man/man1m/monitor.1m
new file mode 100644
index 0000000000..748f7952f4
--- /dev/null
+++ b/usr/src/man/man1m/monitor.1m
@@ -0,0 +1,2084 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH monitor 1M "24 Jul 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+monitor \- SPARC system PROM monitor
+.SH SYNOPSIS
+.LP
+.nf
+\fBSTOP\(miA\fR
+.fi
+
+.LP
+.nf
+\fBBREAK\fR
+.fi
+
+.LP
+.nf
+\fBinitial system power-on\fR
+.fi
+
+.LP
+.nf
+\fBexit from a client program, e.g., the Operating System\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBCPU\fR board of a workstation contains one or more \fBEPROMs\fR or
+\fBEEPROMs.\fR The program which executes from the \fBPROMs\fR is referred to
+as "the monitor". Among other things, the monitor performs system
+initialization at power-on and provides a user interface.
+.SS "Monitor Prompt"
+.sp
+.LP
+The monitor of earlier workstations was known as the \fBSunMON\fR monitor and
+displayed the \fB>\fR for its prompt. See the \fBSunMON MONITOR USAGE\fR
+section for further details.
+.sp
+.LP
+Existing workstations use a monitor which is known as the OpenBoot monitor.
+The OpenBoot monitor typically displays \fBok\fR as its prompt, but it may also
+display the \fB>\fR prompt under certain circumstances.
+.sp
+.LP
+If the \fB\&'auto-boot?'\fR \fBNVRAM\fR parameter is set to \fB\&'false'\fR
+when the workstation is powered on, the system does not attempt to boot and the
+monitor issues its prompt. If \fB\&'auto-boot'\fR is set to \fB\&'true'\fR, the
+system initiates the boot sequence. The boot sequence can be aborted by
+simultaneously pressing two keys on the system's keyboard: \fBL1\fR and \fBA\fR
+(on older keyboards), or \fBStop\fR and \fBA\fR (on newer keyboards). Either a
+lower case \fBa\fR or an upper case \fBA\fR works for the keyboard abort
+sequence. If a console has been attached by way of one of the system's serial
+ports then the abort sequence can be accomplished by sending a \fBBREAK\fR. See
+\fBtip\fR(1).
+.sp
+.LP
+When the \fBNVRAM\fR \fB\&'security-mode'\fR parameter has been turned on, or
+when the value of the \fB\&'sunmon-compat?'\fR parameter is true, then the
+OpenBoot monitor displays the message: \fBType b (boot), c (continue), or n
+(new command mode)\fR
+.sp
+.LP
+and the \fB>\fR prompt appears.
+.SH OPENBOOT PROM USAGE
+.sp
+.LP
+Some of the more useful commands that can be issued from OpenBoot's \fBok \fR
+prompt are described here. Refer to the book for a complete list of
+commands.
+.SS "Help"
+.sp
+.LP
+Help for various functional areas of the OpenBoot monitor can be obtained by
+typing \fBhelp\fR. The help listing provides a number of other key words which
+can then be used in the help command to provide further details.
+.SS "NVRAM Parameters"
+.sp
+.LP
+Each workstation contains one or more \fBNVRAM\fR devices which contains unique
+system ID information, as well as a set of user-configurable parameters. The
+\fBNVRAM\fR parameters allow the user a certain level of flexibility in
+configuring the system to act in a given manner under a specific set of
+circumstances.
+.sp
+.LP
+See \fBeeprom\fR(1M) for a description of the parameters and information
+regarding setting the parameters from the OS level.
+.sp
+.LP
+The following commands can be used at the OpenBoot monitor to access the
+\fBNVRAM\fR parameters.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprintenv\fR\fR
+.ad
+.RS 18n
+.rt
+Used to list the \fBNVRAM\fR parameters, along with their default values and
+current values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsetenv\fR\fI pn pv\fR\fR
+.ad
+.RS 18n
+.rt
+Used to set or modify a parameter. The \fIpn\fR represents the parameter name,
+and \fIpv\fR represents the parameter value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset-default\fR \fIpn\fR\fR
+.ad
+.RS 18n
+.rt
+Used to set an individual parameter back to its default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset-defaults\fR\fR
+.ad
+.RS 18n
+.rt
+Used to reset all parameters to their default values. (Note that
+\fB\&'set-defaults'\fR only affects parameters that have assigned default
+values.)
+.RE
+
+.SS "Security Parameters"
+.sp
+.LP
+Newer OpenBoot monitors contain user interfaces that support the storage and
+listing of keys for later use by client programs.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-security-keys\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the names of keys currently stored on a machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset-security-key\fR \fIkeyname\fR [ \fIkeydata\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Stores key data \fIkeydata\fR in a key named \fIkeyname\fR. Actual key data can
+be up to 32 bytes in length. The maximum length of \fIkeyname\fR is 64 bytes,
+which allows for the hex-formatted ASCII used to present the key data. If
+\fIkeydata\fR is not present, \fIkeyname\fR and its corresponding data is
+deleted.
+.RE
+
+.SS "Hardware Checks and Diagnostics"
+.sp
+.LP
+The following commands are available for testing or checking the system's
+hardware. If the \fB\&'diag-switch?'\fR \fBNVRAM\fR parameter is set to true
+when the system is powered on, then a Power-On Self Test (POST) diagnostic is
+run, if present, sending its results messages to the system's serial port A.
+Not all of the commands shown are available on all workstations.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtest-all\fR\fR
+.ad
+.RS 17n
+.rt
+Run the diagnostic tests on each device which has provided a self-test.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtest\fR \fBfloppy\fR\fR
+.ad
+.RS 17n
+.rt
+Run diagnostics on the system's floppy device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtest\fR \fB/memory\fR\fR
+.ad
+.RS 17n
+.rt
+Run the main memory tests. If the \fBNVRAM\fR parameter \fB\&'diag-switch?'\fR
+is set to true, then all of main memory is tested. If the parameter is false
+then only the amount of memory specified in the \fB\&'selftest-#megs'\fR
+\fBNVRAM\fR parameter is tested.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtest\fR \fBnet\fR\fR
+.ad
+.RS 17n
+.rt
+Test the network connection for the on-board network controller.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwatch-net\fR\fR
+.ad
+.RS 17n
+.rt
+Monitor the network attached to the on-board net controller.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwatch-net-all\fR\fR
+.ad
+.RS 17n
+.rt
+Monitor the network attached to the on-board net controller, as well as the
+network controllers installed in SBus slots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwatch-clock\fR\fR
+.ad
+.RS 17n
+.rt
+Test the system's clock function.
+.RE
+
+.SS "System Information"
+.sp
+.LP
+The following commands are available for displaying information about the
+system. Not all commands are available on all workstations.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbanner\fR\fR
+.ad
+.RS 18n
+.rt
+Display the power-on banner.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&.enet-addr\fR\fR
+.ad
+.RS 18n
+.rt
+Display the system's Ethernet address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&.idprom\fR\fR
+.ad
+.RS 18n
+.rt
+Display the formatted contents of the \fBIDPROM.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodule-info\fR\fR
+.ad
+.RS 18n
+.rt
+Display information about the system's processor(s).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprobe-scsi\fR\fR
+.ad
+.RS 18n
+.rt
+Identify the devices attached to the on-board \fBSCSI\fR controller.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprobe-scsi-all\fR\fR
+.ad
+.RS 18n
+.rt
+Identify the devices attached to the on-board \fBSCSI\fR controller as well as
+those devices which are attached to SBus \fBSCSI\fR controllers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-disks\fR\fR
+.ad
+.RS 18n
+.rt
+Display a list of the device paths for installed \fBSCSI\fR disk controllers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-displays\fR\fR
+.ad
+.RS 18n
+.rt
+Display a list of the device paths for installed display devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-nets\fR\fR
+.ad
+.RS 18n
+.rt
+Display a list of the device paths for installed Ethernet controllers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-sbus\fR\fR
+.ad
+.RS 18n
+.rt
+Display list of installed SBus devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-tapes\fR\fR
+.ad
+.RS 18n
+.rt
+Display a list of the device paths for installed \fBSCSI\fR tape controllers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-ttys\fR\fR
+.ad
+.RS 18n
+.rt
+Display a list of the device paths for tty devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&.traps\fR\fR
+.ad
+.RS 18n
+.rt
+Display a list of the SPARC trap types.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&.version\fR\fR
+.ad
+.RS 18n
+.rt
+Display the version and date of the OpenBoot PROM.
+.RE
+
+.SS "Emergency Commands"
+.sp
+.LP
+These commands must be typed from the keyboard, they do not work from a console
+which is attached by way of the serial ports. With the exception of the
+\fBStop-A\fR command, these commands are issued by pressing and holding down
+the indicated keys on the keyboard immediately after the system has been
+powered on. The keys must be held down until the monitor has checked their
+status. The \fBStop-A\fR command can be issued at any time after the console
+display begins, and the keys do not need to be held down once they've been
+pressed. The \fBStop-D,\fR \fBStop-F\fR and \fBStop-N\fR commands are not
+allowed when one of the security modes has been set. Not all commands are
+available on all workstations.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBStop (L1)\fR\fR
+.ad
+.RS 17n
+.rt
+Bypass the Power-On Self Test (POST). This is only effective if the system has
+been placed into the diagnostic mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBStop-A (L1-A)\fR\fR
+.ad
+.RS 17n
+.rt
+Abort the current operation and return to the monitor's default prompt.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBStop-D (L1-D)\fR\fR
+.ad
+.RS 17n
+.rt
+Set the system's \fB\&'diag-switch?'\fR \fBNVRAM\fR parameter to
+\fB\&'true'\fR, which places the system in diagnostic mode. POST diagnostics,
+if present, are run, and the messages are displayed by way of the system's
+serial port A.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBStop-F (L1-F)\fR\fR
+.ad
+.RS 17n
+.rt
+Enter the OpenBoot monitor before the monitor has probed the system for
+devices. Issue the \fB\&'fexit'\fR command to continue with system
+initialization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBStop-N (L1-N)\fR\fR
+.ad
+.RS 17n
+.rt
+Causes the \fBNVRAM\fR parameters to be reset to their default values. Note
+that not all parameters have default values.
+.RE
+
+.SS "Line Editor Commands"
+.sp
+.LP
+The following commands can be used while the monitor is displaying the \fBok\fR
+prompt. Not all of these editing commands are available on all workstations.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-A\fR\fR
+.ad
+.RS 10n
+.rt
+Place the cursor at the start of line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-B\fR\fR
+.ad
+.RS 10n
+.rt
+Move the cursor backward one character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESC-B\fR\fR
+.ad
+.RS 10n
+.rt
+Move the cursor backward one word.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-D\fR\fR
+.ad
+.RS 10n
+.rt
+Erase the character that the cursor is currently highlighting.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESC-D\fR\fR
+.ad
+.RS 10n
+.rt
+Erase the portion of word from the cursor's present position to the end of the
+word.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-E\fR\fR
+.ad
+.RS 10n
+.rt
+Place the cursor at the end of line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-F\fR\fR
+.ad
+.RS 10n
+.rt
+Move the cursor forward one character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESC-F\fR\fR
+.ad
+.RS 10n
+.rt
+Move the cursor forward one word.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-H\fR\fR
+.ad
+.RS 10n
+.rt
+Erase the character preceding the cursor (also use Delete or Back Space)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESC-H\fR\fR
+.ad
+.RS 10n
+.rt
+Erase the portion of the word which precedes the cursor (use also \fBCTRL-W)\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-K\fR\fR
+.ad
+.RS 10n
+.rt
+Erase from the cursor's present position to the end of the line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-L\fR\fR
+.ad
+.RS 10n
+.rt
+Show the command history list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-N\fR\fR
+.ad
+.RS 10n
+.rt
+Recall the next command from the command history list
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-P\fR\fR
+.ad
+.RS 10n
+.rt
+Recall a previous command from the command history list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-Q\fR\fR
+.ad
+.RS 10n
+.rt
+Quote the next character (used to type a control character).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-R\fR\fR
+.ad
+.RS 10n
+.rt
+Retype the current line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-U\fR\fR
+.ad
+.RS 10n
+.rt
+Erase from the cursor's present position to the beginning of the line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCTRL-Y\fR\fR
+.ad
+.RS 10n
+.rt
+Insert the contents of the memory buffer into the line, in front (to the left)
+of the cursor.
+.RE
+
+.SS "nvramrc"
+.sp
+.LP
+The \fBnvramrc\fR is an area of the system's \fBNVRAM\fR where users may store
+Forth programs. The programs which are stored in the \fBnvramrc\fR are executed
+each time the system is reset, provided that the \fB\&'use-nvramrc?'\fR
+\fBNVRAM\fR parameter has been set to \fB\&'true'\fR. Refer to the book for
+information on how to edit and use the \fBnvramrc\fR.
+.SS "Restricted Monitor"
+.sp
+.LP
+The command \fB\&'old-mode'\fR is used to move OpenBoot into a restricted
+monitor mode, causing the \fB> \fR prompt to be displayed. Only three commands
+are allowed while in the restricted monitor; the \fB\&'go'\fR command (to
+resume a program which was interrupted with the \fBStop-A\fR command), the
+\fB\&'n'\fR command (to return to the normal OpenBoot monitor), and boot
+commands. The restricted monitor's boot commands approximate the older
+\fBSunMON\fR monitor's boot command syntax. If a \fB\&'security-mode'\fR has
+been turned on then the restricted monitor becomes the default monitor
+environment. The restricted monitor may also become the default environment if
+the \fB\&'sunmon-compat?' \fR \fBNVRAM\fR parameter is set to true. Not all
+workstations have the \fB\&'sunmon-compat?'\fR parameter.
+.SH SUNMON PROM USAGE
+.sp
+.LP
+The following commands are available systems with older \fBSunMON\fR-based
+PROM:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB+\fR|\fB\(mi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Increment or decrement the current address and display the contents of the new
+location.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB^C\fR\fI source destination n\fR\fR
+.ad
+.sp .6
+.RS 4n
+(caret-C) Copy, byte-by-byte, a block of length \fIn\fR from the \fBsource\fR
+address to the \fIdestination\fR address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB^I \fR\fIprogram\fR\fR
+.ad
+.sp .6
+.RS 4n
+(caret-I) Display the compilation date and location of \fIprogram\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB^T \fR\fIvirtual_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+(caret-T) Display the physical address to which \fIvirtual_address\fR is
+mapped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR [ \fB!\fR ] [ \fIdevice\fR [
+\fB(\fR\fIc\fR\fB,\fR\fIu\fR\fB,\fR\fIp\|\fR\fB)\fR\fI\fR ] ] [ \fIpathname\fR
+] [ \fIarguments_list\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR[\fB?\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Reset appropriate parts of the system and bootstrap a program. A `\fB!\fR'
+(preceding the \fIdevice\fR argument) prevents the system reset from occurring.
+Programs can be loaded from various devices (such as a disk, tape, or
+Ethernet). `\fBb\fR' with no arguments causes a default boot, either from a
+disk, or from an Ethernet controller. `\fBb?\fR' displays all boot devices and
+their \fIdevice\fRs.
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 18n
+.rt
+one of
+.sp
+.ne 2
+.mk
+.na
+\fB\fBle\fR\fR
+.ad
+.RS 6n
+.rt
+Lance Ethernet
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBie\fR\fR
+.ad
+.RS 6n
+.rt
+Intel Ethernet
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsd\fR\fR
+.ad
+.RS 6n
+.rt
+\fBSCSI\fR disk, CDROM
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBst\fR\fR
+.ad
+.RS 6n
+.rt
+\fBSCSI\fR 1/4" or 1/2" tape
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfd\fR\fR
+.ad
+.RS 6n
+.rt
+Diskette
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBid\fR\fR
+.ad
+.RS 6n
+.rt
+IPI disk
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmt\fR\fR
+.ad
+.RS 6n
+.rt
+Tape Master 9-track 1/2" tape
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxd\fR\fR
+.ad
+.RS 6n
+.rt
+Xylogics 7053 disk
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxt\fR\fR
+.ad
+.RS 6n
+.rt
+Xylogics 1/2" tape
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxy\fR\fR
+.ad
+.RS 6n
+.rt
+Xylogics 440/450 disk
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIc\fR\fR
+.ad
+.RS 18n
+.rt
+A controller number (\fB0\fR if only one controller),
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIu\fR\fR
+.ad
+.RS 18n
+.rt
+A unit number (\fB0\fR if only one driver), and
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIp\fR\fR
+.ad
+.RS 18n
+.rt
+A partition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpathname\fR\fR
+.ad
+.RS 18n
+.rt
+A pathname for a program such as \fB/stand/diag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIarguments_list\fR\fR
+.ad
+.RS 18n
+.rt
+A list of up to seven arguments to pass to the program being booted.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc [\fR\fIvirtual_address\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Resume execution of a program. When given, \fIvirtual_address\fR is the address
+at which execution resumes. The default is the current \fBPC.\fR Registers are
+restored to the values shown by the \fBd\fR, and \fBr\fR commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd [\fR\fIwindow_number\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display (dump) the state of the processor. The processor state is observable
+only after:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+An unexpected trap was encountered.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A user program dropped into the monitor (by calling \fIabortent\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The user manually entered the monitor by typing \fBL1\(miA\fR or \fBBREAK.\fR
+.RE
+The display consists of the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The special registers: \fBPSR,\fR \fBPC,\fR nPC, \fBTBR,\fR \fBWIM,\fR and Y
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Eight global registers
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+24 window registers (8 \fIin\fR, 8 \fIlocal\fR, and 8 \fIout\fR), corresponding
+to one of the 7 available windows. If a Floating-Point Unit is on board, its
+status register along with 32 floating-point registers are also shown.
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB\fIwindow_number\fR\fR
+.ad
+.RS 17n
+.rt
+Display the indicated \fIwindow_number\fR, which can be any value between
+\fB0\fR and \fB6\fR, inclusive. If no window is specified and the \fBPSR's\fR
+current window pointer contains a valid window number, registers from the
+window that was active just prior to entry into the monitor are displayed.
+Otherwise, registers from window 0 are displayed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBe\fR [\fIvirtual_address\fR]\|[\fIaction\fR] .\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Open the 16-bit word at \fIvirtual_address\fR (default zero). The address is
+interpreted in the address space defined by the \fBs\fR command. See the
+\fBa\fR command for a description of \fIaction\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fI virtual_address1 virtual_address2 pattern \fR [\fIsize\|\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Fill the bytes, words, or long words from \fIvirtual_address1\fR (lower) to
+\fIvirtual_address2\fR (higher) with the constant, \fIpattern\fR. The
+\fBsize\fR argument can take one of the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 5n
+.rt
+byte format (the default)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 5n
+.rt
+word format
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\fR\fR
+.ad
+.RS 5n
+.rt
+long word format
+.RE
+
+For example, the following command fills the address block from \fB0x1000\fR to
+\fB0x2000\fR with the word pattern, \fB0xABCD\fR:
+.sp
+\fBf 1000 2000 ABCD W\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBg\fR [\fIvector\|\fR] [\fIargument\|\fR]\fR
+.ad
+.br
+.na
+\fB\fBg\fR [\fIvirtual_address\|\fR] [\fIargument\fR\|]\fR
+.ad
+.sp .6
+.RS 4n
+Goto (jump to) a predetermined or default routine (first form), or to a
+user-specified routine (second form). The value of \fIargument\fR is passed to
+the routine. If the \fIvector\fR or \fIvirtual_address\fR argument is omitted,
+the value in the \fBPC\fR is used as the address to jump to.
+.sp
+To set up a predetermined routine to jump to, a user program must, prior to
+executing the monitor's \fBg\fR command, set the variable
+\fB*romp->v_vector_cmd\fR to be equal to the virtual address of the desired
+routine. Predetermined routines need not necessarily return control to the
+monitor.
+.sp
+The default routine, defined by the monitor, prints the user-supplied
+\fIvector\fR according to the format supplied in \fIargument\fR. This format
+can be one of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%x\fR\fR
+.ad
+.RS 6n
+.rt
+hexadecimal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%d\fR\fR
+.ad
+.RS 6n
+.rt
+decimal
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBg0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force a panic and produce a crash dump when the monitor is running as a result
+of the system being interrupted,
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBg4\fR\fR
+.ad
+.sp .6
+.RS 4n
+(Sun-4 systems only) Force a kernel stack trace when the monitor is running as
+a result of the system being interrupted,
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBh\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the help menu for monitor commands and their descriptions. To return to
+the monitor's basic command level, press \fBESCAPE\fR or \fBq\fR before
+pressing \fBRETURN.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi \fR[\fIcache_data_offset\fR\|] [\fIaction\fR\|]\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Modify cache data \fBRAM\fR command. Display and/or modify one or more of the
+cache data addresses. See the \fBa\fR command for a description of
+\fIaction\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBj\fR [\fIcache_tag_offset\fR\|] [\fIaction\|\fR]\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Modify cache tag \fBRAM\fR command. Display and/or modify the contents of one
+or more of the cache tag addresses. See the \fBa\fR command for a description
+of \fIaction\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBk [\fR\fIreset_level\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reset the system, where \fIreset_level\fR is:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Reset \fBVMEbus,\fR interrupt registers, video monitor (Sun-4 systems). This is
+the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Software reset.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Power-on reset. Resets and clears the memory. Runs the \fBEPROM-based\fR
+diagnostic self test, which can take several minutes, depending upon how much
+memory is being tested.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the system banner.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\|\fR [\fIvirtual_address\fR\|]\|[\fIaction\fR]\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Open the long word (32 bit) at memory address \fIvirtual_address\fR (default
+zero). The address is interpreted in the address space defined by the \fBs\fR
+command (below). See the \fBa\fR command for a description of \fIaction\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\|\fR [\fIvirtual_address\fR\|]\|[\fIaction\fR\|]\|.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Open the segment map entry that maps \fIvirtual_address\fR (default zero). The
+address is interpreted in the address space defined by the \fBs\fR command. See
+the \fBa\fR command for a description of \fIaction\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBne\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBni\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable, enable, or invalidate the cache, respectively.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo\|\fR [\fIvirtual_address\fR\|]\|[action\fI]\|.\|.\|.\fR\fR
+.ad
+.sp .6
+.RS 4n
+Open the byte location specified by \fIvirtual_address\fR (default zero). The
+address is interpreted in the address space defined by the \fBs\fR command. See
+the \fBa\fR command for a description of \fIaction\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\|\fR [\fIvirtual_address\fR\|]\|[\fIaction\fR].\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Open the page map entry that maps \fIvirtual_address\fR (default zero) in the
+address space defined by the \fBs\fR command. See the \fBa\fR command for a
+description of \fIaction\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBq\|\fR [\fIeeprom_offset\fR\|]\|[\fIaction\fR\|].\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Open the \fBEEPROM\fR \fIeeprom_offset\fR (default zero) in the \fBEEPROM\fR
+address space. All addresses are referenced from the beginning or base of the
+\fBEEPROM\fR in physical address space, and a limit check is performed to
+insure that no address beyond the \fBEEPROM\fR physical space is accessed. This
+command is used to display or modify configuration parameters, such as: the
+amount of memory to test during self test, whether to display a standard or
+custom banner, if a serial port (A or B) is to be the system console, etc. See
+the \fBa\fR command for a description of \fIaction\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\|\fR [\fIregister_number\|\fR]\fR
+.ad
+.br
+.na
+\fB\fBr\|\fR [\fIregister_type\|\fR]\fR
+.ad
+.br
+.na
+\fB\fBr\|\fR [\fIw window_number\|\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display and/or modify one or more of the \fBIU\fR or \fBFPU\fR registers. A
+hexadecimal \fIregister_number\fR can be one of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x00\fR\(mi\fB0x0f\fR\fR
+.ad
+.RS 16n
+.rt
+window(0,i0)\(miwindow(0,i7), window(0,i0)\(emwindow(0,i7)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x16\fR\(mi\fB0x1f\fR\fR
+.ad
+.RS 16n
+.rt
+window(1,i0)\(miwindow(1,i7), window(1,i0)\(emwindow(1,i7)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x20\fR\(mi\fB0x2f\fR\fR
+.ad
+.RS 16n
+.rt
+window(2,i0)\(miwindow(2,i7), window(2,i0)\(emwindow(2,i7)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x30\fR\(mi\fB0x3f\fR\fR
+.ad
+.RS 16n
+.rt
+window(3,i0)\(miwindow(3,i7), window(3,i0)\(emwindow(3,i7)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x40\fR\(mi\fB0x4f\fR\fR
+.ad
+.RS 16n
+.rt
+window(4,i0)\(miwindow(4,i7), window(4,i0)\(emwindow(4,i7)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x50\fR\(mi\fB0x5f\fR\fR
+.ad
+.RS 16n
+.rt
+window(5,i0)\(miwindow(5,i7), window(5,i0)\(emwindow(5,i7)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x60\fR\(mi\fB0x6f\fR\fR
+.ad
+.RS 16n
+.rt
+window(6,i0)\(miwindow(6,i7), window(6,i0)\(emwindow(6,i7)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x70\fR\(mi\fB0x77\fR\fR
+.ad
+.RS 16n
+.rt
+\fBg0, g1, g2, g3, g4, g5, g6, g7\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x78\fR\(mi\fB0x7d\fR\fR
+.ad
+.RS 16n
+.rt
+\fBPSR,\fR \fBPC,\fR \fBnPC,\fR \fBWIM,\fR \fBTBR,\fR \fBY.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x7e\fR\(mi\fB0x9e\fR\fR
+.ad
+.RS 16n
+.rt
+\fBFSR,\fR f0\(mif31
+.RE
+
+Register numbers can only be displayed after an unexpected trap, a user program
+has entered the monitor using the \fIabortent\fR function, or the user has
+entered the monitor by manually typing \fBL1\(miA\fR or \fBBREAK.\fR
+.sp
+If a \fIregister_type\fR is given, the first register of the indicated type is
+displayed. \fIregister_type\fR can be one of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.RS 5n
+.rt
+floating-point
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBg\fR\fR
+.ad
+.RS 5n
+.rt
+global
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+special
+.RE
+
+If \fBw\fR and a \fIwindow_number\fR (\fB0\fR\(em\fB6\fR) are given, the first
+\fIin\fR-register within the indicated window is displayed. If
+\fIwindow_number\fR is omitted, the window that was active just prior to
+entering the monitor is used. If the \fBPSR's\fR current window pointer is
+invalid, window 0 is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs [\fR\fIasi\fR\fB])\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set or display the Address Space Identifier. With no argument, \fBs\fR
+displays the current Address Space Identifier. The \fIasi\fR value can be one
+of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x2\fR\fR
+.ad
+.RS 7n
+.rt
+control space
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x3\fR\fR
+.ad
+.RS 7n
+.rt
+segment table
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x4\fR\fR
+.ad
+.RS 7n
+.rt
+Page table
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x8\fR\fR
+.ad
+.RS 7n
+.rt
+user instruction
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0x9\fR\fR
+.ad
+.RS 7n
+.rt
+supervisor instruction
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0xa\fR\fR
+.ad
+.RS 7n
+.rt
+user data
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0xb\fR\fR
+.ad
+.RS 7n
+.rt
+supervisor data
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0xc\fR\fR
+.ad
+.RS 7n
+.rt
+flush segment
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0xd\fR\fR
+.ad
+.RS 7n
+.rt
+flush page
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0xe\fR\fR
+.ad
+.RS 7n
+.rt
+flush context
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0xf\fR\fR
+.ad
+.RS 7n
+.rt
+cache data
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBu\fR [ \fBecho\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBu\fR [ \fIport\fR ] [ \fIoptions\fR ] [ \fIbaud_rate\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBu\fR [ \fBu\fR ] [ \fIvirtual_address\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+With no arguments, display the current I/O device characteristics including:
+current input device, current output device, baud rates for serial ports A and
+B, an input-to-output echo indicator, and virtual addresses of mapped
+\fBUART\fR devices. With arguments, set or configure the current I/O device.
+With the \fBu\fR argument (\fBuu\fR.\|.\|.), set the I/O device to be the
+\fIvirtual_address\fR of a \fBUART\fR device currently mapped.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBecho\fR\fR
+.ad
+.RS 13n
+.rt
+ Can be either \fBe\fR to enable input to be echoed to the output device, or
+\fBne\fR, to indicate that input is not echoed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIport\fR\fR
+.ad
+.RS 13n
+.rt
+Assign the indicated \fIport\fR to be the current I/O device. \fIport\fR can be
+one of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBa\fR\fR
+.ad
+.RS 5n
+.rt
+serial port A
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 5n
+.rt
+serial port B
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBk\fR\fR
+.ad
+.RS 5n
+.rt
+the workstation keyboard
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+the workstation screen
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIbaud_rate\fR\fR
+.ad
+.RS 13n
+.rt
+Any legal baud rate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIoptions\fR\fR
+.ad
+.RS 11n
+.rt
+can be any combination of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.RS 6n
+.rt
+input
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo\fR\fR
+.ad
+.RS 6n
+.rt
+output
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBu\fR\fR
+.ad
+.RS 6n
+.rt
+\fBUART\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBe\fR\fR
+.ad
+.RS 6n
+.rt
+echo input to output
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBne\fR\fR
+.ad
+.RS 6n
+.rt
+do not echo input
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 6n
+.rt
+reset indicated serial port (\fBa\fR and \fBb\fR ports only)
+.RE
+
+If either \fBa\fR or \fBb\fR is supplied, and no \fIoptions\fR are given, the
+serial port is assigned for both input and output. If \fBk\fR is supplied with
+no options, it is assigned for input only. If \fBs\fR is supplied with no
+options, it is assigned for output only.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBv\fR\fI virtual_address1 virtual_address2 \fR [\fBsize\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display the contents of \fIvirtual_address1\fR (lower) \fIvirtual_address2\fR
+(higher) in the format specified by \fBsize\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 5n
+.rt
+byte format (the default)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 5n
+.rt
+word format
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\fR\fR
+.ad
+.RS 5n
+.rt
+long word format
+.RE
+
+Enter return to pause for viewing; enter another return character to resume the
+display. To terminate the display at any time, press the space bar.
+.sp
+For example, the following command displays the contents of virtual address
+space from address \fB0x1000\fR to \fB0x2000\fR in word format:
+.sp
+\fBv\fR \fB1000\fR \fB2000\fR \fBW\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\|\fR [\fIvirtual_address\|\fR]\|[\fIargument\|\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Set the execution vector to a predetermined or default routine. Pass
+\fIvirtual_address\fR and \fIargument\fR to that routine.
+.sp
+To set up a predetermined routine to jump to, a user program must, prior to
+executing the monitor's \fBw\fR command, set the variable
+\fB*romp->v_vector_cmd\fR to be equal to the virtual address of the desired
+routine. Predetermined routines need not necessarily return control to the
+monitor.
+.sp
+The default routine, defined by the monitor, prints the user-supplied
+\fIvector\fR according to the format supplied in \fIargument\fR. This format
+can be one of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%x\fR\fR
+.ad
+.RS 6n
+.rt
+hexadecimal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB%d\fR\fR
+.ad
+.RS 6n
+.rt
+decimal
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBx\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a menu of extended tests. These diagnostics permit additional testing
+of such things as the I/O port connectors, video memory, workstation memory and
+keyboard, and boot device paths.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBy\|c\fR\fI context_number\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBy\|p|s\|\fR\fI context_number virtual_address\fR\fR
+.ad
+.sp .6
+.RS 4n
+Flush the indicated context, context page, or context segment.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.RS 5n
+.rt
+flush context \fIcontext_number\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+flush the page beginning at \fIvirtual_address\fR within context
+\fIcontext_number\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR\fR
+.ad
+.RS 5n
+.rt
+flush the segment beginning at \fIvirtual_address\fR within context
+\fIcontext_number\fR
+.RE
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+ArchitectureSPARC
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBtip\fR(1), \fBboot\fR(1M), \fBeeprom\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+
diff --git a/usr/src/man/man1m/mount.1m b/usr/src/man/man1m/mount.1m
new file mode 100644
index 0000000000..9482442e18
--- /dev/null
+++ b/usr/src/man/man1m/mount.1m
@@ -0,0 +1,481 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mount 1M "29 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount, umount \- mount or unmount file systems and remote resources
+.SH SYNOPSIS
+.LP
+.nf
+\fBmount\fR [\fB-p\fR | \fB-v\fR]
+.fi
+
+.LP
+.nf
+\fBmount\fR [\fB-F\fR \fIFSType\fR] [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fB-O\fR] \fIspecial\fR | \fImount_point\fR
+.fi
+
+.LP
+.nf
+\fBmount\fR [\fB-F\fR \fIFSType\fR] [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fB-O\fR] \fIspecial\fR \fImount_point\fR
+.fi
+
+.LP
+.nf
+\fBmount\fR \fB-a\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] [\fIcurrent_options\fR]
+ [\fB-o\fR \fIspecific_options\fR] [\fImount_point\fR]...
+.fi
+
+.LP
+.nf
+\fBumount\fR [\fB-f\fR] [\fB-V\fR] [\fB-o\fR \fIspecific_options\fR] \fIspecial\fR | \fImount_point\fR
+.fi
+
+.LP
+.nf
+\fBumount\fR \fB-a\fR [\fB-f\fR] [\fB-V\fR] [\fB-o\fR \fIspecific_options\fR] [\fImount_point\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmount\fR attaches a file system to the file system hierarchy at the
+\fImount_point\fR, which is the pathname of a directory. If \fImount_point\fR
+has any contents prior to the \fBmount\fR operation, these are hidden until the
+file system is unmounted.
+.sp
+.LP
+\fBumount\fR unmounts a currently mounted file system, which may be specified
+either as a \fImount_point\fR or as \fIspecial\fR, the device on which the file
+system resides.
+.sp
+.LP
+The table of currently mounted file systems can be found by examining the
+mounted file system information file. This is provided by a file system that is
+usually mounted on \fB/etc/mnttab\fR. The mounted file system information is
+described in \fBmnttab\fR(4). Mounting a file system adds an entry to the mount
+table; a \fBumount\fR removes an entry from the table.
+.sp
+.LP
+When invoked with both the \fIspecial\fR and \fImount_point\fR arguments and
+the \fB-F\fR option, \fBmount\fR validates all arguments except for
+\fIspecial\fR and invokes the appropriate \fIFSType\fR-specific \fBmount\fR
+module. If invoked with no arguments, \fBmount\fR lists all the mounted file
+systems recorded in the mount table, \fB/etc/mnttab\fR. If invoked with a
+partial argument list (with only one of \fIspecial\fR or \fImount_point\fR, or
+with both \fIspecial\fR or \fImount_point\fR specified but not \fIFSType\fR),
+\fBmount\fR will search \fB/etc/vfstab\fR for an entry that will supply the
+missing arguments. If no entry is found, and the special argument starts with
+\fB/\fR, the default local file system type specified in \fB/etc/default/fs\fR
+will be used. Otherwise the default remote file system type will be used. The
+default remote file system type is determined by the first entry in the
+\fB/etc/dfs/fstypes\fR file. After filling in missing arguments, \fBmount\fR
+will invoke the \fIFSType\fR-specific \fBmount\fR module.
+.sp
+.LP
+For file system types that support it, a file can be mounted directly as a file
+system by specifying the full path to the file as the special argument. In
+such a case, the \fBnosuid\fR option is enforced. If specific file system
+support for such loopback file mounts is not present, you can still use
+\fBlofiadm\fR(1M) to mount a file system image. In this case, no special
+options are enforced.
+.sp
+.LP
+Only a user with sufficient privilege (at least \fBPRIV_SYS_MOUNT\fR) can mount
+or unmount file systems using \fBmount\fR and \fBumount\fR. However, any user
+can use \fBmount\fR to list mounted file systems and resources.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used to specify the \fIFSType\fR on which to operate. The \fIFSType\fR must be
+specified or must be determinable from \fB/etc/vfstab\fR, or by consulting
+\fB/etc/default/fs\fR or \fB/etc/dfs/fstypes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR [ \fImount_points\fR. . . ]\fR
+.ad
+.sp .6
+.RS 4n
+Perform mount or umount operations in parallel, when possible.
+.sp
+If mount points are not specified, \fBmount\fR will mount all file systems
+whose \fB/etc/vfstab\fR "mount at boot" field is \fByes\fR. If mount points are
+specified, then \fB/etc/vfstab\fR "mount at boot" field will be ignored.
+.sp
+If mount points are specified, \fBumount\fR will only \fBumount\fR those mount
+points. If none is specified, then \fBumount\fR will attempt to \fBunmount\fR
+all file systems in \fB/etc/mnttab\fR, with the exception of certain system
+required file systems: \fB/\fR, \fB/usr\fR, \fB/var\fR, \fB/var/adm\fR,
+\fB/var/run\fR, \fB/proc\fR, \fB/dev/fd\fR and \fB/tmp\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forcibly unmount a file system.
+.sp
+Without this option, \fBumount\fR does not allow a file system to be unmounted
+if a file on the file system is busy. Using this option can cause data loss for
+open files; programs which access files after the file system has been
+unmounted will get an error (\fBEIO\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print the list of mounted file systems in the \fB/etc/vfstab\fR format. Must be
+the only option specified. See \fBBUGS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print the list of mounted file systems in verbose format. Must be the only
+option specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Echo the complete command line, but do not execute the command. \fBumount\fR
+generates a command line by using the options and arguments provided by the
+user and adding to them information derived from \fB/etc/mnttab\fR. This option
+should be used to verify and validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Options that are commonly supported by most \fIFSType\fR-specific command
+modules. The following options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mount the file system without making an entry in \fB/etc/mnttab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Globally mount the file system. On a clustered system, this globally mounts the
+file system on all nodes of the cluster. On a non-clustered system this has no
+effect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fIFSType\fR-specific options in a comma separated (without spaces)
+list of suboptions and keyword-attribute pairs for interpretation by the
+\fIFSType\fR-specific module of the command. (See \fBmount_ufs\fR(1M).) When
+you use \fB-o\fR with a file system that has an entry in \fB/etc/vfstab\fR, any
+\fBmount\fR options entered for that file system in \fB/etc/vfstab\fR are
+ignored.
+.sp
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdevices | nodevices\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or disallow the opening of device-special files. The default is
+\fBdevices\fR.
+.sp
+If you use \fBnosuid\fR in conjunction with \fBdevices\fR, the behavior is
+equivalent to that of \fBnosuid\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexec | noexec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or disallow executing programs in the file system. Allow or disallow
+\fBmmap\fR(2) with \fBPROT_EXEC\fR for files within the file system. The
+default is \fBexec\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBloop\fR\fR
+.ad
+.sp .6
+.RS 4n
+Ignored for compatibility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnbmand | nonbmand\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or disallow non-blocking mandatory locking semantics on this file system.
+Non-blocking mandatory locking is disallowed by default.
+.sp
+If the file system is mounted with the \fBnbmand\fR option, then applications
+can use the \fBfcntl\fR(2) interface to place non-blocking mandatory locks on
+files and the system enforces those semantics. If you enable this option, it
+can cause standards conformant applications to see unexpected errors.
+.sp
+To avoid the possibility of obtaining mandatory locks on system files, do not
+use the \fBnbmand\fR option with the following file systems:
+.sp
+.in +2
+.nf
+/
+/usr
+/etc
+/var
+/proc
+/dev
+/devices
+/system/contract
+/system/object
+/etc/mnttab
+/etc/dfs/sharetab
+.fi
+.in -2
+.sp
+
+Do not use the \fBremount\fR option to change the \fBnbmand\fR disposition of
+the file system. The \fBnbmand\fR option is mutually exclusive of the global
+option. See \fB-g\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBro | rw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify read-only or read-write. The default is \fBrw\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsetuid | nosetuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or disallow \fBsetuid\fR or \fBsetgid\fR execution. The default is
+\fBsetuid\fR.
+.sp
+If you specify \fBsetuid\fR in conjunction with \fBnosuid\fR, the behavior is
+the same as \fBnosuid\fR.
+.sp
+\fBnosuid\fR is equivalent to \fBnosetuid\fR and \fBnodevices\fR. When
+\fBsuid\fR or \fBnosuid\fR is combined with \fBsetuid\fR or \fBnosetuid\fR and
+\fBdevices\fR or \fBnodevices\fR, the most restrictive options take effect.
+.sp
+This option is highly recommended whenever the file system is shared by way of
+NFS with the \fBroot=\fR option. Without it, NFS clients could add \fBsetuid\fR
+programs to the server or create devices that could open security holes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsuid | nosuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or disallow \fBsetuid\fR or \fBsetgid\fR execution. The default is
+\fBsuid\fR. This option also allows or disallows opening any device-special
+entries that appear within the filesystem.
+.sp
+\fBnosuid\fR is equivalent to \fBnosetuid\fR and \fBnodevices\fR. When
+\fBsuid\fR or \fBnosuid\fR is combined with \fBsetuid\fR or \fBnosetuid\fR and
+\fBdevices\fR or \fBnodevices\fR, the most restrictive options take effect.
+.sp
+This option is highly recommended whenever the file system is shared using NFS
+with the \fBroot=\fIoption\fR\fR, because, without it, NFS clients could add
+\fBsetuid\fR programs to the server, or create devices that could open security
+holes.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overlay mount. Allow the file system to be mounted over an existing mount
+point, making the underlying file system inaccessible. If a mount is attempted
+on a pre-existing mount point without setting this flag, the mount will fail,
+producing the error "device busy".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mount the file system read-only.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRMounting and Unmounting a DVD Image Directly
+.sp
+.LP
+The following commands mount and unmount a DVD image.
+
+.sp
+.in +2
+.nf
+# \fBmount -F hsfs /images/solaris.iso /mnt/solaris-image\fR
+# \fBumount /mnt/solaris-image\fR
+.fi
+.in -2
+.sp
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBmount\fR and
+\fBumount\fR when encountering files greater than or equal to 2 Gbyte ( 2^31
+bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Table of mounted file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default local file system type. Default values can be set for the following
+flags in \fB/etc/default/fs\fR. For example: \fBLOCAL=ufs\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOCAL:\fR\fR
+.ad
+.sp .6
+.RS 4n
+The default partition for a command if no \fIFSType\fR is specified.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of default parameters for each file system.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlofiadm\fR(1M), \fBmount_cachefs\fR(1M), \fBmount_hsfs\fR(1M),
+\fBmount_nfs\fR(1M), \fBmount_pcfs\fR(1M), \fBmount_smbfs\fR(1M),
+\fBmount_tmpfs\fR(1M), \fBmount_udfs\fR(1M), \fBmount_ufs\fR(1M),
+\fBmountall\fR(1M), \fBumountall\fR(1M), \fBfcntl\fR(2), \fBmmap\fR(2),
+\fBmnttab\fR(4), \fBvfstab\fR(4), \fBattributes\fR( 5), \fBlargefile\fR(5),
+\fBprivileges\fR(5), \fBlofs\fR(7FS), \fBpcfs\fR(7FS)
+.SH NOTES
+.sp
+.LP
+If the directory on which a file system is to be mounted is a symbolic link,
+the file system is mounted on the directory to which the symbolic link refers,
+rather than on top of the symbolic link itself.
+.SH BUGS
+.sp
+.LP
+The \fBmount\fR \fB-p\fR output is incorrect for \fBcachefs\fR.
diff --git a/usr/src/man/man1m/mount_cachefs.1m b/usr/src/man/man1m/mount_cachefs.1m
new file mode 100644
index 0000000000..78c8178b56
--- /dev/null
+++ b/usr/src/man/man1m/mount_cachefs.1m
@@ -0,0 +1,277 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mount_cachefs 1M "18 Mar 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount_cachefs \- mount CacheFS file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBmount\fR \fB-F\fR cachefs [\fIgeneric_options\fR] \fB-o\fR backfstype=\fIfile_system_type\fR
+ [\fIspecific_options\fR]
+ [\fB-O\fR] \fIspecial\fR \fImount_point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The CacheFS-specific version of the \fBmount\fR command mounts a cached file
+system; if necessary, it NFS-mounts its back file system. It also provides a
+number of CacheFS-specific options for controlling the caching process. For
+more information regarding back file systems, refer to the \fI\fR.
+.sp
+.LP
+\fBmount_cachefs\fR cannot be used with replicated NFS mounts.
+\fBmount_cachefs\fR creates a pass through when used with an NFS version 4
+mount. No caching is performed.
+.SH OPTIONS
+.sp
+.LP
+To mount a CacheFS file system, use the generic \fBmount\fR command with the
+\fB-F\fR option followed by the argument \fBcachefs\fR.
+.sp
+.LP
+See \fBmount\fR(1M) for a list of supported \fIgeneric_options\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-o\fR\fB \fR\fIspecific_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify CacheFS file system specific options in a comma-separated list with no
+intervening spaces.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacdirmax=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that cached attributes are held for no more than \fIn\fR seconds
+after directory update. After \fIn\fR seconds, all directory information is
+purged from the cache. The default value is \fB30\fR seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacdirmin=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that cached attributes are held for at least \fIn\fR seconds after
+directory update. After \fIn\fR seconds, CacheFS checks to see if the directory
+modification time on the back file system has changed. If it has, all
+information about the directory is purged from the cache and new data is
+retrieved from the back file system. The default value is \fB30\fR seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacregmax=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that cached attributes are held for no more than \fIn\fR seconds
+after file modification. After \fIn\fR seconds, all file information is purged
+from the cache. The default value is \fB30\fR seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacregmin=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that cached attributes are held for at least \fIn\fR seconds after
+file modification. After \fIn\fR seconds, CacheFS checks to see if the file
+modification time on the back file system has changed. If it has, all
+information about the file is purged from the cache and new data is retrieved
+from the back file system. The default value is \fB30\fR seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBactimeo=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets \fBacregmin\fR, \fBacregmax\fR, \fBacdirmin\fR, and \fBacdirmax\fR to
+\fIn\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbackfstype=\fR\fIfile_system_type\fR\fR
+.ad
+.sp .6
+.RS 4n
+The file system type of the back file system (can be \fBnfs\fR or \fBhsfs\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbackpath=\fR\fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies where the back file system is already mounted. If this argument is
+not supplied, CacheFS determines a mount point for the back file system. The
+back file system must be read-only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcachedir=\fR\fIdirectory\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the cache directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcacheid=\fR\fIID\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIID\fR is a string specifying a particular instance of a cache. If you do not
+specify a cache ID, CacheFS will construct one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdemandconst\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verifies cache consistency only when explicitly requested, rather than the
+periodic checking that is done by default. A consistency check is requested by
+using the \fB-s\fR option of the \fBcfsadmin\fR(1M) command. This option is
+useful for back file systems that change infrequently, for example,
+\fB/usr/openwin\fR. \fBdemandconst\fR and \fBnoconst\fR are mutually exclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlocal-access\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the front file system to interpret the mode bits used for access
+checking instead of having the back file system verify access permissions. Do
+not use this argument with secure \fBNFS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoconst\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disables cache consistency checking. By default, periodic consistency checking
+is enabled. Specify \fBnoconst\fR only when you know that the back file system
+will not be modified. Trying to perform cache consistency check using
+\fBcfsadmin\fR \fB-s\fR will result in error. \fBdemandconst\fR and
+\fBnoconst\fR are mutually exclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwrite-around\fR | \fBnon-shared\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write modes for CacheFS. The \fBwrite-around\fR mode (the default) handles
+writes the same as \fBNFS\fR does; that is, writes are made to the back file
+system, and the affected file is purged from the cache. You can use the
+\fBnon-shared\fR mode when you are sure that no one else will be writing to the
+cached file system. In this mode, all writes are made to both the front and the
+back file system, and the file remains in the cache.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.RS 23n
+.rt
+Overlay mount. Allows the filesystem to be mounted over an existing mount
+point, making the underlying filesystem inaccessible. If a mount is attempted
+on a pre-existing mount point without setting this flag, mount will fail with
+the error: \fBmount \fR\fB-F\fR\fB cachefs: mount failed Device busy\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCacheFS-mounting a File System
+.sp
+.LP
+The following example CacheFS-mounts the file system \fBserver1:/user2\fR,
+which is already NFS-mounted on \fB/usr/abc\fR as \fB/xyz\fR.
+
+.sp
+.in +2
+.nf
+example# mount -F cachefs -o backfstype=nfs,backpath=/usr/abc,
+ cachedir=/cache1 server1:/user2 /xyz
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The lines similar to the following appear in the \fB/etc/mnttab\fR file after
+the \fBmount\fR command is executed:
+
+.sp
+.in +2
+.nf
+server1:/user2 /usr/abc nfs
+/usr/abc /cache1/xyz cachefs backfstype=nfs
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcfsadmin\fR(1M), \fBfsck_cachefs\fR(1M), \fBmount\fR(1M),
+\fBattributes\fR(5) \fI\fR
+.SH BUGS
+.sp
+.LP
+The output for the \fIgeneric_option\fR \fB-p\fR output is incorrect for
+\fBcachefs\fR.
diff --git a/usr/src/man/man1m/mount_hsfs.1m b/usr/src/man/man1m/mount_hsfs.1m
new file mode 100644
index 0000000000..fddccefd5c
--- /dev/null
+++ b/usr/src/man/man1m/mount_hsfs.1m
@@ -0,0 +1,297 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mount_hsfs 1M "29 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount_hsfs \- mount hsfs file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBmount\fR \fB-F\fR hsfs [\fIgeneric_options\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR] [\fB-O\fR ] \fIspecial\fR | \fImount_point\fR
+.fi
+
+.LP
+.nf
+\fBmount\fR \fB-F\fR hsfs [\fIgeneric_options\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR] [\fB-O\fR] \fIspecial\fR \fImount_point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmount\fR attaches an ISO 9660 filesystem (the High Sierra file system,
+\fBhsfs\fR, is a draft predecessor to ISO 9660, so the name reflects the
+filesystem's history) to the file system hierarchy at the \fImount_point\fR,
+which is the pathname of a directory. If \fImount_point\fR has any contents
+prior to the mount operation, these are hidden until the file system is
+unmounted.
+.sp
+.LP
+If \fBmount\fR is invoked with \fIspecial\fR or \fImount_point\fR as the
+only arguments, \fBmount\fR will search \fB/etc/vfstab\fR to fill in the
+missing arguments, including the \fIFSType-specific_options\fR; see
+\fBmount\fR(1M) for more details.
+.sp
+.LP
+The \fBhsfs\fR file system supports direct mounting of files containing the
+file system as well as block devices. See \fBmount\fR(1M) and
+\fBlofiadm\fR(1M).
+.sp
+.LP
+A file system conforming to ISO 9660 can contain extensions that allow it to
+overcome limitations of the original ISO 9660:1988 (version 1) standard. The
+following types of extensions are supported by \fBhsfs\fR:
+.sp
+.ne 2
+.mk
+.na
+\fBRock Ridge extensions\fR
+.ad
+.sp .6
+.RS 4n
+This is the preferred type of extension as it allows file attributes, name
+length, and types equivalent to those on other UNIX-style filesystems. Example
+of supported features are device special files, POSIX permissions, symbolic
+links, and filenames of up to 255 bytes in length. Rock Ridge extensions also
+remove the ISO9660:1988 restriction on maximum nesting depth for directories
+(eight levels). \fBhsfs\fR automatically detects the presence of Rock Ridge
+extensions and uses them, unless mount options are specified to disable the use
+of Rock Ridge or to use a different extension.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBISO9660:1999 (version 2) extensions\fR
+.ad
+.sp .6
+.RS 4n
+The first version of ISO9660, released in 1988, supported only uppercase ASCII
+filenames of no more than 31 characters in length. ISO9660 version 2, released
+in 1999, provides an extension that allows filenames of at least 207 bytes
+that can use UTF-8 characters and removes the limitation on the nesting depth
+for directories. Unlike Rock Ridge, it does not provide support for UNIX-style
+file types and file attributes. \fBhsfs\fR automatically detects this extension
+and will use it for filename lookup if no Rock Ridge extensions are found on
+the media.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBJoliet extensions\fR
+.ad
+.sp .6
+.RS 4n
+The Joliet extension was devised by Microsoft to allow Unicode (UCS-2) long
+filenames with CDROM-based media. It allows filename lengths of up to 110
+Unicode characters and does not support UNIX-style file types and attributes.
+\fBhsfs\fR falls back to using Joliet if such an extension is present and
+neither Rock Ridge nor ISO9660 version 2 extensions are found.
+.sp
+If filenames are longer than the 64 UCS-2 characters officially allowed by
+Microsoft (that is, 110 Unicode characters), they can translate to up to 330
+UTF-8 octets. Filenames that translate to more than 255 UTF-8 octets will be
+truncated.
+.RE
+
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+See \fBmount\fR(1M) for the list of supported options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBhsfs\fR file system specific options. If invalid options are
+specified, a warning message is printed and the invalid options are ignored.
+The following options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBglobal\fR | \fBnoglobal\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBglobal\fR is specified and supported on the file system, and the system
+in question is part of a cluster, the file system will be globally visible on
+all nodes of the cluster. If \fBnoglobal\fR is specified, the mount will not be
+globally visible. The default behavior is \fBnoglobal\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBro\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mount the file system read-only. This option is required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrr\fR | \fBnrr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable (\fBrr\fR) or disable (\fBnrr\fR) the use of Rock Ridge. \fBrr\fR is the
+default and need not be specified. If you use \fBnrr\fR and Rock Ridge
+extensions are present in the file system, ignore them and search for other
+available extensions or fall back to plain ISO9660.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvers2\fR | \fBnovers2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or disable the use of ISO9660 version 2 extensions. If \fBvers2\fR is
+specified and ISO9660 version 2 extensions are available, \fBhsfs\fR will use
+ISO9660 version 2 even if the file system contains the preferred Rock Ridge
+extensions as well. If \fBnovers2\fR is specified, it will fall back to using
+either Joliet extensions or plain ISO9660 even if ISO9660 version 2 extensions
+are available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBjoliet\fR | \fBnojoliet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or disable the use of Joliet extensions. If \fBjoliet\fR is specified
+and Joliet extensions are available, \fBhsfs\fR will use them even if the file
+system contains the preferred Rock Ridge and/or ISO9660 version 2 extensions.
+If \fBnojoliet\fR is specified, it will fall back to using plain ISO9660.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnotraildot\fR\fR
+.ad
+.sp .6
+.RS 4n
+File names on High Sierra file systems consist of a proper name and an
+extension separated by a '.' (dot) character. By default, the separating dot
+is always considered part of the file's name for all file access operations,
+even if there is no extension present. Specifying \fBnotraildot\fR makes it
+optional to specify the trailing dot to access a file whose name lacks an
+extension.
+.sp
+\fBExceptions:\fR This option is effective only on file systems for which Rock
+Ridge, ISO9660 version 2 or Joliet extensions are not active, either because
+they are not present on the CD-ROM, or they have been deliberately disabled via
+the \fBnrr\fR, \fBnovers2\fR and \fBnojoliet\fR option. If either extension is
+active, \fBhsfs\fR quietly ignores this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnomaplcase\fR\fR
+.ad
+.sp .6
+.RS 4n
+File names on High Sierra/ISO9660 CD-ROMs with no extensions present should be
+uppercase characters only. By default, \fBhsfs\fR maps file names read from a
+\fBnon-Rock Ridge\fR disk to all lowercase characters. \fBnomaplcase\fR turns
+off this mapping. The exceptions for \fBnotraildot\fR discussed above apply to
+\fBnomaplcase\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overlay mount. Allow the file system to be mounted over an existing mount
+point, making the underlying file system inaccessible. If a mount is attempted
+on a preexisting mount point without setting this flag, the mount will fail,
+producing the error: \f(CWdevice busy\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRMounting and Unmounting a DVD Image Directly
+.sp
+.LP
+The following commands mount and unmount a DVD image.
+
+.sp
+.in +2
+.nf
+# \fBmount -F hsfs /images/solaris.iso /mnt/solaris-image\fR
+# \fBumount /mnt/solaris-image\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+table of mounted file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+list of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlofiadm\fR(1M), \fBmount\fR(1M), \fBmountall\fR(1M), \fBmount\fR(2),
+\fBmnttab\fR(4), \fBvfstab\fR(4), \fBattributes \fR(5)
+.SH NOTES
+.sp
+.LP
+If the directory on which a file system is to be mounted is a symbolic link,
+the file system is mounted on the directory to which the symbolic link refers,
+rather than on top of the symbolic link itself.
diff --git a/usr/src/man/man1m/mount_nfs.1m b/usr/src/man/man1m/mount_nfs.1m
new file mode 100644
index 0000000000..83cd0783c1
--- /dev/null
+++ b/usr/src/man/man1m/mount_nfs.1m
@@ -0,0 +1,968 @@
+'\" te
+.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mount_nfs 1M "26 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount_nfs \- mount remote NFS resources
+.SH SYNOPSIS
+.LP
+.nf
+\fBmount\fR [\fB-F\fR nfs] [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR] [\fB-O\fR] \fIresource\fR
+.fi
+
+.LP
+.nf
+\fBmount\fR [\fB-F\fR nfs] [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR] [\fB-O\fR] \fImount_point\fR
+.fi
+
+.LP
+.nf
+\fBmount\fR [\fB-F\fR nfs] [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fB-O\fR] \fIresource\fR \fImount_point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmount\fR utility attaches a named \fIresource\fR to the file system
+hierarchy at the pathname location \fImount_point\fR, which must already exist.
+If \fImount_point\fR has any contents prior to the \fBmount\fR operation, the
+contents remain hidden until the \fIresource\fR is once again unmounted.
+.sp
+.LP
+\fBmount_nfs\fR starts the \fBlockd\fR(1M) and \fBstatd\fR(1M) daemons if they
+are not already running.
+.sp
+.LP
+If the resource is listed in the \fB/etc/vfstab\fR file, the command line can
+specify either \fIresource\fR or \fImount_point\fR, and \fBmount\fR consults
+\fB/etc/vfstab\fR for more information. If the \fB-F\fR option is omitted,
+\fBmount\fR takes the file system type from \fB/etc/vfstab\fR.
+.sp
+.LP
+If the resource is not listed in the \fB/etc/vfstab\fR file, then the command
+line must specify both the \fIresource\fR and the \fImount_point\fR.
+.sp
+.LP
+\fIhost\fR can be an IPv4 or IPv6 address string. As IPv6 addresses already
+contain colons, enclose \fIhost\fR in a pair of square brackets when specifying
+an IPv6 address string. Otherwise the first occurrence of a colon can be
+interpreted as the separator between the host name and path, for example,
+\fB[1080::8:800:200C:417A]:tmp/file\fR. See \fBinet\fR(7P) and \fBinet6\fR(7P).
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhost\fR:\fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Where \fIhost\fR is the name of the \fBNFS\fR server host, and \fIpathname\fR
+is the path name of the directory on the server being mounted. The path name is
+interpreted according to the server's path name parsing rules and is not
+necessarily slash-separated, though on most servers, this is the case.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInfs\fR://\fIhost\fR[:\fIport\fR]/\fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+This is an \fBNFS\fR \fBURL\fR and follows the standard convention for
+\fBNFS\fR \fBURL\fRs as described in \fINFS URL Scheme\fR, RFC 2224. See the
+discussion of \fBURL\fR's and the public option under \fBNFS FILE SYSTEMS\fR
+for a more detailed discussion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhost\fR:\fIpathname\fR
+\fInfs\fR://\fIhost\fR[:\fIport\fR]/\fIpathname\fR\fR
+.ad
+.br
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+\fIhost\fR:\fIpathname\fR is a comma-separated list of
+\fIhost\fR:\fIpathname\fR.
+.sp
+See the discussion of replicated file systems and failover under \fBNFS FILE
+SYSTEMS\fR for a more detailed discussion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhostlist\fR \fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIhostlist\fR is a comma-separated list of hosts.
+.sp
+See the discussion of replicated file systems and failover under \fBNFS FILE
+SYSTEMS\fR for a more detailed discussion.
+.RE
+
+.sp
+.LP
+The \fBmount\fR command maintains a table of mounted file systems in
+\fB/etc/mnttab\fR, described in \fBmnttab\fR(4).
+.sp
+.LP
+\fBmount_nfs\fR supports both NFSv3 and NFSv4 mounts. The default NFS version
+is NFSv4.
+.SH OPTIONS
+.sp
+.LP
+See \fBmount\fR(1M) for the list of supported \fIgeneric_options\fR. See
+\fBshare_nfs\fR(1M) for a description of server options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set file system specific options according to a comma-separated list with no
+intervening spaces.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacdirmax=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hold cached attributes for no more than \fIn\fR seconds after directory update.
+The default value is \fB60\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacdirmin=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hold cached attributes for at least \fIn\fR seconds after directory update. The
+default value is \fB30\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacregmax=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hold cached attributes for no more than \fIn\fR seconds after file
+modification. The default value is \fB60\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacregmin=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hold cached attributes for at least \fIn\fR seconds after file modification.
+The default value is \fB3\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBactimeo=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set \fImin\fR and \fImax\fR times for regular files and directories to \fIn\fR
+seconds. See "File Attributes," below, for a description of the effect of
+setting this option to \fB0\fR.
+.sp
+See "Specifying Values for Attribute Cache Duration Options," below, for a
+description of how \fBacdirmax\fR, \fBacdirmin\fR, \fBacregmax\fR,
+\fBacregmin\fR, and \fBactimeo\fR are parsed on a \fBmount\fR command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbg\fR | \fBfg\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the first attempt fails, retry in the background, or, in the foreground. The
+default is \fBfg\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBforcedirectio\fR | \fBnoforcedirectio\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBforcedirectio\fR is specified, then for the duration of the mount, forced
+direct \fBI/O\fR is used. If the filesystem is mounted using
+\fBforcedirectio\fR, data is transferred directly between client and server,
+with no buffering on the client. If the filesystem is mounted using
+\fBnoforcedirectio\fR, data is buffered on the client. \fBforcedirectio\fR is a
+performance option that is of benefit only in large sequential data transfers.
+The default behavior is \fBnoforcedirectio\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgrpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, the \fBGID\fR associated with a newly created file obeys the System
+V semantics; that is, the \fBGID\fR is set to the effective \fBGID\fR of the
+calling process. This behavior can be overridden on a per-directory basis by
+setting the set-GID bit of the parent directory; in this case, the \fBGID\fR of
+a newly created file is set to the \fBGID\fR of the parent directory (see
+\fBopen\fR(2) and \fBmkdir\fR(2)). Files created on file systems that are
+mounted with the \fBgrpid\fR option obeys \fBBSD\fR semantics independent of
+whether the set-GID bit of the parent directory is set; that is, the \fBGID\fR
+is unconditionally inherited from that of the parent directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhard\fR | \fBsoft\fR\fR
+.ad
+.sp .6
+.RS 4n
+Continue to retry requests until the server responds (\fBhard\fR) or give up
+and return an error (\fBsoft\fR). The default value is \fBhard\fR. Note that
+NFSv4 clients do not support soft mounts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBintr\fR | \fBnointr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow (do not allow) keyboard interrupts to kill a process that is hung while
+waiting for a response on a hard-mounted file system. The default is
+\fBintr\fR, which makes it possible for clients to interrupt applications that
+can be waiting for a remote mount.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoac\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress data and attribute caching. The data caching that is suppressed is the
+write-behind. The local page cache is still maintained, but data copied into it
+is immediately written to the server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnocto\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not perform the normal close-to-open consistency. When a file is closed, all
+modified data associated with the file is flushed to the server and not held on
+the client. When a file is opened the client sends a request to the server to
+validate the client's local caches. This behavior ensures a file's consistency
+across multiple NFS clients. When \fB-nocto\fR is in effect, the client does
+not perform the flush on close and the request for validation, allowing the
+possiblity of differences among copies of the same file as stored on multiple
+clients.
+.sp
+This option can be used where it can be guaranteed that accesses to a specified
+file system are made from only one client and only that client. Under such a
+condition, the effect of \fB-nocto\fR can be a slight performance gain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBport=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+The server \fBIP\fR port number. The default is \fBNFS_PORT\fR. If the
+\fBport\fR option is specified, and if the resource includes one or more
+\fBNFS\fR \fBURL\fRs, and if any of the \fBURL\fRs include a \fBport\fR number,
+then the \fBport\fR number in the option and in the \fBURL\fR must be the same.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBposix\fR\fR
+.ad
+.sp .6
+.RS 4n
+Request \fBPOSIX.1\fR semantics for the file system. Requires a mount Version 2
+\fBmountd\fR(1M) on the server. See \fBstandards\fR(5) for information
+regarding POSIX.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproto=\fR\fInetid\fR | \fBrdma\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, the transport protocol that the NFS mount uses is the first
+available RDMA transport supported both by the client and the server. If no
+RDMA transport is found, then it attempts to use a TCP transport or, failing
+that, a UDP transport, as ordered in the \fB/etc/netconfig\fR file. If it does
+not find a connection oriented transport, it uses the first available
+connectionless transport.
+.sp
+Use this option to override the default behavior.
+.sp
+\fBproto\fR is set to the value of \fInetid\fR or \fBrdma\fR. \fInetid\fR is
+the value of the \fBnetwork_id\fR field entry in the \fB/etc/netconfig\fR file.
+.sp
+The UDP protocol is not supported for NFS Version 4. If you specify a UDP
+protocol with the \fBproto\fR option, NFS version 4 is not used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpublic\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBpublic\fR option forces the use of the public file handle when
+connecting to the \fBNFS\fR server. The resource specified might not have an
+\fBNFS\fR \fBURL\fR. See the discussion of \fBURL\fRs and the public option
+under \fBNFS FILE SYSTEMS\fR for a more detailed discussion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquota\fR | \fBnoquota\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or prevent \fBquota\fR(1M) to check whether the user is over quota on
+this file system; if the file system has quotas enabled on the server, quotas
+are still checked for operations on this file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remounts a read-only file system as read-write (using the \fBrw\fR option).
+This option cannot be used with other \fB-o\fR options, and this option works
+only on currently mounted read-only file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBretrans=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the number of \fBNFS\fR retransmissions to \fIn\fR. The default value is
+\fB5\fR. For connection-oriented transports, this option has no effect because
+it is assumed that the transport performs retransmissions on behalf of NFS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBretry=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times to retry the \fBmount\fR operation. The default for the
+\fBmount\fR command is \fB10000\fR.
+.sp
+The default for the automounter is \fB0\fR, in other words, do not retry. You
+might find it useful to increase this value on heavily loaded servers, where
+automounter traffic is dropped, causing unnecessary server not responding
+errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrsize=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the read buffer size to a maximum of \fIn\fR bytes. The default value is
+\fB1048576\fR when using connection-orientated transports with Version 3 or
+Version 4 of the \fBNFS\fR protocol, and \fB32768\fR when using connection-less
+transports. The default can be negotiated down if the server prefers a smaller
+transfer size. "\fBRead\fR" operations may not necessarily use the maximum
+buffer size. When using Version 2, the default value is \fB32768\fR for all
+transports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsec=\fR\fImode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the security \fImode\fR for \fBNFS\fR transactions. If \fBsec=\fR is not
+specified, then the default action is to use \fBAUTH_SYS\fR over \fBNFS\fR
+Version 2 mounts, use a user-configured default \fBauth\fR over NFS version 3
+mounts, or to negotiate a mode over Version 4 mounts.
+.sp
+The preferred mode for NFS Version 3 mounts is the default mode specified in
+\fB/etc/nfssec.conf\fR (see \fBnfssec.conf\fR(4)) on the client. If there is no
+default configured in this file or if the server does not export using the
+client's default mode, then the client picks the first mode that it supports in
+the array of modes returned by the server. These alternatives are limited to
+the security flavors listed in \fB/etc/nfssec.conf\fR.
+.sp
+NFS Version 4 mounts negotiate a security mode when the server returns an array
+of security modes. The client attempts the mount with each security mode, in
+order, until one is successful.
+.sp
+Only one mode can be specified with the \fBsec=\fR option. See \fBnfssec\fR(5)
+for the available \fImode\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsecure\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option has been deprecated in favor of the \fBsec=\fR\fIdh\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtimeo=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the \fBNFS\fR timeout to \fIn\fR tenths of a second. The default value is
+\fB11\fR tenths of a second for connectionless transports, and \fB600\fR tenths
+of a second for connection-oriented transports. This value is ignored for
+connectionless transports. Such transports might implement their own timeouts,
+which are outside the control of NFS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvers=\fR\fINFS version number\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, the version of \fBNFS\fR protocol used between the client and the
+server is the highest one available on both systems. The default maximum for
+the client is Version 4. This can be changed by setting the
+\fBNFS_CLIENT_VERSMAX\fR parameter in \fB/etc/default/nfs\fR to a valid version
+(2, 3, or 4). If the \fBNFS\fR server does not support the client's default
+maximum, the next lowest version attempted until a matching version is found.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwsize=\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the write buffer size to a maximum of \fIn\fR bytes. The default value is
+\fB1048576\fR when using connection-orientated transports with Version 3 or
+Version 4 of the \fBNFS\fR protocol, and \fB32768\fR when using connection-less
+transports. The default can be negotiated down if the server prefers a smaller
+transfer size. "\fBWrite\fR" operations may not necessarily use the maximum
+buffer size. When using Version 2, the default value is \fB32768\fR for all
+transports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxattr\fR | \fBnoxattr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or disallow the creation and manipulation of extended attributes. The
+default is \fBxattr\fR. See \fBfsattr\fR(5) for a description of extended
+attributes.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overlay mount. Allow the file system to be mounted over an existing mount
+point, making the underlying file system inaccessible. If a mount is attempted
+on a pre-existing mount point without setting this flag, the mount fails,
+producing the error "device busy."
+.RE
+
+.SH NFS FILE SYSTEMS
+.sp
+.ne 2
+.mk
+.na
+\fBBackground versus Foreground\fR
+.ad
+.sp .6
+.RS 4n
+File systems mounted with the \fBbg\fR option indicate that \fBmount\fR is to
+retry in the background if the server's mount daemon (\fBmountd\fR(1M)) does
+not respond. \fBmount\fR retries the request up to the count specified in the
+\fBretry=\fR\fIn\fR option. (Note that the default value for \fBretry\fR
+differs between \fBmount\fR and \fBautomount\fR. See the description of
+\fBretry\fR, above.) Once the file system is mounted, each \fBNFS\fR request
+made in the kernel waits \fBtimeo=\fR\fIn\fR tenths of a second for a response.
+If no response arrives, the time-out is multiplied by \fB2\fR and the request
+is retransmitted. When the number of retransmissions has reached the number
+specified in the \fBretrans=\fR\fIn\fR option, a file system mounted with the
+\fBsoft\fR option returns an error on the request; one mounted with the
+\fBhard\fR option prints a warning message and continues to retry the request.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBHard versus Soft\fR
+.ad
+.sp .6
+.RS 4n
+File systems that are mounted read-write or that contain executable files
+should always be mounted with the \fBhard\fR option. Applications using
+\fBsoft\fR mounted file systems can incur unexpected \fBI/O\fR errors, file
+corruption, and unexpected program core dumps. The soft option is not
+recommended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBAuthenticated requests\fR
+.ad
+.sp .6
+.RS 4n
+The server can require authenticated \fBNFS\fR requests from the client.
+\fBsec=\fR\fIdh\fR authentication might be required. See \fBnfssec\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBURLs and the public option\fR
+.ad
+.sp .6
+.RS 4n
+If the \fBpublic\fR option is specified, or if the \fIresource\fR includes and
+\fBNFS\fR \fBURL\fR, \fBmount\fR attempts to connect to the server using the
+public file handle lookup protocol. See \fIWebNFS Client Specification\fR, RFC
+2054. If the server supports the public file handle, the attempt is successful;
+\fBmount\fR does not need to contact the server's \fBrpcbind\fR(1M) and the
+\fBmountd\fR(1M) daemons to get the port number of the \fBmount\fR server and
+the initial file handle of \fIpathname\fR, respectively. If the \fBNFS\fR
+client and server are separated by a firewall that allows all outbound
+connections through specific ports, such as \fBNFS_PORT\fR, then this enables
+\fBNFS\fR operations through the firewall. The public option and the \fBNFS\fR
+\fBURL\fR can be specified independently or together. They interact as
+specified in the following matrix:
+.sp
+.in +2
+.nf
+ Resource Style
+
+ \fIhost\fR:\fIpathname\fR NFS URL
+
+public option Force public file Force public file
+ handle and fail handle and fail
+ mount if not supported. mount if not supported.
+
+ Use Native paths. Use Canonical paths.
+
+default Use MOUNT protocol. Try public file handle
+ with Canonical paths.
+ Fall back to MOUNT
+ protocol if not
+ supported.
+.fi
+.in -2
+
+A Native path is a path name that is interpreted according to conventions used
+on the native operating system of the \fBNFS\fR server. A Canonical path is a
+path name that is interpreted according to the \fBURL\fR rules. See \fIUniform
+Resource Locators (URL)\fR, RFC 1738. See for uses of Native and Canonical
+paths.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBReplicated file systems and failover\fR
+.ad
+.sp .6
+.RS 4n
+\fIresource\fR can list multiple read\(mionly file systems to be used to
+provide data. These file systems should contain equivalent directory structures
+and identical files. It is also recommended that they be created by a utility
+such as \fBrdist\fR(1). The file systems can be specified either with a
+comma\(miseparated list of \fIhost:/pathname\fR entries and/or \fBNFS\fR
+\fBURL\fR entries, or with a comma \(miseparated list of hosts, if all file
+system names are the same. If multiple file systems are named and the first
+server in the list is down, failover uses the next alternate server to access
+files. If the read\(mionly option is not chosen, replication is disabled. File
+access, for NFS Versions 2 and 3, is blocked on the original if NFS locks are
+active for that file.
+.RE
+
+.SS "File Attributes"
+.sp
+.LP
+To improve \fBNFS\fR read performance, files and file attributes are cached.
+File modification times get updated whenever a write occurs. However, file
+access times can be temporarily out-of-date until the cache gets refreshed.
+.sp
+.LP
+The attribute cache retains file attributes on the client. Attributes for a
+file are assigned a time to be flushed. If the file is modified before the
+flush time, then the flush time is extended by the time since the last
+modification (under the assumption that files that changed recently are likely
+to change soon). There is a minimum and maximum flush time extension for
+regular files and for directories. Setting \fBactimeo=\fR\fIn\fR sets flush
+time to \fIn\fR seconds for both regular files and directories.
+.sp
+.LP
+Setting \fBactimeo=0\fR disables attribute caching on the client. This means
+that every reference to attributes is satisfied directly from the server though
+file data is still cached. While this guarantees that the client always has the
+latest file attributes from the server, it has an adverse effect on performance
+through additional latency, network load, and server load.
+.sp
+.LP
+Setting the \fBnoac\fR option also disables attribute caching, but has the
+further effect of disabling client write caching. While this guarantees that
+data written by an application is written directly to a server, where it can be
+viewed immediately by other clients, it has a significant adverse effect on
+client write performance. Data written into memory-mapped file pages
+(\fBmmap\fR(2)) are not written directly to this server.
+.SS "Specifying Values for Attribute Cache Duration Options"
+.sp
+.LP
+The attribute cache duration options are \fBacdirmax\fR, \fBacdirmin\fR,
+\fBacregmax\fR, \fBacregmin\fR, and \fBactimeo\fR, as described under OPTIONS.
+A value specified for \fBactimeo\fR sets the values of all attribute cache
+duration options except for any of these options specified following
+\fBactimeo\fR on a \fBmount\fR command line. For example, consider the
+following command:
+.sp
+.in +2
+.nf
+example# mount -o acdirmax=10,actimeo=1000 server:/path /localpath
+.fi
+.in -2
+
+.sp
+.LP
+Because \fBactimeo\fR is the last duration option in the command line, its
+value (\fB1000\fR) becomes the setting for all of the duration options,
+including \fBacdirmax\fR. Now consider:
+.sp
+.in +2
+.nf
+example# mount -o actimeo=1000,acdirmax=10 server:/path /localpath
+.fi
+.in -2
+
+.sp
+.LP
+Because the \fBacdirmax\fR option follows \fBactimeo\fR on the command line, it
+is assigned the value specified (\fB10\fR). The remaining duration options are
+set to the value of \fBactimeo\fR (\fB1000\fR).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRMounting an \fBNFS\fR File System
+.sp
+.LP
+To mount an \fBNFS\fR file system:
+
+.sp
+.in +2
+.nf
+example# mount serv:/usr/src /usr/src
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRMounting An \fBNFS\fR File System Read-Only With No suid
+Privileges
+.sp
+.LP
+To mount an \fBNFS\fR file system read-only with no suid privileges:
+
+.sp
+.in +2
+.nf
+example# mount -r -o nosuid serv:/usr/src /usr/src
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRMounting An \fBNFS\fR File System Over Version 2, with the UDP
+Transport
+.sp
+.LP
+To mount an \fBNFS\fR file system over Version 2, with the UDP transport:
+
+.sp
+.in +2
+.nf
+example# mount -o vers=2,proto=udp serv:/usr/src /usr/src
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRMounting an \fBNFS\fR File System Using An \fBNFS\fR \fBURL\fR
+.sp
+.LP
+To mount an \fBNFS\fR file system using an \fBNFS\fR \fBURL\fR (a canonical
+path):
+
+.sp
+.in +2
+.nf
+example# mount nfs://serv/usr/man /usr/man
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRMounting An \fBNFS\fR File System Forcing Use Of The Public
+File Handle
+.sp
+.LP
+To mount an \fBNFS\fR file system and force the use of the public file handle
+and an \fBNFS\fR \fBURL\fR (a canonical path) that has a non 7-bit ASCII escape
+sequence:
+
+.sp
+.in +2
+.nf
+example# mount -o public nfs://serv/usr/%A0abc /mnt/test
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRMounting an \fBNFS\fR File System Using a Native Path
+.sp
+.LP
+To mount an \fBNFS\fR file system using a native path (where the server uses
+colons (":") as the component separator) and the public file handle:
+
+.sp
+.in +2
+.nf
+example# mount -o public serv:C:doc:new /usr/doc
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRMounting a Replicated Set of \fBNFS\fR File Systems with the
+Same Pathnames
+.sp
+.LP
+To mount a replicated set of \fBNFS\fR file systems with the same pathnames:
+
+.sp
+.in +2
+.nf
+example# mount serv\(mia,serv\(mib,serv\(mic:/usr/man /usr/man
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRMounting a Replicated Set of \fBNFS\fR File Systems with
+Different Pathnames
+.sp
+.LP
+To mount a replicated set of \fBNFS\fR file systems with different pathnames:
+
+.sp
+.in +2
+.nf
+example# mount serv\(mix:/usr/man,serv\(miy:/var/man,nfs://serv-z/man /usr/man
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+table of mounted file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.sp .6
+.RS 4n
+default distributed file system type
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+table of automatically mounted resources
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBrdist\fR(1), \fBlockd\fR(1M), \fBmountall\fR(1M), \fBmountd\fR(1M),
+\fBnfsd\fR(1M), \fBquota\fR(1M), \fBstatd\fR(1M), \fBmkdir\fR(2),
+\fBmmap\fR(2), \fBmount\fR(2), \fBopen\fR(2), \fBumount\fR(2), \fBmnttab\fR(4),
+\fBnfs\fR(4), \fBnfssec.conf\fR(4), \fBattributes\fR(5), \fBfsattr\fR(5),
+\fBnfssec\fR(5), \fBstandards\fR(5), \fBinet\fR(7P), \fBinet6\fR(7P),
+\fBlofs\fR(7FS)
+.sp
+.LP
+Callaghan, Brent, \fIWebNFS Client Specification\fR, RFC 2054, October 1996.
+.sp
+.LP
+Callaghan, Brent, \fINFS URL Scheme\fR, RFC 2224, October 1997.
+.sp
+.LP
+Berners-Lee, Masinter & McCahill , \fIUniform Resource Locators (URL)\fR, RFC
+1738, December 1994.
+.SH NOTES
+.sp
+.LP
+An \fBNFS\fR server should not attempt to mount its own file systems. See
+\fBlofs\fR(7FS).
+.sp
+.LP
+If the directory on which a file system is to be mounted is a symbolic link,
+the file system is mounted on \fBthe directory to which the symbolic link
+refers,\fR rather than being mounted on top of the symbolic link itself.
+.sp
+.LP
+SunOS 4.x used the \fBbiod\fR maintenance procedure to perform parallel
+read-ahead and write-behind on \fBNFS\fR clients. SunOS 5.x made \fBbiod\fR
+obsolete with multi-threaded processing, which transparently performs parallel
+read-ahead and write-behind.
+.sp
+.LP
+Since the root \fB(\fR/\fB)\fR file system is mounted read-only by the kernel
+during the boot process, only the \fBremount\fR option (and options that can be
+used in conjunction with \fBremount\fR) affect the root (\fB/\fR) entry in the
+\fB/etc/vfstab\fR file.
+.sp
+.LP
+\fBmount_cachefs\fR cannot be used with replicated NFS mounts or any NFS
+Version 4 mount.
+.sp
+.LP
+The NFS client service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nfs/client:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/mount_pcfs.1m b/usr/src/man/man1m/mount_pcfs.1m
new file mode 100644
index 0000000000..61b5f0f55d
--- /dev/null
+++ b/usr/src/man/man1m/mount_pcfs.1m
@@ -0,0 +1,204 @@
+'\" te
+.\" Based on mount_hsfs(1M), which is Copyright 1989 AT&T Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mount_pcfs 1M "12 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount_pcfs \- mount pcfs file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBmount\fR \fB-F\fR pcfs [\fIgeneric_options\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR] \fIspecial\fR | \fImount_point\fR
+.fi
+
+.LP
+.nf
+\fBmount\fR \fB-F\fR pcfs [\fIgeneric_options\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR] \fIspecial\fR \fImount_point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmount\fR attaches an \fBMS-DOS\fR file system (\fBpcfs\fR) to the file
+system hierarchy at the \fImount_point\fR, which is the pathname of a
+directory. If \fImount_point\fR has any contents prior to the \fBmount\fR
+operation, these are hidden until the file system is unmounted.
+.sp
+.LP
+The \fBpcfs\fR file system supports direct mounting of files containing the
+file system as well as block devices. See \fBmount\fR(1M) and
+\fBlofiadm\fR(1M).
+.sp
+.LP
+If \fBmount\fR is invoked with \fIspecial\fR or \fImount_point\fR as the only
+arguments, \fBmount\fR will search \fB/etc/vfstab\fR to fill in the missing
+arguments, including the \fIFSType-specific_options\fR; see \fBmount\fR(1M) for
+more details.
+.sp
+.LP
+The \fIspecial\fR argument can be one of two special device file types:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A floppy disk, such as \fB/dev/diskette0\fR or \fB/dev/diskette1\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A DOS logical drive on a hard disk expressed as
+\fIdevice-name\fR\fB:\fR\fIlogical-drive\fR , where \fIdevice-name\fR specifies
+the special block device-file for the whole disk and \fIlogical-drive\fR is
+either a drive letter (c through z) or a drive number (1 through 24). Examples
+are \fB/dev/dsk/c0t0d0p0:\fR\fIc\fR and \fB/dev/dsk/c0t0d0p0:\fR\fI1\fR.
+.RE
+.sp
+.LP
+The \fIspecial\fR device file type must have a formatted \fBMS-DOS\fR file
+system with either a 12-bit, 16-bit, or 32-bit File Allocation Table.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+See \fBmount\fR(1M) for the list of supported options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBpcfs\fR file system-specific options. The following options are
+supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclamptime\fR | \fBnoclamptime\fR\fR
+.ad
+.sp .6
+.RS 4n
+File timestamps in \fBpcfs\fR cover a range between January 1st 1980 and
+December 31st 2127. This is not equal to the range of \fBtime_t\fR on Unix for
+either 32-bit or 64-bit applications. In particular, 32-bit applications fail
+with \fBEOVERFLOW\fR errors on the \fBstat\fR(2) system call when timestamps
+beyond the range of 32-bit \fBtime_t\fR are encountered. In order to prevent
+such spurious failures, \fBpcfs\fR by default clamps timestamps to the common
+subset of possible \fBpcfs\fR timestamps and the range available to 32-bit
+applications in Unix. The \fBclamptime\fR mount option therefore is active by
+default. If you want access to the full range of possible timestamps on
+\fBpcfs\fR, mount the file system with the \fBnoclamptime\fR mount option. Note
+that if \fBnoclamptime\fR is used, only 64-bit applications will have access to
+timestamps beyond January 19th 2038, 03:14:06 UTC; 32-bit applications will
+encounter \fBEOVERFLOW\fR errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfoldcase\fR | \fBnofoldcase\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force uppercase characters in filenames to lowercase when reading them from the
+filesystem. This is for compatibility with the previous behavior of \fBpcfs\fR.
+The default is \fBnofoldcase\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhidden\fR | \fBnohidden\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or disallow listing of files with hidden or system bits set. Option
+\fBhidden\fR is the default. When \fBnohidden\fR is effect, hidden and system
+files are neither visible nor accessible. Note that PCFS in previous releases
+of the Solaris operating system used the \fBnohidden\fR option as the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBatime\fR | \fBnoatime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or disable write access timestamps on DOS-formatted media. Default for
+fixed disks is \fBatime\fR, while for removable media \fBnoatime\fR is used.
+The latter default is so that writes to flash-based media ("memory sticks") can
+be minimized, to prolong lifetime.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtimezone=\fItimezone\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Timestamps on DOS-formatted media are recorded in the local time of the
+recording system. This can cause confusion when accessing removable media in
+which the recording and receiving system use different time zones. Use this
+option to force media timestamps to be interpreted for a specific time zone.
+The \fBmount_pcfs\fR command converts the given time zone name into a numerical
+offset that is passed to the \fBpcfs\fR kernel module, using the same rules as
+described in \fBenviron\fR(5) for the \fBTZ\fR environment variable. By
+default, the \fBtimezone\fR value is taken from the \fBTZ\fR environment
+variable.
+.RE
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+table of mounted file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+list of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlofiadm\fR(1M), \fBmount\fR(1M), \fBmountall\fR(1M), \fBmount\fR(2),
+\fBstat\fR(2), \fBtime\fR(2), \fBmnttab\fR(4), \fBvfstab\fR(4), \fBattributes
+\fR(5), \fBenviron\fR(5), \fBpcfs\fR(7FS)
+.SH NOTES
+.sp
+.LP
+If the directory on which a file system is to be mounted is a symbolic link,
+the file system is mounted on the directory to which the symbolic link refers,
+rather than on top of the symbolic link itself.
diff --git a/usr/src/man/man1m/mount_smbfs.1m b/usr/src/man/man1m/mount_smbfs.1m
new file mode 100644
index 0000000000..142ed50520
--- /dev/null
+++ b/usr/src/man/man1m/mount_smbfs.1m
@@ -0,0 +1,526 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" Portions Copyright 1994-2008 The FreeBSD Project. All rights reserved.
+.\" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
+.\" the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.THIS SOFTWARE IS PROVIDED
+.\" BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.TH mount_smbfs 1M "31 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount_smbfs, umount_smbfs \- mount and unmount a shared resource from a CIFS
+file server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/mount\fR [\fB-F smbfs\fR] [\fIgeneric-options\fR] [\fB-o\fR \fIname\fR\fB=\fR\fIvalue\fR] [\fB-O\fR] \fIresource\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/mount\fR [\fB-F smbfs\fR] [\fIgeneric-options\fR] [\fB-o\fR \fIname\fR\fB=\fR\fIvalue\fR] [\fB-O\fR] \fImount-point\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/mount\fR [\fB-F smbfs\fR] [\fIgeneric-options\fR] [\fB-o\fR \fIname\fR\fB=\fR\fIvalue\fR]
+ [\fB-O\fR] \fIresource\fR \fImount-point\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/umount\fR [\fB-F smbfs\fR] [\fIgeneric-options\fR] \fImount-point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmount\fR utility attaches a named resource, \fIresource\fR, to the file
+system hierarchy at the path name location, \fImount-point\fR, which must
+already exist.
+.sp
+.LP
+If \fImount-point\fR has any contents prior to the \fBmount\fR operation, those
+contents remain hidden until the resource is unmounted. An authorized user with
+the \fBSYS_MOUNT\fR privilege can perform a \fBmount\fR operation. Also, a user
+can perform SMBFS mount operations on a directory the user owns.
+.sp
+.LP
+If the resource is listed in the \fB/etc/vfstab\fR file, you can specify either
+\fIresource\fR or \fImount-point\fR as the \fBmount\fR command will consult the
+\fB/etc/vfstab\fR file for more information. If the \fB-F\fR option is omitted,
+\fBmount\fR takes the file system type from the entry in the \fB/etc/vfstab\fR
+file.
+.sp
+.LP
+If the resource is not listed in the \fB/etc/vfstab\fR file, the command line
+must specify both \fIresource\fR and \fImount-point\fR.
+.sp
+.LP
+The \fBumount\fR utility detaches a mounted file system from the file system
+hierarchy. An authorized user with the \fBSYS_MOUNT\fR privilege can perform a
+\fBumount\fR operation. Also, a user can perform SMBFS unmount operations on a
+directory the user owns.
+.sp
+.LP
+The \fBnetwork/smb/client\fR service must be enabled to successfully mount a
+CIFS share. This service is enabled, by default.
+.sp
+.LP
+To enable the service, enter the following \fBsvcadm\fR(1M) command:
+.sp
+.in +2
+.nf
+# \fBsvcadm enable network/smb/client\fR
+.fi
+.in -2
+.sp
+
+.SS "Operands"
+.sp
+.LP
+The \fBmount\fR command supports the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIresource\fR
+//[\fIworkgroup\fR;][\fIuser\fR[:\fIpassword\fR]@]\fIserver\fR/\fIshare\fR\fR
+.ad
+.sp .6
+.RS 4n
+.sp
+.LP
+The name of the resource to be mounted. In addition to its name, you can
+specify the following information about the resource:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIpassword\fR is the password associated with \fIuser\fR. If \fIpassword\fR is
+not specified, the mount first attempts to use the password stored by the
+\fBsmbutil login\fR command (if any). If that password fails to authenticate,
+the \fBmount_smbfs\fR prompts you for a password.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIserver\fR is the DNS or NetBIOS name of the remote computer.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIshare\fR is the resource name on the remote server.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIuser\fR is the remote user name. If \fIuser\fR is omitted, the logged in
+user ID is used.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIworkgroup\fR is the name of the workgroup or the Windows domain in which the
+user name is defined.
+.sp
+If the resource includes a workgroup, you must escape the semicolon that
+appears after the workgroup name to prevent it from being interpreted by the
+command shell. For instance, surround the entire resource name with double
+quotes: \fBmount -F smbfs "//SALES;george@RSERVER" /mnt\fR.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImount-point\fR\fR
+.ad
+.sp .6
+.RS 4n
+The path to the location where the file system is to be mounted or unmounted.
+The \fBmount\fR command maintains a table of mounted file systems in the
+\fB/etc/mnttab\fR file. See the \fBmnttab\fR(4) man page.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+See the \fBmount\fR(1M) man page for the list of supported
+\fIgeneric-options\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIname\fR\fB=\fR\fIvalue\fR or\fR
+.ad
+.br
+.na
+\fB\fB-o\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the file system-specific properties. You can specify more than one
+name-value pair as a list of comma-separated pairs. No spaces are permitted in
+the list. The properties are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdirperms=\fR\fIoctaltriplet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the permissions to be assigned to directories. The value must be
+specified as an octal triplet, such as \fB755\fR. The default value for the
+directory mode is taken from the \fBfileperms\fR setting, with execute
+permission added where \fBfileperms\fR has read permission.
+.sp
+Note that these permissions have no relation to the rights granted by the CIFS
+server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfileperms=\fR\fIoctaltriplet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the permissions to be assigned to files. The value must be specified
+as an octal triplet, such as \fB644\fR. The default value is \fB700\fR.
+.sp
+Note that these permissions have no relation to the rights granted by the CIFS
+server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgid=\fR\fIgroupid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Assigns the specified group ID to files. The default value is the group ID of
+the directory where the volume is mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBintr\fR|\fBnointr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable (or disable) cancellation of \fBsmbfs\fR(7FS) I/O operations when the
+user interrupts the calling thread (for example, by hitting Ctrl-C while an
+operation is underway). The default is \fBintr\fR (interruption enabled), so
+cancellation is normally allowed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoprompt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppresses the prompting for a password when mounting a share. This property
+enables you to permit anonymous access to a share. Anonymous access does not
+require a password.
+.sp
+The \fBmount\fR operation fails if a password is required, the \fBnoprompt\fR
+property is set, and no password is stored by the \fBsmbutil login\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBretry_count=\fR\fInumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of SMBFS retries to attempt before the connection is
+marked as broken. By default, 4 attempts are made.
+.sp
+The \fBretry_count\fR property value set by the \fBmount\fR command overrides
+the global value set in SMF or the value set in your \fB\&.nsmbrc\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtimeout=\fR\fIseconds\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the CIFS request timeout. By default, the timeout is 15 seconds.
+.sp
+The \fBtimeout\fR property value set by the \fBmount\fR command overrides the
+global value set in SMF or the value set in your \fB\&.nsmbrc\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuid=\fR\fIuserid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Assigns the specified user ID files. The default value is the owner ID of the
+directory where the volume is mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxattr\fR|\fBnoxattr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable (or disable) Solaris Extended Attributes in this mount point. This
+option defaults to \fBxattr\fR (enabled Extended Attributes), but note: if the
+CIFS server does not support CIFS "named streams", \fBsmbfs\fR(7FS) forces this
+option to \fBnoxattr\fR. When a mount has the \fBnoxattr\fR option, attempts to
+use Solaris Extended attributes fail with EINVAL.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overlays mount. Allow the file system to be mounted over an existing mount
+point, making the underlying file system inaccessible. If a mount is attempted
+on a pre-existing mount point without setting this flag, the mount fails,
+producing the error "device busy."
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRMounting an SMBFS Share
+.sp
+.LP
+The following example shows how to mount the \fB/tmp\fR share from the
+\fBnano\fR server in the \fBSALES\fR workgroup on the local \fB/mnt\fR mount
+point. You must supply the password for the \fBroot\fR user to successfully
+perform the mount operation.
+
+.sp
+.in +2
+.nf
+# \fBmount -F smbfs "//SALES;root@nano.sfbay/tmp" /mnt\fR
+Password:
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRVerifying That an SMBFS File System Is Mounted
+.sp
+.LP
+The following example shows how to mount the \fB/tmp\fR share from the
+\fBnano\fR server on the local \fB/mnt\fR mount point. You must supply the
+password for the \fBroot\fR user to successfully perform the mount operation.
+
+.sp
+.in +2
+.nf
+# \fBmount -F smbfs //root@nano.sfbay/tmp /mnt\fR
+Password:
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+You can verify that the share is mounted in the following ways:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+View the file system entry in the \fB/etc/mnttab\fR file.
+.sp
+.in +2
+.nf
+# \fBgrep root /etc/mnttab\fR
+//root@nano.sfbay/tmp /mnt smbfs dev=4900000 1177097833
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+View the output of the \fBmount\fR command.
+.sp
+.in +2
+.nf
+# \fBmount | grep root\fR
+/mnt on //root@nano.sfbay/tmp read/write/setuid/devices/dev=4900000 on
+Fri Apr 20 13:37:13 2007
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+View the output of the \fBdf /mnt\fR command.
+.sp
+.in +2
+.nf
+# \fBdf /mnt\fR
+/mnt (//root@nano.sfbay/tmp): 3635872 blocks -1 files
+.fi
+.in -2
+.sp
+
+.RE
+.sp
+.LP
+Obtain information about the mounted share by viewing the output of the \fBdf
+-k /mnt\fR command.
+
+.sp
+.in +2
+.nf
+# \fBdf -k /mnt\fR
+Filesystem kbytes used avail capacity Mounted on
+//root@nano.sfbay/tmp
+ 1882384 64448 1817936 4% /mnt
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUnmounting a CIFS Share
+.sp
+.LP
+This example assumes that a CIFS share has been mounted on the \fB/mnt\fR mount
+point. The following command line unmounts the share from the mount point.
+
+.sp
+.in +2
+.nf
+# \fBumount /mnt\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Table of mounted file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default distributed file system type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Table of automatically mounted resources.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.nsmbrc\fR\fR
+.ad
+.sp .6
+.RS 4n
+User-settable mount point configuration file to store the description for each
+connection.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See the \fBattributes\fR(5) man page for descriptions of the following
+attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsmbutil\fR(1), \fBmount\fR(1M), \fBmountall\fR(1M), \fBsvcadm\fR(1M),
+\fBacl\fR(2), \fBfcntl\fR(2), \fBlink\fR(2), \fBmknod\fR(2), \fBmount\fR(2),
+\fBsymlink\fR(2), \fBumount\fR(2), \fBmnttab\fR(4), \fBnsmbrc\fR(4),
+\fBvfstab\fR(4), \fBattributes\fR(5), \fBpcfs\fR(7FS), \fBsmbfs\fR(7FS)
+.SH AUTHORS
+.sp
+.LP
+This manual page contains material originally authored by Boris Popov,
+\fBbpATbutya.kz\fR, \fBbpATFreeBSD.org\fR.
+.SH NOTES
+.sp
+.LP
+The Solaris CIFS client always attempts to use \fBgethostbyname()\fR to resolve
+host names. If the host name cannot be resolved, the CIFS client uses NetBIOS
+name resolution (NBNS). By default, the Solaris CIFS client permits the use of
+NBNS to enable Solaris CIFS clients in Windows environments to work without
+additional configuration.
+.sp
+.LP
+Since NBNS has been exploited in the past, you might want to disable it. To
+disable NBNS, set the \fBnbns-enabled\fR service management facility property
+to \fBfalse\fR. By default, \fBnbns-enabled\fR is set to \fBtrue\fR.
+.sp
+.LP
+If the directory on which a file system is to be mounted is a symbolic link,
+the file system is mounted on the directory to which the symbolic link refers,
+rather than being mounted on top of the symbolic link itself.
diff --git a/usr/src/man/man1m/mount_tmpfs.1m b/usr/src/man/man1m/mount_tmpfs.1m
new file mode 100644
index 0000000000..7e8c9b6b2b
--- /dev/null
+++ b/usr/src/man/man1m/mount_tmpfs.1m
@@ -0,0 +1,115 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mount_tmpfs 1M "24 Nov 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount_tmpfs \- mount tmpfs file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBmount\fR [\fB-F\fR tmpfs] [\fB-o\fR \fIspecific_options\fR] [\fB-O\fR] \fIspecial\fR \fImount_point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBtmpfs\fR is a memory based file system which uses kernel resources relating
+to the \fBVM\fR system and page cache as a file system.
+.sp
+.LP
+\fBmount\fR attaches a \fBtmpfs\fR file system to the file system hierarchy at
+the pathname location \fImount_point\fR, which must already exist. If
+\fImount_point\fR has any contents prior to the \fBmount\fR operation, these
+remain hidden until the file system is once again unmounted. The attributes
+(mode, owner, and group) of the root of the \fBtmpfs\fR filesystem are
+inherited from the underlying \fImount_point\fR, provided that those attributes
+are determinable. If not, the root's attributes are set to their default
+values.
+.sp
+.LP
+The \fIspecial\fR argument is usually specified as \fBswap\fR but is in fact
+disregarded and assumed to be the virtual memory resources within the system.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.RS 23n
+.rt
+Specify \fBtmpfs\fR file system specific options in a comma-separated list with
+no intervening spaces. If invalid options are specified, a warning message is
+printed and the invalid options are ignored. The following options are
+available:
+.sp
+.ne 2
+.mk
+.na
+\fBsize=\fIsz\fR\fR
+.ad
+.RS 19n
+.rt
+The \fIsz\fR argument controls the size of this particular \fBtmpfs\fR file
+system. If the argument is has a `k' suffix, the number will be interpreted as
+a number of kilobytes. An `m' suffix will be interpreted as a number of
+megabytes. No suffix is interpreted as bytes. In all cases, the actual size of
+the file system is the number of bytes specified, rounded up to the physical
+pagesize of the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxattr\fR | \fBnoxattr\fR\fR
+.ad
+.RS 19n
+.rt
+Allow or disallow the creation and manipulation of extended attributes. The
+default is \fBxattr\fR. See \fBfsattr\fR(5) for a description of extended
+attributes.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.RS 23n
+.rt
+Overlay mount. Allow the file system to be mounted over an existing mount
+point, making the underlying file system inaccessible. If a mount is attempted
+on a pre-existing mount point without setting this flag, the mount will fail,
+producing the error\f(CWdevice busy\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.RS 15n
+.rt
+Table of mounted file systems
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmount\fR(1M), \fBmkdir\fR(2), \fBmount\fR(2), \fBopen\fR(2),
+\fBumount\fR(2), \fBmnttab\fR(4), \fBattributes\fR(5), \fBfsattr\fR(5),
+\fBtmpfs\fR(7FS)
+.SH NOTES
+.sp
+.LP
+If the directory on which a file system is to be mounted is a symbolic link,
+the file system is mounted on the directory to which the symbolic link refers,
+rather than on top of the symbolic link itself.
diff --git a/usr/src/man/man1m/mount_udfs.1m b/usr/src/man/man1m/mount_udfs.1m
new file mode 100644
index 0000000000..8c3556e84c
--- /dev/null
+++ b/usr/src/man/man1m/mount_udfs.1m
@@ -0,0 +1,233 @@
+'\" te
+.\" Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mount_udfs 1M "12 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount_udfs \- mount a udfs file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBmount\fR \fB-F\fR udfs [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fB-O\fR] \fIspecial\fR \fImount_point\fR
+.fi
+
+.LP
+.nf
+\fBmount\fR \fB-F\fR udfs [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fB-O\fR] \fIspecial\fR | \fImount_point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmount\fR utility attaches a \fBudfs\fR file system to the file system
+hierarchy at the \fImount_point\fR, which is the pathname of a directory. If
+\fImount_point\fR has any contents prior to the mount operation, these are
+hidden until the file system is unmounted.
+.sp
+.LP
+If mount is invoked with either \fIspecial\fR or \fImount_point\fR as the only
+arguments, \fBmount\fR searches \fB/etc/vfstab\fR to fill in the missing
+arguments, including the \fIspecific_options\fR. See \fBmount\fR(1M).
+.sp
+.LP
+The \fBudfs\fR file system supports direct mounting of files containing the
+file system as well as block devices. See \fBmount\fR(1M) and
+\fBlofiadm\fR(1M).
+.sp
+.LP
+If \fIspecial\fR and \fImount_point\fR are specified without any
+\fIspecific_options\fR, the default is \fBrw\fR.
+.sp
+.LP
+If the directory on which a file system is to be mounted is a symbolic link,
+the file system is mounted on the directory to which the symbolic link refers,
+rather than on top of the symbolic link itself.
+.SH OPTIONS
+.sp
+.LP
+See \fBmount\fR(1M) for the list of supported \fIgeneric_options\fR.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBudfs\fR file system specific options in a comma-separated list with
+no intervening spaces. The following \fIspecific_options\fR are available:
+.sp
+.ne 2
+.mk
+.na
+\fBm\fR
+.ad
+.sp .6
+.RS 4n
+Mount the file system without making an entry in \fB/etc/mnttab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBremount\fR
+.ad
+.sp .6
+.RS 4n
+Remount the file system as read-write. The option is used in conjunction with
+the \fBrw\fR option.
+.sp
+A file system mounted read-only can be remounted as read-write. This option
+fails if the file system is not currently mounted.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overlay mount. Allow the file system to be mounted over an existing mount
+point, making the underlying file system inaccessible. If a mount is attempted
+on a pre-existing mount point without setting this flag, the mount fails,
+producing the error \f(CWdevice busy\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Table of mounted file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBfsck_udfs\fR(1M), \fBlofiadm\fR(1M), \fBmount\fR(1M),
+\fBmountall\fR(1M), \fBmount\fR(2), \fBmnttab\fR(4), \fBvfstab\fR(4),
+\fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fBnot super user\fR
+.ad
+.sp .6
+.RS 4n
+The command is run by a non-root user. Run as root.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBno such device\fR
+.ad
+.sp .6
+.RS 4n
+The device name specified does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnot a directory\fR
+.ad
+.sp .6
+.RS 4n
+The specified mount point is not a directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBis not an udfs file system\fR
+.ad
+.sp .6
+.RS 4n
+The device specified does not contain a udf 1.50 file system or the udfs file
+system module is not available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBis already mounted\fR
+.ad
+.sp .6
+.RS 4n
+The specified device is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnot a block device\fR
+.ad
+.sp .6
+.RS 4n
+The device specified is not a block device. Use block device to mount.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwrite-protected\fR
+.ad
+.sp .6
+.RS 4n
+The device is read-only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBis corrupted. needs checking\fR
+.ad
+.sp .6
+.RS 4n
+The file system is in an inconsistent state. Run \fBfsck\fR.
+.RE
+
+.SH NOTES
+.sp
+.LP
+Copy-protected files can be stored on \fBDVD-ROM\fR media using Universal Disk
+Format (\fBUDF\fR). Reading these copy-protected files is not possible as this
+involves an authentication process. Unless an authentication process between
+the host and the drive is completed, reading these copy-protected files after
+mounting and before the authentication process, returns an error.
diff --git a/usr/src/man/man1m/mount_ufs.1m b/usr/src/man/man1m/mount_ufs.1m
new file mode 100644
index 0000000000..5c8083694f
--- /dev/null
+++ b/usr/src/man/man1m/mount_ufs.1m
@@ -0,0 +1,393 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mount_ufs 1M "22 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mount_ufs \- mount ufs file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBmount\fR \fB-F\fR ufs [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fB-O\fR] \fIspecial\fR | \fImount_point\fR
+.fi
+
+.LP
+.nf
+\fBmount\fR \fB-F\fR ufs [\fIgeneric_options\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fB-O\fR] \fIspecial\fR \fImount_point\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmount\fR utility attaches a \fBufs\fR file system to the file system
+hierarchy at the \fImount_point\fR, which is the pathname of a directory. If
+\fImount_point\fR has any contents prior to the \fBmount\fR operation, these
+are hidden until the file system is unmounted.
+.sp
+.LP
+The \fBufs\fR file system supports direct mounting of files containing the file
+system as well as block devices. See \fBmount\fR(1M) and \fBlofiadm\fR(1M).
+.sp
+.LP
+If \fBmount\fR is invoked with \fIspecial\fR or \fImount_point\fR as the only
+arguments, \fBmount\fR will search \fB/etc/vfstab\fR to fill in the missing
+arguments, including the \fIspecific_options\fR. See \fBmount\fR(1M).
+.sp
+.LP
+If \fIspecial\fR and \fImount_point\fR are specified without any
+\fIspecific_options\fR, the default is \fBrw\fR.
+.sp
+.LP
+If the directory on which a file system is to be mounted is a symbolic link,
+the file system is mounted on the directory to which the symbolic link refers,
+rather than on top of the symbolic link itself.
+.SH OPTIONS
+.sp
+.LP
+See \fBmount\fR(1M) for the list of supported \fIgeneric_options\fR.
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBufs\fR file system specific options in a comma-separated list with
+no intervening spaces. If invalid options are specified, a warning message is
+printed and the invalid options are ignored. The following options are
+available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdfratime\fR | \fBnodfratime\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, writing access time updates to the disk may be deferred
+(\fBdfratime\fR) for the file system until the disk is accessed for a reason
+other than updating access times. \fBnodfratime\fR disables this behavior.
+.sp
+If power management is enabled on the system, do not set \fBnodfratime\fR
+unless \fBnoatime\fR is also set. If you set \fBnodfratime\fR without setting
+\fBnoatime\fR, the disk is spun up every time a file within a file system on
+the disk is accessed - even if the file is not modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBforcedirectio\fR | \fBnoforcedirectio\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBforcedirectio\fR is specified and supported by the file system, then for
+the duration of the mount, forced direct \fBI/O\fR will be used. If the
+filesystem is mounted using \fBforcedirectio\fR, data is transferred directly
+between user address space and the disk. If the filesystem is mounted using
+\fBnoforcedirectio\fR, data is buffered in kernel address space when data is
+transferred between user address space and the disk. \fBforcedirectio\fR is a
+performance option that is of benefit only in large sequential data transfers.
+The default behavior is \fBnoforcedirectio\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBglobal\fR | \fBnoglobal\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBglobal\fR is specified and supported on the file system, and the system
+in question is part of a cluster, the file system will be globally visible on
+all nodes of the cluster. If \fBnoglobal\fR is specified, the mount will not be
+globally visible. The default behavior is \fBnoglobal\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBintr\fR | \fBnointr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow (do not allow) keyboard interrupts to kill a process that is waiting for
+an operation on a locked file system. The default is \fBintr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlargefiles\fR | \fBnolargefiles\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBnolargefiles\fR is specified and supported by the file system, then for
+the duration of the mount it is guaranteed that all regular files in the file
+system have a size that will fit in the smallest object of type \fBoff_t\fR
+supported by the system performing the mount. The mount will fail if there are
+any files in the file system not meeting this criterion. If \fBlargefiles\fR is
+specified, there is no such guarantee. The default behavior is
+\fBlargefiles\fR.
+.sp
+If \fBnolargefiles\fR is specified, \fBmount\fR will fail for \fBufs\fR if the
+file system to be mounted has contained a large file (a file whose size is
+greater than or equal to 2 Gbyte) since the last invocation of \fBfsck\fR on
+the file system. The large file need not be present in the file system at the
+time of the mount for the mount to fail; it could have been created previously
+and destroyed. Invoking \fBfsck\fR (see \fBfsck_ufs\fR(1M)) on the file system
+will reset the file system state if no large files are present. After invoking
+\fBfsck\fR, a successful mount of the file system with \fBnolargefiles\fR
+specified indicates the absence of large files in the file system; an
+unsuccessful mount attempt indicates the presence of at least one large file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogging\fR | \fBnologging\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBlogging\fR is specified, then logging is enabled for the duration of the
+mounted file system. Logging is the process of storing transactions (changes
+that make up a complete \fBUFS\fR operation) in a log before the transactions
+are applied to the file system. Once a transaction is stored, the transaction
+can be applied to the file system later. This prevents file systems from
+becoming inconsistent, therefore reducing the possibility that \fBfsck\fR
+might run. And, if \fBfsck\fR is bypassed, logging generally reduces the time
+required to reboot a system.
+.sp
+The default behavior is \fBlogging\fR for all UFS file systems.
+.sp
+The log is allocated from free blocks in the file system, and is sized
+approximately 1 Mbyte per 1 Gbyte of file system, up to a maximum of 256
+Mbytes. The log size may be larger (up to a maximum of 512 Mbytes) dependent
+upon the number of cylinder groups present in the file system.
+.sp
+Logging is enabled on any \fBUFS\fR file system, including root (\fB/\fR),
+except under the following conditions:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+When logging is specifically disabled.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If there is insufficient file system space for the log. In this case, the
+following message is displayed and file system is still mounted:
+.sp
+.in +2
+.nf
+# mount /dev/dsk/c0t4d0s0 /mnt
+ /mnt: No space left on device
+ Could not enable logging for /mnt on /dev/dsk/c0t4d0s0.
+.fi
+.in -2
+.sp
+
+.RE
+The log created by \fBUFS\fR logging is continually flushed as it fills up. The
+log is totally flushed when the file system is unmounted or as a result of the
+\fBlockfs -f\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mount the file system without making an entry in \fB/etc/mnttab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoatime\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, the file system is mounted with normal access time (\fBatime\fR)
+recording. If \fBnoatime\fR is specified, the file system will ignore access
+time updates on files, except when they coincide with updates to the
+\fBctime\fR or \fBmtime\fR. See \fBstat\fR(2). This option reduces disk
+activity on file systems where access times are unimportant (for example, a
+Usenet news spool).
+.sp
+\fBnoatime\fR turns off access time recording regardless of \fBdfratime\fR or
+\fBnodfratime\fR.
+.sp
+The POSIX standard requires that access times be marked on files.
+\fB-noatime\fR ignores them unless the file is also modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnosec\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, Access Control Lists (ACLs) are supported on a mounted UFS file
+system. Use this option to disallow the setting or any modification of an ACL
+on a file within a mounted UFS file system. See \fBgetfacl\fR(1) for background
+on ACLs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBonerror\fR = \fIaction\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option specifies the action that \fBUFS\fR should take to recover from an
+internal inconsistency on a file system. Specify \fIaction\fR as \fBpanic\fR,
+\fBlock\fR, or \fBumount\fR. These values cause a forced system shutdown, a
+file system lock to be applied to the file system, or the file system to be
+forcibly unmounted, respectively. The default is \fBpanic\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquota\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quotas are turned on for the file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remounts a file system with a new set of options. All options not explicitly
+set with \fBremount\fR revert to their default values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrq\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read-write with quotas turned on. Equivalent to \fBrw, quota\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxattr\fR | \fBnoxattr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow or disallow the creation and manipulation of extended attributes. The
+default is \fBxattr\fR. See \fBfsattr\fR(5) for a description of extended
+attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overlay mount. Allow the file system to be mounted over an existing mount
+point, making the underlying file system inaccessible. If a mount is attempted
+on a pre-existing mount point without setting this flag, the mount will fail,
+producing the error "device busy".
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRTurning Off (and On) Logging
+.sp
+.LP
+The following command turns off logging on an already mounted file system. The
+subsequent command restores logging.
+
+.sp
+.in +2
+.nf
+# mount -F ufs -o remount,nologging /export
+# \fB(absence of message indicates success)\fR
+# mount -F ufs -o remount,logging /export
+.fi
+.in -2
+
+.sp
+.LP
+In the preceding commands, the \fB-F\fR \fBufs\fR option is not necessary.
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+table of mounted file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+list of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBgetfacl\fR(1), \fBfsck\fR(1M), \fBfsck_ufs\fR(1M), \fBlofiadm\fR(1M),
+\fBmount\fR(1M), \fBmountall\fR(1M), \fBfcntl\fR(2), \fBmount\fR(2),
+\fBstat\fR(2), \fBmnttab\fR(4), \fBvfstab\fR(4), \fBattributes\fR(5),
+\fBfsattr\fR(5), \fBlargefile\fR(5)
+.SH NOTES
+.sp
+.LP
+Since the root (\fB/\fR) file system is mounted read-only by the kernel during
+the boot process, only the \fBremount\fR option (and options that can be used
+in conjunction with \fBremount\fR) affect the root (\fB/\fR) entry in the
+\fB/etc/vfstab\fR file.
diff --git a/usr/src/man/man1m/mountall.1m b/usr/src/man/man1m/mountall.1m
new file mode 100644
index 0000000000..e83380769a
--- /dev/null
+++ b/usr/src/man/man1m/mountall.1m
@@ -0,0 +1,229 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mountall 1M "17 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mountall, umountall \- mount, unmount multiple file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBmountall\fR [\fB-F\fR \fIFSType\fR] [\fB-l\fR | \fB-r\fR] [\fIfile_system_table\fR]
+.fi
+
+.LP
+.nf
+\fBumountall\fR [\fB-k\fR] [\fB-s\fR] [\fB-F\fR \fIFSType\fR] [\fB-l\fR | \fB-r\fR] [\fB-n\fR] [\fB-Z\fR]
+.fi
+
+.LP
+.nf
+\fBumountall\fR [\fB-k\fR] [\fB-s\fR] [\fB-h\fR \fIhost\fR] [\fB-n\fR] [\fB-Z\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmountall\fR is used to mount file systems specified in a file system table.
+The file system table must be in \fBvfstab\fR(4) format. If no
+\fIfile_system_table\fR is specified, \fB/etc/vfstab\fR is used. If \(mi is
+specified as \fIfile_system_table\fR, \fBmountall\fR reads the file system
+table from the standard input. \fBmountall\fR mounts only those file systems
+with the \fBmount at boot\fR field set to \fByes\fR in the
+\fIfile_system_table\fR.
+.sp
+.LP
+For each file system in the file system table, the following logic is executed:
+if there exists a file\fB/usr/lib/fs/\fIFSType\fR/fsckall\fR, where
+\fIFSType\fR is the type of the file system, save that file system in a list to
+be passed later, and all at once, as arguments to the
+\fB/usr/lib/fs/\fIFSType\fR/fsckall\fR script. The
+\fB/usr/lib/fs/\fIFSType\fR/fsckall\fR script checks all of the file systems in
+its argument list to determine whether they can be safely mounted. If no
+\fB/usr/lib/fs/\fIFSType\fR/fsckall\fR script exists for the \fIFSType\fR of
+the file system, the file system is individually checked using \fBfsck\fR(1M).
+If the file system does not appear mountable, it is fixed using \fBfsck\fR
+before the mount is attempted. File systems with a \(mi entry in the
+\fBfsckdev\fR field are mounted without first being checked.
+.sp
+.LP
+\fBumountall\fR causes all mounted file systems in the current zone except
+\fBroot\fR, \fB/usr\fR, \fB/var\fR, \fB/var/adm\fR, \fB/var/run\fR,
+\fB/proc\fR, and \fB/dev/fd\fR to be unmounted. If the \fIFSType\fR is
+specified, \fBmountall\fR and \fBumountall\fR limit their actions to the
+\fIFSType\fR specified. There is no guarantee that \fBumountall\fR unmounts
+\fIbusy\fR file systems, even if the \fB-k\fR option is specified.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 11n
+.rt
+Specify the \fIFSType\fR of the file system to be mounted or unmounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost\fR\fR
+.ad
+.RS 11n
+.rt
+Unmount all file systems listed in \fB/etc/mnttab\fR that are remote-mounted
+from host.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 11n
+.rt
+Use the \fBfuser\fR \fB-k\fR \fImount-point\fR command. See the \fBfuser\fR(1M)
+for details. The \fB-k\fR option sends the \fBSIGKILL\fR signal to each process
+using the file. As this option spawns kills for each process, the kill messages
+might not show up immediately. There is no guarantee that \fBumountall\fR
+unmounts \fIbusy\fR file systems, even if the \fB-k\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 11n
+.rt
+Limit the action to local file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 11n
+.rt
+List the actions that would be performed for the specified options, but do not
+actually execute these actions. Repeating the command without the \fB-n\fR
+option executes the listed actions, assuming that the \fB/etc/mnttab\fR file
+has not changed in the interval prior to repeating the command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 11n
+.rt
+Limit the action to remote file system types.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 11n
+.rt
+Do not perform the \fBumount\fR operation in parallel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Z\fR\fR
+.ad
+.RS 11n
+.rt
+Apply the action(s) only to the file systems mounted in non-global zones. By
+default, \fBumountall\fR unmounts only file systems mounted in the current
+zone. Option \fB-Z\fR is ignored if used in a non-global zone.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mounted file system table
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Table of file system defaults
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/fs/\fIFSType\fR/fsckall\fR\fR
+.ad
+.sp .6
+.RS 4n
+Script called by \fBmountall\fR to perform the file system check of all file
+systems of type \fIFSType\fR
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+_
+Output StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBfuser\fR(1M), \fBmount\fR(1M), \fBmnttab\fR(4),
+\fBvfstab\fR(4), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+No messages are printed if the file systems are mountable and clean.
+.sp
+.LP
+Error and warning messages come from \fBfsck\fR(1M) and \fBmount\fR(1M).
+.SH NOTES
+.sp
+.LP
+At this time, NFS is the only remote file system supported by the \fB-l\fR,
+\fB-r\fR, and \fB-h\fR options.
diff --git a/usr/src/man/man1m/mountd.1m b/usr/src/man/man1m/mountd.1m
new file mode 100644
index 0000000000..772b292d8c
--- /dev/null
+++ b/usr/src/man/man1m/mountd.1m
@@ -0,0 +1,96 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mountd 1M "27 Apr 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mountd \- server for NFS mount requests and NFS access checks
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/nfs/mountd\fR [\fB-v\fR] [\fB-r\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmountd\fR is an \fBRPC\fR server that answers requests for \fBNFS\fR access
+information and file system mount requests. It reads the file
+\fB/etc/dfs/sharetab\fR to determine which file systems are available for
+mounting by which remote machines. See \fBsharetab\fR(4). \fBnfsd\fR running on
+the local server will contact \fBmountd\fR the first time an \fBNFS\fR client
+tries to access the file system to determine whether the client should get
+read-write, read-only, or no access. This access can be dependent on the
+security mode used in the remoted procedure call from the client. See
+\fBshare_nfs\fR(1M).
+.sp
+.LP
+The command also provides information as to what file systems are mounted by
+which clients. This information can be printed using the \fBshowmount\fR(1M)
+command.
+.sp
+.LP
+The \fBmountd\fR daemon is automatically invoked by \fBshare\fR(1M).
+.sp
+.LP
+Only super user can run the \fBmountd\fR daemon.
+.SH OPTIONS
+.sp
+.LP
+The options shown below are supported for NVSv2/v3 clients. They are not
+supported for Solaris NFSv4 clients.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Reject mount requests from clients. Clients that have file systems mounted will
+not be affected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Run the command in verbose mode. Each time \fBmountd\fR determines what access
+a client should get, it will log the result to the console, as well as how it
+got that result.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/sharetab\fR\fR
+.ad
+.RS 21n
+.rt
+shared file system table
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBnfsd\fR(1M), \fBshare\fR(1M), \fBshare_nfs\fR(1M), \fBshowmount\fR(1M),
+\fBnfs\fR(4), \fBsharetab\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Since \fBmountd\fR must be running for \fBnfsd\fR to function properly,
+\fBmountd\fR is automatically started by the \fBsvc:/network/nfs/server\fR
+service. See \fBnfs\fR(4).
+.sp
+.LP
+Some routines that compare hostnames use case-sensitive string comparisons;
+some do not. If an incoming request fails, verify that the case of the hostname
+in the file to be parsed matches the case of the hostname called for, and
+attempt the request again.
diff --git a/usr/src/man/man1m/mpathadm.1m b/usr/src/man/man1m/mpathadm.1m
new file mode 100644
index 0000000000..40c8bcd356
--- /dev/null
+++ b/usr/src/man/man1m/mpathadm.1m
@@ -0,0 +1,778 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mpathadm 1M "4 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mpathadm \- multipath discovery and administration
+.SH SYNOPSIS
+.LP
+.nf
+\fBmpathadm\fR \fIsubcommand\fR \fIdirect-object\fR [\fIoptions\fR] [\fIoperand\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmpathadm\fR command enables multipathing discovery and management. The
+\fBmpathadm\fR command is implemented as a set of subcommands, many with their
+own options, that are described in the section for that subcommand. Options not
+associated with a particular subcommand are described under OPTIONS. The
+\fBmpathadm\fR subcommands operate on a \fIdirect-object\fR. These are
+described in this section for each subcommand. The \fIdirect-objects\fR,
+\fIinitiator-port\fR, \fItarget-port\fR, and\fIlogical-unit\fR in the
+subcommands are consistent with SCSI standard definitions.
+.sp
+.LP
+The \fBmpathadm\fR command supports the following subcommands, which are
+described in detail in subsections that follow.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 12n
+.rt
+Display a list of discovered instances for a given object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow\fR\fR
+.ad
+.RS 12n
+.rt
+Display information about a given object instance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodify\fR\fR
+.ad
+.RS 12n
+.rt
+Modify properties of an object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable\fR\fR
+.ad
+.RS 12n
+.rt
+Enable an object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable\fR\fR
+.ad
+.RS 12n
+.rt
+Disable an object.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailover\fR\fR
+.ad
+.RS 12n
+.rt
+Cause target port group failover for a logical-unit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoverride\fR\fR
+.ad
+.RS 12n
+.rt
+Set a path to be used over other paths on a logical-unit.
+.RE
+
+.sp
+.LP
+The \fBmpathadm\fR subcommands operate on a \fIdirect-object\fR. These are
+described in this section for each subcommand.
+.SS "list Subcommand"
+.sp
+.LP
+The syntax for the \fBlist\fR subcommand is:
+.sp
+.in +2
+.nf
+# mpathadm list \fIdirect-object\fR [\fIoperands\fR...]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBlist\fR subcommand displays data for following direct-objects:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmpath-support\fR [\fImpath-support-name\fR, ...]\fR
+.ad
+.sp .6
+.RS 4n
+List the multipathing support that can be administered by this CLI. This
+presents itself in the form of a library name registered through the MPAPI
+framework. If no mpath-support name \fImpath-support-name\fR is specified, all
+registered multipathing support libraries will be displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinitiator-port\fR [\fIinitiator-port-name\fR, ...]\fR
+.ad
+.sp .6
+.RS 4n
+List the initiator ports that are discovered on this system. If no
+\fIinitiator-port-name\fR is specified, all discovered initiator ports are
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fBlogical-unit\fR | \fBlu\fR} [\fIoptions\fR]
+[\fIlogical-unit-name\fR, ...]\fR
+.ad
+.sp .6
+.RS 4n
+List the information on multipath logical units. If no \fIlogical-unit-name\fR
+is specified, all discovered logical-units will be displayed.
+.sp
+Options for \fBlist logical-unit\fR are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR, \fB-\fR\fB-name\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Return the logical unit name that is associated with the given name string.
+This name can be extracted from the output of the \fBmpathadm\fR \fBshow lu\fR
+command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB-\fR\fB-target-port\fR \fItarget-port-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Return the list of logical units names that are associated with the given
+\fItarget-port-name\fR.
+.RE
+
+.RE
+
+.SS "\fBshow\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBshow\fR subcommand is:
+.sp
+.in +2
+.nf
+# mpathadm show \fIdirect-object\fR [\fIoperands\fR...]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBshow\fR subcommand displays detailed information for following the
+direct-objects:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmpath-support\fR [\fImpath-support-name\fR, ...]\fR
+.ad
+.sp .6
+.RS 4n
+Show the detailed information on the given \fImpath-support-name\fR if the name
+exists. If the given \fImpath-support-name\fR supports only a limited set of
+device products, the list of device products will be listed as part of the
+output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinitiator-port\fR
+\fIinitiator-port-name\fR[,\fIinitiator-port-name\fR, ...]\fR
+.ad
+.sp .6
+.RS 4n
+Show the detailed information for the given \fIinitiator-port-name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fBlogical-unit\fR | \fBlu\fR} [\fIlogical-unit-name\fR, ...]\fR
+.ad
+.sp .6
+.RS 4n
+Display the detailed information on multipath logical unit(s), including path
+and target port group information. Note that the name property in the logical
+unit information represents the identifier for this LUN, derived from the
+hardware, and used by this system. If the name is derived from SCSI Inquiry
+Vital Product Data (VPD) page 83h, the name type property represents an
+associated identifier type defined by the SCSI standards.
+.RE
+
+.SS "\fBmodify\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBmodify\fR subcommand is:
+.sp
+.in +2
+.nf
+# mpathadm modify \fIdirect-object\fR [\fIoptions\fR] [\fIoperands\fR...]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBmodify\fR subcommand modifies characteristics of the following
+direct-objects:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmpath-support\fR [\fIoptions\fR] \fImpath-support-name\fR, ...\fR
+.ad
+.sp .6
+.RS 4n
+Configuration management of an \fImpath-support\fR. Options to modify
+mpath-support are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB-\fR\fB-autofailback\fR on | off\fR
+.ad
+.sp .6
+.RS 4n
+Set \fBautofailback\fR. Applicable only when mpath-support provides auto
+failback support.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB-\fR\fB-autoprobe\fR on | off\fR
+.ad
+.sp .6
+.RS 4n
+Set \fBautoprobing\fR. Applicable only when mpath-support provides auto probing
+support.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR, \fB-\fR\fB-loadbalance\fR loadbalance-type\fR
+.ad
+.sp .6
+.RS 4n
+Change the default load balance type. The \fBloadbalance\fR type is one of the
+supported types listed in the \fBshow mpath-support\fR output.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB{\fBlogical-unit\fR | \fBlu\fR} [\fIoptions\fR]
+\fIlogical-unit-name\fR, ...\fR
+.ad
+.sp .6
+.RS 4n
+Configuration management of a logical unit. Options to modify
+\fBlogical-unit\fR are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB-\fR\fB-autofailback\fR on | off\fR
+.ad
+.sp .6
+.RS 4n
+Set \fBautofailback\fR. Applicable only when \fBmpath-support\fR provides auto
+failback support
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB-\fR\fB-autoprobe\fR on | off\fR
+.ad
+.sp .6
+.RS 4n
+Set \fBautoprobing\fR. Applicable only when \fBmpath-support\fR provides auto
+probing support.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR, \fB-\fR\fB-loadbalance\fR loadbalance-type\fR
+.ad
+.sp .6
+.RS 4n
+Set load balance type for the logical unit. Applicable only when load balance
+configuration is supported at the logical unit level.
+.RE
+
+.RE
+
+.SS "\fBenable\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBenable\fR subcommand is:
+.sp
+.in +2
+.nf
+# mpathadm disable [\fIoptions\fR]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBenable\fR subcommand supports the following direct-objects to be
+enabled:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpath\fR \fB-i\fR \fIinitiator-port-name\fR \fB-t\fR
+\fItarget-port-name\fR\fR
+.ad
+.br
+.na
+\fB\fB-l\fR \fIlogical-unit-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+The path that consists of the specified initiator port, target port, and
+logical unit will be enabled.
+.RE
+
+.SS "\fBdisable\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBdisable\fR subcommand is:
+.sp
+.in +2
+.nf
+# mpathadm disable [\fIoptions\fR]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBdisable\fR subcommand supports the following direct-objects to be
+disabled:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpath\fR \fB-i\fR \fIinitiator-port-name\fR \fB-t\fR
+\fItarget-port-name\fR\fR
+.ad
+.br
+.na
+\fB\fB-l\fR \fIlogical-unit-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+The path that consists of the specified initiator port, target port, and
+logical unit will be disabled.
+.RE
+
+.SS "\fBfailover\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBfailover\fR subcommand is:
+.sp
+.in +2
+.nf
+# mpathadm failover \fIdirect-object\fR [\fIoperand\fR]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBfailover\fR subcommand supports failover for the following
+direct-objects:
+.sp
+.ne 2
+.mk
+.na
+\fB{\fBlogical-unit\fR | \fBlu\fR} \fIlogical-unit-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+The target port group will failover when the given logical-unit is asymmetric
+and supports explicit state change. The currently active target port group will
+be changed to the standby state and the standby target port group will be
+active.
+.RE
+
+.SS "\fBoverride\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBoverride\fR subcommand is:
+.sp
+.in +2
+.nf
+# mpathadm override [\fIoptions\fR]
+.fi
+.in -2
+
+.sp
+.LP
+The \fBoverride\fR subcommand controls whether or not the following
+direct-objects override another:
+.sp
+.ne 2
+.mk
+.na
+\fBpath {\fB-i\fR \fIinitiator-port-name\fR \fB-t\fR \fItarget-port-name\fR |
+\fB-c\fR}\fR
+.ad
+.br
+.na
+\fB\fB-l\fR \fIlogical-unit-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cause a path that consists of the specified initiator port, target port, and
+logical unit to override other paths on the logical unit. Once a path overrides
+other paths, the mpath-support uses only that path regardless of any other path
+selection configuration. The \fB-c\fR option cancels the setting. The path that
+consists of the specified initiator port, target port, and logical unit will be
+disabled.
+.sp
+Options for override path are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB-\fR\fB-initiator-port\fR \fIinitiator-port-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Represent the initiator port element of a path. Options \fB-t\fR and \fB-l\fR
+must also be included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB-\fR\fB-target-port\fR \fItarget-port-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Represent the target port element of a path. Options \fB-i\fR and \fB-l\fR must
+also be included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR, \fB-\fR\fB-logical-unit\fR \fIlogical-unit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Represent the logical unit element of a path. Options \fB-i\fR and \fB-t\fR
+must also be included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB-\fR\fB-cancel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cancels overriding setting for the given logical unit. Option \fB-l\fR must
+also be included.
+.RE
+
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB-\fR\fB-version\fR\fR
+.ad
+.RS 17n
+.rt
+Display the version information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR, \fB-\fR\fB-help\fR\fR
+.ad
+.RS 17n
+.rt
+Display context help. Can be used following an \fBmpathadm\fR command with no
+arguments, following a subcommand, or following a subcommand direct-object
+combination. Responds with help information appropriate for your entry. For
+example, if you enter:
+.sp
+.in +2
+.nf
+# \fBmpathadm add mpath-support-help\fR
+.fi
+.in -2
+.sp
+
+\&... \fBmpathadm\fR responds with a display of the options available for that
+combination of subcommand and direct-object.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRObtaining a List of Multipathing Support
+.sp
+.LP
+The following command uses the \fBlist\fR subcommand to list all currently
+registered \fBmpath-support\fR libraries.
+
+.sp
+.in +2
+.nf
+# \fBmpathadm list mpath-support\fR
+mpath-support: libmpscsi_vhci.so
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying the Properties of a Particular Multipathing Support
+.sp
+.LP
+The following command uses the \fBshow\fR subcommand to display the properties
+for a currently registered \fBmpath-support\fR library.
+
+.sp
+.in +2
+.nf
+# \fBmpathadm show mpath-support libmpscsi_vhci.so\fR
+mpath-support: libmpscsi_vhci.so
+ Vendor: Sun Microsystems
+ Driver Name: scsi_vhci
+ Default Load Balance: round-robin
+ Supported Load Balance Types:
+ round-robin
+ logical-block
+Allows To Activate Target Port Group Access: yes
+Allows Path Override: no
+Supported Auto Failback Config: 1
+Auto Failback: on
+Failback Polling Rate (current/max): 0/0
+Supported Auto Probing Config: 0
+Auto Probing: NA
+Probing Polling Rate (current/max): NA/NA
+Supported Devices:
+ Vendor: SUN
+ Product: T300
+ Revision:
+ Supported Load Balance Types:
+ round-robin
+ Vendor: SUN
+ Product: T4
+ Revision:
+ Supported Load Balance Types:
+ round-robin
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRObtaining a List of Initiator Ports Discovered Through the
+\fBmpath-support\fR Libraries
+.sp
+.LP
+The following command uses the \fBlist initiator-port\fR subcommand to display
+a list of initiator ports discovered by the currently registered
+\fBmpath-support\fR libraries.
+
+.sp
+.in +2
+.nf
+# \fBmpathadm list initiator-port\fR
+Initiator-Port: iqn.1986-03.com.sun:01:080020b7ac2b.437a3b3e,4000002a0000
+Initiator-Port: 2000000173018713
+Initiator-Port: 2000000173818713
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisplaying the Properties of a Particular Initiator Port
+.sp
+.LP
+The following command uses the \fBshow initiator-port\fR subcommand to display
+the properties of a particular initiator port discovered using the \fBlist
+initiator-port\fR subcommand in an example above.
+
+.sp
+.in +2
+.nf
+# \fBmpathadm show initiator-port 2000000173018713\fR
+initiator-port: 2000000173018713
+ Transport Type: Fibre Channel
+ OS device File: devices/pci@1f,4000/pci@2/SUNW,qlca@5/fp@0,0:fc
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDisplaying the Properties of a Particular Logical Unit
+.sp
+.LP
+The following command uses the \fBshow logical-unit\fR subcommand to display
+the properties of the logical unit with the specified name.
+
+.sp
+.in +2
+.nf
+# \fBmpathadm show lu /dev/rdsk/c4t60003BA27D2120004204AC2B000DAB00d0s2\fR
+Logical Unit: /dev/rdsk/c4t60003BA27D2120004204AC2B000DAB00d0s2
+ mpath-support libmpscsi_vhci.so
+ Vendor: SUN
+ Product: T4
+ Revision: 0301
+ Name Type: SCSI Inquiry VPD Page 83 type 3
+ Name: 60003ba27d2120004204ac2b000dab00
+ Asymmetric: yes
+ Current Load Balance: round-robin
+ Logical Unit Group ID: NA
+ Aauto Failback: on
+ Auto Probing: NA
+
+Paths:
+ Initiator Port Name: 2000000173818713
+ Target Port Name: 20030003ba27d212
+ Override Path: NA
+ Path State: OK
+ Disabled: no
+
+ Initiator Port Name: 2000000173018713
+ Target Port Name: 20030003ba27d095
+ Override Path: NA
+ Path State: OK
+ Disabled: no
+
+Target Port Group:
+ ID: 2
+ Explicit Failover: yes
+ Access State: standby
+ Target Ports:
+ Name: 20030003ba27d212
+ Relative ID: 0
+
+ ID: 5
+ Explicit Failover: yes
+ Access State: active
+ Target Ports
+ Name: 20030003ba27d095
+ Relative ID: 0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fREnabling a Path
+.sp
+.LP
+The following command uses the \fBenable path\fR subcommand to enable the path
+with the specified initiator port, target port, and logical unit.
+
+.sp
+.in +2
+.nf
+# \fBmpathadm enable path -i 2000000173018713 -t 20030003ba27d095 \e
+-l /dev/rdsk/c4t60003BA27D2120004204AC2B000DAB00d0s2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRModifying \fBmpath-support\fR To Turn On \fBautofailback\fR
+.sp
+.in +2
+.nf
+# \fBmpathadm modify mpath-support -a on libmpscsi_vhci.so\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBstmsboot\fR(1M), \fBlibMPAPI\fR(3LIB), \fBexec_attr\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/mpstat.1m b/usr/src/man/man1m/mpstat.1m
new file mode 100644
index 0000000000..a06bbf4602
--- /dev/null
+++ b/usr/src/man/man1m/mpstat.1m
@@ -0,0 +1,406 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mpstat 1M "23 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mpstat \- report per-processor or per-processor-set statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/mpstat\fR [\fB-aq\fR] [\fB-p\fR | \fB-P\fR \fIset\fR] [\fB-T\fR u | d] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmpstat\fR command reports processor statistics in tabular form. Each row
+of the table represents the activity of one processor. The first table
+summarizes all activity since boot. Each subsequent table summarizes activity
+for the preceding interval. All values are rates listed as events per second
+unless otherwise noted.
+.sp
+.LP
+During execution of the kernel status command, the \fBstate\fR of the kernel
+can change. If relevant, a state change message is included in the \fBmpstat\fR
+output, in one of the following forms:
+.sp
+.in +2
+.nf
+<<processor 3 moved from pset: -1 to: 1>>
+<<pset destroyed: 1>>
+<<pset created: 1>>
+<<processors added: 1, 3>>
+<<processors removed: 1, 3>>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBmpstat\fR command reports the following information:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCPU\fR or \fBSET\fR\fR
+.ad
+.RS 14n
+.rt
+Without the \fB-a\fR option, \fBmpstat\fR reports \fBCPU\fR statistics for a
+processor ID. With the \fB-a\fR option, \fBmpstat\fR reports \fBSET\fR
+statistics for a processor set ID.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBminf\fR\fR
+.ad
+.RS 14n
+.rt
+minor faults
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmjf\fR\fR
+.ad
+.RS 14n
+.rt
+major faults
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxcal\fR\fR
+.ad
+.RS 14n
+.rt
+inter-processor cross-calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBintr\fR\fR
+.ad
+.RS 14n
+.rt
+interrupts
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBithr\fR\fR
+.ad
+.RS 14n
+.rt
+interrupts as threads (not counting clock interrupt)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcsw\fR\fR
+.ad
+.RS 14n
+.rt
+context switches
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBicsw\fR\fR
+.ad
+.RS 14n
+.rt
+involuntary context switches
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmigr\fR\fR
+.ad
+.RS 14n
+.rt
+thread migrations (to another processor)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsmtx\fR\fR
+.ad
+.RS 14n
+.rt
+spins on mutexes (lock not acquired on first try)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsrw\fR\fR
+.ad
+.RS 14n
+.rt
+spins on readers/writer locks (lock not acquired on first try)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsyscl\fR\fR
+.ad
+.RS 14n
+.rt
+system calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusr\fR\fR
+.ad
+.RS 14n
+.rt
+percent user time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsys\fR\fR
+.ad
+.RS 14n
+.rt
+percent system time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwt\fR\fR
+.ad
+.RS 14n
+.rt
+the I/O wait time is no longer calculated as a percentage of \fBCPU\fR time,
+and this statistic will always return zero.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBidl\fR\fR
+.ad
+.RS 14n
+.rt
+percent idle time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsze\fR\fR
+.ad
+.RS 14n
+.rt
+number of processors in the requested processor set
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR\fR
+.ad
+.RS 14n
+.rt
+processor set membership of each \fBCPU\fR
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 13n
+.rt
+Aggregate output by processor set. Sort the output by set. The default output
+is sorted by \fBCPU\fR number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 13n
+.rt
+Report processor set membership of each \fBCPU\fR. Sort the output by set. The
+default output is sorted by \fBCPU\fR number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIset\fR\fR
+.ad
+.RS 13n
+.rt
+Display only those processors in the specified \fIset\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 13n
+.rt
+Suppress messages related to state changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.RS 13n
+.rt
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 13n
+.rt
+Report once each \fIinterval\fR seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 13n
+.rt
+Only print \fIcount\fR reports.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBmpstat\fR to Generate User and System Operation
+Statistics
+.sp
+.LP
+The following command generates processor statistics over a five-second
+interval in two reports. The command shows the processor set membership of each
+\fBCPU\fR. The default output is sorted by \fBCPU\fR number, aggregated by
+\fIprocessor set\fR, for user (\fBusr\fR) and system (\fBsys\fR) operations.
+
+.sp
+.in +2
+.nf
+example% \fBmpstat -ap 5 2\fR
+
+
+SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl sze
+ 0 6 0 355 291 190 22 0 0 0 0 43 0 2 0 43 1
+ 1 24 17 534 207 200 70 1 0 2 0 600 4 1 0 84 2
+ 2 19 7 353 325 318 44 0 0 5 0 345 1 1 0 94 3
+ 3 36 2 149 237 236 14 0 0 4 0 97 0 0 0 98 2
+SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl sze
+ 0 1 0 720 405 304 55 0 0 18 0 12 0 15 0 81 1
+ 1 0 69 1955 230 200 313 33 4 41 9 7086 34 10 0 19 2
+ 2 0 46 685 314 300 203 11 0 54 1 5287 36 6 0 28 3
+ 3 0 0 14 386 384 0 0 0 0 0 0 0 0 0 100 2
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+Invocation is evolving. Human readable output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBsar\fR(1), \fBdate\fR(1), \fBiostat\fR(1M), \fBsar\fR(1M), \fBvmstat\fR(1M),
+\fBtime\fR(2), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The sum of \fBCPU\fR utilization might vary slightly from 100 due to rounding
+errors in the production of a percentage figure.
+.sp
+.LP
+The total time used for \fBCPU\fR processing is the sum of \fBusr\fR and
+\fBsys\fR output values, reported for user and system operations. The \fBidl\fR
+value reports the time that the \fBCPU\fR is idle for any reason other than
+pending disk I/O operations.
+.sp
+.LP
+Run the \fBiostat\fR command with the \fB-x\fR option to report I/O service
+times in \fBsvc_t\fR output. The \fBiostat\fR utility also reports the same
+\fBwt\fR, user (\fBus\fR), and system (\fBsy\fR) statistics. See
+\fBiostat\fR(1M) for more information.
+.sp
+.LP
+When executing in a \fBzone\fR and if the pools facility is active,
+\fBmpstat\fR(1M) will only provide information for those processors which are a
+member of the processor set of the pool to which the \fBzone\fR is bound.
diff --git a/usr/src/man/man1m/msgid.1m b/usr/src/man/man1m/msgid.1m
new file mode 100644
index 0000000000..6d47f25120
--- /dev/null
+++ b/usr/src/man/man1m/msgid.1m
@@ -0,0 +1,73 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH msgid 1M "9 Oct 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+msgid \- generate message IDs
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/msgid\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmsgid\fR utility generates message \fBID\fRs.
+.sp
+.LP
+A message \fBID\fR is a numeric identifier that uniquely identifies a message.
+Although the probability of two distinct messages having the same \fBID\fR is
+high, this can be greatly reduced with the appropriate priority or
+facility.level designator (see \fBsyslogd\fR(1M)). Specifically, the message
+\fBID\fR is a hash signature on the message's unexpanded format string,
+generated by \fBSTRLOG_MAKE_MSGID()\fR as defined in \fB<sys/strlog.h>\fR\&.
+.sp
+.LP
+\fBsyslogd\fR(1M) is a simple filter that takes strings as input and produces
+those same strings, preceded by their message \fBID\fRs, as output. Every
+message logged by \fBsyslogd\fR(1M) includes the message \fBID\fR. The message
+\fBID\fR is intended to serve as a small, language-independent identifier.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the msgid command to generate a message ID
+.sp
+.LP
+The following example uses the \fBmsgid\fR command to generate a message
+\fBID\fR for the \fBecho\fR command.
+
+.sp
+.in +2
+.nf
+example# \fBecho hello | msgid\fR205790 hello
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing the msgid command to generate a message catalog
+.sp
+.LP
+The following example uses the \fBmsgid\fR command to enumerate all of the
+messages in the binary \fBufs\fR, to generate a message catalog.
+
+.sp
+.in +2
+.nf
+example# \fBstrings /kernel/fs/ufs | msgid\fR
+
+137713 free:
+ freeing free frag, dev:0x%lx, blk:%ld, cg:%d, ino:%lu, fs:%s
+567420 ialloccg: block not in mapfs = %s
+845546 alloc: %s: file system full
+\&...
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsyslogd\fR(1M), \fBattributes\fR(5), \fBlog\fR(7d)
diff --git a/usr/src/man/man1m/mvdir.1m b/usr/src/man/man1m/mvdir.1m
new file mode 100644
index 0000000000..f7367fe91f
--- /dev/null
+++ b/usr/src/man/man1m/mvdir.1m
@@ -0,0 +1,92 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH mvdir 1M "14 Mar 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+mvdir \- move a directory
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/mvdir\fR \fIdirname\fR \fIname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmvdir\fR moves directories within a file system. \fBdirname\fR must be a
+directory. If \fIname\fR does not exist, it will be created as a directory. If
+\fIname\fR does exist, and is a directory, \fBdirname\fR will be created as
+\fIname/dirname\fR. \fBdirname\fR and \fIname\fR may not be on the same path;
+that is, one may not be subordinate to the other. For example:
+.sp
+.LP
+\fBexample%\fR \fBmvdir\fR \fBx/y\fR \fBx/z\fR
+.sp
+.LP
+is legal, but
+.sp
+.LP
+\fBexample%\fR \fBmvdir\fR \fBx/y\fR \fBx/y/z\fR
+.sp
+.LP
+is not.
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdirname\fR\fR
+.ad
+.RS 11n
+.rt
+The name of the directory that is to be moved to another directory in the
+filesystem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIname\fR\fR
+.ad
+.RS 11n
+.rt
+The name of the directory into which \fBdirname\fR is to be moved. If
+\fIname\fR does not exist, it will be created. It may not be on the same path
+as \fBdirname\fR.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBmvdir\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+Operation failed.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmkdir\fR(1), \fBmv\fR(1), \fBattributes\fR(5), \fBlargefile\fR(5)
diff --git a/usr/src/man/man1m/ncaconfd.1m b/usr/src/man/man1m/ncaconfd.1m
new file mode 100644
index 0000000000..20489dbba8
--- /dev/null
+++ b/usr/src/man/man1m/ncaconfd.1m
@@ -0,0 +1,88 @@
+'\" te
+.\" Copyright (C) 2001, Sun Microsystems, Inc.
+.\" All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ncaconfd 1M "12 Oct 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ncaconfd \- Solaris Network Cache and Accelerator (NCA) configuration daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/ncaconfd\fR [\fB-al\fR ] \fIinterface1 \fR [\fIinterface2 ...\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Use the \fBncaconfd\fR utility to set up NCA on a system. At boot time, the
+\fBncakmod\fR initialization script reads in \fBnca.if\fR(4) to determine on
+which interface(s) NCA should run. \fBncaconfd\fR then sets up the interface.
+.sp
+.LP
+\fBncaconfd\fR also operates as a daemon if the \fBnca_active\fR key is set to
+enabled in \fBncakmod.conf\fR(4) file. In this case, \fBncaconfd\fR will
+continue as a daemon after all the NCA interfaces have been set up, listening
+for routing changes. The changes are then passed to NCA to control which
+interface NCA should use to make active outgoing TCP connnections.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Enable active connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+Enable logging.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nca/ncakmod.conf\fR\fR
+.ad
+.RS 25n
+.rt
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBnca\fR(1), \fBncakmod\fR(1), \fBnca.if\fR(4), \fBncakmod.conf\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ncheck.1m b/usr/src/man/man1m/ncheck.1m
new file mode 100644
index 0000000000..d7a0b2d11a
--- /dev/null
+++ b/usr/src/man/man1m/ncheck.1m
@@ -0,0 +1,138 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ncheck 1M "30 May 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ncheck \- generate a list of path names versus i-numbers
+.SH SYNOPSIS
+.LP
+.nf
+\fBncheck\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] [\fIgeneric_options\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR] [\fIspecial\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBncheck\fR with no options generates a path-name versus i-number list of all
+files on \fIspecial\fR. If \fIspecial\fR is not specified on the command line
+the list is generated for all \fIspecial\fRs in \fB/etc/vfstab\fR which have a
+numeric \fBfsckpass\fR. \fIspecial\fR is the raw device on which the file
+system exists.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 19n
+.rt
+Specify the \fIFSType\fR on which to operate. The \fIFSType\fR should either
+be specified here or be determinable from \fB/etc/vfstab\fR by finding an
+entry in the table that has a numeric \fBfsckpass\fR field and an
+\fBfsckdev\fR that matches \fIspecial\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 19n
+.rt
+Echo the complete command line, but do not execute the command. The command
+line is generated by using the options and arguments provided by the user and
+adding to them information derived from \fB/etc/vfstab\fR. This option may be
+used to verify and validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 19n
+.rt
+Options that are commonly supported by most FSType-specific command modules.
+The following options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI i-list\fR\fR
+.ad
+.RS 13n
+.rt
+Limit the report to the files on the \fIi-list\fR that follows. The
+\fIi-list\fR must be separated by commas with no intervening spaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 13n
+.rt
+Print the names "." and ".\|." which are ordinarily suppressed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 13n
+.rt
+Report only special files and files with set-user-ID mode. This option may be
+used to detect violations of security policy.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 19n
+.rt
+Specify \fIFSType-specific_options\fR in a comma separated (without spaces)
+list of suboptions and keyword-attribute pairs for interpretation by the
+FSType-specific module of the command.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBncheck\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 15n
+.rt
+list of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBvfstab\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5) Manual pages for the
+FSType-specific modules of \fBncheck\fR
+.SH NOTES
+.sp
+.LP
+This command may not be supported for all \fIFSTypes\fR.
diff --git a/usr/src/man/man1m/ncheck_ufs.1m b/usr/src/man/man1m/ncheck_ufs.1m
new file mode 100644
index 0000000000..e32529b0f0
--- /dev/null
+++ b/usr/src/man/man1m/ncheck_ufs.1m
@@ -0,0 +1,56 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ncheck_ufs 1M "18 Dec 1991" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ncheck_ufs \- generate pathnames versus i-numbers for ufs file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBncheck\fR \fB-F\fR ufs [\fIgeneric_options\fR] [\fB-o\fR m] [\fIspecial\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBncheck\fR \fB-F\fR \fBufs\fR generates a pathname versus i-number list of
+files for the \fBufs\fR file system residing on \fIspecial\fR. Names of
+directory files are followed by `\fB/.\fR'.
+.SH OPTIONS
+.sp
+.LP
+See \fBncheck\fR(1M) for the list of \fIgeneric_options\fR supported.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Specify \fBufs\fR file system specific options. The available option is:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+.rt
+Print mode information.
+.RE
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBff\fR(1M), \fBncheck\fR(1M), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+When the file system structure is improper, `\fB??\fR' denotes the "parent" of
+a parentless file and a pathname beginning with `\fB\&.\|.\|.\fR' denotes a
+loop.
diff --git a/usr/src/man/man1m/ndd.1m b/usr/src/man/man1m/ndd.1m
new file mode 100644
index 0000000000..e9ce087d3d
--- /dev/null
+++ b/usr/src/man/man1m/ndd.1m
@@ -0,0 +1,113 @@
+'\" te
+.\" Copyright (C) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ndd 1M "13 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ndd \- get and set driver configuration parameters
+.SH SYNOPSIS
+.LP
+.nf
+\fBndd\fR [\fB-set\fR] \fIdriver\fR \fIparameter\fR [\fIvalue\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBndd\fR gets and sets selected configuration parameters in some kernel
+drivers. Currently, \fBndd\fR only supports the drivers that implement the
+\fBTCP/IP\fR Internet protocol family. Each driver chooses which parameters to
+make visible using \fBndd\fR. Since these parameters are usually tightly
+coupled to the implementation, they are likely to change from release to
+release. Some parameters may be read-only.
+.sp
+.LP
+If the \fB-set\fR option is omitted, \fBndd\fR queries the named \fIdriver\fR,
+retrieves the value associated with the specified \fIparameter\fR, and prints
+it. If the \fB-set\fR option is given, \fBndd\fR passes \fIvalue\fR, which must
+be specified, down to the named \fIdriver\fR which assigns it to the named
+\fIparameter\fR.
+.sp
+.LP
+By convention, drivers that support \fBndd\fR also support a special read-only
+\fIparameter\fR named ``\fB?\fR'' which can be used to list the parameters
+supported by the driver.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRGetting Parameters Supported By The TCP Driver
+.sp
+.LP
+To see which parameters are supported by the TCP driver, use the following
+command:
+
+.sp
+.in +2
+.nf
+example% \fBndd /dev/tcp \e?\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The parameter name ``\fB?\fR'' may need to be escaped with a backslash to
+prevent its being interpreted as a shell meta character.
+
+.sp
+.LP
+The following command sets the value of the parameter \fIip_forwarding\fR in
+the dual stack IP driver to zero. This disables IPv4 packet forwarding.
+
+.sp
+.in +2
+.nf
+example% \fBndd -set /dev/ip ip_forwarding 0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Similarly, in order to disable IPv6 packet forwarding, the value of parameter
+\fIip6_forwarding\fR
+
+.sp
+.in +2
+.nf
+example% \fBndd -set /dev/ip ip6_forwarding 0\fR
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBnca\fR(1), \fBdladm\fR(1M), \fBioctl\fR(2), \fBattributes\fR(5),
+\fBarp\fR(7P), \fBip\fR(7P), \fBip6\fR(7P), \fBtcp\fR(7P), \fBudp\fR(7P)
+.SH NOTES
+.sp
+.LP
+The parameters supported by each driver may change from release to release.
+Like programs that read \fB/dev/kmem\fR, user programs or shell scripts that
+execute \fBndd\fR should be prepared for parameter names to change.
+.sp
+.LP
+The \fBioctl()\fR command that \fBndd\fR uses to communicate with drivers is
+likely to change in a future release. User programs should avoid making
+dependencies on it.
+.sp
+.LP
+The use of \fBndd\fR to administer Layer 2 (Data Link layer) drivers is
+strongly discouraged as this capability is to be obsoleted in a future release,
+replaced by \fBdladm\fR(1M). Please refer to the driver-specific man page in
+section 7D of the SunOS man pages.
+.sp
+.LP
+The meanings of many \fBndd\fR parameters make sense only if you understand how
+the driver is implemented.
+.sp
+.LP
+If a TCP driver sends a report that is truncated, it could be because that
+driver uses \fBndd\fR for transporting the report. \fBndd\fR imposes a 64K
+limit on such reports.
diff --git a/usr/src/man/man1m/ndmpadm.1m b/usr/src/man/man1m/ndmpadm.1m
new file mode 100644
index 0000000000..c61eee3bdc
--- /dev/null
+++ b/usr/src/man/man1m/ndmpadm.1m
@@ -0,0 +1,492 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ndmpadm 1M "24 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ndmpadm \- administer Network Data Management Protocol activities
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ndmpadm\fR [\fB-?\fR ] \fIsubcommand\fR [\fIoptions\fR] [\fIdirect-object\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBndmpadm\fR command can be used to query the \fBndmpd\fR(1M) daemon to
+get the status of active sessions, terminate a session, query backup devices,
+and set or get the current NDMP (Network Data Management Protocol) service
+variables and properties. \fBndmpadm\fR is implemented as a set of subcommands,
+many with their own direct object, which are described in the section for a
+given subcommand. Certain subcommands support options, which are described
+along with the subcommand.
+.sp
+.LP
+The \fBndmpadm\fR command supports the following subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the specified authentication password handling.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable the specified authentication password handling.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get the value of an NDMP configuration property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkill-sessions\fR\fR
+.ad
+.sp .6
+.RS 4n
+Terminate an active session.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the value of an NDMP configuration property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-devices\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get a list of tape devices connected to the server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-sessions\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the details of active NDMP sessions.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR\fR
+.ad
+.RS 6n
+.rt
+Display a list of all subcommands and options.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The \fBndmpadm\fR command supports the subcommands described below.
+.SS "\fBdisable\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBdisable\fR subcommand is:
+.sp
+.in +2
+.nf
+# \fBndmpadm disable -a \fIauth-type\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This subcommand disables the authentication type specified by \fIauth-type\fR
+for an NDMP client's remote access. Valid values for \fIauth-type\fR are
+\fBcram-md5\fR or \fBcleartext\fR.
+.SS "\fBenable\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBenable\fR subcommand is:
+.sp
+.in +2
+.nf
+# \fBndmpadm enable -a \fIauth-type\fR -u \fIusername\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This subcommand prompts for the user's password twice for confirmation and
+activates the specified authentication type with the given username and
+password for NDMP client access. Valid values for \fIauth-type\fR are
+\fBcram-md5\fR or \fBcleartext\fR.
+.SS "\fBget\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBget\fR subcommand is:
+.sp
+.in +2
+.nf
+# \fBndmpadm get [-p] [\fIproperty\fR] [[-p] \fIproperty\fR=\fIvalue\fR]...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The property names are the same as used for the \fBset\fR subcommand and are
+described below. If you do not specify a property, the \fBget\fR subcommand
+returns all configuration properties.
+.SS "\fBkill-sessions\fR Subcommand"
+.sp
+.LP
+The \fBkill-sessions\fR subcommand allows you to terminate the session number
+\fIID\fR.
+.sp
+.LP
+The syntax for the \fBkill-sessions\fR subcommand is:
+.sp
+.in +2
+.nf
+# \fBndmpadm kill-sessions \fIID\fR\fR
+.fi
+.in -2
+.sp
+
+.SS "\fBset\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBset\fR subcommand is:
+.sp
+.in +2
+.nf
+# \fBndmpadm set [-p] \fIproperty\fR=\fIvalue\fR [[-p] \fIproperty\fR=\fIvalue\fR]...\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The properties you can set with the \fBset\fR subcommand are described in the
+\fBndmp\fR(4) man page.
+.SS "\fBshow-devices\fR Subcommand"
+.sp
+.LP
+The syntax for the \fBshow-devices\fR subcommand is:
+.sp
+.in +2
+.nf
+# \fBndmpadm show-devices\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This subcommand lists the name, vendor, serial number, and other information
+about the current tape drive and libraries connected to the system.
+.SS "\fBshow-sessions\fR Subcommand"
+.sp
+.LP
+The \fBshow-sessions\fR subcommand displays details of a session. The syntax
+for the \fBshow-sessions\fR subcommand is:
+.sp
+.in +2
+.nf
+# \fBndmpadm show-sessions [-i tape,scsi,data,mover] [\fIID\fR]\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBshow-sessions\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fBtape\fR,\fBscsi\fR,\fBdata\fR,\fBmover\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identify a type of interface about which to obtain data. If no interface is
+specified, \fBshow-sessions\fR displays information for all types of
+interfaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies a particular session about which to display data. If no \fIID\fR is
+specified, \fBshow-sessions\fR displays data for all sessions.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRObtaining the Status of All NDMP Connections
+.sp
+.LP
+The following command obtains status on all connections.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm show-devices\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRObtaining the Status of Certain Types of Connections
+.sp
+.LP
+The following command obtains status on tape and SCSI interfaces.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm show-sessions -i scsi,tape\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRLimiting Protocol Version
+.sp
+.LP
+The following command limits the use of the NDMP protocol to version 3.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm set -p version=3\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRTurning on Debugging
+.sp
+.LP
+The following command enables debugging. It also sets the NDMP protocol to
+version 3.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm set -p debug-level=1 -p version=3\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRObtaining Current Version Number
+.sp
+.LP
+The following command obtains the version number of the currently running NDMP.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm get -p version\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDisconnecting a Specific Session
+.sp
+.LP
+The command shown below disconnects session 5. The session number was
+previously obtained from an \fBndmpadm show-sessions\fR command.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm kill-session 5\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRObtaining the Values for All NDMP Properties
+.sp
+.LP
+The following command obtains the values for all NDMP properties.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm get\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fREnabling CRAM-MD5 Authentication
+.sp
+.LP
+The following command enables CRAM-MD5 authentication.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm enable -a cram-md5 -u admin\fR
+Enter new password:\fB*****\fR
+Re-enter password:\fB*****\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRDisabling Clear Text Password Authentication
+.sp
+.LP
+The following command disables clear text password authentication.
+
+.sp
+.in +2
+.nf
+# \fBndmpadm disable -a cleartext\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred, such as the \fBndmpd\fR daemon is not running, that
+prevented \fBndmpadm\fR from contacting the demon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdump\fR(1), \fBtar\fR(1), \fBndmpd\fR(1M), \fBndmpstat\fR(1M),
+\fBsvccfg\fR(1M), \fBsyslogd\fR(1M), \fBndmp\fR(4), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBndmpd\fR(1M) daemon is managed by the service management facility
+(\fBsmf\fR(5)), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/ndmpd
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as setting and getting a property
+can be alternatively performed using \fBsvccfg\fR(1M). For example to enable
+Direct Access Recovery (DAR) mode:
+.sp
+.in +2
+.nf
+# \fBsvccfg -s svc:/system/ndmpd\fR
+svc:/system/ndmpd> \fBsetprop ndmpd/dar-support = yes\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...and to get the list of properties:
+.sp
+.in +2
+.nf
+# \fBsvccfg -s svc:/system/ndmpd\fR
+svc:/system/ndmpd> \fBlistprop\fR
+.fi
+.in -2
+.sp
+
diff --git a/usr/src/man/man1m/ndmpd.1m b/usr/src/man/man1m/ndmpd.1m
new file mode 100644
index 0000000000..ce490f2088
--- /dev/null
+++ b/usr/src/man/man1m/ndmpd.1m
@@ -0,0 +1,152 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ndmpd 1M "27 Apr 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ndmpd \- Network Data Management Protocol daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/ndmp/ndmpd\fR [\fB-d\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBndmpd\fR daemon handles client Network Data Management Protocol (NDMP)
+requests. NDMP is an open, enterprise-wide, network-based data management
+protocol used for backup and recovery. The \fBndmpd\fR daemon enables users to
+manage data backup and recovery using Data Management Application (DMA)
+clients. The NDMP protocol is used to coordinate data movement and control
+between a DMA and an NDMP server or between two NDMP servers.
+.sp
+.LP
+By default, \fBndmpd\fR is disabled.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Debugging mode; log file will be created.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred that prevented the \fBndmpd\fR daemon from initializing, such
+as failure to fork a process, mutex initialization.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/ndmp/ndmpd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Network data management protocol server binary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/ndmp/ndmp.log\fR\fR
+.ad
+.sp .6
+.RS 4n
+Network data management protocol log messages file. This file is deleted upon
+reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/ndmp/dumpdates\fR\fR
+.ad
+.sp .6
+.RS 4n
+A text file that stores information about the date and the level of dump
+backups.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBndmpadm\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBsyslogd\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBndmpd\fR daemon is managed by the service management facility
+(\fBsmf\fR(5)), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/ndmpd:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/ndmpstat.1m b/usr/src/man/man1m/ndmpstat.1m
new file mode 100644
index 0000000000..7b7c56eb5d
--- /dev/null
+++ b/usr/src/man/man1m/ndmpstat.1m
@@ -0,0 +1,401 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ndmpstat 1M "21 Jun 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ndmpstat \- show NDMP backup progress statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBndmpstat\fR [\fItapes\fR] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBndmpstat\fR utility reports Network Data Management Protocol (NDMP)
+statistics, among which are NDMP worker threads, disk IO, tape IO, files
+operation, performance, and backup activity.
+.sp
+.LP
+\fBndmpstat\fR reports the aggregate statistics for all tapes and disks. In
+order to obtain statistics for specific tape devices, the tape device name
+should be passed as argument to the utility.
+.sp
+.LP
+When invoked, \fBndmpstat\fR begins its display with a one-line summary of the
+NDMP daemon activity since the NDMP service was invoked.
+.SS "Display Fields"
+.sp
+.LP
+The fields in \fBndmpstat\fR output are described as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwthr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report the number of worker threads in each of the four following states:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of worker threads running
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of blocked worker threads that are waiting for resources such as I/O
+and paging
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of backup operations currently running
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of restore operations currently running
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report on usage of filesystem.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrd\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of files being read
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwr\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of files being written
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisk\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report the number of disk operations per interval.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrd\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of disk blocks being read
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwr\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of disk blocks being written
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtape\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report the number of tape operations per interval. There are slots for up to
+four tapes, labeled with a single number. The number indicates the name of the
+device under \fB/dev/rmt\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrd\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of tape blocks being read
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwr\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of tape blocks being written
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbytes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report the number of bytes transferred. This is the aggregate value of both
+tape and disk devices. The number is in kilobytes.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrd\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of kilobytes being read
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwr\fR\fR
+.ad
+.sp .6
+.RS 4n
+the number of kilobytes being written
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBperf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a rough estimate of performance of the backup/restore operation in
+megabytes per second.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbk\fR\fR
+.ad
+.sp .6
+.RS 4n
+backup performance
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrs\fR\fR
+.ad
+.sp .6
+.RS 4n
+restore performance
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprcnt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the comparative usage of resources, in percent.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdsk\fR\fR
+.ad
+.sp .6
+.RS 4n
+disk I/O time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtpe\fR\fR
+.ad
+.sp .6
+.RS 4n
+tape I/O time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBotr\fR\fR
+.ad
+.sp .6
+.RS 4n
+other time (memory or idle)
+.RE
+
+.RE
+
+.sp
+.LP
+See \fBEXAMPLES\fR.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the number of times that the statistics display is repeated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItape\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies which tapes are to be given priority in the output. A command line is
+limited to a maximum of four tape devices. A common tape name is
+\fB/dev/rmt/\fR\fIn\fR, where \fIn\fR is an integer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the number of seconds over which \fBndmpstat\fR summarizes activity.
+The specified interval remains in effect till the command is terminated.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBndmpstat\fR
+.sp
+.LP
+The following command displays a summary of NDMP daemon activity at five-second
+intervals.
+
+.sp
+.in +2
+.nf
+example% \fBndmpstat 5\fR
+wthr file disk tape bytes perf prcnt
+r w b r rd wr rd wr rd wr rd wr bk rs dsk tpe otr
+1 0 3 6 50 9 1250 0 32544 4455 42335 3234 5 4 20 40 40
+1 0 0 1 1 0 128 0 0 128 64 64 1 0 0 80 20
+1 0 0 1 2 0 128 0 0 0 64 0 1 0 80 0 20
+1 0 0 1 1 0 128 0 0 0 64 0 1 0 80 0 20
+1 0 0 1 3 0 128 0 0 0 64 0 0 0 80 0 20
+1 0 0 1 1 0 128 0 0 128 64 64 1 0 0 80 20
+^C
+example%
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below
+.TE
+
+.sp
+.LP
+Invocation is evolving. Human readable output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBiostat\fR(1M), \fBmpstat\fR(1M), \fBndmpd\fR(1M), \fBndmpadm\fR(1M),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Performance numbers are not accurate and are rounded up at the MB/sec.
+boundary.
diff --git a/usr/src/man/man1m/netstat.1m b/usr/src/man/man1m/netstat.1m
new file mode 100644
index 0000000000..5859adea18
--- /dev/null
+++ b/usr/src/man/man1m/netstat.1m
@@ -0,0 +1,1241 @@
+'\" te
+.\" Copyright (C) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" Copyright (c) 1983 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution.
+.TH netstat 1M "16 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+netstat \- show network status
+.SH SYNOPSIS
+.LP
+.nf
+\fBnetstat\fR [\fB-anvR\fR] [\fB-f\fR \fIaddress_family\fR] [\fB-P\fR \fIprotocol\fR]
+.fi
+
+.LP
+.nf
+\fBnetstat\fR \fB-g\fR [\fB-nv\fR] [\fB-f\fR \fIaddress_family\fR]
+.fi
+
+.LP
+.nf
+\fBnetstat\fR \fB-p\fR [\fB-n\fR] [\fB-f\fR \fIaddress_family\fR]
+.fi
+
+.LP
+.nf
+\fBnetstat\fR \fB-s\fR [\fB-f\fR \fIaddress_family\fR] [\fB-P\fR \fIprotocol\fR]
+ [\fB-T\fR u | d ] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.LP
+.nf
+\fBnetstat\fR \fB-m\fR [\fB-T\fR u | d ] [\fB-v\fR] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.LP
+.nf
+\fBnetstat\fR \fB-i\fR [\fB-I\fR \fIinterface\fR] [\fB-an\fR] [\fB-f\fR \fIaddress_family\fR]
+ [\fB-T\fR u | d ] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.LP
+.nf
+\fBnetstat\fR \fB-r\fR [\fB-anvR\fR] [\fB-f\fR \fIaddress_family\fR | \fIfilter\fR]
+.fi
+
+.LP
+.nf
+\fBnetstat\fR \fB-M\fR [\fB-ns\fR] [\fB-f\fR \fIaddress_family\fR]
+.fi
+
+.LP
+.nf
+\fBnetstat\fR \fB-D\fR [\fB-I\fR \fIinterface\fR] [\fB-f\fR \fIaddress_family\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnetstat\fR command displays the contents of certain network-related data
+structures in various formats, depending on the options you select.
+.sp
+.LP
+The \fBnetstat\fR command has the several forms shown in the SYNOPSIS section,
+above, listed as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The first form of the command (with no required arguments) displays a list of
+active sockets for each protocol.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The second, third, and fourth forms (\fB-g\fR, \fB-p\fR, and \fB-s\fR options)
+display information from various network data structures.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The fifth form (\fB-m\fR option) displays STREAMS memory statistics.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The sixth form (\fB-i\fR option) shows the state of the interfaces.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The seventh form (\fB-r\fR option) displays the routing table.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The eighth form (\fB-M\fR option) displays the multicast routing table.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The ninth form (\fB-D\fR option) displays the state of \fBDHCP\fR on one or all
+interfaces.
+.RE
+.sp
+.LP
+These forms are described in greater detail below.
+.sp
+.LP
+With no arguments (the first form), \fBnetstat\fR displays connected sockets
+for \fBPF_INET\fR, \fBPF_INET6\fR, and \fBPF_UNIX\fR, unless modified otherwise
+by the \fB-f\fR option.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the state of all sockets, all routing table entries, or all interfaces,
+both physical and logical. Normally, listener sockets used by server processes
+are not shown. Under most conditions, only interface, host, network, and
+default routes are shown and only the status of physical interfaces is shown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIaddress_family\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limit all displays to those of the specified \fIaddress_family\fR. The value of
+\fIaddress_family\fR can be one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinet\fR\fR
+.ad
+.RS 9n
+.rt
+For the \fBAF_INET\fR address family showing IPv4 information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinet6\fR\fR
+.ad
+.RS 9n
+.rt
+For the \fBAF_INET6\fR address family showing IPv6 information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunix\fR\fR
+.ad
+.RS 9n
+.rt
+For the \fBAF_UNIX\fR address family.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilter\fR\fR
+.ad
+.sp .6
+.RS 4n
+With \fB-r\fR only, limit the display of routes to those matching the specified
+filter. A filter rule consists of a \fIkeyword\fR:\fIvalue\fR pair. The known
+keywords and the value syntax are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaf:\fR{\fBinet\fR|\fBinet6\fR|\fBunix\fR|\fInumber\fR}\fR
+.ad
+.sp .6
+.RS 4n
+Selects an address family. This is identical to \fB-f\fR \fIaddress_family\fR
+and both syntaxes are supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoutif\fR:{\fIname\fR|\fIifIndex\fR|\fBany\fR|\fBnone\fR}\fR
+.ad
+.sp .6
+.RS 4n
+Selects an output interface. You can specify the interface by name (such as
+\fBhme0\fR) or by \fBifIndex\fR number (for example, \fB2\fR). If \fBany\fR is
+used, the filter matches all routes having a specified interface (anything
+other than null). If \fBnone\fR is used, the filter matches all routes having a
+null interface. Note that you can view the index number (\fIifIndex\fR) for an
+interface with the \fB-a\fR option of \fBifconfig\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdst\fR:{\fIip-address\fR[/\fImask\fR]|\fBany\fR|\fBnone\fR}\fR
+.ad
+.sp .6
+.RS 4n
+Selects a destination IP address. If specified with a mask length, then any
+routes with matching or longer (more specific) masks are selected. If \fBany\fR
+is used, then all but addresses but 0 are selected. If \fBnone\fR is used, then
+address 0 is selected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflags:\fR[\fB+ -\fR]?[\fBABDGHLMSU\fR]\fB+\fR\fR
+.ad
+.sp .6
+.RS 4n
+Selects routes tagged with the specified flags. By default, the flags as
+specified must be set in order to match. With a leading \fB+\fR, the flags
+specified must be set but others are ignored. With a leading \fB-\fR, the flags
+specified must not be set and others are permitted.
+.RE
+
+You can specify multiple instances of \fB-f\fR to specify multiple filters. For
+example:
+.sp
+.in +2
+.nf
+% netstat -nr -f outif:hme0 -f outif:hme1 -f dst:10.0.0.0/8
+.fi
+.in -2
+.sp
+
+The preceding command displays routes within network 10.0.0.0/8, with mask
+length 8 or greater, and an output interface of either \fBhme0\fR or
+\fBhme1\fR, and excludes all other routes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the multicast group memberships for all interfaces. If the \fB-v\fR option
+is included, source-specific membership information is also displayed. See
+DISPLAYS, below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the state of the interfaces that are used for \fBIP\fR traffic. Normally
+this shows statistics for the physical interfaces. When combined with the
+\fB-a\fR option, this will also report information for the logical interfaces.
+See \fBifconfig\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the STREAMS memory statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show network addresses as numbers. \fBnetstat\fR normally displays addresses as
+symbols. This option may be used with any of the display formats.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the net to media tables. See DISPLAYS, below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the routing tables. Normally, only interface, host, network, and default
+routes are shown, but when this option is combined with the \fB-a\fR option,
+all routes will be displayed, including cache. If you have not set up a
+multicast route, \fB-ra\fR might not show any multicast routing entries,
+although the kernel will derive such an entry if needed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show per-protocol statistics. When used with the \fB-M\fR option, show
+multicast routing statistics instead. When used with the \fB-a\fR option,
+per-interface statistics will be displayed, when available, in addition to
+statistics global to the system. See DISPLAYS, below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. Show additional information for the sockets, STREAMS memory
+statistics, routing table, and multicast group memberships.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIinterface\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the state of a particular interface. \fIinterface\fR can be any valid
+interface such as \fBhme0\fR or \fBeri0\fR. Normally, the status and statistics
+for physical interfaces are displayed. When this option is combined with the
+\fB-a\fR option, information for the logical interfaces is also reported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the multicast routing tables. When used with the \fB-s\fR option, show
+multicast routing statistics instead.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprotocol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limit display of statistics or state of all sockets to those applicable to
+\fIprotocol\fR. The protocol can be one of \fBip\fR, \fBipv6\fR, \fBicmp\fR,
+\fBicmpv6\fR, \fBicmp\fR, \fBicmpv6\fR, \fBigmp\fR, \fBudp\fR, \fBtcp\fR,
+\fBrawip\fR. \fBrawip\fR can also be specified as \fBraw\fR. The command
+accepts protocol options only as all lowercase.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the status of \fBDHCP\fR configured interfaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+This modifier displays extended security attributes for sockets and routing
+table entries. The \fB-R\fR modifier is available only if the system is
+configured with the Solaris Trusted Extensions feature.
+.sp
+With \fB-r\fR only, this option displays the routing entries' gateway security
+attributes. See \fBroute\fR(1M) for more information on security attributes.
+.sp
+When displaying socket information using the first form of the commmand, this
+option displays additional information for Multi-Level Port(MLP) sockets. This
+includes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The label for the peer if the socket is connected.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The following flags can be appended to the socket's "State" output:
+.RS
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBP\fR\fR
+.ad
+.RS 5n
+.rt
+The socket is a MLP on zone-private IP addresses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR\fR
+.ad
+.RS 5n
+.rt
+The socket is a MLP on IP addresses shared between zones.
+.RE
+
+.RE
+
+.RE
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 12n
+.rt
+Display statistics accumulated since last display every \fIinterval\fR seconds,
+repeating forever, unless \fIcount\fR is specified. When invoked with
+\fIinterval\fR, the first row of netstat output shows statistics accumulated
+since last reboot.
+.sp
+The following options support \fIinterval\fR: \fB-i\fR, \fB-m\fR, \fB-s\fR and
+\fB-Ms\fR. Some values are configuration parameters and are just redisplayed at
+each interval.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 12n
+.rt
+Display interface statistics the number of times specified by \fIcount\fR, at
+the interval specified by \fIinterval\fR.
+.RE
+
+.SH DISPLAYS
+.SS "Active Sockets (First Form)"
+.sp
+.LP
+The display for each active socket shows the local and remote address, the send
+and receive queue sizes (in bytes), the send and receive windows (in bytes),
+and the internal state of the protocol.
+.sp
+.LP
+The symbolic format normally used to display socket addresses is either:
+.sp
+.in +2
+.nf
+\fBhostname\fR.\fIport\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+when the name of the host is specified, or
+.sp
+.in +2
+.nf
+\fInetwork\fR.\fIport\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+if a socket address specifies a network but no specific host.
+.sp
+.LP
+The numeric host address or network number associated with the socket is used
+to look up the corresponding symbolic hostname or network name in the
+\fIhosts\fR or \fInetworks\fR database.
+.sp
+.LP
+If the network or hostname for an address is not known, or if the \fB-n\fR
+option is specified, the numerical network address is shown. Unspecified, or
+"wildcard", addresses and ports appear as an asterisk (\fB*\fR). For more
+information regarding the Internet naming conventions, refer to \fBinet\fR(7P)
+and \fBinet6\fR(7P).
+.sp
+.LP
+For SCTP sockets, because an endpoint can be represented by multiple addresses,
+the verbose option (\fB-v\fR) displays the list of all the local and remote
+addresses.
+.SS "\fITCP Sockets\fR"
+.sp
+.LP
+The possible state values for \fBTCP\fR sockets are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBOUND\fR\fR
+.ad
+.RS 16n
+.rt
+Bound, ready to connect or listen.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLOSED\fR\fR
+.ad
+.RS 16n
+.rt
+Closed. The socket is not being used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLOSING\fR\fR
+.ad
+.RS 16n
+.rt
+Closed, then remote shutdown; awaiting acknowledgment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLOSE_WAIT\fR\fR
+.ad
+.RS 16n
+.rt
+Remote shutdown; waiting for the socket to close.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESTABLISHED\fR\fR
+.ad
+.RS 16n
+.rt
+Connection has been established.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFIN_WAIT_1\fR\fR
+.ad
+.RS 16n
+.rt
+Socket closed; shutting down connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFIN_WAIT_2\fR\fR
+.ad
+.RS 16n
+.rt
+Socket closed; waiting for shutdown from remote.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIDLE\fR\fR
+.ad
+.RS 16n
+.rt
+Idle, opened but not bound.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLAST_ACK\fR\fR
+.ad
+.RS 16n
+.rt
+Remote shutdown, then closed; awaiting acknowledgment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLISTEN\fR\fR
+.ad
+.RS 16n
+.rt
+Listening for incoming connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSYN_RECEIVED\fR\fR
+.ad
+.RS 16n
+.rt
+Initial synchronization of the connection under way.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSYN_SENT\fR\fR
+.ad
+.RS 16n
+.rt
+Actively trying to establish connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTIME_WAIT\fR\fR
+.ad
+.RS 16n
+.rt
+Wait after close for remote shutdown retransmission.
+.RE
+
+.SS "\fISCTP Sockets\fR"
+.sp
+.LP
+The possible state values for SCTP sockets are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLOSED\fR\fR
+.ad
+.RS 21n
+.rt
+Closed. The socket is not being used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLISTEN\fR\fR
+.ad
+.RS 21n
+.rt
+Listening for incoming associations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBESTABLISHED\fR\fR
+.ad
+.RS 21n
+.rt
+Association has been established.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOOKIE_WAIT\fR\fR
+.ad
+.RS 21n
+.rt
+\fBINIT\fR has been sent to the peer, awaiting acknowledgment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOOKIE_ECHOED\fR\fR
+.ad
+.RS 21n
+.rt
+State cookie from the INIT-ACK has been sent to the peer, awaiting
+acknowledgement.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSHUTDOWN_PENDING\fR\fR
+.ad
+.RS 21n
+.rt
+\fBSHUTDOWN\fR has been received from the upper layer, awaiting acknowledgement
+of all outstanding \fBDATA\fR from the peer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSHUTDOWN_SENT\fR\fR
+.ad
+.RS 21n
+.rt
+All outstanding data has been acknowledged in the \fBSHUTDOWN_SENT\fR state.
+\fBSHUTDOWN\fR has been sent to the peer, awaiting acknowledgement.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSHUTDOWN_RECEIVED\fR\fR
+.ad
+.RS 21n
+.rt
+\fBSHUTDOWN\fR has been received from the peer, awaiting acknowledgement of all
+outstanding \fBDATA\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSHUTDOWN_ACK_SENT\fR\fR
+.ad
+.RS 21n
+.rt
+All outstanding data has been acknowledged in the \fBSHUTDOWN_RECEIVED\fR
+state. \fBSHUTDOWN_ACK\fR has been sent to the peer.
+.RE
+
+.SS "Network Data Structures (Second Through Fifth Forms)"
+.sp
+.LP
+The form of the display depends upon which of the \fB-g\fR, \fB-m\fR, \fB-p\fR,
+or \fB-s\fR options you select.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 6n
+.rt
+Displays the list of multicast group membership.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 6n
+.rt
+Displays the memory usage, for example, STREAMS mblks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Displays the net to media mapping table. For IPv4, the address resolution table
+is displayed. See \fBarp\fR(1M). For IPv6, the neighbor cache is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Displays the statistics for the various protocol layers.
+.RE
+
+.sp
+.LP
+The statistics use the MIB specified variables. The defined values for
+\fBipForwarding\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBforwarding(1)\fR\fR
+.ad
+.RS 21n
+.rt
+Acting as a gateway.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnot-forwarding(2)\fR\fR
+.ad
+.RS 21n
+.rt
+Not acting as a gateway.
+.RE
+
+.sp
+.LP
+The IPv6 and ICMPv6 protocol layers maintain per-interface statistics. If the
+\fB-a\fR option is specified with the \fB-s\fR option, then the per-interface
+statistics as well as the total sums are displayed. Otherwise, just the sum of
+the statistics are shown.
+.sp
+.LP
+For the second, third, and fourth forms of the command, you must specify at
+least \fB-g\fR, \fB-p\fR, or \fB-s\fR. You can specify any combination of these
+options. You can also specify \fB-m\fR (the fifth form) with any set of the
+\fB-g\fR, \fB-p\fR, and \fB-s\fR options. If you specify more than one of these
+options, \fBnetstat\fR displays the information for each one of them.
+.SS "Interface Status (Sixth Form)"
+.sp
+.LP
+The interface status display lists information for all current interfaces, one
+interface per line. If an interface is specified using the \fB-I\fR option, it
+displays information for only the specified interface.
+.sp
+.LP
+The list consists of the interface name, \fBmtu\fR (maximum transmission unit,
+or maximum packet size)(see \fBifconfig\fR(1M)), the network to which the
+interface is attached, addresses for each interface, and counter associated
+with the interface. The counters show the number of input packets, input
+errors, output packets, output errors, and collisions, respectively. For
+Point-to-Point interfaces, the Net/Dest field is the name or address on the
+other side of the link.
+.sp
+.LP
+If the \fB-a\fR option is specified with either the \fB-i\fR option or the
+\fB-I\fR option, then the output includes names of the physical interface(s),
+counts for input packets and output packets for each logical interface, plus
+additional information.
+.sp
+.LP
+If the \fB-n\fR option is specified, the list displays the IP address instead
+of the interface name.
+.sp
+.LP
+If an optional \fIinterval\fR is specified, the output will be continually
+displayed in \fIinterval\fR seconds until interrupted by the user or until
+\fIcount\fR is reached. See OPERANDS.
+.sp
+.LP
+The physical interface is specified using the \fB-I\fR option. When used with
+the \fIinterval\fR operand, output for the \fB-I\fR option has the following
+format:
+.sp
+.in +2
+.nf
+input eri0 output input (Total) output
+packets errs packets errs colls packets errs packets errs colls
+227681 0 659471 1 502 261331 0 99597 1 502
+10 0 0 0 0 10 0 0 0 0
+8 0 0 0 0 8 0 0 0 0
+10 0 2 0 0 10 0 2 0 0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the input interface is not specified, the first interface of address family
+\fBinet\fR or \fBinet6\fR will be displayed.
+.SS "Routing Table (Seventh Form)"
+.sp
+.LP
+The routing table display lists the available routes and the status of each.
+Each route consists of a destination host or network, and a gateway to use in
+forwarding packets. The \fIflags\fR column shows the status of the route. These
+flags are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBU\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates route is \fBup\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBG\fR\fR
+.ad
+.RS 5n
+.rt
+Route is to a gateway.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBH\fR\fR
+.ad
+.RS 5n
+.rt
+Route is to a host and not a network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBM\fR\fR
+.ad
+.RS 5n
+.rt
+Redundant route established with the \fB-multirt\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR\fR
+.ad
+.RS 5n
+.rt
+Route was established using the \fB-setsrc\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBD\fR\fR
+.ad
+.RS 5n
+.rt
+Route was created dynamically by a redirect.
+.RE
+
+.sp
+.LP
+If the \fB-a\fR option is specified, there will be routing entries with the
+following flags:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBA\fR\fR
+.ad
+.RS 5n
+.rt
+Combined routing and address resolution entries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBB\fR\fR
+.ad
+.RS 5n
+.rt
+Broadcast addresses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBL\fR\fR
+.ad
+.RS 5n
+.rt
+Local addresses for the host.
+.RE
+
+.sp
+.LP
+Interface routes are created for each interface attached to the local host; the
+gateway field for such entries shows the address of the outgoing interface.
+.sp
+.LP
+The \fBuse\fR column displays the number of packets sent using a combined
+routing and address resolution (\fBA\fR) or a broadcast (\fBB\fR) route. For a
+local (\fBL\fR) route, this count is the number of packets received, and for
+all other routes it is the number of times the routing entry has been used to
+create a new combined route and address resolution entry.
+.sp
+.LP
+The \fIinterface\fR entry indicates the network interface utilized for the
+route.
+.SS "Multicast Routing Tables (Eighth Form)"
+.sp
+.LP
+The multicast routing table consists of the virtual interface table and the
+actual routing table.
+.SS "DHCP Interface Information (Ninth Form)"
+.sp
+.LP
+The \fBDHCP\fR interface information consists of the interface name, its
+current state, lease information, packet counts, and a list of flags.
+.sp
+.LP
+The states correlate with the specifications set forth in \fIRFC 2131\fR.
+.sp
+.LP
+Lease information includes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+when the lease began;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+when lease renewal will begin; and
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+when the lease will expire.
+.RE
+.sp
+.LP
+The flags currently defined include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBOOTP\fR\fR
+.ad
+.RS 11n
+.rt
+The interface has a lease obtained through \fBBOOTP\fR (IPv4 only).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBUSY\fR\fR
+.ad
+.RS 11n
+.rt
+The interface is busy with a \fBDHCP\fR transaction.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPRIMARY\fR\fR
+.ad
+.RS 11n
+.rt
+The interface is the primary interface. See \fBdhcpinfo\fR(1) and
+\fBifconfig\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFAILED\fR\fR
+.ad
+.RS 11n
+.rt
+The interface is in failure state and must be manually restarted.
+.RE
+
+.sp
+.LP
+Packet counts are maintained for the number of packets sent, the number of
+packets received, and the number of lease offers declined by the \fBDHCP\fR
+client. All three counters are initialized to zero and then incremented while
+obtaining a lease. The counters are reset when the period of lease renewal
+begins for the interface. Thus, the counters represent either the number of
+packets sent, received, and declined while obtaining the current lease, or the
+number of packets sent, received, and declined while attempting to obtain a
+future lease.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/inet_type\fR\fR
+.ad
+.RS 26n
+.rt
+\fBDEFAULT_IP\fR setting
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBarp\fR(1M), \fBdhcpinfo\fR(1), \fBdhcpagent\fR(1M), \fBifconfig\fR(1M),
+\fBiostat\fR(1M), \fBkstat\fR(1M), \fBmibiisa\fR(1M), \fBsavecore\fR(1M),
+\fBvmstat\fR(1M), \fBhosts\fR(4), \fBinet_type\fR(4), \fBnetworks\fR(4),
+\fBprotocols\fR(4), \fBservices\fR(4), \fBattributes\fR(5), \fBdhcp\fR(5),
+\fBkstat\fR(7D), \fBinet\fR(7P), \fBinet6\fR(7P)
+.sp
+.LP
+Droms, R., \fIRFC 2131, Dynamic Host Configuration Protocol\fR, Network Working
+Group, March 1997.
+.sp
+.LP
+Droms, R. \fIRFC 3315, Dynamic Host Configuration Protocol for IPv6
+(DHCPv6)\fR. Cisco Systems. July 2003.
+.SH NOTES
+.sp
+.LP
+When displaying interface information, \fBnetstat\fR honors the
+\fBDEFAULT_IP\fR setting in \fB/etc/default/inet_type\fR. If it is set to
+\fBIP_VERSION4\fR, then \fBnetstat\fR will omit information relating to IPv6
+interfaces, statistics, connections, routes and the like.
+.sp
+.LP
+However, you can override the \fBDEFAULT_IP\fR setting in
+\fB/etc/default/inet_type\fR on the command-line. For example, if you have used
+the command-line to explicitly request IPv6 information by using the
+\fBinet6\fR address family or one of the IPv6 protocols, it will override the
+\fBDEFAULT_IP\fR setting.
+.sp
+.LP
+If you need to examine network status information following a kernel crash, use
+the \fBmdb\fR(1) utility on the \fBsavecore\fR(1M) output.
+.sp
+.LP
+The \fBnetstat\fR utility obtains TCP statistics from the system by opening
+\fB/dev/tcp\fR and issuing queries. Because of this, \fBnetstat\fR might
+display an extra, unused connection in \fBIDLE\fR state when reporting
+connection status.
+.sp
+.LP
+Previous versions of \fBnetstat\fR had undocumented methods for reporting
+kernel statistics published using the \fBkstat\fR(7D) facility. This
+functionality has been removed. Use \fBkstat\fR(1M) instead.
+.sp
+.LP
+\fBnetstat\fR restricts its output to information that is relevant to the zone
+in which \fBnetstat\fR runs. (This is true for both shared-IP and exclusive-IP
+zones.)
diff --git a/usr/src/man/man1m/netstrategy.1m b/usr/src/man/man1m/netstrategy.1m
new file mode 100644
index 0000000000..c7020a5ebc
--- /dev/null
+++ b/usr/src/man/man1m/netstrategy.1m
@@ -0,0 +1,118 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH netstrategy 1M "5 May 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+netstrategy \- return network configuration information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/netstrategy\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnetstrategy\fR command determines the network configuration strategy in
+use on a system and returns information in a form that is easily consumable by
+a script. The command returns three tokens:
+.sp
+.in +2
+.nf
+\fI<root filesystem type>\fR \fI<primary interface>\fR \fI<network config strategy>\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+These tokens are described as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fI<root filesystem type>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Type of filesystem that contains the bootable kernel, as would be specified in
+the \fIfstype\fR column of the \fBmnttab\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fI<primary interface>\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of the primary network interface. For a diskless machine, this is the
+interface used to load the kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fI<network config strategy>\fR\fR
+.ad
+.sp .6
+.RS 4n
+The means by which a system obtains its IP address for booting. This can be one
+of \fBrarp\fR, \fBdhcp\fR, or \fBnone\fR.
+.RE
+
+.sp
+.LP
+The \fBnetstrategy\fR command is not intended for use on a command line.
+.SH OPTIONS
+.sp
+.LP
+The \fBnetstrategy\fR command has no options.
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 7n
+.rt
+Success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!=0\fR\fR
+.ad
+.RS 7n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBifconfig\fR(1M), \fBmnttab\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/newaliases.1m b/usr/src/man/man1m/newaliases.1m
new file mode 100644
index 0000000000..e07465c946
--- /dev/null
+++ b/usr/src/man/man1m/newaliases.1m
@@ -0,0 +1,231 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH newaliases 1M "14 Sep 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+newaliases \- rebuild the data base for the mail aliases file
+.SH SYNOPSIS
+.LP
+.nf
+\fBnewaliases\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnewaliases\fR rebuilds the random access data base for the mail aliases file
+\fB/etc/mail/aliases\fR.
+.sp
+.LP
+\fBnewaliases\fR accepts all the flags that \fBsendmail\fR(1M) accepts.
+However, most of these flags have no effect, except for the \fB-C\fR option and
+three of the \fBProcessing\fR \fBOptions\fR that can be set from a
+configuration file with the \fB-o\fR option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fI /path/to/alt/config/file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use alternate configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-oA\fR\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify possible alias files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-oL\fR\fIn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the default log level to \fIn\fR. Defaults to \fB9\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-on\fR\fR
+.ad
+.sp .6
+.RS 4n
+Validate the \fBRHS\fR of aliases when rebuilding the \fBaliases\fR(4)
+database.
+.RE
+
+.sp
+.LP
+\fBnewaliases\fR runs in verbose mode (\fB-v\fR option) automatically.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRunning the \fBnewaliases\fR Command
+.sp
+.LP
+The following command runs \fBnewaliases\fR on an alias file different from the
+\fB/etc/mail/aliases\fR default in \fBsendmail\fR(1M):
+
+.sp
+.in +2
+.nf
+ example% \fBnewaliases \fR\fB-oA\fR\fB\fI/path/to/alternate/alias/file\fR\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+\fBnewaliases\fR returns an exit status describing what it did. The codes are
+defined in \fB/usr/include/sysexits.h\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_OK\fR\fR
+.ad
+.RS 18n
+.rt
+Successful completion on all addresses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_NOUSER\fR\fR
+.ad
+.RS 18n
+.rt
+User name not recognized.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_UNAVAILABLE\fR\fR
+.ad
+.RS 18n
+.rt
+Catchall. Necessary resources were not available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_SYNTAX\fR\fR
+.ad
+.RS 18n
+.rt
+Syntax error in address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_SOFTWARE\fR\fR
+.ad
+.RS 18n
+.rt
+Internal software error, including bad arguments.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_OSERR\fR\fR
+.ad
+.RS 18n
+.rt
+Temporary operating system error, such as "cannot fork".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_NOHOST\fR\fR
+.ad
+.RS 18n
+.rt
+Host name not recognized.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_TEMPFAIL\fR\fR
+.ad
+.RS 18n
+.rt
+Message could not be sent immediately, but was queued.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/aliases\fR\fR
+.ad
+.RS 25n
+.rt
+Symbolic link to \fB/etc/mail/aliases\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/aliases.pag\fR\fR
+.ad
+.RS 25n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/aliases.dir\fR\fR
+.ad
+.RS 25n
+.rt
+\fBndbm\fR files maintained by \fBnewaliases\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/aliases.db\fR\fR
+.ad
+.RS 25n
+.rt
+Berkeley DataBase file maintained by newaliases
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsendmail\fR(1M), \fBaliases\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/newfs.1m b/usr/src/man/man1m/newfs.1m
new file mode 100644
index 0000000000..b274b6a47d
--- /dev/null
+++ b/usr/src/man/man1m/newfs.1m
@@ -0,0 +1,531 @@
+'\" te
+.\" Copyright (c) 1983 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution. Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.TH newfs 1M "1 Mar 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+newfs \- construct a UFS file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBnewfs\fR [\fB-NSBTv\fR] [\fImkfs-options\fR] \fIraw-device\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnewfs\fR is a "friendly" front-end to the \fBmkfs\fR(1M) program for making
+\fBUFS\fR file systems on disk partitions. \fBnewfs\fR calculates the
+appropriate parameters to use and calls \fBmkfs\fR.
+.sp
+.LP
+If run interactively (that is, standard input is a tty), \fBnewfs\fR prompts
+for confirmation before making the file system.
+.sp
+.LP
+If the \fB-N\fR option is not specified and the inodes of the device are not
+randomized, \fBnewfs\fR calls \fBfsirand\fR(1M).
+.sp
+.LP
+You must be super-user or have appropriate write privileges to use this
+command, except when creating a \fBUFS\fR file system on a \fIdiskette\fR. See
+\fBEXAMPLES\fR.
+.SS "Creating a Multiterabyte UFS File System"
+.sp
+.LP
+Keep the following limitations in mind when creating a multiterabyte UFS file
+system:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fInbpi\fR is set to 1 Mbyte unless you specifically set it higher. You cannot
+set \fInbpi\fR lower than 1 Mbyte on a multiterabyte UFS file system.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIfragsize\fR is set equal to \fIbsize\fR.
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print out the file system parameters that would be used to create the file
+system without actually creating the file system. \fBfsirand\fR(1M) is not
+called here.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sends to stdout a human-readable version of the superblock that would be used
+to create a filesystem with the specified configuration parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sends to stdout a binary (machine-readable) version of the superblock that
+would be used to create a filesystem with the specified configuration
+parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the parameters of the file system to allow eventual growth to over a
+terabyte in total file system size. This option sets \fIfragsize\fR to be the
+same as \fIbsize\fR, and sets \fInbpi\fR to 1 Mbyte, unless the \fB-i\fR option
+is used to make it even larger. If you use the \fB-f\fR or \fB-i\fR options to
+specify a \fIfragsize\fR or \fInbpi\fR that is incompatible with this option,
+the user-supplied value of \fIfragsize\fR or \fInbpi\fR is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. \fBnewfs\fR prints out its actions, including the parameters passed to
+\fBmkfs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImkfs-options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Options that override the default parameters are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIapc\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of alternate sectors per cylinder to reserve for bad block
+replacement for SCSI devices only. The default is \fB0\fR.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The logical block size of the file system in bytes, either 4096 or 8192. The
+default is \fB8192\fR. The sun4u architecture does not support the \fB4096\fR
+block size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcgsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of cylinders per cylinder group, ranging from \fB16\fR to \fB256\fR.
+The default is calculated by dividing the number of sectors in the file system
+by the number of sectors in a gigabyte. Then, the result is multiplied by
+\fB32\fR. The default value is always between \fB16\fR and \fB256\fR.
+.sp
+\fBmkfs\fR can override this value. See \fBmkfs_ufs\fR(1M) for details.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fImaxcontig\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of logical blocks, belonging to one file, that are allocated
+contiguously. The default is calculated as follows:
+.sp
+.in +2
+.nf
+\fBmaxcontig =\fR \fIdisk drive maximum transfer size / disk block size\fR
+.fi
+.in -2
+.sp
+
+If the disk drive's maximum transfer size cannot be determined, the default
+value for \fBmaxcontig\fR is calculated from kernel parameters as follows:
+.sp
+If \fBmaxphys\fR is less than \fBufs_maxmaxphys\fR, which is typically 1 Mbyte,
+then \fBmaxcontig\fR is set to \fBmaxphys\fR. Otherwise, \fBmaxcontig\fR is set
+to \fBufs_maxmaxphys\fR.
+.sp
+You can set \fBmaxcontig\fR to any positive integer value.
+.sp
+The actual value will be the lesser of what has been specified and what the
+hardware supports.
+.sp
+You can subsequently change this parameter by using \fBtunefs\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIgap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Rotational delay. This option is obsolete in the Solaris 10 release. The value
+is always set to \fB0\fR, regardless of the input value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfragsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The smallest amount of disk space in bytes that can be allocated to a file.
+\fBfragsize\fR must be a power of 2 divisor of \fBbsize\fR, where:
+.sp
+\fBbsize\fR / \fBfragsize\fR is 1, 2, 4, or 8.
+.sp
+This means that if the logical block size is \fB4096\fR, legal values for
+\fBfragsize\fR are \fB512\fR, \fB1024\fR, \fB2048\fR, and \fB4096\fR. When the
+logical block size is \fB8192\fR, legal values are \fB1024\fR, \fB2048\fR,
+\fB4096\fR, and \fB8192\fR. The default value is \fB1024\fR.
+.sp
+For file systems greater than 1 terabyte or for file systems created with the
+\fB-T\fR option, \fBfragsize\fR is forced to match block size (\fBbsize\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fInbpi\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of bytes per inode, which specifies the density of inodes in the
+file system. The number is divided into the total size of the file system to
+determine the number of inodes to create.
+.sp
+This value should reflect the expected average size of files in the file
+system. If fewer inodes are desired, a larger number should be used. To create
+more inodes, a smaller number should be given. The default for \fInbpi\fR is as
+follows:
+.sp
+.in +2
+.nf
+Disk size Density
+
+Less than 1GB 2048
+Less than 2GB 4096
+Less than 3GB 6144
+3GB to 1 Tbyte 8192
+Greater than 1 Tbyte
+ or created with -T 1048576
+.fi
+.in -2
+.sp
+
+The number of inodes can increase if the file system is expanded with the
+\fBgrowfs\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIfree\fR\fR
+.ad
+.sp .6
+.RS 4n
+The minimum percentage of free space to maintain in the file system, between 0%
+and 99%, inclusively. This space is off-limits to users. Once the file system
+is filled to this threshold, only the super-user can continue writing to the
+file system.
+.sp
+The default is ((64 Mbytes/partition size) * 100), rounded down to the nearest
+integer and limited between 1% and 10%, inclusively.
+.sp
+This parameter can be subsequently changed using the \fBtunefs\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fInrpos\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of different rotational positions in which to divide a cylinder
+group. The default is \fB8\fR.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspace\fR\||\|\fItime\fR\fR
+.ad
+.sp .6
+.RS 4n
+The file system can either be instructed to try to minimize the \fBtime\fR
+spent allocating blocks, or to try to minimize the \fBspace\fR fragmentation on
+the disk. The default is \fItime\fR.
+.sp
+This parameter can subsequently be changed with the \fBtunefs\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrpm\fR\fR
+.ad
+.sp .6
+.RS 4n
+The rotational speed of the disk in revolutions per minute. The default is
+driver- or device-specific.
+.sp
+Note that you specify \fIrpm\fR for \fBnewfs\fR and \fIrps\fR for \fBmkfs\fR.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The size of the file system in sectors. The default is to use the entire
+partition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIntrack\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of tracks per cylinder on the disk. The default is taken from the
+disk label.
+.sp
+This option is not applicable for disks with EFI labels and is ignored.
+.RE
+
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIraw-device\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of a raw special device residing in the \fB/dev\fR directory (for
+example, \fB/dev/rdsk/c0t0d0s6\fR) on which to create the file system.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBnewfs\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying the Parameters for the Raw Special Device
+.sp
+.LP
+The following example verbosely displays the parameters for the raw special
+device, \fBc0t0d0s6\fR. It does not actually create a new file system:
+
+.sp
+.in +2
+.nf
+example# newfs \fB-Nv\fR /dev/rdsk/c0t0d0s6
+mkfs \fB-F\fR ufs \fB-o\fR N /dev/rdsk/c0t0d0s6 1112940 54 15 8192 1024 16 10 60
+2048 t 0 \(mi1 8 /dev/rdsk/c0t0d0s6: 1112940 sectors in
+1374 cylinders of 15 tracks, 54 sectors 569.8MB in 86 cyl
+groups (16 c/g, 6.64MB/g, 3072 i/g) super-block backups
+(for fsck \fB-b\fR #) at:
+32, 13056, 26080, 39104, 52128, 65152, 78176, 91200, 104224, .\|.\|.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a \fBUFS\fR File System
+.sp
+.LP
+The following example creates a \fBUFS\fR file system on a diskette that is
+managed by a volume manager that makes use of the mount point \fB/vol\fR.
+
+.sp
+.in +2
+.nf
+example% newfs /vol/dev/aliases/floppy0
+newfs: construct a new file system /vol/dev/aliases/floppy0: (y/n)? y
+/vol/dev/aliases/floppy0: 2880 sectors in 80 cylinders of 2 tracks,
+18 sectors 1.4MB in 5 cyl groups (16 c/g, 0.28MB/g, 128 i/g)
+super-block backups (for fsck \fB-F\fR ufs \fB-o\fR b=#) at:
+32, 640, 1184, 1792, 2336, .\|.\|.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating a \fBUFS\fR File System That Will Eventually Be Grown
+to a Multiterabyte UFS File System
+.sp
+.LP
+The following example creates a \fBUFS\fR file system that will eventually be
+grown to a multiterabyte UFS file system.
+
+.sp
+.LP
+This command creates a 800-Gbyte file system on the volume,
+\fB/dev/md/rdsk/d99\fR.
+
+.sp
+.in +2
+.nf
+# newfs -T /dev/md/rdsk/d99
+newfs: construct a new file system /dev/md/rdsk/d99: (y/n)? y
+ /dev/md/rdsk/d99: 1677754368 sectors in 45512 cylinders of
+ 144 tracks, 256 sectors
+ 819216.0MB in 1821 cyl groups (25 c/g, 450.00MB/g, 448 i/g) .\|.\|.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Then, if you increase the volume size for this file system, you can use the
+\fBgrowfs\fR command to expand the file system. The file system is grown to 1.2
+terabytes in this example:
+
+.sp
+.in +2
+.nf
+# growfs -v /dev/md/rdsk/d99
+/usr/lib/fs/ufs/mkfs -G /dev/md/rdsk/d99 2516631552 /dev/md/rdsk/d99:
+ 2516631552 sectors in 68268 cylinders of 144 tracks, 256 sectors
+ 1228824.0MB in 2731 cyl groups (25 c/g, 450.00MB/g, 448 i/g).\|.\|.
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+The operation was successful.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR, \fB10\fR\fR
+.ad
+.sp .6
+.RS 4n
+Usage error or internal error. A message is output to \fBSTDERR\fR explaining
+the error.
+.RE
+
+.sp
+.LP
+Other exit values may be returned by \fBmkfs\fR(1M), which is called by
+\fBnewfs\fR.
+.SH SEE ALSO
+.sp
+.LP
+\fBfsck\fR(1M), \fBfsck_ufs\fR(1M), \fBfsirand\fR(1M), \fBmkfs\fR(1M),
+\fBmkfs_ufs\fR(1M), \fBtunefs\fR(1M), \fBattributes\fR(5), \fBlargefile\fR(5),
+\fBufs\fR(7FS)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnewfs: No such file or directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+The device specified does not exist, or a disk partition was not specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIspecial\fR\fB: cannot open\fR\fR
+.ad
+.sp .6
+.RS 4n
+You must write access to the device to use this command.
+.RE
+
diff --git a/usr/src/man/man1m/newkey.1m b/usr/src/man/man1m/newkey.1m
new file mode 100644
index 0000000000..fbf49ac06a
--- /dev/null
+++ b/usr/src/man/man1m/newkey.1m
@@ -0,0 +1,119 @@
+'\" te
+.\" Copyright (C) 2005, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH newkey 1M "13 Nov 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+newkey \- create a new Diffie-Hellman key pair in the publickey database
+.SH SYNOPSIS
+.LP
+.nf
+\fBnewkey\fR \fB-h\fR \fIhostname\fR [\fB-s\fR nisplus | nis | files | ldap]
+.fi
+
+.LP
+.nf
+\fBnewkey\fR \fB-u\fR \fIusername\fR [\fB-s\fR nisplus | nis | files | ldap]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnewkey\fR establishes new public keys for users and machines on the network.
+These keys are needed when using secure \fBRPC\fR or secure \fBNFS\fR service.
+.sp
+.LP
+\fBnewkey\fR prompts for a password for the given \fIusername\fR or
+\fBhostname\fR and then creates a new public/secret Diffie-Hellman 192 bit key
+pair for the user or host. The secret key is encrypted with the given password.
+The key pair can be stored in the \fB/etc/publickey\fR file, the NIS
+\fBpublickey\fR map, or the NIS+ \fBcred.org_dir\fR table.
+.sp
+.LP
+\fBnewkey\fR consults the \fBpublickey\fR entry in the name service switch
+configuration file (see \fBnsswitch.conf\fR(4)) to determine which naming
+service is used to store the secure \fBRPC\fR keys. If the \fBpublickey\fR
+entry specifies a unique name service, \fBnewkey\fR will add the key in the
+specified name service. However, if there are multiple name services listed,
+\fBnewkey\fR cannot decide which source to update and will display an error
+message. The user is required to specify the source explicitly with the
+\fB-s\fR option.
+.sp
+.LP
+In the case of NIS, \fBnewkey\fR should be run by the superuser on the master
+NIS server for that domain. In the case of NIS+, \fBnewkey\fR should be run by
+the superuser on a machine which has permission to update the
+\fBcred.org_dir\fR table of the new user/host domain.
+.sp
+.LP
+In the case of NIS+, \fBnisaddcred\fR(1M) should be used to add new keys.
+\fBnewkey\fR cannot be used to create keys other than 192-bit Diffie-Hellman.
+.sp
+.LP
+In the case of LDAP, \fBnewkey\fR should be run by the superuser on a machine
+that also recognizes the directory manager's bind distinguished name (DN) and
+password to perform an LDAP update for the host.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhostname\fR\fR
+.ad
+.RS 15n
+.rt
+Create a new public/secret key pair for the privileged user at the given
+\fBhostname\fR. Prompts for a password for the given \fBhostname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIusername\fR\fR
+.ad
+.RS 15n
+.rt
+Create a new public/secret key pair for the given \fIusername\fR. Prompts for a
+password for the given \fIusername\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fBnisplus\fR\fR
+.ad
+.br
+.na
+\fB\fB-s\fR \fBnis\fR\fR
+.ad
+.br
+.na
+\fB\fB-s\fR \fBfiles\fR\fR
+.ad
+.br
+.na
+\fB\fB-s\fR \fBldap\fR\fR
+.ad
+.RS 15n
+.rt
+Update the database in the specified source: \fBnisplus\fR (for NIS+),
+\fBnis\fR (for NIS), \fBfiles\fR, or \fBldap\fR (LDAP). Other sources may be
+available in the future.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchkey\fR(1), \fBkeylogin\fR(1), \fBnisaddcred\fR(1M), \fBnisclient\fR(1M),
+\fBnsswitch.conf\fR(4), \fBpublickey\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+NIS+ might not be supported in future releases of the Solaris operating system.
+Tools to aid the migration from NIS+ to LDAP are available in the current
+Solaris release. For more information, visit
+http://www.sun.com/directory/nisplus/transition.html.
diff --git a/usr/src/man/man1m/nfs4cbd.1m b/usr/src/man/man1m/nfs4cbd.1m
new file mode 100644
index 0000000000..3771200111
--- /dev/null
+++ b/usr/src/man/man1m/nfs4cbd.1m
@@ -0,0 +1,55 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nfs4cbd 1M "11 Apr 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nfs4cbd \- NFS Version 4 callback daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/nfs/nfs4cbd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnfs4cbd\fR daemon manages communication endpoints for the NFS Version 4
+protocol callback program. \fBnfs4cbd\fR runs on the NFS Version 4 client and
+creates a listener port for each transport over which callbacks can be sent.
+.sp
+.LP
+The \fBnfs4cbd\fR daemon is provided for the exclusive use of the NFS version 4
+client.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBmount_nfs\fR(1M), \fBsvcadm\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBnfs4cbd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nfs/cbd
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+If it is disabled, it will be enabled by \fBmount_nfs\fR(1M) and
+\fBautomountd\fR(1M) on the first NFSv4 mount, unless its
+\fBapplication/auto_enable\fR property is set to \fBfalse\fR.
+.sp
+.LP
+This daemon might not exist in a future release of Solaris.
diff --git a/usr/src/man/man1m/nfsd.1m b/usr/src/man/man1m/nfsd.1m
new file mode 100644
index 0000000000..c5d1f202cd
--- /dev/null
+++ b/usr/src/man/man1m/nfsd.1m
@@ -0,0 +1,251 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nfsd 1M "22 Jul 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nfsd \- NFS daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/nfs/nfsd\fR [\fB-a\fR] [\fB-c\fR \fI#_conn\fR] [\fB-l\fR \fIlisten_backlog\fR]
+ [\fB-p\fR \fIprotocol\fR] [\fB-t\fR \fIdevice\fR] [\fInservers\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnfsd\fR is the daemon that handles client file system requests. Only users
+with \fB{PRIV_SYS_NFS}\fR and sufficient privileges to write to \fB/var/run\fR
+can run this daemon.
+.sp
+.LP
+The \fBnfsd\fR daemon is automatically invoked using \fBshare\fR(1M) with the
+\fB-a\fR option.
+.sp
+.LP
+By default, \fBnfsd\fR starts over the TCP and UDP transports for versions 2
+and 3. By default, it starts over the TCP for version 4. You can change this
+with the \fB-p\fR option.
+.sp
+.LP
+A previously invoked \fBnfsd\fR daemon started with or without options must be
+stopped before invoking another \fBnfsd\fR command.
+.sp
+.LP
+To change startup parameters for \fBnfsd\fR, use the \fBsharectl\fR(1M) and
+\fBsharemgr\fR(1M) commands.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 15n
+.rt
+Start a \fBNFS\fR daemon over all available connectionless and
+connection-oriented transports, including UDP and TCP. Equivalent of setting
+the \fBNFSD_PROTOCOL\fR parameter to \fBALL\fR in the \fBnfs\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fI#_conn\fR\fR
+.ad
+.RS 15n
+.rt
+This sets the maximum number of connections allowed to the \fBNFS\fR server
+over connection-oriented transports. By default, the number of connections is
+unlimited. Equivalent of the \fBNFSD_MAX_CONNECTIONS\fR parameter in the
+\fBnfs\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 15n
+.rt
+Set connection queue length for the \fBNFS TCP\fR over a connection-oriented
+transport. The default value is 32 entries. Equivalent of the
+\fBNFSD_LISTEN_BACKLOG\fR parameter in the \fBnfs\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprotocol\fR\fR
+.ad
+.RS 15n
+.rt
+Start a \fBNFS\fR daemon over the specified protocol. Equivalent of the
+\fBNFSD_PROTOCOL\fR parameter in the \fBnfs\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIdevice\fR\fR
+.ad
+.RS 15n
+.rt
+Start a \fBNFS\fR daemon for the transport specified by the given device.
+Equivalent of the \fBNFSD_DEVICE\fR parameter in the \fBnfs\fR file.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fInservers\fR\fR
+.ad
+.RS 12n
+.rt
+This sets the maximum number of concurrent \fBNFS\fR requests that the server
+can handle. This concurrency is achieved by up to \fInservers\fR threads
+created as needed in the kernel. \fInservers\fR should be based on the load
+expected on this server. 16 is the usual number of \fInservers\fR. If
+\fInservers\fR is not specified, the maximum number of concurrent \fBNFS\fR
+requests will default to 1. Equivalent of the \fBNFSD_SERVERS\fR parameter in
+the \fBnfs\fR file.
+.RE
+
+.SH USAGE
+.sp
+.LP
+If the \fBNFS_PORTMON\fR variable is set in \fB/etc/system\fR, then clients are
+required to use privileged ports (ports < \fBIPPORT_RESERVED\fR) to get
+\fBNFS\fR services. This variable is equal to zero by default. This variable
+has been moved from the "nfs" module to the "nfssrv" module. To set the
+variable, edit the \fB/etc/system\fR file and add this entry:
+.sp
+.LP
+\fBset\fR \fBnfssrv:nfs_portmon\fR \fB=\fR \fB1\fR
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Daemon started successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Daemon failed to start.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&.nfs\fIXXX\fR\fR\fR
+.ad
+.RS 24n
+.rt
+Client machine pointer to an open-but-unlinked file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/nfs\fR\fR
+.ad
+.RS 24n
+.rt
+Contains startup parameters for \fBnfsd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/system\fR\fR
+.ad
+.RS 24n
+.rt
+System configuration information file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/nfs/v4_state\fR\fR
+.ad
+.br
+.na
+\fB\fB/var/nfs/v4_oldstate\fR\fR
+.ad
+.RS 24n
+.rt
+Directories used by the server to manage client state information. These
+directories should not be removed.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBps\fR(1), \fBsvcs\fR(1), \fBmountd\fR(1M), \fBshare\fR(1M),
+\fBsharectl\fR(1M), \fBsharemgr\fR(1M), \fBsvcadm\fR(1M), \fBnfs\fR(4),
+\fBsharetab\fR(4), \fBsystem\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Manually starting and restarting \fBnfsd\fR is not recommended. If it is
+necessary to do so, use \fBsvcadm\fR to enable or disable the \fBnfs\fR service
+(\fBsvc:/network/nfs/server\fR). If it is disabled, it will be enabled by
+\fBshare_nfs\fR(1M), unless its \fBapplication/auto_enable\fR property is set
+to \fBfalse\fR. See the \fI\fR, and \fBsvcadm\fR(1M) for more information.
+.sp
+.LP
+The \fBnfsd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nfs/server
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+If \fBnfsd\fR is killed with \fBSIGTERM\fR, it will not be restarted by the
+service management facility. Instead, \fBnfsd\fR can be restarted by other
+signals, such as \fBSIGINT\fR.
diff --git a/usr/src/man/man1m/nfslogd.1m b/usr/src/man/man1m/nfslogd.1m
new file mode 100644
index 0000000000..c44a53096d
--- /dev/null
+++ b/usr/src/man/man1m/nfslogd.1m
@@ -0,0 +1,258 @@
+'\" te
+.\" Copyright (c) 1999, Sun Microsystems, Inc.
+.\" All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nfslogd 1M "2 Dec 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nfslogd \- nfs logging daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/nfs/nfslogd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnfslogd\fR daemon provides operational logging to the Solaris \fBNFS\fR
+server. It is the \fBnfslogd\fR daemon's job to generate the activity log by
+analyzing the \fBRPC\fR operations processed by the \fBNFS\fR server. The log
+will only be generated for file systems exported with logging enabled. This is
+specified at file system export time by means of the \fBshare_nfs\fR(1M)
+command.
+.sp
+.LP
+NFS server logging is not supported on Solaris machines that are using NFS
+Version 4.
+.sp
+.LP
+Each record in the log file includes a time stamp, the \fBIP\fR address (or
+hostname if it can be resolved) of the client system, the file or directory
+name the operation was performed on, and the type of operation. In the basic
+format, the operation can either be an input (i) or output (o) operation. The
+basic format of the \fBNFS\fR server log is compatible with the log format
+generated by the Washington University \fBFTPd\fR daemon. The log format can be
+extended to include directory modification operations, such as \fBmkdir\fR,
+\fBrmdir\fR, and \fBremove\fR. The extended format is not compatible with the
+Washington University \fBFTPd\fR daemon format. See \fBnfslog.conf\fR(4) for
+details.
+.sp
+.LP
+The \fBNFS\fR server logging mechanism is divided in two phases. The first
+phase is performed by the \fBNFS\fR kernel module, which records raw \fBRPC\fR
+requests and their results in work buffers backed by permanent storage. The
+location of the work buffers is specified in the /\fBetc/nfs/nfslog.conf\fR
+file. Refer to \fBnfslog.conf\fR(4) for more information. The second phase
+involves the \fBnfslogd\fR user-level daemon, which periodically reads the work
+buffers, interprets the raw \fBRPC\fR information, groups related \fBRPC\fR
+operations into single transaction records, and generates the output log. The
+\fBnfslogd\fR daemon then sleeps waiting for more information to be logged to
+the work buffers. The amount of time that the daemon sleeps can be configured
+by modifying the \fBIDLE_TIME\fR parameter in \fB/etc/default/nfslogd\fR. The
+work buffers are intended for internal consumption of the \fBnfslogd\fR daemon.
+.sp
+.LP
+\fBNFS\fR operations use file handles as arguments instead of path names. For
+this reason the \fBnfslogd\fR daemon needs to maintain a database of file
+handle to path mappings in order to log the path name associated with an
+operation instead of the corresponding file handle. A file handle entry is
+added to the database when a client performs a lookup or other \fBNFS\fR
+operation that returns a file handle to the client.
+.sp
+.LP
+Once an \fBNFS\fR client obtains a file handle from a server, it can hold on to
+it for an indefinite time, and later use it as an argument for an \fBNFS\fR
+operation on the file or directory. The \fBNFS\fR client can use the file
+handle even after the server reboots. Because the database needs to survive
+server reboots, it is backed by permanent storage. The location of the database
+is specified by the \fIfhtable\fR parameter in the \fB/etc/nfs/nfslog.conf\fR
+file. This database is intended for the internal use of the \fBnfslogd\fR
+daemon.
+.sp
+.LP
+In order to keep the size of the file handle mapping database manageable,
+\fBnfslogd\fR prunes the database periodically. It removes file handle entries
+that have not been accessed in more than a specified amount of time. The
+\fBPRUNE_TIMEOUT\fR configurable parameter in \fB/etc/default/nfslogd\fR
+specifies the interval length between successive runs of the pruning process.
+A file handle record will be removed if it has not been used since the last
+time the pruning process was executed. Pruning of the database can effectively
+be disabled by setting the \fBPRUNE_TIMEOUT\fR as high as \fBINT_MAX\fR.
+.sp
+.LP
+When pruning is enabled, there is always a risk that a client may have held on
+to a file handle longer than the \fBPRUNE_TIMEOUT\fR and perform an \fBNFS\fR
+operation on the file handle after the matching record in the mapping database
+had been removed. In such case, the pathname for the file handle will not be
+resolved, and the log will include the file handle instead of the pathname.
+.sp
+.LP
+There are various configurable parameters that affect the behavior of the
+\fBnfslogd\fR daemon. These parameters are found in \fB/etc/default/nfslogd\fR
+and are described below:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUMASK\fR\fR
+.ad
+.RS 27n
+.rt
+Sets the file mode for the log files, work buffer files and file handle mapping
+database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMIN_PROCESSING_SIZE\fR\fR
+.ad
+.RS 27n
+.rt
+Specifies the minimum size, in bytes, that the buffer file must reach before
+processing the work information and writing to the log file. The value of
+\fBMIN_PROCESSING_SIZE\fR must be between 1 and \fBulimit\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIDLE_TIME\fR\fR
+.ad
+.RS 27n
+.rt
+Specifies the amount of time, in seconds, the daemon should sleep while waiting
+for more information to be placed in the buffer file. \fBIDLE_TIME\fR also
+determines how often the configuration file will be reread. The value of
+\fBIDLE_TIME\fR must be between 1 and \fBINT_MAX\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMAX_LOGS_PRESERVE\fR\fR
+.ad
+.RS 27n
+.rt
+The \fBnfslogd\fR periodically cycles its logs. \fBMAX_LOGS_PRESERVE\fR
+specifies the maximum number of log files to save. When \fBMAX_LOGS_PRESERVE\fR
+is reached, the oldest files will be overwritten as new log files are created.
+These files will be saved with a numbered extension, beginning with
+\fBfilename.0\fR. The oldest file will have the highest numbered extension up
+to the value configured for \fBMAX_LOGS_PRESERVE\fR. The value of
+\fBMAX_LOGS_PRESERVE\fR must be between 1 and \fBINT_MAX\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCYCLE_FREQUENCY\fR\fR
+.ad
+.RS 27n
+.rt
+Specifies how often, in hours, the log files are cycled. \fBCYCLE_FREQUENCY\fR
+is used to insure that the log files do not get too large. The value of
+\fBCYCLE_FREQUENCY\fR must be between 1 and \fBINT_MAX\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMAPPING_UPDATE_INTERVAL\fR\fR
+.ad
+.RS 27n
+.rt
+Specifies the time interval, in seconds, between updates of the records in the
+file handle to path mapping tables. Instead of updating the \fBatime\fR of a
+record each time that record is accessed, it is only updated if it has aged
+based on this parameter. The record access time is used by the pruning routine
+to determine whether the record should be removed from the database. The value
+of this parameter must be between 1 and \fBINT_MAX\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPRUNE_TIMEOUT\fR\fR
+.ad
+.RS 27n
+.rt
+Specifies when a database record times out, in hours. If the time that elapsed
+since the record was last accessed is greater than \fBPRUNE_TIMEOUT\fR then the
+record can be pruned from the database. The default value for
+\fBPRUNE_TIMEOUT\fR is 168 hours (7 days). The value of \fBPRUNE_TIMEOUT\fR
+must be between 1 and \fBINT_MAX\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Daemon started successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Daemon failed to start.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nfs/nfslogtab\fR \fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nfs/nfslog.conf\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/nfslogd\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBshare_nfs\fR(1M), \fBnfslog.conf\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/nfsmapid.1m b/usr/src/man/man1m/nfsmapid.1m
new file mode 100644
index 0000000000..e003609960
--- /dev/null
+++ b/usr/src/man/man1m/nfsmapid.1m
@@ -0,0 +1,128 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nfsmapid 1M "30 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nfsmapid \- NFS user and group id mapping daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/nfs/nfsmapid\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnfsmapid\fR daemon maps to and from NFS version 4 \fBowner\fR and
+\fBowner_group\fR identification attributes and local \fBUID\fR and \fBGID\fR
+numbers used by both the NFS version 4 client and server.
+.sp
+.LP
+\fBnfsmapid\fR uses the \fBpasswd\fR and \fBgroup\fR entries in the
+\fB/etc/nsswitch.conf\fR file to direct how it performs the mappings.
+.sp
+.LP
+The \fBnfsmapid\fR daemon has no external, customer-accessible interfaces. You
+can, however, administratively configure \fBnfsmapid\fR in one of the following
+ways:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Specify the \fBNFSMAPID_DOMAIN\fR parameter in \fBnfs\fR(4)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Specify the \fB_nfsv4idmapdomain\fR DNS resource record.
+.RE
+.sp
+.LP
+Please refer to the \fI\fR for further details.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBautomountd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M),
+\fBmount_nfs\fR(1M), \fBpassmgmt\fR(1M), \fBsvcadm\fR(1M), \fBshare_nfs\fR(1M),
+\fBuserdel\fR(1M), \fBusermod\fR(1M), \fBnfs\fR(4), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBnfsmapid\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nfs/mapid
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+If it is disabled, it will be enabled by \fBmount_nfs\fR(1M),
+\fBshare_nfs\fR(1M), and \fBautomountd\fR(1M), unless its
+\fBapplication/auto_enable\fR property is set to \fBfalse\fR.
+.sp
+.LP
+\fBnfsmapid\fR caches a user's UID and GID. If a user subsequently changes a
+UID or GID, using one of the utilities listed below, the \fBnfsmapid\fR cache
+becomes stale. At this point, any NFS operation that gets or set attributes
+will result in the exchange of this stale information. To resolve this
+situation, restart \fBnfsmapid\fR, as follows:
+.sp
+.in +2
+.nf
+# \fBsvcadm restart svc:/network/nfs/mapid:default\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The utilities that allow you to change UID and GID are:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBusermod\fR(1M)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBuserdel\fR(1M)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBgroupmod\fR(1M)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBgroupdel\fR(1M)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBpassmgmt\fR(1M)
+.RE
+.sp
+.LP
+The \fBnfsmapid\fR daemon might not exist in a future release of Solaris.
diff --git a/usr/src/man/man1m/nfsstat.1m b/usr/src/man/man1m/nfsstat.1m
new file mode 100644
index 0000000000..467a397a1f
--- /dev/null
+++ b/usr/src/man/man1m/nfsstat.1m
@@ -0,0 +1,968 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nfsstat 1M "16 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nfsstat \- NFS statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBnfsstat\fR [\fB-cnrsza\fR] [\fB-T\fR u | d ] [\fB-v\fR \fIversion\fR] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.LP
+.nf
+\fBnfsstat\fR \fB-m\fR [\fIpathname\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnfsstat\fR displays statistical information about the \fBNFS\fR and
+\fBRPC\fR (Remote Procedure Call), interfaces to the kernel. It can also be
+used to reinitialize this information. If no options are given the default is
+as follows:
+.sp
+.LP
+\fBnfsstat\fR \fB-csnra\fR
+.sp
+.LP
+The default displays everything, but reinitializes nothing.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display \fBNFS_ACL\fR information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display client information. Only the client side \fBNFS\fR, \fBRPC\fR, and
+\fBNFS_ACL\fR information is printed. Can be combined with the \fB-n\fR,
+\fB-r\fR, and \fB-a\fR options to print client side \fBNFS\fR, \fBRPC\fR, and
+\fBNFS_ACL\fR information only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR [\fIpathname...\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display statistics for each \fBNFS\fR mounted file system. If \fIpathname\fR is
+not specified, displays statistics for all NFS mounted file systems. If
+\fIpathname\fR is specified, displays statistics for the NFS mounted file
+systems indicated by \fIpathname\fR.
+.sp
+This includes the server name and address, mount flags, current read and write
+sizes, the retransmission count, the attribute cache timeout values, failover
+information, and the timers used for dynamic retransmission. The dynamic
+retransmission timers are displayed only where dynamic retransmission is in
+use. By default, \fBNFS\fR mounts over the \fBTCP\fR protocols and \fBNFS\fR
+Version 3 mounts over either \fBTCP\fR or \fBUDP\fR do not use dynamic
+retransmission.
+.sp
+If you specify the \fB-m\fR option, this is the only option that \fBnfsstat\fR
+uses. If you specify other options with \fB-m\fR, you receive an error message
+alerting that the \fB-m\fR flag cannot be combined with other options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display \fBNFS\fR information. \fBNFS\fR information for both the client and
+server side are printed. Can be combined with the \fB-c\fR and \fB-s\fR options
+to print client or server \fBNFS\fR information only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display \fBRPC\fR information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display server information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fIversion\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify which NFS version for which to print statistics. When followed by the
+optional \fIversion\fR argument, (\fB2\fR|\fB3\fR|\fB4\fR), specifies
+statistics for that version. By default, prints statistics for all versions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fR
+.ad
+.sp .6
+.RS 4n
+Zero (reinitialize) statistics. This option is for use by the super user only,
+and can be combined with any of the above options to zero particular sets of
+statistics after printing them.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display only count reports
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report once each interval seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the pathname of a file in an NFS mounted file system for which
+statistics are to be displayed.
+.RE
+
+.SH DISPLAYS
+.sp
+.LP
+The server \fBRPC\fR display includes the following fields:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbadcalls\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total number of calls rejected by the \fBRPC\fR layer (the sum of
+\fBbadlen\fR and \fBxdrcall\fR as defined below).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbadlen\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of \fBRPC\fR calls with a length shorter than a minimum-sized
+\fBRPC\fR call.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcalls\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total number of \fBRPC\fR calls received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdupchecks\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of \fBRPC\fR calls that looked up in the duplicate request cache.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdupreqs\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of \fBRPC\fR calls that were found to be duplicates.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnullrecv\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times an \fBRPC\fR call was not available when it was thought to
+be received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxdrcall\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of \fBRPC\fR calls whose header could not be \fBXDR\fR decoded.
+.RE
+
+.sp
+.LP
+The server \fBNFS\fR display shows the number of \fBNFS\fR calls received
+(\fBcalls\fR) and rejected (\fBbadcalls\fR), and the counts and percentages for
+the various calls that were made.
+.sp
+.LP
+The server \fBNFS_ACL\fR display shows the counts and percentages for the
+various calls that were made.
+.sp
+.LP
+The client \fBRPC\fR display includes the following fields:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcalls\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total number of \fBRPC\fR calls made.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbadcalls\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total number of calls rejected by the \fBRPC\fR layer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbadverfs\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times the call failed due to a bad verifier in the response.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbadxids\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times a reply from a server was received which did not correspond
+to any outstanding call.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcantconn\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times the call failed due to a failure to make a connection to
+the server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcantsend\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times a client was unable to send an \fBRPC\fR request over a
+connectionless transport when it tried to do so.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinterrupts\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times the call was interrupted by a signal before completing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnewcreds\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times authentication information had to be refreshed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnomem\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times the call failed due to a failure to allocate memory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBretrans\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times a call had to be retransmitted due to a timeout while
+waiting for a reply from the server. Applicable only to \fBRPC\fR over
+connection-less transports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtimeouts\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times a call timed out while waiting for a reply from the server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtimers\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of times the calculated time-out value was greater than or equal to
+the minimum specified time-out value for a call.
+.RE
+
+.sp
+.LP
+The client \fBNFS\fR display shows the number of calls sent and rejected, as
+well as the number of times a \fBCLIENT\fR handle was received (\fBclgets\fR),
+the number of times the \fBCLIENT\fR handle cache had no unused entries
+(\fBcltoomany\fR), as well as a count of the various calls and their respective
+percentages.
+.sp
+.LP
+The client \fBNFS_ACL\fR display shows the counts and percentages for the
+various calls that were made.
+.sp
+.LP
+The \fB-m\fR option includes information about mount flags set by mount
+options, mount flags internal to the system, and other mount information. See
+\fBmount_nfs\fR(1M).
+.sp
+.LP
+The following mount flags are set by mount options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgrpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+System V group id inheritance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhard\fR\fR
+.ad
+.sp .6
+.RS 4n
+Hard mount.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBintr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Interrupts allowed on hard mount.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBllock\fR\fR
+.ad
+.sp .6
+.RS 4n
+Local locking being used (no lock manager).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoac\fR\fR
+.ad
+.sp .6
+.RS 4n
+Client is not caching attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnointr\fR\fR
+.ad
+.sp .6
+.RS 4n
+No interrupts allowed on hard mount.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnocto\fR\fR
+.ad
+.sp .6
+.RS 4n
+No close-to-open consistency.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBretrans\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBNFS\fR retransmissions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrpctimesync\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBRPC\fR time sync.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read buffer size in bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsec\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsec\fR has one of the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdh\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBdes\fR-style authentication (encrypted timestamps).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkrb5\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBkerberos v5\fR-style authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkrb5i\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBkerberos v5\fR-style authentication with integrity.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkrb5p\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBkerberos v5\fR-style authentication with privacy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+No authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshort\fR\fR
+.ad
+.sp .6
+.RS 4n
+Short hand UNIX-style authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsys\fR\fR
+.ad
+.sp .6
+.RS 4n
+UNIX-style authentication (UID, GID).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsoft\fR\fR
+.ad
+.sp .6
+.RS 4n
+Soft mount.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtimeo\fR\fR
+.ad
+.sp .6
+.RS 4n
+Initial \fBNFS\fR timeout, in tenths of a second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write buffer size in bytes.
+.RE
+
+.sp
+.LP
+The following mount flags are internal to the system:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Server supports \fBNFS_ACL\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdown\fR\fR
+.ad
+.sp .6
+.RS 4n
+Server is down.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdynamic\fR\fR
+.ad
+.sp .6
+.RS 4n
+Dynamic transfer size adjustment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Server supports links.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmirrormount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mounted automatically by means of the \fBmirrormount\fR mechanism.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprinted\fR\fR
+.ad
+.sp .6
+.RS 4n
+"Not responding" message printed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreaddir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBreaddir\fR instead of \fBreaddirplus\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsymlink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Server supports symbolic links.
+.RE
+
+.sp
+.LP
+The following flags relate to additional mount information:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproto\fR\fR
+.ad
+.sp .6
+.RS 4n
+Protocol.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvers\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBNFS\fR version.
+.RE
+
+.sp
+.LP
+The \fB-m\fR option also provides attribute cache timeout values. The following
+fields in \fB-m\fR ouput provide timeout values for attribute cache:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacdirmax\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum seconds to hold cached directory attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacdirmin\fR\fR
+.ad
+.sp .6
+.RS 4n
+Minimum seconds to hold cached directory attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacregmax\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum seconds to hold cached file attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBacregmin\fR\fR
+.ad
+.sp .6
+.RS 4n
+Minimum seconds to hold cached file attributes.
+.RE
+
+.sp
+.LP
+The following fields in \fB-m\fR output provide failover information:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcurrserver\fR\fR
+.ad
+.sp .6
+.RS 4n
+Which server is currently providing \fBNFS\fR service. See the \fI\fR for
+additional details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailover\fR\fR
+.ad
+.sp .6
+.RS 4n
+How many times a new server has been selected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoresponse\fR\fR
+.ad
+.sp .6
+.RS 4n
+How many times servers have failed to respond.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremap\fR\fR
+.ad
+.sp .6
+.RS 4n
+How many times files have been re-evaluated to the new server.
+.RE
+
+.sp
+.LP
+The fields in \fB-m\fR output shown below provide information on dynamic
+retransmissions. These items are displayed only where dynamic retransmission is
+in use.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcur\fR\fR
+.ad
+.sp .6
+.RS 4n
+Current backed-off retransmission value, in milliseconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdev\fR\fR
+.ad
+.sp .6
+.RS 4n
+Estimated deviation, in milliseconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsrtt\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value for the smoothed round-trip time, in milliseconds.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmount_nfs\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/nlsadmin.1m b/usr/src/man/man1m/nlsadmin.1m
new file mode 100644
index 0000000000..33d3feea72
--- /dev/null
+++ b/usr/src/man/man1m/nlsadmin.1m
@@ -0,0 +1,401 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nlsadmin 1M "3 Apr 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nlsadmin \- network listener service administration
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/nlsadmin\fR \fB-x\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/nlsadmin\fR [\fIoptions\fR] \fInet_spec\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/nlsadmin\fR [\fIoptions\fR] \fB-N\fR \fIport_monitor_tag\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/nlsadmin\fR \fB-V\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/nlsadmin\fR \fB-c\fR \fIcmd\fR | \fB-o\fR \fIstreamname\fR [\fB-p\fR \fImodules\fR]
+ [\fB-A\fR \fIaddress\fR | \fB-D\fR] [\fB-R\fR \fIprognum\fR : \fIversnum\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnlsadmin\fR is the administrative command for the network listener
+process(es) on a machine. Each network has at least one instance of the network
+listener process associated with it; each instance (and thus, each network) is
+configured separately. The listener process ``listens'' to the network for
+service requests, accepts requests when they arrive, and invokes servers in
+response to those service requests. The network listener process may be used
+with any network (more precisely, with any connection-oriented transport
+provider) that conforms to the transport provider specification.
+.sp
+.LP
+\fBnlsadmin\fR can establish a listener process for a given network, configure
+the specific attributes of that listener, and start and kill the listener
+process for that network. \fBnlsadmin\fR can also report on the listener
+processes on a machine, either individually (per network) or collectively.
+.sp
+.LP
+\fInet_spec\fR represents a particular listener process. Specifically,
+\fInet_spec\fR is the relative path name of the entry under \fB/dev\fR for a
+given network (that is, a transport provider). \fIaddress\fR is a transport
+address on which to listen and is interpreted using a syntax that allows for a
+variety of address formats. By default, \fIaddress\fR is interpreted as the
+symbolic ASCII representation of the transport address. An \fIaddress\fR
+preceded by \fB\ex\fR will let you enter an address in hexadecimal notation.
+Note that \fIaddress\fR must appear as a single word to the shell, thus it must
+be quoted if it contains any blanks.
+.sp
+.LP
+Changes to the list of services provided by the listener or the addresses of
+those services are put into effect immediately.
+.SH OPTIONS
+.sp
+.LP
+\fBnlsadmin\fR may be used with the following combinations of options and
+arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report the status of all of the listener processes installed on this machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInet_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print the status of the listener process for \fInet_spec\fR \fI\&.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR \fInet_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Query the status of the listener process for the specified network, and
+reflects the result of that query in its exit code. If a listener process is
+active, \fBnlsadmin\fR will exit with a status of \fB0\fR; if no process is
+active, the exit code will be \fB1\fR; the exit code will be greater than
+\fB1\fR in case of error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fInet_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print a verbose report on the servers associated with \fInet_spec,\fR giving
+the service code, status, command, and comment for each. It also specifies the
+\fBuid\fR the server will run as and the list of modules to be pushed, if any,
+before the server is started.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIservice_code net_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print a report on the server associated with \fInet_spec\fR that has service
+code \fIservice_code,\fR giving the same information as in the \fB-v\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-q\fR\fB \fR\fB-z\fR \fIservice_code net_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Query the status of the service with service code \fIservice_code\fR on network
+\fInet_spec,\fR and exits with a status of \fB0\fR if that service is enabled,
+\fB1\fR if that service is disabled, and greater than \fB1\fR in case of error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR \fIaddress net_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change or set the transport address on which the listener listens (the general
+listener service). This address can be used by remote processes to access the
+servers available through this listener (see the \fB-a\fR option, below).
+.sp
+If \fIaddress\fR is just a dash (" \(mi "), \fBnlsadmin\fR reports the address
+currently configured, instead of changing it.
+.sp
+A change of address takes effect immediately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIaddress net_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change or set the address on which the listener listens for requests for
+terminal service but is otherwise similar to the \fB-l\fR option above. A
+terminal service address should not be defined unless the appropriate remote
+login software is available; if such software is available, it must be
+configured as service code 1 (see the \fB-a\fR option, below).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fInet_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Initialize an instance of the listener for the network specified by
+\fInet_spec;\fR that is, create and initialize the files required by the
+listener as well as starting that instance of the listener. Note that a
+particular instance of the listener should be initialized only once. The
+listener must be initialized before assigning addresses or services.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIservice_code\fR\fR
+.ad
+.sp .6
+.RS 4n
+[ \fB-p\fR \fImodules\fR ] [ \fB-w\fR \fIname\fR ] \fB-c\fR \fIcmd\fR \fB-y\fR
+\fIcomment net_spec\fR
+.sp
+Add a new service to the list of services available through the indicated
+listener. \fIservice_code\fR is the code for the service, \fIcmd\fR is the
+command to be invoked in response to that service code, comprised of the full
+path name of the server and its arguments, and \fIcomment\fR is a brief
+(free-form) description of the service for use in various reports. Note that
+\fIcmd\fR must appear as a single word to the shell; if arguments are required,
+the \fIcmd\fR and its arguments must be enclosed in quotation marks. The
+\fIcomment\fR must also appear as a single word to the shell. When a service is
+added, it is initially enabled (see the \fB-e\fR and \fB-d\fR options, below).
+.sp
+Service codes are alphanumeric strings, and are administered by AT&T. The
+numeric service codes 0 through 100 are reserved for internal use by the
+listener. Service code 0 is assigned to the nlps server, which is the service
+invoked on the general listening address. In particular, code 1 is assigned to
+the remote login service, which is the service automatically invoked for
+connections to the terminal login address.
+.sp
+If the \fB-p\fR option is specified, then \fImodules\fR will be interpreted as
+a list of \fBSTREAMS\fR modules for the listener to push before starting the
+service being added. The modules are pushed in the order they are specified.
+\fImodules\fR should be a comma-separated list of modules, with no white space
+included.
+.sp
+If the \fB-w\fR option is specified, then \fIname\fR is interpreted as the user
+name from \fB/etc/passwd\fR that the listener should look up. From the user
+name, the listener obtains the user ID, the group ID(s), and the home directory
+for use by the server. If \fB-w\fR is not specified, the default is to use the
+user name \fBlisten.\fR
+.sp
+A service must explicitly be added to the listener for each network on which
+that service is to be available. This operation will normally be performed only
+when the service is installed on a machine, or when populating the list of
+services for a new network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-r\fR \fIservice_code net_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the entry for the \fIservice_code\fR from that listener's list of
+services. This is normally done only in conjunction with the de-installation of
+a service from a machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fIservice_code net_spec\fR\fR
+.ad
+.br
+.na
+\fB\fB\fR\fB-d\fR \fIservice_code net_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable or disable (respectively) the service indicated by \fIservice_code\fR
+for the specified network. The service must previously have been added to the
+listener for that network (see the \fB-a\fR option, above). Disabling a service
+will cause subsequent service requests for that service to be denied, but the
+processes from any prior service requests that are still running will continue
+unaffected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-s\fR \fInet_spec\fR\fR
+.ad
+.br
+.na
+\fB\fB\fR\fB-k\fR \fInet_spec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start and kill (respectively) the listener process for the indicated network.
+These operations are normally performed as part of the system startup and
+shutdown procedures. Before a listener can be started for a particular network,
+it must first have been initialized (see the \fB-i\fR option, above). When a
+listener is killed, processes that are still running as a result of prior
+service requests will continue unaffected.
+.RE
+
+.sp
+.LP
+Under the Service Access Facility, it is possible to have multiple instances
+of the listener on a single \fInet_spec\fR. In any of the above commands, the
+option \fB\fR\fB-N\fR \fIport_monitor_tag\fR may be used in place of the
+\fInet_spec\fR argument. This argument specifies the tag by which an instance
+of the listener is identified by the Service Access Facility. If the \fB-N\fR
+option is not specified (that is, the \fInet_spec\fR is specified in the
+invocation), then it will be assumed that the last component of the
+\fInet_spec\fR represents the tag of the listener for which the operation is
+destined. In other words, it is assumed that there is at least one listener on
+a designated \fInet_spec\fR, and that its tag is identical to the last
+component of the \fInet_spec\fR. This listener may be thought of as the
+primary, or default, listener for a particular \fInet_spec\fR.
+.sp
+.LP
+\fBnlsadmin\fR is also used in conjunction with the Service Access Facility
+commands. In that capacity, the following combinations of options can be used:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write the current version number of the listener's administrative file to the
+standard output. It is used as part of the \fBsacadm\fR command line when
+\fBsacadm\fR adds a port monitor to the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcmd\fR | \fB-o\fR \fIstreamname\fR [ \fB-p\fR \fImodules\fR ] [
+\fB-A\fR \fIaddress\fR | \fB-D\fR ] [ \fB-R\fR \fIprognum\fR : \fIversnum\fR
+]\fR
+.ad
+.sp .6
+.RS 4n
+Format the port monitor-specific information to be used as an argument to
+\fBpmadm\fR(1M)
+.sp
+The \fB-c\fR option specifies the full path name of the server and its
+arguments. \fIcmd\fR must appear as a single word to the shell, and its
+arguments must therefore be surrounded by quotes.
+.sp
+The \fB-o\fR option specifies the full path name of a \fBFIFO\fR or named
+stream through which a standing server is actually receiving the connection.
+.sp
+If the \fB-p\fR option is specified, then \fImodules\fR will be interpreted as
+a list of \fBSTREAMS\fR modules for the listener to push before starting the
+service being added. The modules are pushed in the order in which they are
+specified. \fImodules\fR must be a comma-separated list, with no white space
+included.
+.sp
+If the \fB-A\fR option is specified, then \fIaddress\fR will be interpreted as
+the server's private address. The listener will monitor this address on behalf
+of the service and will dispatch all calls arriving on this address directly to
+the designated service. This option may not be used in conjunction with the
+\fB-D\fR option.
+.sp
+If the \fB-D\fR option is specified, then the service is assigned a private
+address dynamically, that is, the listener will have the transport provider
+select the address each time the listener begins listening on behalf of this
+service. For RPC services, this option will be often be used in conjunction
+with the \fB-R\fR option to register the dynamically assigned address with the
+rpcbinder. This option may not be used in conjunction with the \fB-A\fR option.
+.sp
+When the \fB-R\fR option is specified, the service is an RPC service whose
+address, program number, and version number should be registered with the
+rpcbinder for this transport provider. This registration is performed each time
+the listener begins listening on behalf of the service. \fIprognum\fR and
+\fIversnum\fR are the program number and version number, respectively, of the
+RPC service.
+.RE
+
+.sp
+.LP
+\fBnlsadmin\fR may be invoked by any user to generate reports; all operations
+that affect a listener's status or configuration may only be run by a
+super-user.
+.sp
+.LP
+The options specific to the Service Access Facility may not be used together
+with any other options.
+.SH ERRORS
+.sp
+.LP
+If successful, \fBnlsadmin\fR exits with a status of 0. If \fBnlsadmin\fR
+fails for any reason, it exits with a status greater than or equal to 2. See
+\fB-q\fR option for a return status of 1.
+.SH SEE ALSO
+.sp
+.LP
+\fBlisten\fR(1M), \fBpmadm\fR(1M), \fBrpcbind\fR(1M), \fBsacadm\fR(1M),
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Dynamically assigned addresses are not displayed in reports as statically
+assigned addresses are.
diff --git a/usr/src/man/man1m/nscadm.1m b/usr/src/man/man1m/nscadm.1m
new file mode 100644
index 0000000000..eb8e87547f
--- /dev/null
+++ b/usr/src/man/man1m/nscadm.1m
@@ -0,0 +1,157 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nscadm 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nscadm \- network storage control utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBnscadm\fR freeze \fIdevice\fR
+.fi
+
+.LP
+.nf
+\fBnscadm\fR unfreeze \fIdevice\fR
+.fi
+
+.LP
+.nf
+\fBnscadm\fR isfrozen \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnscadm\fR command performs several network storage control functions.
+.sp
+.LP
+The \fBnscadm\fR \fBfreeze\fR command closes existing references to the
+specified device, and blocks future accesses. This allows maintenance of
+virtual volume device drivers (for example, RAID 0, RAID 1, RAID 5) to be
+performed without shutting down the system.
+.sp
+.LP
+The \fBnscadm\fR \fBunfreeze\fR command reverses the effects of \fBnscadm\fR
+\fBfreeze\fR for the specified device.
+.sp
+.LP
+The \fBnscadm\fR \fBisfrozen\fR command returns the current status of the
+specified device.
+.SH OPTIONS
+.sp
+.LP
+The \fBnscadm\fR command supports the following option.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 13n
+.rt
+Display the usage menu.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBnscadm\fR command line supports the following operand.
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the storage device to be acted upon by \fBnscadm\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+For the \fBfreeze\fR and \fBunfreeze\fR, subcommands \fBnscadm\fR returns the
+following exit values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Success
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB255\fR\fR
+.ad
+.RS 13n
+.rt
+Error
+.RE
+
+.sp
+.LP
+For the \fBisfrozen\fR subcommand, \fBnscadm\fR returns the following exit
+values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Device is currently frozen.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 13n
+.rt
+Device is not currently frozen.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB255\fR\fR
+.ad
+.RS 13n
+.rt
+Error
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBscmadm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/nscd.1m b/usr/src/man/man1m/nscd.1m
new file mode 100644
index 0000000000..2ffc86f73f
--- /dev/null
+++ b/usr/src/man/man1m/nscd.1m
@@ -0,0 +1,184 @@
+'\" te
+.\" Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nscd 1M "14 Sep 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nscd \- name service cache daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/nscd\fR [\fB-f\fR \fIconfiguration-file\fR] [\fB-g\fR] [\fB-e\fR \fIcachename\fR, yes
+ | no] [\fB-i\fR \fIcachename\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnscd\fR daemon is a process that provides a cache for most name service
+requests. The default \fIconfiguration-file\fR \fB/etc/nscd.conf\fR determines
+the behavior of the cache daemon. See \fBnscd.conf\fR(4).
+.sp
+.LP
+\fBnscd\fR provides caching for the \fBpasswd\fR(4), \fBgroup\fR(4),
+\fBhosts\fR(4), \fBipnodes\fR(4), \fBexec_attr\fR(4), \fBprof_attr\fR(4),
+\fBuser_attr\fR(4), \fBethers\fR(4), \fBrpc\fR(4), \fBprotocols\fR(4),
+\fBnetworks\fR(4), \fBbootparams\fR(4), \fBaudit_user\fR(4),
+\fBauth_attr\fR(4), \fBservices\fR(4), \fBnetmasks\fR(4), \fBprinters\fR(4),
+\fBproject\fR(4) databases through standard \fBlibc\fR interfaces, such as
+\fBgethostbyname\fR(3NSL), \fBgetipnodebyname\fR(3SOCKET),
+\fBgethostbyaddr\fR(3NSL), and others. Each cache has a separate time-to-live
+for its data; modifying the local database (\fB/etc/hosts\fR,
+\fB/etc/resolv.conf\fR, and so forth) causes that cache to become invalidated
+upon the next call to \fBnscd\fR. The shadow file is specifically not cached.
+\fBgetspnam\fR(3C) calls remain uncached as a result.
+.sp
+.LP
+\fBnscd\fR also acts as its own administration tool. If an instance of
+\fBnscd\fR is already running, commands are passed to the running version
+transparently.
+.sp
+.LP
+When running with per-user lookups enabled (see \fBnscd.conf\fR(4)), \fBnscd\fR
+forks one and only one child process (that is, a per-user \fBnscd\fR) on behalf
+of the user making the request. The per-user \fBnscd\fR will use the
+credentials of the user to open a per-user connection to the name repository
+configured for the per-user style of lookups. The lookup will be performed in
+the child process. The results are cached in the process and are available only
+to the same user. The caches are managed exactly the same as the main
+\fBnscd\fR daemon manages its own caches. Subsequent requests from the user
+will be handled by that per-user \fBnscd\fR until it terminates. The per-user
+\fBnscd\fR uses a configurable inactivity time-to-live (TTL) value and
+terminates itself after the inactivity TTL expires.
+.sp
+.LP
+The maximum number of per-user \fBnscd\fRs that can be created by the main
+\fBnscd\fR is configurable (see \fBnscd.conf\fR(4)). After the maximum number
+of them are created, the main \fBnscd\fR will use an LRU algorithm to terminate
+less active child \fBnscd\fRs as needed.
+.sp
+.LP
+The main \fBnscd\fR daemon creates, monitors, and manages all the child
+\fBnscd\fRs. It creates a user's own \fBnscd\fR upon receiving the user's first
+per-user lookup. When the \fBnscd\fR daemon is started, if per-user lookups are
+enabled, it checks to ensure all conditions are met before getting ready to
+create a per-user \fBnscd\fR. When the daemon is stopped, it terminates all the
+per-user \fBnscd\fRs under its control.
+.sp
+.LP
+Per-user \fBnscd\fRs use the same configuration as the main \fBnscd\fR. They
+read and use the same default configuration file or the one specified with the
+\fB-f\fR command line option. Once the configuration is read, the per-user
+\fBnscd\fR will use it for its entire lifetime.
+.SH OPTIONS
+.sp
+.LP
+Several of the options described below require a \fIcachename\fR specification.
+Supported values for \fIcachename\fR are: \fBpasswd\fR, \fBgroup\fR,
+\fBhosts\fR, \fBipnodes\fR, \fBexec_attr\fR, \fBprof_attr\fR, \fBuser_attr\fR,
+\fBethers\fR, \fBrpc\fR, \fBprotocols\fR, \fBnetworks\fR, \fBbootparams\fR,
+\fBaudit_user\fR, \fBauth_attr\fR, \fBservices\fR, \fBnetmasks\fR,
+\fBprinters\fR, and \fBproject\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIconfiguration-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes \fBnscd\fR to read its configuration data from the specified file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints current configuration and statistics to standard output. This is the
+only option executable by non-root users.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIcachename\fR\fB, yes\fR|\fBno\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables or disables the specified cache.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIcachename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalidate the specified cache.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRStopping and restarting the \fBnscd\fR daemon.
+.sp
+.in +2
+.nf
+example# svcadm disable system/name-service-cache
+
+example# svcadm enable system/name-service-cache
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nscd.conf\fR\fR
+.ad
+.RS 18n
+.rt
+Determines athe behavior of the cache daemon
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBgetspnam\fR(3C), \fBgethostbyname\fR(3NSL),
+\fBgetipnodebyname\fR(3SOCKET), \fBaudit_user\fR(4), \fBauth_attr\fR(4),
+\fBbootparams\fR(4), \fBethers\fR(4), \fBexec_attr\fR(4), \fBgroup\fR(4),
+\fBhosts\fR(4), \fBnetmasks\fR(4), \fBnetworks\fR(4), \fBnscd.conf\fR(4),
+\fBnsswitch.conf\fR(4), \fBpasswd\fR(4), \fBprinters\fR(4), \fBprof_attr\fR(4),
+\fBproject\fR(4), \fBprotocols\fR(4), \fBrpc\fR(4), \fBservices\fR(4),
+\fBuser_attr\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The output from the \fB-g\fR option to \fBnscd\fR is subject to change. Do not
+rely upon it as a programming interface.
+.sp
+.LP
+The \fBnscd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/name-service-cache
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/ntfscat.1m b/usr/src/man/man1m/ntfscat.1m
new file mode 100644
index 0000000000..48feae4908
--- /dev/null
+++ b/usr/src/man/man1m/ntfscat.1m
@@ -0,0 +1,226 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfscat 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfscat \- display NTFS files and streams on the standard output
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfscat\fR [\fIoptions\fR] \fIdevice\fR [\fIfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfscat\fR command reads a file or stream from an NTFS volume and
+display the contents on the standard output.
+.sp
+.LP
+The case of the filename passed to \fBntfscat\fR is ignored.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB--attribute\fR \fItype\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the contents of a particular attribute type. By default, the unnamed
+\fB$DATA\fR attribute will be shown. The attribute can be specified by a number
+in decimal or hexadecimal, or by name.
+.sp
+.in +2
+.nf
+Hex Decimal Name
+0x10 16 "$STANDARD_INFORMATION"
+0x20 32 "$ATTRIBUTE_LIST"
+0x30 48 "$FILE_NAME"
+0x40 64 "$OBJECT_ID"
+0x50 80 "$SECURITY_DESCRIPTOR"
+0x60 96 "$VOLUME_NAME"
+0x70 112 "$VOLUME_INFORMATION"
+0x80 128 "$DATA"
+0x90 144 "$INDEX_ROOT"
+0xA0 160 "$INDEX_ALLOCATION"
+0xB0 176 "$BITMAP"
+0xC0 192 "$REPARSE_POINT"
+0xD0 208 "$EA_INFORMATION"
+0xE0 224 "$EA"
+0xF0 240 "$PROPERTY_SET"
+0x100 256 "$LOGGED_UTILITY_STREAM"
+.fi
+.in -2
+.sp
+
+The attribute names can be specified without the leading dollar sign (\fB$\fR)
+symbol. If you use the \fB$\fR symbol, you must quote the name to prevent the
+shell from interpreting the name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overrides some sensible defaults, such as not using a mounted volume. Use this
+option with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--inode\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a file by its inode number instead of its name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR, \fB--attribute-name\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the attribute identified by \fIname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR, \fB--quiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress some debug, warning, and error messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the version number, copyright, and license information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display more debug, warning, and error messages.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying Contents of File in Root
+.sp
+.LP
+The following command displays the contents of a file in the root of an NTFS
+volume.
+
+.sp
+.in +2
+.nf
+# \fBntfscat /dev/dsk/c0d0p1 boot.ini\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying Contents of File in Subdirectory
+.sp
+.LP
+The following command displays the contents of a file in a subdirectory of an
+NTFS volume.
+
+.sp
+.in +2
+.nf
+# \fBntfscat /dev/dsk/c0d0p1 /winnt/system32/drivers/etc/hosts\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplay Contents of an Attribute
+.sp
+.LP
+The following command displays the contents of the \fB$INDEX_ROOT\fR attribute
+of the root directory (inode 5).
+
+.sp
+.in +2
+.nf
+# \fBntfscat /dev/dsk/c0d0p1 -a INDEX_ROOT -i 5\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBntfsls\fR(1M), \fBntfsprogs\fR(1M), \fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfscat\fR was written by Richard Russon, Anton Altaparmakov and Szabolcs
+Szakacsits.
diff --git a/usr/src/man/man1m/ntfsclone.1m b/usr/src/man/man1m/ntfsclone.1m
new file mode 100644
index 0000000000..b72803fa7c
--- /dev/null
+++ b/usr/src/man/man1m/ntfsclone.1m
@@ -0,0 +1,470 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfsclone 1M "14 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfsclone \- clone, image, restore, or rescue an NTFS
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfsclone\fR [\fIoptions\fR] \fIsource\fR
+.fi
+
+.LP
+.nf
+\fBntfsclone\fR \fB--save-image\fR [\fIoptions\fR] \fIsource\fR
+.fi
+
+.LP
+.nf
+\fBntfsclone\fR \fB--resotore-image\fR [\fIoptions\fR] \fIsource\fR
+.fi
+
+.LP
+.nf
+\fBntfsclone\fR \fB--metadata\fR [\fIoptions\fR] \fIsource\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfsclone\fR utility efficiently clones (which includes copy, save,
+backup, and restore operations) or rescues an NTFS filesystem to a sparse file,
+an image, a device (partition), or to standard output. It works at disk sector
+level and copies only the written data (that is, not empty space). Unused disk
+space becomes zero (cloning to sparse file), encoded with control codes (saving
+in special image format), left unchanged (cloning to a disk/partition) or
+filled with zeros (cloning to standard output).
+.sp
+.LP
+\fBntfsclone\fR can be useful in making backups\(emtaking an exact snapshot of
+an NTFS filesystem\(emand restoring it later on. It also can be used to test
+NTFS read/write functionality and allows you to troubleshoot users' issues
+using the clone, without the risk of destroying the original file system.
+.sp
+.LP
+If not using the special image format (see section of the same name below), the
+clone is an exact copy of the original NTFS file system, from sector to sector.
+Thus, it can also be mounted just like the original NTFS filesystem. For
+example, if you clone to a file and the kernel has a loopback device and NTFS
+support, then the file can be mounted using:
+.sp
+.in +2
+.nf
+# \fBmount -t ntfs -o loop ntfsclone.img\fR
+.fi
+.in -2
+.sp
+
+.SS "Windows Cloning"
+.sp
+.LP
+You must exercise great care to copy, move or restore a system or boot
+partition to another computer, or to a different disk or partition (for
+example, \fB/dev/dsk/c0d0p1\fR to \fB/dev/dsk/c0d0p2\fR, \fB/dev/dsk/c0d0p1\fR
+to \fB/dev/dsk/c0d1p1\fR or to a different disk sector offset).
+.sp
+.LP
+Under most circumstances, to enable Windows to boot you must copy, move, or
+restore NTFS to the same partition that has the following characteristics as
+the original partition and disk:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+starts at the same sector
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+on the same type of disk
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+having the same BIOS legacy cylinder setting
+.RE
+.sp
+.LP
+The \fBntfsclone\fR utility guarantees an exact copy of NTFS but does not deal
+with booting issues. This is by design: \fBntfsclone\fR is a file system, not a
+system, utility. Its goal is only NTFS cloning, not Windows cloning. Because of
+this, \fBntfsclone\fR can be used as a very fast and reliable building block
+for Windows cloning, but is not a complete answer. You can find useful tips on
+NTFS cloning at the NTFS web site, http://wiki.linux-ntfs.org\&.
+.SS "Sparse Files"
+.sp
+.LP
+A file containing unallocated blocks (holes) is referred to as a "sparse file".
+The reported size of such files is always higher than the disk space consumed
+by them. The \fBdu\fR(1) command reports the real disk space used by a sparse
+file. The holes are always read as zeros. All major Linux file systems, such
+as, \fBext2\fR, \fBext3\fR, \fBreiserfs\fR, \fBReiser4\fR, JFS, and XFS support
+sparse files. However, the ISO 9600 CD-ROM file system, as one example, does
+not.
+.SS "Special Image Format"
+.sp
+.LP
+It is recommended that you save an NTFS filesystem to a special image format.
+Instead of representing unallocated blocks as holes, they are encoded using
+control codes. Thus, the image saves space without requiring sparse file
+support. The image format is ideal for streaming file system images over the
+network. The disadvantage of the special image format is that you cannot mount
+the image directly; you must first restore it.
+.sp
+.LP
+To save an image using the special image format, use the \fB-s\fR or the
+\fB--save-image\fR option. To restore an image, use the \fB-r\fR or the
+\fB--restore-image\fR option. Note that you can restore images from standard
+input by using a hyphen (\fB-\fR) as the source file.
+.SS "Metadata-only Cloning"
+.sp
+.LP
+Using the \fB-m\fR or \fB--metadata\fR option, \fBntfsclone\fR can save only
+the NTFS metadata and the clone still will be mountable. In this usage, all
+non-metadata file content is lost; reading back the data results in all zeros.
+.sp
+.LP
+The metadata-only image can be compressed very well, usually to a size in the
+range of 1 to 8 MB. It is convenient to transfer such an image for
+investigation and troubleshooting.
+.sp
+.LP
+In metadata-only mode, \fBntfsclone\fR saves none of the user's data, which
+includes the resident user's data embedded into metadata. All is filled with
+zeros. Moreover, all the file timestamps, and deleted and unused spaces inside
+the metadata are filled with zeros. Thus, this mode is inappropriate, for
+example, for forensic analyses.
+.sp
+.LP
+Note that filenames are not removed. Because a filename might contain sensitive
+information, consider the possibities for breaches of security or privacy
+before sending out a metadata-only image.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces \fBntfsclone\fR to proceed, even if the filesystem is marked "dirty"
+following a consistency check.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--ignore-fs-check\fR\fR
+.ad
+.sp .6
+.RS 4n
+Ignore the result of the file system consistency check. This option can be used
+only with the \fB--meta-data\fR option. Any clusters that cause an
+inconsistency are saved.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR, \fB--metadata\fR\fR
+.ad
+.sp .6
+.RS 4n
+Clone only metadata. With this option, you must clone only to a file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR, \fB--output\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Clone NTFS to the non-existent \fIfile\fR. If \fIfile\fR is a hyphen (\fB-\fR),
+clone to the standard output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR, \fB--overwrite\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Clone NTFS to \fIfile\fR, overwriting \fIfile\fR if it already exists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--rescue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Ignore disk read errors so that a disk having bad sectors, for example, a
+failing disk, can be rescued with minimal impact on the disk. \fBntfsclone\fR
+works at the lowest, sector level in this mode, enabling more data to be
+rescued. The contents of the unreadable sectors are filled with the question
+mark (\fB?\fR) character; the beginning of such sectors are marked by the
+string: \fBBadSector\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR, \fB--restore-image\fR \fIsource\fR\fR
+.ad
+.sp .6
+.RS 4n
+Restore from the special image format specified by \fIsource\fR. If
+\fIsource\fR is a hyphen (\fB-\fR), the image is read from the standard input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--save-image\fR\fR
+.ad
+.sp .6
+.RS 4n
+Save to the special image format. In terms of space usage and speed, this is
+the most efficient option if imaging is done to the standard output. This
+option is useful for image compression, encryption, or streaming through a
+network.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCloning with Overwrite Option
+.sp
+.LP
+The following command clones with the \fB--overwrite\fR option.
+
+.sp
+.in +2
+.nf
+# \fBntfsclone --overwrite /dev/dsk/c0d2p1 /dev/dsk/c0d0p1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSaving to Special Image Format
+.sp
+.LP
+The following command clones to the special image format to its original
+partition.
+
+.sp
+.in +2
+.nf
+# \fBntfsclone --save-image --output backup.img /dev/dsk/c0d0p1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRestoring from a Special Image File
+.sp
+.LP
+The following command restores an NTFS from a special image file.
+
+.sp
+.in +2
+.nf
+# \fBntfsclone --restore-image --overwrite /dev/dsk/c0d0p1 backup.img\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSaving to a Compressed Image
+.sp
+.LP
+The following command saves an NTFS to a compressed image file.
+
+.sp
+.in +2
+.nf
+# \fBntfsclone --save-image -o - /dev/dsk/c0d0p1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRRestoring from a Compressed Image
+.sp
+.LP
+The following command restores an NTFS volume from a compressed image file.
+
+.sp
+.in +2
+.nf
+# \fBgunzip -c backup.img.gz | \e\fR
+\fBntfsclone --restore-image --overwrite /dev/dsk/c0d0p1 -\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRBacking up to a Remote Host Using \fBssh\fR
+.sp
+.LP
+The following command backs up to a remote host, using \fBssh\fR(1). Note that
+\fBssh\fR will probably require a password.
+
+.sp
+.in +2
+.nf
+# \fBntfsclone --save-image --output - /dev/dsk/c0d0p1 | \e\fR
+\fBgzip -c | ssh host `cat > backup.img.gz`\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRRestoring from a Remote Host Using \fBssh\fR
+.sp
+.LP
+The following command backs up to a remote host, using \fBssh\fR(1). Note that
+\fBssh\fR will probably require a password.
+
+.sp
+.in +2
+.nf
+# \fBssh host `cat backup.img.gz` | gunzip -c | \e\fR
+\fBntfsclone --restore-image --overwrite /dev/dsk/c0d0p1 -\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRStreaming an Image File from a Web Server
+.sp
+.LP
+The following command streams an image file from a web server and restore it to
+a partition.
+
+.sp
+.in +2
+.nf
+# \fBwget -qO - http://server/backup.img | \e\fR
+\fBntfsclone --restore-image --overwrite /dev/dsk/c0d0p1 -\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRCloning to a New File
+.sp
+.LP
+The following command clones an NTFS volume to a non-existent file.
+
+.sp
+.in +2
+.nf
+# \fBntfsclone --output ntfs-clone.img /dev/dsk/c0d0p1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRPacking NTFS Metadata
+.sp
+.LP
+The following command packs NTFS metadata into an image file. Note that
+\fBbzip2\fR takes a much longer time than \fBgzip\fR, but produces an archive
+that is up to ten times smaller than the latter produces.
+
+.sp
+.in +2
+.nf
+# \fBntfsclone --metadata --output ntfsmeta.img /dev/dsk/c0d0p1\fR
+\fBbzip2 ntfsmeta.img\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRUnpacking NTFS Metadata
+.sp
+.LP
+The following command unpacks NTFS metadata into a sparse file.
+
+.sp
+.in +2
+.nf
+# \fBbunzip2 -c ntfsmeta.img.bz2 | \e\fR
+\fBcp --sparse=always /proc/self/fd/0 ntfsmeta.img\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The return code is zero on success, non-zero otherwise.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdu\fR(1), \fBssh\fR(1), \fBntfsresize\fR(1M), \fBntfsundelete\fR(1M),
+\fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfsclone\fR was written by Szabolcs Szakacsits with contributions from Per
+Olofsson (special image format support) and Anton Altaparmakov.
diff --git a/usr/src/man/man1m/ntfscluster.1m b/usr/src/man/man1m/ntfscluster.1m
new file mode 100644
index 0000000000..65efac3005
--- /dev/null
+++ b/usr/src/man/man1m/ntfscluster.1m
@@ -0,0 +1,239 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfscluster 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfscluster \- identify files in a specified region of an NTFS volume
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfscluster\fR [\fIoptions\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfscluster\fR utility has three modes of operation: \fBinfo\fR,
+\fBsector\fR, and \fBcluster\fR, described as follows.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBInfo\fR\fR
+.ad
+.sp .6
+.RS 4n
+The default mode, \fBinfo\fR is currently not implemented. It will display
+general information about the NTFS volume when it is working.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSector\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBsector\fR mode displays a list of files that have data in the specified
+range of sectors. This mode is put in effect by the \fB--sector\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCluster\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBcluster\fR mode displays a list of files that have data in the specified
+range of clusters. When the cluster size is one sector, this is equivalent to
+the \fBsector\fR mode of operation. This mode is put in effect by the
+\fB--cluster\fR option.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB--cluster\fR \fIrange\fR\fR
+.ad
+.sp .6
+.RS 4n
+Any files whose data is in this range of clusters will be displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR, \fB--filename\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display information about \fIfilename\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overrides some sensible defaults, such as not working with a mounted volume.
+Use this option with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR, \fB--inode\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show information about this inode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--info\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is not yet implemented.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR, \fB--quiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress some debug, warning, and error messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--sector\fR \fIrange\fR\fR
+.ad
+.sp .6
+.RS 4n
+Any files whose data is in this range of sectors will be displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the version number, copyright, and license information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display more debug, warning, and error messages.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying Information About a Volume
+.sp
+.LP
+The following command displays information about the volume
+\fB/dev/dsk/c0d0p1\fR.
+
+.sp
+.in +2
+.nf
+# \fBntfscluster /dev/dsk/c0d0p1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying List of Files in a Cluster Range
+.sp
+.LP
+The following command looks for files in the first 500 clusters of
+\fB/dev/dsk/c0d0p1\fR.
+
+.sp
+.in +2
+.nf
+# \fBntfscluster -c 0-500 /dev/dsk/c0d0p1\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBntfsinfo\fR(1M), \fBntfsprogs\fR(1M), \fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfscluster\fR was written by Richard Russon, with contributions from Anton
+Altaparmakov.
diff --git a/usr/src/man/man1m/ntfscmp.1m b/usr/src/man/man1m/ntfscmp.1m
new file mode 100644
index 0000000000..3eab27e5a0
--- /dev/null
+++ b/usr/src/man/man1m/ntfscmp.1m
@@ -0,0 +1,108 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfscmp 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfscmp \- compare two NTFS file systems and report the differences
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfscmp\fR [\fIoptions\fR] \fIdevice1\fR \fIdevice2\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfscmp\fR utility compares all aspects of two NTFS file systems and
+reports all differences it finds. The file systems can be on block devices or
+in image files. \fBntfscmp\fR can be used for volume verification. However, its
+primary purpose is to be an efficient development tool, used to quickly locate,
+identify, and check the correctness of the metadata changes made to NTFS.
+.sp
+.LP
+If one is interested only in the NTFS metadata changes, it can be useful to
+compare the metadata images created by using the \fB--metadata\fR option of
+\fBntfsclone\fR(1M) to eliminate the usually uninteresting timestamp changes.
+.sp
+.LP
+The terse output of \fBntfscmp\fR is intentional, because the provided
+information is sufficient to determine exact differences. More copious output
+can be obtained by using \fBdiff\fR(1) to compare the verbose output of
+\fBntfsinfo\fR(1M) for each reported inode.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Options have both single-letter and
+full-name forms.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display help and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--no-progress-bar\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not show progress bars.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display more debug, warning, and error messages.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The exit code is \fB0\fR on success, non-zero otherwise.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdiff\fR(1), \fBntfscat\fR(1M), \fBntfsclone\fR(1M), \fBntfsinfo\fR(1M),
+\fBntfsprogs\fR(1M), \fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfscmp\fR was written by Szabolcs Szakacsits.
diff --git a/usr/src/man/man1m/ntfscp.1m b/usr/src/man/man1m/ntfscp.1m
new file mode 100644
index 0000000000..db923c4a4e
--- /dev/null
+++ b/usr/src/man/man1m/ntfscp.1m
@@ -0,0 +1,209 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfscp 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfscp \- copy file to an NTFS volume
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfscp\fR [\fIoptions\fR] \fIdevice\fR \fIsource_file\fR \fIdestination\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfscp\fR utility copies files to an NTFS volume. \fIdestination\fR (see
+Synopis) can be either a file or a directory. If \fIdestination\fR is a
+directory specified by name, \fIsource_file\fR is copied into this directory.
+If \fIdestination\fR is a directory specified by inode number, an unnamed data
+attribute is created for this inode and \fIsource_file\fR is copied into it.
+Consider possible negative consequence before specifying a directory by inode
+number: it is unusual to have an unnamed data stream in a directory.
+.SS "Data Streams"
+.sp
+.LP
+All data on NTFS is stored in streams, which can have names. A file can have
+more than one data stream, but exactly one must have no name. The size of a
+file is the size of its unnamed data stream. Usually, when you do not specify a
+stream name, you are seeking access to the unnamed data stream. If you want
+access to a named data stream, you need to add \fB:\fR\fIstream_name\fR to the
+filename. For example, by opening \fBsome.mp3:artist\fR you will open stream
+\fBartist\fR in \fBsome.mp3\fR. In an operating system, such as Windows, that
+prevents you from accessing named data streams, you need to use some program
+like \fBFAR\fR or utilities from \fBcygwin\fR to access those streams.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB--attribute\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write to attribute designated by \fInum\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overrides some sensible defaults, such as not working with a mounted volume.
+Use this option with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--inode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Treat \fIdestination\fR (see Synopsis) as inode number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR, \fB--attr-name\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write to attribute with this name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR, \fB--no-action\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use this option to make a test run before doing the actual copy operation.
+Volume will be opened read-only and no write will be done.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR, \fB--quiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress some debug, warning, and error messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the version number, copyright, and license information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display more debug, warning, and error messages.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCopying from Home to Root Directory
+.sp
+.LP
+The following command copies \fBnew_boot.ini\fR from \fB/home/user\fR as
+\fBboot.ini\fR to the root of an \fB/dev/dsk/c0d0p1\fR NTFS volume.
+
+.sp
+.in +2
+.nf
+# \fBntfscp /dev/dsk/c0d0p1 /home/user/new_boot.ini boot.ini\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCopying a Stream
+.sp
+.LP
+The following command copies \fBmyfile\fR to \fBC:\some\path\myfile:stream\fR
+(assume that \fB/dev/dsk/c0d0p1\fR drive designator is \fBC\fR).
+
+.sp
+.in +2
+.nf
+# \fBntfscp -N stream /dev/dsk/c0d0p1 myfile /some/path\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBntfsresize\fR(1M), \fBntfsprogs\fR(1M), \fBparted\fR(1M),
+\fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfscp\fR was written by Yura Pakhuchiy, with contributions from Anton
+Altaparmakov and Hil Liao.
diff --git a/usr/src/man/man1m/ntfsfix.1m b/usr/src/man/man1m/ntfsfix.1m
new file mode 100644
index 0000000000..9624dfb8a7
--- /dev/null
+++ b/usr/src/man/man1m/ntfsfix.1m
@@ -0,0 +1,84 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfsfix 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfsfix \- fix common errors and force operating system to check NTFS
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfsfix\fR [\fIoptions\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfsfix\fR utility fixes some common NTFS problems. Note that it is not
+a version of \fBchkdsk\fR. It repairs some fundamental NTFS inconsistencies,
+resets the NTFS journal file, and schedules an NTFS consistency check for the
+next reboot of the operating system.
+.sp
+.LP
+Run \fBntfsfix\fR on an NTFS volume if you think it was damaged by the
+operating system or in some other way and it cannot be mounted.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the version number, copyright, and license information.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmkntfs\fR(1M), \fBntfsprogs\fR(1M), \fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfsfix\fR was written by Anton Altaparmakov, with contributions from
+Szabolcs Szakacsits.
diff --git a/usr/src/man/man1m/ntfsinfo.1m b/usr/src/man/man1m/ntfsinfo.1m
new file mode 100644
index 0000000000..fd8be13ae5
--- /dev/null
+++ b/usr/src/man/man1m/ntfsinfo.1m
@@ -0,0 +1,161 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfsinfo 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfsinfo \- dump a file's attributes
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfsinfo\fR [\fIoptions\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfsinfo\fR utility dumps the attributes of inode \fIinode-number\fR or
+the file \fIpath-filename\fR and/or information about the MFT (\fB-m\fR
+option). Run \fBntfsinfo\fR without arguments for a full list of options.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR, \fB--file\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show information about \fIfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overrides some sensible defaults, such as not overwriting an existing file. Use
+this option with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--inode\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show information about inode identified by \fInum\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR, \fB--mft\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show information about the volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR, \fB--quiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress some debug, warning, and error messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--notime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not display timestamps in the output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the version number, copyright, and license information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display more debug, warning, and error messages.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBntfsprogs\fR(1M), \fBntfsundelete\fR(1M), \fBparted\fR(1M),
+\fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfsinfo\fR was written by Matthew J. Fanto, Anton Altaparmakov, Richard
+Russon, Szabolcs Szakacsits, Yuval Fledel, Yura Pakhuchiy and Cristian Klein.
diff --git a/usr/src/man/man1m/ntfslabel.1m b/usr/src/man/man1m/ntfslabel.1m
new file mode 100644
index 0000000000..5a878bb673
--- /dev/null
+++ b/usr/src/man/man1m/ntfslabel.1m
@@ -0,0 +1,140 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfslabel 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfslabel \- display or change the label on an NTFS file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfslabel\fR [\fIoptions\fR] \fIdevice\fR [\fInew_label\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfslabel\fR utility displays or changes the file system label on the
+NTFS file system located on \fIdevice\fR (see Synopsis).
+.sp
+.LP
+If the optional argument \fInew_label\fR is not present, \fBntfslabel\fR
+displays the current file system label.
+.sp
+.LP
+If the optional argument \fInew_label\fR is present, \fBntfslabel\fR sets the
+file system label to be \fInew_label\fR. NTFS file system labels can be at most
+128 Unicode characters long; if \fInew_label\fR is longer than 128 Unicode
+characters, \fBntfslabel\fR truncates it and displays a warning message.
+.sp
+.LP
+It is also possible to set the file system label using the \fB-L\fR option of
+\fBmkntfs\fR(1M) during creation of the file system.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overrides some sensible defaults, such as not working with a mounted volume.
+Use this option with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR, \fB--no-action\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not actually write a new label to disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR, \fB--quiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress some debug, warning, and error messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the version number, copyright, and license information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display more debug, warning, and error messages.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmkntfs\fR(1M), \fBntfsprogs\fR(1M), \fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfslabel\fR was written by Matthew J. Fanto, with contributions from Anton
+Altaparmakov and Richard Russon.
diff --git a/usr/src/man/man1m/ntfsls.1m b/usr/src/man/man1m/ntfsls.1m
new file mode 100644
index 0000000000..9d4d865109
--- /dev/null
+++ b/usr/src/man/man1m/ntfsls.1m
@@ -0,0 +1,218 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfsls 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfsls \- list directory contents on an NTFS file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfsls\fR [\fIoptions\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfsls\fR utility lists information about the files specified by the
+\fBPATH\fR option (the root directory by default). \fIdevice\fR (see Synopsis)
+is the special file corresponding to the device (for example,
+\fB/dev/dsk/c0d0p0\fR\fInum\fR) or an NTFS image file.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB--all\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display all files. If this option is not specified file names in the POSIX
+namespace are not displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR, \fB--classify\fR\fR
+.ad
+.sp .6
+.RS 4n
+Append one of the indicators shown below to entries.
+.sp
+.in +2
+.nf
+* / = @ |
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force execution. For example, this option is necessary to run on an NTFS
+partition stored in a normal file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display usage information and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--inode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the inode number of each file. This is the MFT reference number, in
+NTFS terminology.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR, \fB--long\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use a long listing format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--path\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+The directory whose contents to list or the file (including the path) about
+which to display information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR, \fB--quiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress some debug, warning, and error messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR, \fB--recursive\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show the contents of all directories beneath the specified directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--system\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unless this options is specified, all files beginning with a dollar sign
+character will not be listed, as these files are usually system files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display more debug, warning, and error messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the \fBntfsls\fR version number and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR, \fB--dos\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display short file names, that is, files in the DOS namespace, instead of long
+file names, that is, files in the WIN32 namespace.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+, \fBntfsprogs\fR(1M), \fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+This version of \fBntfsls\fR was written by Lode Leroy, Anton Altaparmakov,
+Richard Russon, Carmelo Kintana and Giang Nguyen.
diff --git a/usr/src/man/man1m/ntfsprogs.1m b/usr/src/man/man1m/ntfsprogs.1m
new file mode 100644
index 0000000000..063d4b328d
--- /dev/null
+++ b/usr/src/man/man1m/ntfsprogs.1m
@@ -0,0 +1,199 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfsprogs 1M "28 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfsprogs \- list of NTFS tools
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfsprogs\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBntfsprogs\fR is the name of a suite of NTFS utilities based around a shared
+library. The tools are available for free and come with full source code. The
+tools are listed below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmkntfs\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Create an NTFS filesystem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfscat\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Dump a file's content to the standard output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfsclone\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Efficiently clone, backup, restore, or rescue NTFS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfscluster\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Locate the files that use the specified sectors or clusters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfscmp\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Compare two NTFS file systems and report the differences.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfscp\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Copy a file to an NTFS volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfsfix\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Check and fix some common errors, clear the log file, and make the operating
+system perform a thorough check next time it boots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfsinfo\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Show information about NTFS or one of the files or directories within it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfslabel\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Show, or set, an NTFS filesystem's volume label.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfsls\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+List information about files in a directory residing on an NTFS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfsmount(1M)\fR (not a SunOS man page)\fR
+.ad
+.sp .6
+.RS 4n
+Read-write NTFS user space driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfsresize\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Resize NTFS without losing data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBntfsundelete\fR(1M)\fR
+.ad
+.sp .6
+.RS 4n
+Recover deleted files from NTFS.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+The tools were written by Anton Altaparmakov, Carmelo Kintana, Cristian Klein,
+Erik Sornes, Giang Nguyen, Holger Ohmacht, Lode Leroy, Matthew J. Fanto, Per
+Olofsson, Richard Russon, Szabolcs Szakacsits, Yura Pakhuchiy, and Yuval
+Fledel.
diff --git a/usr/src/man/man1m/ntfsresize.1m b/usr/src/man/man1m/ntfsresize.1m
new file mode 100644
index 0000000000..7fe15b70cb
--- /dev/null
+++ b/usr/src/man/man1m/ntfsresize.1m
@@ -0,0 +1,290 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfsresize 1M "21 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfsresize \- resize an NTFS file system without data loss
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfsresize\fR [\fIoptions\fR] \fB--info\fR \fIdevice\fR
+.fi
+
+.LP
+.nf
+\fBntfsresize\fR [\fIoptions\fR] [\fB--size\fR \fIsize\fR[k|M|G]] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfsresize\fR program safely resizes Windows XP, Windows Server 2003,
+Windows 2000, Windows NT4 and Longhorn NTFS filesystems without data loss. All
+NTFS versions used by 32-bit and 64-bit Windows "operating systems" are
+supported. Defragmentation is not required prior to resizing, because
+\fBntfsresize\fR can relocate any data if needed, without risking data
+integrity.
+.sp
+.LP
+\fBntfsresize\fR can be used to shrink or enlarge any NTFS file system located
+on an unmounted device (usually a disk partition). The new file system will
+have a size that you specify. The size parameter can have one of the optional
+modifiers \fBk\fR, \fBM\fR, \fBG\fR, denoting, respectively, kilobytes,
+megabytes, or gigabytes. \fBntfsresize\fR conforms to the SI, ATA, an IEEE
+standards and the disk manufacturers by supporting \fBk=10\fR^3, \fBM=10\fR^6
+and \fBG=10\fR^9.
+.sp
+.LP
+If both \fB---info\fR and \fB---size\fR options are omitted then the NTFS file
+system will be enlarged to the underlying device size.
+.sp
+.LP
+To resize a file system on a partition, you must resize both the file system
+and the partition, by editing the partition table on the disk. Similarly to
+other command-line file system resizers, \fBntfsresize\fR does not manipulate
+the size of the partitions. To do that you must use a disk partitioning tool,
+such as \fBfdisk\fR(1M). Alternatively, you could use one of the many user
+friendly partitioners that uses \fBntfsresize\fR internally. Such partitioners
+include, among others, Mandriva's DiskDrake, QTParted, SUSE/Novell's YaST
+Partitioner, IBM's EVMS, GParted, or Debian/Ubuntu's Partman.
+.sp
+.LP
+Back up your data and your partition table before using any partitioning tool.
+For an NTFS file system, you can use \fBntfsclone\fR(1M) as a means of backup.
+.sp
+.LP
+To shrink an NTFS partition, first use \fBntfsresize\fR to shrink the size of
+the file system. Then use a utility such as \fBfdisk\fR(1M) to shrink the size
+of the partition by deleting the partition and recreating it with the smaller
+size. Do not make the partition smaller than the new size of NTFS; otherwise,
+you will not be able to boot from that partition. If you mistakenly made a
+too-small partition, you would have to recreate the partition to be as large as
+newly sized NTFS file system.
+.sp
+.LP
+To enlarge an NTFS file system, you must first enlarge the size of the
+underlying partition. You can use \fBfdisk\fR(1M) to delete the partition and
+recreate it with a larger size. Make sure the newly sized partition does not
+overlap with any other partition. Then use \fBntfsresize\fR to enlarge the file
+system.
+.sp
+.LP
+When recreating a partition, make sure you create it at the same starting
+sector and with the same partition type as was used in the partition you are
+replacing. Otherwise, you will not be able to access your file system. Use the
+\fBfdisk u\fR command to switch from the default cylinder unit to the reliable
+sector unit. Also, if the bootable flag was set in the old partition, make sure
+to set it in the recreated partiton. Otherwise, you might not be able to boot
+from the new partition.
+.SH EXTENDED DESCRIPTION
+.sp
+.LP
+There are a handful of very rarely met restrictions in the use of
+\fBntfsresize\fR. An example of such a restriction occurs with a file system
+stored on a disk having unknown bad sectors. Relocation of the first \fBMFT\fR
+extent and resizing into the middle of a \fB$MFTMirr\fR extent are not
+supported. These cases are detected and resizing is restricted to a safe size
+or the closest safe size is displayed.
+.sp
+.LP
+Upon completion of a resizing, \fBntfsresize\fR schedules an NTFS consistency
+check. In Windows, this check is performed by \fBchkdsk\fR. Upon the first
+subsequent reboot into Windows, you will note \fBchkdsk\fR running in a blue
+background. This is normal. Windows might force a quick reboot after the
+consistency check. Depending on your hardware configuration, Windows might
+alert you to a systems setting change and recommend or require a reboot.
+Acknowledge the message and reboot a second time.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR, \fB--bad-sectors\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, \fBntfsresize\fR exits upon encountering bad sectors. This option
+allows the utility to proceed in spite of such sectors.
+.sp
+Prior using this option, it is strongly recommended that you use
+\fBntfsclone\fR(1M) with the \fB--rescue\fR option to make a backup, then, in
+Windows, run \fBchkdsk /f /r volume\fR: from the command line. If the disk
+guarantee displays as valid, then replace it, as it is defective. Note that no
+software can repair bad sector errors. The most that can be done is to work
+around these defects.
+.sp
+This option has no effect if a disk has no bad sectors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBntfsresize\fR always marks a file system for consistency check before a real
+(not using \fB--no-action\fR) resize operation and it leaves that way for extra
+safety. Thus, if an NTFS file system was marked by \fBntfsresize\fR, it is safe
+to use this option. You must use this option, if you need to resize several
+times without booting into Windows between each resizing step.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display usage information and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--info\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used when you want to shrink a file system. Causes \fBntfsresize\fR to
+determine the smallest shrunken file system size supported. Most of the time
+the smallest size is the space already used on the file system.
+\fBntfsresize\fR does not shrink a file system to a smaller size than what is
+returned by this option. Depending on several factors, it might be unable to
+shrink to this theoretical size. Although the integrity of your data should be
+never at risk, it is nevertheless strongly recommended to make a test run by
+using the \fB--no-action\fR option before actual resizing.
+.sp
+Based on testing, the smallest attainable size is approximately space used in
+the file system plus 20-200 MB. Note also that Windows might need an additional
+50-100 MB to boot safely.
+.sp
+This option never causes any changes to the file system; the partition is
+opened read-only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR, \fB--no-action\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use this option to make a test run before doing the resize operation. Volume
+will be opened read-only and \fBntfsresize\fR displays what it would do if it
+were to resize the file system. Proceed with the actual resizing only if the
+test run passed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--no-progress-bar\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not display progress bars during \fBntfsresize\fR operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--size\fR \fIsize\fR[k|M|G]]\fR
+.ad
+.sp .6
+.RS 4n
+Resize file system to \fIsize\fR bytes. The new file system will have a size
+that you specify. The size parameter can have one of the optional modifiers
+\fBk\fR, \fBM\fR, \fBG\fR, denoting, respectively, kilobytes, megabytes, or
+gigabytes. \fBntfsresize\fR conforms to the SI, ATA, an IEEE standards and the
+disk manufacturers by supporting \fBk=10\fR^3, \fBM=10\fR^6 and \fBG=10\fR^9.
+Before performing an actual resizing, run \fBntfsresize\fR with the
+\fB--no-action\fR option, along with this option, first.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display copious output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the version number of \fBntfsresize\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+Display zero on success, non-zero otherwise.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfdisk\fR(1M), \fBntfsclone\fR(1M), \fBparted\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH NOTES
+.sp
+.LP
+In Linux version 2.6, with partitions that have been manipulated by
+\fBparted\fR(1M), use of \fBntfsresize\fR preceded corruption of partition
+tables, which resulted in unbootable Windows systems. This occurred even if the
+NTFS file system was consistent. This problem is independent of NTFS and, thus,
+\fBntfsresize\fR. Moreover, \fBntfsresize\fR never touches the partition table.
+Under the conditions just described, you can, in the BIOS, change \fBDisk
+Access Mode\fR to \fBLBA\fR to regain the ability to boot. For further
+discussion of this condition see the \fBntfsresize\fR FAQ at:
+\fBhttp://mlf.linux.rulez.org/mlf/ezaz/ntfsresize.html\fR.
+.SH AUTHORS
+.sp
+.LP
+\fBntfsresize\fR was written by Szabolcs Szakacsits, with contributions from
+Anton Altaparmakov and Richard Russon.
diff --git a/usr/src/man/man1m/ntfsundelete.1m b/usr/src/man/man1m/ntfsundelete.1m
new file mode 100644
index 0000000000..b3e158fd57
--- /dev/null
+++ b/usr/src/man/man1m/ntfsundelete.1m
@@ -0,0 +1,500 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (c) 2002-2006 Szabolcs Szakacsits
+.\" Copyright (c) 2002-2005 Anton Altaparmakov
+.\" Copyright (c) 2002-2003 Richard Russon
+.\" Copyright (c) 2007 Yura Pakhuchiy
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program
+.\" (in the main directory of the Linux-NTFS distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 11-1307 USA
+.TH ntfsundelete 1M "22 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ntfsundelete \- recover a deleted file from an NTFS volume
+.SH SYNOPSIS
+.LP
+.nf
+\fBntfsundelete\fR [\fIoptions\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBntfsundelete\fR utility can, under the right circumstances, recover a
+deleted file from an NTFS volume. The command has three modes of operation:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBScan\fR\fR
+.ad
+.sp .6
+.RS 4n
+The default mode, \fBscan\fR simply reads an NTFS Volume and looks for files
+that have been deleted. It then displays a list, giving the inode number, name,
+and size of each deleted file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUndelete\fR\fR
+.ad
+.sp .6
+.RS 4n
+The undelete mode takes the files either matching the regular expression
+(option \fB-m\fR) or specified by the \fIinode-expressions\fR and recovers as
+much of the data as possible. It saves the result to another location.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCopy\fR\fR
+.ad
+.sp .6
+.RS 4n
+The "wizard's" option. Saves a portion of the MFT to a file, which can be
+useful when debugging \fBntfsundelete\fR.
+.RE
+
+.sp
+.LP
+There are many circumstances under which \fBntfsundelete\fR is unable to
+recover a file. For example, consider the following scenario. When a file is
+deleted the MFT Record is marked as not in use and the bitmap representing the
+disk usage is updated. If the power is not turned off immediately, the free
+space, where the file used to reside might get overwritten. Worse, the MFT
+Record might be reused for another file. If this happens, it is impossible to
+tell where the file was on disk.
+.sp
+.LP
+Even if all the clusters of a file are not in use, there is no guarantee that
+they have not been overwritten by some short-lived file.
+.sp
+.LP
+\fBntfsundelete\fR cannot recover compressed or encrypted files. During a scan,
+it will display such a file as being 0% recoverable.
+.SS "Locale"
+.sp
+.LP
+In NTFS, all filenames are stored as Unicode. A filename is converted into the
+current locale for display by \fBntfsundelete\fR. The utility has successfully
+displayed Chinese pictogram filenames and then correctly recovered them.
+.SS "Extended MFT Records"
+.sp
+.LP
+In rare circumstances, a single MFT Record will not be large enough to hold the
+metadata describing a file (a file would have to be in hundreds of fragments
+for this to happen). In these cases, one MFT record might hold the filename,
+while another will hold the information about the data. \fBntfsundelete\fR will
+not try and piece together such records. It will simply list unnamed files with
+data.
+.SS "Recovered File's Size and Creation Date"
+.sp
+.LP
+To recover a file, \fBntfsundelete\fR has to read the file's metadata.
+Unfortunately, when a file is deleted, the metadata can be left in an
+inconsistent state. For example, the file size might be recorded as zero; the
+creation date of a file might be set to the time it was deleted or to a random
+time. In such situations, \fBntfsundelete\fR picks the largest file size it
+finds and writes that to disk. It also tries to set the file's creation date to
+the last-modified date. This date might be the correct last modified date, or
+something unexpected.
+.SH OPTIONS
+.sp
+.LP
+Supported options are listed below. Most options have both single-letter and
+full-name forms. Multiple single-letter options that do not take an argument
+can be combined. For example, \fB-fv\fR is the equivalent of \fB-f\fR \fB-v\fR.
+A full-name option can be abbreviated to a unique prefix of its name.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR, \fB--byte\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Fill in the parts of unrecoverable file clusters with byte represented by
+\fInum\fR. The default is zeros.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR, \fB--case\fR\fR
+.ad
+.sp .6
+.RS 4n
+Make filename search, when attempting a match with the \fB--match\fR option,
+case-sensitive. The default filename search is case-insensitive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB--copy\fR \fIrange\fR\fR
+.ad
+.sp .6
+.RS 4n
+This "wizard" option writes a block of MFT FILE records to a file. The default
+file is mft which will be created in the current directory. This option can be
+combined with the \fB--output\fR and \fB--destination\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR, \fB--destination\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the location of the output file for the \fB--copy\fR and
+\fB--undelete\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overrides some sensible defaults, such as not overwriting an existing file. Use
+this option with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Show a list of options with a brief description of each one.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--inodes\fR \fIrange\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recover the files within the specified range of inode numbers. \fIrange\fR can
+be a single inode number, several numbers separated by commas, or a range
+separated by a dash (\fB-\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR, \fB--match\fR \fIpattern\fR\fR
+.ad
+.sp .6
+.RS 4n
+Filter the output by looking only for filenames that match \fIpattern\fR. The
+pattern can include the wildcards \fB?\fR, matching exactly one character, or
+\fB*\fR, matching zero or more characters. By default, the matching is
+case-insensitive. To make the search case-sensitive, use the \fB--case\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR, \fB--optimistic\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recover parts of the file even if they are currently marked as in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR, \fB--output\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the name of the output file created by the \fB--copy\fR or \fB--undelete\fR
+options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR, \fB--parent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the parent directory of a deleted file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR, \fB--percentage\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+Filter the output of the \fB--scan\fR option by matching only files with
+\fInum\fR percent of recoverable content.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR, \fB--quiet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reduce the amount of output to a minimum. This option is not useful with the
+\fB--scan\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--scan\fR\fR
+.ad
+.sp .6
+.RS 4n
+Search through an NTFS volume and display a list of files that could be
+recovered. This is the default action of \fBntfsundelete\fR. This list can be
+filtered by filename, size, percentage recoverable, or last modification time,
+using the \fB--match\fR, \fB--size\fR, \fB--percent\fR, and \fB--time\fR
+options, respectively.
+.sp
+In the output from this option, the \fB%age\fR (percentage) field displays how
+much of a file can potentially be recovered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR, \fB--size\fR \fIrange\fR\fR
+.ad
+.sp .6
+.RS 4n
+Filter the output of the \fB--scan\fR option by looking for a particular range
+of file sizes. \fIrange\fR can be specified as two numbers separated by a
+hyphen (\fB-\fR). A unit of size can be abbreviated using the suffixes \fBk\fR,
+\fBm\fR, \fBg\fR, and \fBt\fR, for kilobytes, megabytes, gigabytes, and
+terabytes respectively.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--time\fR \fIsince\fR\fR
+.ad
+.sp .6
+.RS 4n
+Filter the output of the \fB--scan\fR option. Match only files that have been
+altered since this time. The time must be given as number and a suffix of
+\fBd\fR, \fBw\fR, \fBm\fR, or \fBy\fR for, respectively, days, weeks,
+months, or years.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR, \fB--truncate\fR\fR
+.ad
+.sp .6
+.RS 4n
+The default behavior of \fBntfsundelete\fR is to round \fBup\fR a file's size
+to the nearest cluster (which will be a multiple of 512 bytes). In cases where
+the utility has complete data about the size of a file, this option restores
+the file to exactly that size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR, \fB--undelete\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies undelete mode. You can specify the files to be recovered using by
+using \fB--match\fR or \fB--inodes\fR options. This option can be combined with
+\fB--output\fR, \fB--destination\fR, and \fB--byte\fR.
+.sp
+When the file is recovered it will be given its original name, unless the
+\fB--output\fR option is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR \fI\fR\fR
+.ad
+.sp .6
+.RS 4n
+Increase the amount of output that \fBntfsundelete\fR displays.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR \fI\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the version number, copyright, and license for \fBntfsundelete\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSearching for Deleted Files
+.sp
+.LP
+The following command searches for deleted files on a specific device.
+
+.sp
+.in +2
+.nf
+# \fBntfsundelete /dev/dsk/c0d0p1\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRScanning for Files Matching a Wildcard
+.sp
+.LP
+The following command searches for deleted files that match \fB*.doc\fR.
+
+.sp
+.in +2
+.nf
+# \fBntfsundelete /dev/dsk/c0d0p1 -s -m '*.doc'\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSearching for Files of a Certain Size
+.sp
+.LP
+The following command looks for deleted files between 5000 and 6000000 bytes,
+with at least 90% of the data recoverable, on \fB/dev/dsk/c0d0p1\fR.
+
+.sp
+.in +2
+.nf
+# \fBntfsundelete /dev/dsk/c0d0p1 -S 5k-6m -p 90\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSearching for Recently Changed Files
+.sp
+.LP
+The following command searches for deleted files altered in the last two days.
+
+.sp
+.in +2
+.nf
+# \fBntfsundelete /dev/dsk/c0d0p1 -t 2d\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRSpecifying an Inode Range
+.sp
+.LP
+The following command undeletes inodes 2, 5 and 100 to 131 of device
+\fB/dev/sda1\fR.
+
+.sp
+.in +2
+.nf
+# \fBntfsundelete /dev/sda1 -u -i 2,5,100-131\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRSpecifying an Output File and Directory
+.sp
+.LP
+The following command undeletes inode number 3689, names the file
+\fBwork.doc\fR, and stores it in the user's home directory.
+
+.sp
+.in +2
+.nf
+# \fBntfsundelete /dev/dsk/c0d0p1 -u -i 3689 -o work.doc -d ~\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRSaving MFT Records
+.sp
+.LP
+The following command saves MFT records 3689 to 3690 to a file \fBdebug\fR.
+
+.sp
+.in +2
+.nf
+# \fBntfsundelete /dev/dsk/c0d0p1 -c 3689-3690 -o debug\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBntfsclone\fR(1M), \fBntfsresize\fR(1M), \fBparted\fR(1M),
+\fBattributes\fR(5)
+.sp
+.LP
+http://wiki.linux-ntfs.org
+.SH AUTHORS
+.sp
+.LP
+\fBntfsundelete\fR was written by Richard Russon and Holger Ohmacht, with
+contributions from Anton Altaparmakov.
diff --git a/usr/src/man/man1m/nwamd.1m b/usr/src/man/man1m/nwamd.1m
new file mode 100644
index 0000000000..3e14938b42
--- /dev/null
+++ b/usr/src/man/man1m/nwamd.1m
@@ -0,0 +1,248 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH nwamd 1M "24 Nov 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+nwamd \- network auto-magic daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/lib/inet/nwamd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnwamd\fR is a system daemon to manage network interfaces.
+.sp
+.LP
+This daemon is started automatically and should not be invoked directly. It
+does not constitute a programming interface.
+.SS "Operation"
+.sp
+.LP
+Whether this daemon is enabled or not depends on your installation medium. To
+check from within the GNOME desktop environment, double click on the "Network
+Manager" icon to open the "Connection Properties" window. If "Configure network
+automatically" is checked, then auto-magic mode is enabled. To check from the
+command line, enter the following:
+.sp
+.in +2
+.nf
+% \fBsvcs svc:/network/physical\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Two instances will be listed, one online and the other disabled. If the "nwam"
+instance is online, then this daemon is running.
+.sp
+.LP
+To switch between manual and auto-magic mode, you can use the Network Monitor
+applet available within the GNOME desktop environment. You can also switch
+manually from the command line by entering:
+.sp
+.in +2
+.nf
+% \fBsvcadm disable svc:/network/physical:default\fR
+% \fBsvcadm enable svc:/network/physical:nwam\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To go from auto-magic mode to manual mode:
+.sp
+.in +2
+.nf
+% \fBsvcadm disable svc:/network/physical:nwam\fR
+% \fBsvcadm enable svc:/network/physical:default\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When switching modes like this, keep in mind that all network interfaces will
+be brought down then back up. Therefore, if a different \fBIP\fR address is
+configured in this process, existing applications and sessions might be
+disrupted.
+.sp
+.LP
+There is a limitation that only one link is active at a time in auto-magic
+mode. This mode is not recommended for machines that use more than one link at
+a time. For machines with wired and wireless links, wired link are preferred by
+default, although this can be adjusted from the GNOME NWAM Manager menu
+(right-click on the icon), or from the command line, by editing the plain text
+file \fB/etc/nwam/llp\fR. For the latter (hand-editing) procedure, the first
+instance of a link in \fB/etc/nwam/llp\fR sets the priority of that link.
+Subsequent instances of that link set parameters associated with the interface
+on that link.
+.sp
+.LP
+The \fB/etc/nwam/llp\fR interface is volatile and might change in a future
+release.
+.SS "Static IP Addresses"
+.sp
+.LP
+A static IP address can be configured by changing the line in the
+\fB/etc/nwam/llp\fR file that contains an interface name and the name of the
+method for obtaining an IP address. It might look like:
+.sp
+.in +2
+.nf
+nge0 dhcp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Change this line to one that looks like:
+.sp
+.in +2
+.nf
+nge0 static \fII\fR1.\fII\fR2.\fII\fR3.\fII\fR4/\fIP\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...where the I's are the digits of the IPv4 address and the \fIP\fR is an
+optional prefix. If the prefix is not provided, it is derived, using classful
+assumptions.
+.SS "Configuring IPv6"
+.sp
+.LP
+IPv6 is configured by default on a link. It can also be explicitly added in the
+\fB/etc/nwam/llp\fR file by providing a line that contains an interface name
+and the string \fBipv6\fR. It might look like:
+.sp
+.in +2
+.nf
+nge0 ipv6
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If IPv6 should not be plumbed on a given link, a \fBnoipv6\fR entry should be
+created in the \fB/etc/nwam/llp\fR file for that link. It might look like:
+.sp
+.in +2
+.nf
+nge0 noipv6
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+An optional static IPv6 address can be provided on the same line, immediately
+after the \fBipv6\fR token. Whether you provide a static address or not, IPv6
+will use DHCPv6 or stateless address configuration, as directed by the local
+network configuration.
+.SS "PROFILES"
+.sp
+.LP
+All interfaces listed in this section are volatile and may change in a future
+release. They are documented here so that those wishing to experiment with this
+may do so.
+.sp
+.LP
+Profiles are a mechanism for making multiple related changes to the system
+configuration after \fBIP\fR service is available.
+.sp
+.LP
+There is no direct support for the profiles yet, but a "roll your own"
+mechanism is provided for now. Once an interface is brought up and an \fBIP\fR
+address is configured for it, the daemon looks for the file
+\fB/etc/nwam/ulp/check-conditions\fR. If this file exists and is executable, it
+is run. This should print a single line of output, which is the name of the
+profile that the user wishes to activate based on the current conditions. If
+such a line is read successfully (\fIfoo\fR in this example), then
+\fB/etc/nwam/ulp/foo/bringup\fR is executed. Likewise, when the interface gets
+torn down for whatever reason, \fB/etc/nwam/ulp/foo/teardown\fR is executed.
+The "bringup" and "teardown" scripts are invoked via \fBpfexec\fR(1) with
+default basic privileges. Samples for each of these scripts can be found at:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+http://opensolaris.org/os/project/nwam/prototype/check-conditions
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+http://opensolaris.org/os/project/nwam/prototype/bringup
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+http://opensolaris.org/os/project/nwam/prototype/teardown
+.RE
+.SS "Wireless"
+.sp
+.LP
+If no wired link is available, a scan for wireless \fBLAN\fRs is done, and the
+resulting list offered via a \fBGUI\fR popup window prompts the console user to
+select a preference. If a successful connection is made, the \fBWLAN\fR in
+question is stored in the plain text file \fB/etc/nwam/known_wifi_nets\fR and
+the daemon may connect to any \fBWLAN\fR in that list without prompting the
+user again. If a user wishes to add other preferences or revoke existing ones,
+he can do so by bringing up the NWAM Manager menu with right-click on the icon,
+and then selecting "Manage Favorite Wireless Networks...". A user can also edit
+the \fBknown_wifi_nets\fR file directly. This interface is volatile and might
+change in a future release.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+See also \fBnwam-manager(1M)\fR, available in the JDS/GNOME man page
+collection.
+.SH NOTES
+.sp
+.LP
+The networking service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/physical
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/obpsym.1m b/usr/src/man/man1m/obpsym.1m
new file mode 100644
index 0000000000..001dedd1e1
--- /dev/null
+++ b/usr/src/man/man1m/obpsym.1m
@@ -0,0 +1,145 @@
+'\" te
+.\" Copyright 2001 Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH obpsym 1M "13 Dec 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+obpsym \- Kernel Symbolic Debugging for OpenBoot Firmware
+.SH SYNOPSIS
+.LP
+.nf
+\fBmodload\fR \fB-p\fR misc/obpsym
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBobpsym\fR is a kernel module that installs OpenBoot callback handlers that
+provide kernel symbol information to OpenBoot. OpenBoot firmware user interface
+commands use the callbacks to convert numeric \fIaddresses\fR to kernel symbol
+names for display purposes, and to convert kernel symbol names to numeric
+\fIliterals\fR allowing symbolic names to be used as input arguments to user
+interface commands.
+.sp
+.LP
+Once \fBobpsym\fR is installed, kernel symbolic names may be used anywhere at
+the OpenBoot firmware's user interface command prompt in place of a literal
+(numeric) string. For example, if \fBobpsym\fR is installed, the OpenBoot
+firmware commands \fBctrace\fR and \fBdis\fR typically display symbolic names
+and offsets in the form \fImodname:symbolname + offset.\fR User interface
+Commands such as \fBdis\fR can be given a kernel symbolic name such as
+\fBufs:ufs_mount\fR instead of a numeric address.
+.sp
+.LP
+Placing the command
+.sp
+.LP
+\fBforceload: misc/obpsym\fR
+.sp
+.LP
+into the \fBsystem\fR(4) file forces the kernel module \fBmisc/obpsym\fR to be
+loaded and activates the kernel callbacks during the kernel startup sequence.
+.sp
+.LP
+\fBobpsym\fR may be useful as a kernel debugger in situations where other
+kernel debuggers are not useful. For example, on SPARC machines, if
+\fBobpsym\fR is loaded, you may be able to use the OpenBoot firmware's
+\fBctrace\fR command to display symbolic names in the stack backtrace after a
+watchdog reset.
+.SS "Kernel Symbolic Name Syntax"
+.sp
+.LP
+The syntax for a kernel symbolic name is:
+.sp
+.LP
+\fB\fR [ \fImodule-name\fR \fB:\fR ] \fIsymbol-name\fR
+.sp
+.LP
+Where \fImodule-name\fR is the name of the kernel module that the symbol
+\fIsymbol-name\fR appears in. A \fINULL\fR module name is taken as "all
+modules, in no particular order" by \fBobpsym\fR. The module name \fBunix\fR is
+equivalent to a \fINULL\fR module name, so that conflicts with words defined in
+the firmware's vocabulary can be avoided.
+.sp
+.LP
+Typically, OpenBoot firmware reads a word from the input stream and looks the
+word up in its internal \fIvocabulary\fR before checking if the word is a
+\fIliteral\fR. Thus, kernel symbols, such as \fBreset\fR may be given as
+\fBunix:reset\fR to avoid the unexpected side effect of the firmware finding
+and executing a matching word in its vocabulary.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/system\fR\fR
+.ad
+.sp .6
+.RS 4n
+system configuration information file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/platform/\fR\fIplatform-name\fR\fB/kernel/misc/obpsym\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkadb\fR(1M), \fBkernel\fR(1M), \fBmodload\fR(1M), \fBmodunload\fR(1M),
+\fBuname\fR(1), \fBsystem\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH WARNINGS
+.sp
+.LP
+Some OpenBoot firmware user interface commands may use system resources
+incompatibly with the way they are used by the Unix kernel. These commands and
+the use of this feature as a kernel debugger may cause interactions that the
+Unix kernel is not prepared to deal with. If this occurs, the Unix kernel
+and/or the OpenBoot firmware user interface commands may react unpredictably
+and may panic the system, or may hang or may cause other unpredictable results.
+For these reasons, the use of this feature is only minimally supported and
+recommended to be used only as a kernel debugger of "last resort".
+.sp
+.LP
+If a breakpoint or watchpoint is triggered while the console frame buffer is
+powered off, the system can crash and be left in a state from which it is
+difficult to recover. If one of these is triggered while the monitor is powered
+off, you will not be able to see the debugger output.
+.SH NOTES
+.sp
+.LP
+\fIplatform-name\fR can be found using the \fB-i\fR option of \fBuname\fR(1)
+.sp
+.LP
+\fBobpsym\fR is supported only on architectures that support OpenBoot firmware.
+.sp
+.LP
+On some systems, OpenBoot must be completely RAM resident so the \fBobpsym\fR
+symbol callback support can be added to the firmware, if the firmware doesn't
+include support for the symbol callbacks. On these systems, \fBobpsym\fR may
+complain that it requires that "you must use ramforth to use this module".
+.sp
+.LP
+See the for details on how to use the \fIramforth\fR command, how to place the
+command into \fInvramrc\fR, and how to set \fIuse-nvramrc?\fR to \fBtrue\fR. On
+systems with version 1.x OpenBoot firmware, \fInvramrc\fR doesn't exist, and
+the \fIramforth\fR command must be typed manually after each reset, in order to
+use this module.
+.sp
+.LP
+Once installed, the symbol table callbacks can be disabled by using the
+following OpenBoot firmware command:
+.sp
+.LP
+\fB0 0 set-symbol-lookup\fR
diff --git a/usr/src/man/man1m/oplhpd.1m b/usr/src/man/man1m/oplhpd.1m
new file mode 100644
index 0000000000..45732921bb
--- /dev/null
+++ b/usr/src/man/man1m/oplhpd.1m
@@ -0,0 +1,69 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH oplhpd 1M "23 May 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+oplhpd \- Hot plug daemon for SPARC Enterprise Server line
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/platform/SUNW,SPARC-Enterprise/lib/sparcv9/lib/oplhpd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The hot plug daemon for \fBSPARC\fR Enterprise Servers is a daemon process that
+runs on the \fBSUNW\fR,\fBSPARC\fR-Enterprise family of servers. The daemon is
+started by the service management facility (see \fBsmf\fR(5)) and communicates
+with the service processor when hot plug \fBPCI\fR cassettes change their
+dynamic reconfiguration state.
+.sp
+.LP
+The service \fBFMRI\fR for \fBoplhpd\fR is:
+.sp
+.in +2
+.nf
+svc:/platform/sun4u/oplhpd:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A domain supports only one running \fBoplhpd\fR process at a time.
+.SH ERRORS
+.sp
+.LP
+\fBOPLHPD\fR uses \fBsyslog\fR(3C) to report status and error messages. All of
+the messages are logged with the \fBLOG_DAEMON\fR facility.
+.sp
+.LP
+Error messages are logged with the \fBLOG_ERR\fR and \fBLOG_NOTICE\fR
+priorities, and informational messages are logged with the \fBLOG_DEBUG\fR
+priority. The default entries in the \fB/etc/syslog.conf\fR file log all of the
+\fBOPLHPD\fR error messages to the \fB/var/adm/messages log\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBsvcadm\fR(1M), \fBsyslog\fR(3C),
+\fBsyslog.conf\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/parted.1m b/usr/src/man/man1m/parted.1m
new file mode 100644
index 0000000000..dd9e236726
--- /dev/null
+++ b/usr/src/man/man1m/parted.1m
@@ -0,0 +1,374 @@
+'\" te
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright (C) 1999, 2000, 2007 Free Software Foundation, Inc.
+.\" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed
+.\" in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program.
+.\" If not, see: http://www.gnu.org/copyleft/gpl.html
+.TH parted 1M "27 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+parted \- partition manipulation program
+.SH SYNOPSIS
+.LP
+.nf
+\fBparted\fR [\fIoptions\fR] [\fIdevice\fR [\fIoptions\fR...]...]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBparted\fR is a disk partitioning and partition resizing program. It allows
+you to create, destroy, resize, move, and copy \fBext2\fR, \fBext3\fR,
+\fBlinux-swap\fR, \fBFAT\fR, \fBFAT32\fR, and \fBreiserfs\fR partitions. It
+can create, resize, and move Macintosh HFS partitions, as well as detect
+\fBjfs\fR, \fBntfs\fR, \fBufs\fR, and \fBxfs\fR partitions. It is useful for
+creating space for new operating systems, reorganizing disk usage, and copying
+data to new hard disks.
+.sp
+.LP
+This manual page documents \fBparted\fR briefly. Complete \fBparted\fR
+documentation is distributed with the package in "GNU Info" format.
+.sp
+.LP
+\fBparted\fR is implemented with a set of top-level options and a set of
+subcommands, most of which have their own options and operands. These
+subcommands are described below. \fBparted\fR has an optional operand:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 10n
+.rt
+The block device to be used. When none is given, \fBparted\fR uses the first
+block device it finds.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a help message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR, \fB--interactive\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prompts for user intervention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR, \fB--list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists partition layout on all block devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR, \fB--machine\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays machine-parseable output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--script\fR\fR
+.ad
+.sp .6
+.RS 4n
+Never prompts for user intervention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the version number.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+If you omit a subcommand in a \fBparted\fR command line, the utility issues a
+command prompt.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcheck\fR \fIpartition\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do a simple check on \fIpartition\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcp\fR [\fIsource-device\fR] \fIsource\fR \fIdest\fR\fR
+.ad
+.sp .6
+.RS 4n
+Copy the source partition's filesystem on \fIsource-device\fR (or the current
+device if no other device was specified) to the \fIdest\fR partition on the
+current device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhelp\fR \fIcommand\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display general help, or help on a command, if specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmkfs\fR \fIpartition\fR \fIfs-type\fR\fR
+.ad
+.sp .6
+.RS 4n
+Make a filesystem \fIfs-type\fR on partition. \fIfs-type\fR can be one of
+\fBfat16\fR, \fBfat32\fR, \fBext2\fR, \fBlinux-wap\fR, or \fBreiserfs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmklabel\fR \fIlabel-type\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a new disk label (partition table) of \fIlabel-type\fR. \fIlabel-type\fR
+should be one of \fBbsd\fR, \fBdvh\fR, \fBgpt\fR, \fBloop\fR, \fBmac\fR,
+\fBmsdos\fR, \fBpc98\fR, or \fBsun\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmkpart\fR \fIpart-type\fR [\fIfs-type\fR] \fIstart\fR \fIend\fR\fR
+.ad
+.sp .6
+.RS 4n
+Make a \fIpart-type\fR partition with file system \fIfs-type\fR (if specified),
+beginning at \fIstart\fR and ending at \fIend\fR (by default, in megabytes).
+\fIfs-type\fR can be one of \fBfat16\fR, \fBfat32\fR, \fBext2\fR, \fBHFS\fR,
+\fBlinux-swap\fR, \fBNTFS\fR, \fBreiserfs\fR, or \fBufs\fR. \fIpart-type\fR
+should be one of \fBprimary\fR, \fBlogical\fR, or \fBextended\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmkpartfs\fR \fIpart-type\fR \fIfs-type\fR \fIstart\fR \fIend\fR\fR
+.ad
+.sp .6
+.RS 4n
+Make a \fIpart-type\fR partition with file system \fIfs-type\fR, beginning at
+\fIstart\fR and ending at \fIend\fR (by default, in megabytes).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmove\fR \fIpartition\fR \fIstart\fR \fIend\fR\fR
+.ad
+.sp .6
+.RS 4n
+Move partition so that it begins at \fIstart\fR and ends at \fIend\fR. Note
+that \fBmove\fR never changes the minor number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBname\fR \fIpartition\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the name of partition to \fIname\fR. This option works only on Mac, PC98,
+and GPT disk labels. The name can be placed in quotes, if necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprint\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the partition table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Exit from \fBparted\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrescue\fR \fIstart\fR \fIend\fR\fR
+.ad
+.sp .6
+.RS 4n
+Rescue a lost partition that was located somewhere between \fIstart\fR and
+\fIend\fR. If a partition is found, \fBparted\fR will ask if you want to create
+an entry for it in the partition table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBresize\fR \fIpartition\fR \fIstart\fR \fIend\fR\fR
+.ad
+.sp .6
+.RS 4n
+Resize the file system on \fIpartition\fR so that it begins at \fIstart\fR and
+ends at \fIend\fR (by default, in megabytes).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrm\fR \fIpartition\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete \fIpartition\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBselect\fR \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Choose \fIdevice\fR as the current device to edit. \fIdevice\fR should usually
+be a Solaris or Linux hard disk device, but it can be a partition, software
+raid device, or an SVM or LVM logical volume if necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR \fIpartition\fR \fIflag\fR \fIstate\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change the state of the \fIflag\fR on \fIpartition\fR to \fIstate\fR. Supported
+flags are: \fBboot\fR, \fBroot\fR, \fBswap\fR, \fBhidden\fR, \fBraid\fR,
+\fBlvm\fR, \fBlba\fR, and \fBpalo\fR. \fIstate\fR should be either \fBon\fR or
+\fBoff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunit\fR \fIunit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set \fIunit\fR as the unit to use when displaying locations and sizes, and for
+interpreting those given by the user when not suffixed with an explicit unit.
+\fIunit\fR can be one of \fBs\fR (sectors), \fBB\fR (bytes), \fBkB\fR,
+\fBMB\fR, \fBGB\fR, \fBTB\fR, \fB%\fR (percentage of device size), \fBcyl\fR
+(cylinders), \fBchs\fR (cylinders, heads, sectors), or \fBcompact\fR (megabytes
+for input, and a human-friendly form for output).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBversion\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display version information and a copyright message.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfdisk\fR(1M), \fBmkfs\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+The \fBparted\fR program is fully documented in the \fBinfo(1)\fR format GNU
+partitioning software manual.
+.SH AUTHOR
+.sp
+.LP
+This manual page was written by Timshel Knoll for the Debian GNU/Linux system.
+It is here adapted for the Solaris operating system.
diff --git a/usr/src/man/man1m/passmgmt.1m b/usr/src/man/man1m/passmgmt.1m
new file mode 100644
index 0000000000..e1a3397863
--- /dev/null
+++ b/usr/src/man/man1m/passmgmt.1m
@@ -0,0 +1,364 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH passmgmt 1M "27 Aug 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+passmgmt \- password files management
+.SH SYNOPSIS
+.LP
+.nf
+\fBpassmgmt\fR \fB-a\fR \fIoptions\fR \fIname\fR
+.fi
+
+.LP
+.nf
+\fBpassmgmt\fR \fB-m\fR \fIoptions\fR \fIname\fR
+.fi
+
+.LP
+.nf
+\fBpassmgmt\fR \fB-d\fR \fIname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpassmgmt\fR command updates information in the password files. This
+command works with both \fB/etc/passwd\fR and \fB/etc/shadow\fR.
+.sp
+.LP
+\fBpassmgmt\fR \fB-a\fR adds an entry for user \fIname\fR to the password
+files. This command does not create any directory for the new user and the new
+login remains locked (with the string \fB*LK*\fR in the password field) until
+the \fBpasswd\fR(1) command is executed to set the password.
+.sp
+.LP
+\fBpassmgmt\fR \fB-m\fR modifies the entry for user \fIname\fR in the password
+files. The name field in the \fB/etc/shadow\fR entry and all the fields (except
+the password field) in the \fB/etc/passwd\fR entry can be modified by this
+command. Only fields entered on the command line will be modified.
+.sp
+.LP
+\fBpassmgmt\fR \fB-d\fR deletes the entry for user \fIname\fR from the password
+files. It will not remove any files that the user owns on the system; they must
+be removed manually.
+.sp
+.LP
+\fBpassmgmt\fR can be used only by the super-user.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-c\fR \fIcomment\fR\fR
+.ad
+.RS 16n
+.rt
+A short description of the login, enclosed in quotes. It is limited to a
+maximum of 128 characters and defaults to an empty field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIexpire\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the expiration date for a login. After this date, no user will be able
+to access this login. The expire option argument is a date entered using one of
+the date formats included in the template file \fB/etc/datemsk\fR. See
+\fBgetdate\fR(3C).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIinactive\fR\fR
+.ad
+.RS 16n
+.rt
+The maximum number of days allowed between uses of a login ID before that
+\fBID\fR is declared invalid. Normal values are positive integers. A value of
+\fB0\fR defeats the status.
+.sp
+Changing the password reactivates an account for the inactivity period.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-g\fR \fIgid\fR\fR
+.ad
+.RS 16n
+.rt
+\fBGID\fR of \fIname\fR. This number must range from 0 to the maximum
+non-negative value for the system. The default is 1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-h\fR \fIhomedir\fR\fR
+.ad
+.RS 16n
+.rt
+Home directory of \fIname\fR. It is limited to a maximum of 256 characters and
+defaults to \fB/usr/\fR\fIname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR \fIkey=value\fR\fR
+.ad
+.RS 16n
+.rt
+Set a \fIkey=value\fR pair. See \fBuser_attr\fR(4), \fBauth_attr\fR(4), and
+\fBprof_attr\fR(4). The valid \fIkey=value\fR pairs are defined in
+\fBuser_attr\fR(4), but the "type" key is subject to the \fBusermod\fR(1M) and
+\fBrolemod\fR(1M) restrictions. Multiple \fIkey=value\fR pairs may be added
+with multiple \fB-K\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIskel_dir\fR\fR
+.ad
+.RS 16n
+.rt
+A directory that contains skeleton information (such as \fB\&.profile\fR) that
+can be copied into a new user's home directory. This directory must already
+exist. The system provides the \fB/etc/skel\fR directory that can be used for
+this purpose.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlogname\fR\fR
+.ad
+.RS 16n
+.rt
+This option changes the \fIname\fR to \fIlogname\fR. It is used only with the
+\fB-m\fR option. The total size of each login entry is limited to a maximum of
+511 bytes in each of the password files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 16n
+.rt
+This option allows a \fBUID\fR to be non-unique. It is used only with the
+\fB-u\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-s\fR \fIshell\fR\fR
+.ad
+.RS 16n
+.rt
+Login shell for \fIname\fR. It should be the full pathname of the program that
+will be executed when the user logs in. The maximum size of \fIshell\fR is 256
+characters. The default is for this field to be empty and to be interpreted as
+\fB/usr/bin/sh\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-u\fR \fIuid\fR\fR
+.ad
+.RS 16n
+.rt
+\fBUID\fR of the \fIname\fR. This number must range from 0 to the maximum
+non-negative value for the system. It defaults to the next available \fBUID\fR
+greater than 99. Without the \fB-o\fR option, it enforces the uniqueness of a
+\fBUID.\fR
+.RE
+
+.SH FILES
+.sp
+.in +2
+.nf
+\fB/etc/passwd\fR
+\fB/etc/shadow\fR
+\fB/etc/opasswd\fR
+\fB/etc/oshadow\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpasswd\fR(1), \fBrolemod\fR(1M), \fBuseradd\fR(1M), \fBuserdel\fR(1M),
+\fBusermod\fR(1M), \fBauth_attr\fR(4), \fBpasswd\fR(4), \fBprof_attr\fR(4),
+\fBshadow\fR(4), \fBuser_attr\fR(4), \fBattributes\fR(5)
+.SH EXIT STATUS
+.sp
+.LP
+The \fBpassmgmt\fR command exits with one of the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Permission denied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command syntax. Usage message of the \fBpassmgmt\fR command is
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid argument provided to option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+UID in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.RS 5n
+.rt
+Inconsistent password files (for example, \fIname\fR is in the
+\fB/etc/passwd\fR file and not in the \fB/etc/shadow\fR file, or vice versa).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 5n
+.rt
+Unexpected failure. Password files unchanged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB7\fR\fR
+.ad
+.RS 5n
+.rt
+Unexpected failure. Password file(s) missing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB8\fR\fR
+.ad
+.RS 5n
+.rt
+Password file(s) busy. Try again later.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR\fR
+.ad
+.RS 5n
+.rt
+\fIname\fR does not exist (if \fB-m\fR or \fB-d\fR is specified), already
+exists (if \fB-a\fR is specified), or \fBlogname\fR already exists (if
+\fB\fR\fB-m\fR \fB-l\fR is specified).
+.RE
+
+.SH NOTES
+.sp
+.LP
+Do not use a colon (\fB:\fR) or \fBRETURN\fR as part of an argument. It is
+interpreted as a field separator in the password file. The \fBpassmgmt\fR
+command will be removed in a future release. Its functionality has been
+replaced and enhanced by \fBuseradd\fR, \fBuserdel\fR, and \fBusermod\fR. These
+commands are currently available.
+.sp
+.LP
+This command only modifies password definitions in the local \fB/etc/passwd\fR
+and \fB/etc/shadow\fR files. If a network nameservice such as \fBNIS\fR or
+\fBNIS+\fR is being used to supplement the local files with additional entries,
+\fBpassmgmt\fR cannot change information supplied by the network nameservice.
diff --git a/usr/src/man/man1m/pbind.1m b/usr/src/man/man1m/pbind.1m
new file mode 100644
index 0000000000..9d19c0e644
--- /dev/null
+++ b/usr/src/man/man1m/pbind.1m
@@ -0,0 +1,324 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc.
+.\" All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pbind 1M "25 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pbind \- control and query bindings of processes or LWPs
+.SH SYNOPSIS
+.LP
+.nf
+\fBpbind\fR \fB-b\fR \fIprocessor_id\fR \fIpid\fR [\fI/lwpid\fR]...
+.fi
+
+.LP
+.nf
+\fBpbind\fR [\fB-q\fR] [\fIpid\fR [\fI/lwpid\fR]]...
+.fi
+
+.LP
+.nf
+\fBpbind\fR \fB-Q\fR [\fIprocessor_id\fR]...
+.fi
+
+.LP
+.nf
+\fBpbind\fR \fB-u\fR \fIpid\fR [\fI/lwpid\fR]...
+.fi
+
+.LP
+.nf
+\fBpbind\fR \fB-U\fR [\fIprocessor_id\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpbind\fR controls and queries bindings of processes and LWPs (lightweight
+processes) to processors. \fBpbind\fR can also remove processor bindings that
+were previously established.
+.sp
+.LP
+When an LWP is bound to a processor, it will be executed only by that processor
+except when the LWP requires a resource that is provided only by another
+processor. The binding is not exclusive, that is, the processor is free to
+execute other LWPs as well.
+.sp
+.LP
+Bindings are inherited, so new LWPs and processes created by a bound LWP will
+have the same binding. Binding an interactive shell to a processor, for
+example, binds all commands executed by the shell.
+.sp
+.LP
+Superusers may bind or unbind any process or LWP, while other users can bind or
+unbind any process or LWP for which they have permission to signal, that is,
+any process that has the same effective user ID as the user.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIprocessor_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Binds all or a subset of the LWPs of the specified processes to the processor
+\fIprocessor_id\fR. Specify \fIprocessor_id\fR as the processor \fBID\fR of the
+processor to be controlled or queried. \fIprocessor_id\fR must be present and
+on-line. Use the \fBpsrinfo\fR command to determine whether or not
+\fIprocessor_id\fR is present and on-line. See \fBpsrinfo\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the bindings of the specified processes or of all processes. If a
+process is composed of multiple LWPs which have different bindings and the LWPs
+are not explicitly specified, the bindings of only one of the bound LWPs will
+be displayed. The bindings of a subset of LWPs can be displayed by appending
+"/lwpids" to the process \fBID\fRs. Multiple LWPs may be selected using "-" and
+"," delimiters. See EXAMPLES.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the LWPs bound to the specified list of processors, or all LWPs with
+processor bindings. For processes composed of multiple LWPs, the bindings of
+individual LWPs will be displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes the bindings of all or a subset of the LWPs of the specified processes,
+allowing them to be executed on any on-line processor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes the bindings of all LWPs bound to the specified list of processors, or
+to any processor if no argument is specified.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+The process \fBID\fR of the process to be controlled or queried.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlwpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+The set of LWP IDs of the specified process to be controlled or queried. The
+syntax for selecting \fBLWP\fR \fBID\fRs is as follows:
+.sp
+.in +2
+.nf
+2,3,4-8 LWP IDs 2, 3, and 4 through 8
+-4 LWPs whose IDs are 4 or below
+4- LWPs whose IDs are 4 or above
+.fi
+.in -2
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprocessor_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+The processor \fBID\fR of the processor to be controlled or queried.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRBinding Processes
+.sp
+.LP
+The following example binds processes 204 and 223 to processor 2:
+
+.sp
+.in +2
+.nf
+example% \fBpbind -b 2 204 223\fR
+process id 204: was 2, now 2
+process id 223: was 3, now 2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUnbinding a Process
+.sp
+.LP
+The following example unbinds process 204:
+
+.sp
+.in +2
+.nf
+example% \fBpbind -u 204\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRQuerying Bindings
+.sp
+.LP
+The following example queries bindings. It demonstrates that process 1 is bound
+to processor 0, process 149 has at least one LWP bound to CPU3, and process 101
+has no bound LWPs.
+
+.sp
+.in +2
+.nf
+example% \fBpbind -q 1 149 101\fR
+process id 1: 0
+process id 149: 3
+process id 101: not bound
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRQuerying LWP Bindings
+.sp
+.LP
+The following example queries bindings of LWPs. It demonstrates that LWP 1 of
+process 149 is bound to CPU3, and LWP 2 of process 149 is not bound.
+
+.sp
+.in +2
+.nf
+example% \fBpbind -q 149/1-2\fR
+lwp id 149/1: 3
+lwp id 149/2: not bound
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRQuerying LWP Bindings for Processor 2:
+.sp
+.LP
+The following example queries all LWPs bound to processor 2:
+
+.sp
+.in +2
+.nf
+example% \fBpbind -Q 2\fR
+lwp id 149/4: 2
+lwp id 149/5: 2
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpsradm\fR(1M), \fBpsrinfo\fR(1M), \fBpsrset\fR(1M), \fBprocessor_bind\fR(2),
+\fBprocessor_info\fR(2), \fBsysconf\fR(3C), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpbind: cannot query pid 31: No such process\fR\fR
+.ad
+.sp .6
+.RS 4n
+The process specified did not exist or has exited.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpbind: cannot bind pid 31: Not owner\fR\fR
+.ad
+.sp .6
+.RS 4n
+The user does not have permission to bind the process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpbind: cannot bind pid 31: Invalid argument\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified processor is not on-line.
+.RE
+
diff --git a/usr/src/man/man1m/picld.1m b/usr/src/man/man1m/picld.1m
new file mode 100644
index 0000000000..c224675055
--- /dev/null
+++ b/usr/src/man/man1m/picld.1m
@@ -0,0 +1,144 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH picld 1M "10 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+picld \- PICL daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/picl/picld\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Platform Information and Control Library (\fBPICL\fR) provides a mechanism
+to publish platform-specific information for clients to access in a
+platform-independent way. \fBpicld\fR maintains and controls access to the
+\fBPICL\fR information from clients and plug-in modules. The daemon is started
+in both single-user and multi-user boot mode.
+.sp
+.LP
+Upon startup, the \fBPICL\fR daemon loads and initializes the plug-in modules.
+These modules use the \fBlibpicltree\fR(3PICLTREE) interface to create nodes
+and properties in the \fBPICL\fR tree to publish platform configuration
+information. After the plug-in modules are initialized, the daemon opens the
+\fBPICL\fR daemon door to service client requests to access information in the
+\fBPICL\fR tree.
+.SS "PICL Tree"
+.sp
+.LP
+The \fBPICL\fR tree is the repository of all the nodes and properties created
+by the plug-in modules to represent the platform configuration. Every node in
+the \fBPICL\fR tree is an instance of a well-defined \fBPICL\fR class. The name
+of the base \fBPICL\fR class is \fBpicl\fR, which defines a basic set of
+properties that all nodes in the tree must possess. Two of those properties are
+\fBname\fR and \fB_class\fR, where \fBname\fR contains the name of the node,
+and the \fB_class\fR contains the \fBPICL\fR class name of the node. Certain
+nodes in the \fBPICL\fR tree have well-known names. For example, the name of
+the root node of the \fBPICL\fR tree is \fB/\fR and the name of the root node
+of the sub-tree containing platform device nodes is \fBplatform\fR.
+.SS "PICL plug-in Modules"
+.sp
+.LP
+The \fBPICL\fR plug-in modules are shared objects that publish
+platform-specific data in the \fBPICL\fR tree. They are located in well-known
+directories so that the daemon can locate and load them.
+.sp
+.LP
+Plug-in modules are located in one of the following plug-in directories
+depending on the plaform-specific nature of the data that they collect and
+publish:
+.sp
+.in +2
+.nf
+/usr/platform/`uname -i`/lib/picl/plugins
+/usr/platform/`uname -m`/lib/picl/plugins
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A plug-in module can specify its dependency on another plug-in module using the
+\fB-l\fR or \fB-R\fR linker option. The plug-ins are loaded by the daemon using
+\fBdlopen\fR(3C) according to the specified dependencies. Each plug-in module
+must define a \fB\&.init\fR section, which is executed when the plug-in module
+is loaded, to register themselves with the daemon. See
+\fBpicld_plugin_register\fR(3PICLTREE) for additional information on plug-in
+registration.
+.sp
+.LP
+The plug-in modules use the \fBlibpicltree\fR(3PICLTREE) interface to publish
+nodes and properties in the \fBPICL\fR tree so that clients can access them.
+.sp
+.LP
+When the \fBPICL\fR daemon invokes the initialization routine of the plug-in
+module, the plug-in collects the platform information and creates nodes and/or
+properties to represent the configuration in the \fBPICL\fR tree. A plug-in can
+create additional threads to monitor the platform configuration and update the
+\fBPICL\fR tree with any changes. This enables a \fBPICL\fR plug-in to operate
+as a daemon within the \fBPICL\fR framework.
+.sp
+.LP
+An environmental monitor is an example of a plug-in module that uses a thread
+to monitor the temperatures and fan speeds of the platform, then publishes the
+environmental information in the \fBPICL\fR tree so clients can access them.
+.sp
+.LP
+Clients use the \fBlibpicl\fR(3PICL) interface to send requests to \fBpicld\fR
+for accessing the \fBPICL\fR tree.
+.SH EXIT STATUS
+.sp
+.LP
+\fBpicld\fR does not return an exit status.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/picld_door\fR\fR
+.ad
+.RS 23n
+.rt
+\fBPICL\fR daemon door
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/picl/picld\fR\fR
+.ad
+.RS 23n
+.rt
+\fBPICL\fR daemon
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBdlopen\fR(3C), \fBlibpicl\fR(3PICL),
+\fBlibpicltree\fR(3PICLTREE), \fBpicld_log\fR(3PICLTREE),
+\fBpicld_plugin_register\fR(3PICLTREE), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBpicld\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/picl
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/ping.1m b/usr/src/man/man1m/ping.1m
new file mode 100644
index 0000000000..e23c15ea62
--- /dev/null
+++ b/usr/src/man/man1m/ping.1m
@@ -0,0 +1,467 @@
+'\" te
+.\" Copyright (C) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ping 1M "7 Sep 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ping \- send ICMP (ICMP6) ECHO_REQUEST packets to network hosts
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ping\fR \fIhost\fR [\fItimeout\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ping\fR \fB-s\fR [\fB-l\fR | \fB-U\fR] [\fB-abdlLnrRv\fR] [\fB-A\fR \fIaddr_family\fR]
+ [\fB-c\fR \fItraffic_class\fR] [\fB-g\fR \fIgateway\fR [\fB-g\fR \fIgateway\fR...]]
+ [\fB-N\fR \fInext_hop_router\fR] [\fB-F\fR \fIflow_label\fR] [\fB-I\fR \fIinterval\fR]
+ [\fB-i\fR \fIinterface\fR] [\fB-P\fR \fItos\fR] [\fB-p\fR \fIport\fR] [\fB-t\fR \fIttl\fR] \fIhost\fR
+ [\fIdata_size\fR] [\fInpackets\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The utility \fBping\fR utilizes the \fBICMP\fR (\fBICMP6\fR in IPv6) protocol's
+\fBECHO_REQUEST\fR datagram to elicit an \fBICMP\fR (\fBICMP6\fR)
+\fBECHO_RESPONSE\fR from the specified \fIhost\fR or network \fIgateway\fR. If
+\fIhost\fR responds, \fBping\fR will print:
+.sp
+.in +2
+.nf
+\fIhost\fR is alive
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+on the standard output and exit. Otherwise, after \fItimeout\fR seconds, it
+will write:
+.sp
+.in +2
+.nf
+no answer from \fIhost\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The default value of \fItimeout\fR is \fB20\fR seconds.
+.sp
+.LP
+When you specify the s flag, sends one datagram per second (adjust with
+\fB-I\fR) and prints one line of output for every \fBECHO_RESPONSE\fR that it
+receives. \fBping\fR produces no output if there is no response. In this second
+form, \fBping\fR computes round trip times and packet loss statistics; it
+displays a summary of this information upon termination or timeout. The default
+\fIdata_size\fR is \fB56\fR bytes, or you can specify a size with the
+\fIdata_size\fR command-line argument. If you specify the optional
+\fInpackets\fR, \fBping\fR sends \fBping\fR requests until it either sends
+\fInpackets\fR requests or receives \fInpackets\fR replies.
+.sp
+.LP
+When using \fBping\fR for fault isolation, first \fBping\fR the local host to
+verify that the local network interface is running.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\ \fIaddr_family\fR\fR
+.ad
+.RS 24n
+.rt
+Specify the address family of the target host. \fIaddr_family\fR can be either
+\fBinet\fR or \fBinet6\fR. Address family determines which protocol to use. For
+an argument of \fBinet\fR, IPv4 is used. For \fBinet6\fR, IPv6 is used.
+.sp
+By default, if the name of a host is provided, not the literal \fBIP\fR
+address, and a valid IPv6 address exists in the name service database,
+\fBping\fR will use this address. Otherwise, if the name service database
+contains an IPv4 address, it will try the IPv4 address.
+.sp
+Specify the address family \fBinet\fR or \fBinet6\fR to override the default
+behavior. If the argument specified is \fBinet\fR, \fBping\fR will use the IPv4
+address associated with the host name. If none exists, \fBping\fR will state
+that the host is unknown and exit. It does not try to determine if an IPv6
+address exists in the name service database.
+.sp
+If the specified argument is \fBinet6\fR, \fBping\fR uses the IPv6 address that
+is associated with the host name. If none exists, \fBping\fR states that the
+host is unknown and exits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\ \fIflow_label\fR\fR
+.ad
+.RS 24n
+.rt
+Specify the flow label of probe packets. The value must be an integer in the
+range from 0 to 1048575. This option is valid only on IPv6.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIinterval\fR\fR
+.ad
+.RS 24n
+.rt
+Turn on the statistics mode and specify the interval between successive
+transmissions. The default is one second. See the discussion of the \fB-s\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 24n
+.rt
+Turn off loopback of multicast packets. Normally, members are in the host group
+on the outgoing interface, a copy of the multicast packets will be delivered to
+the local machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR \fInext_hop_router\fR\fR
+.ad
+.RS 24n
+.rt
+Specify a next-hop router so that the probe packet goes through the specified
+router along its path to the target host. This option essentially bypasses the
+system routing table and leaves the probe packet header unmodified. Only one
+next-hop router can be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\ \fItos\fR\fR
+.ad
+.RS 24n
+.rt
+Set the type of service (\fItos\fR) in probe packets to the specified value.
+The default is zero. The value must be an integer in the range from 0 to 255.
+Gateways also in the path can route the probe packet differently, depending
+upon the value of \fItos\fR that is set in the probe packet. This option is
+valid only on IPv4.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 24n
+.rt
+Record route. Sets the IPv4 record route option, which stores the route of the
+packet inside the IPv4 header. The contents of the record route are only
+printed if the \fB-v\fR and \fB-s\fR options are given. They are only set on
+return packets if the target host preserves the record route option across
+echos, or the \fB-l\fR option is given. This option is valid only on IPv4.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR\fR
+.ad
+.RS 24n
+.rt
+Send \fBUDP\fR packets instead of \fBICMP\fR (\fBICMP6\fR) packets. \fBping\fR
+sends \fBUDP\fR packets to consecutive ports expecting to receive back
+\fBICMP\fR (\fBICMP6\fR) \fBPORT_UNREACHABLE\fR from the target host.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 24n
+.rt
+\fBping\fR all addresses, both IPv4 and IPv6, of the multihomed destination.
+The output appears as if \fBping\fR has been run once for each \fBIP\fR address
+of the destination. If this option is used together with \fB-A\fR, \fBping\fR
+probes only the addresses that are of the specified address family. When used
+with the \fB-s\fR option and \fInpackets\fR is not specified, \fBping\fR
+continuously probes the destination addresses in a round robin fashion. If
+\fInpackets\fR is specified, \fBping\fR sends \fInpackets\fR number of probes
+to each \fBIP\fR address of the destination and then exits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 24n
+.rt
+Bypass the global IPsec policy and send and receive packets in the clear for
+this connection only. This option can be used to troubleshoot network
+connectivity independent of IPsec. Because this option bypasses system-wide
+policy for this connection, it can only be used by superuser or a user granted
+the sys_net_config privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\ \fItraffic_class\fR\fR
+.ad
+.RS 24n
+.rt
+Specify the traffic class of probe packets. The value must be an integer in the
+range from 0 to 255. Gateways along the path can route the probe packet
+differently, depending upon the value of \fItraffic_class\fR set in the probe
+packet. This option is valid only on IPv6.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 24n
+.rt
+Set the \fBSO_DEBUG\fR socket option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\ \fIgateway\fR\fR
+.ad
+.RS 24n
+.rt
+Specify a loose source route gateway so that the probe packet goes through the
+specified host along the path to the target host. The maximum number of
+gateways is 8 for IPv4 and 127 for IPv6. Note that some factors such as the
+link \fBMTU\fR can further limit the number of gateways for IPv6.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterface_address\fR\fR
+.ad
+.RS 24n
+.rt
+Specify the outgoing interface address to use for multicast packets for IPv4
+and both multicast and unicast packets for IPv6. The default interface address
+for multicast packets is determined from the (unicast) routing tables.
+\fIinterface_address\fR can be a literal \fBIP\fR address, for example,
+\fB10.123.100.99\fR, or an interface name, for example, \fBeri0\fR, or an
+interface index, for example \fB2\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 24n
+.rt
+Use to send the probe packet to the given host and back again using loose
+source routing. Usually specified with the \fB-R\fR option. If any gateways are
+specified using \fB-g\fR, they are visited twice, both to and from the
+destination. This option is ignored if the \fB-U\fR option is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 24n
+.rt
+Show network addresses as numbers. \fBping\fR normally does a reverse name
+lookup on the IP addresses it extracts from the packets received. The \fB-n\fR
+option blocks the reverse lookup, so \fBping\fR prints IP addresses instead of
+host names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\ \fIport\fR\fR
+.ad
+.RS 24n
+.rt
+Set the base \fBUDP\fR \fIport\fR number used in probes. This option is used
+with the \fB-U\fR option. The default base \fIport\fR number is 33434. The
+\fBping\fR utility starts setting the destination port number of \fBUDP\fR
+packets to this base and increments it by one at each probe.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 24n
+.rt
+Bypass the normal routing tables and send directly to a host on an attached
+network. If the host is not on a directly attached network, an error is
+returned. This option can be used to \fBping\fR a local host through an
+interface that has been dropped by the router daemon. See \fBin.routed\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 24n
+.rt
+Send one datagram per second and collect statistics.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\ \fIttl\fR\fR
+.ad
+.RS 24n
+.rt
+Specify the IPv4 time to live, or IPv6 hop limit, for unicast and multicast
+packets. The default time to live (hop limit) for unicast packets can be set
+with the \fBndd\fR module, \fB/dev/icmp\fR, using the \fBicmp_ipv4_ttl\fR
+variable for IPv4 and the \fBicmp_ipv6_hoplimit\fR variable for IPv6. The
+default time to live (hop limit) for multicast is one hop. See \fBEXAMPLES\fR.
+For further information, see\fBndd\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 24n
+.rt
+Verbose output. List any \fBICMP\fR (\fBICMP6\fR) packets, other than replies
+from the target host.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhost\fR\fR
+.ad
+.RS 8n
+.rt
+The network host
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBping\fR With IPv6
+.sp
+.LP
+This example shows \fBping\fR sending probe packets to all the IPv6 addresses
+of the host \fBxyz\fR, one at a time. It sends an \fBICMP6\fR
+\fBECHO_REQUEST\fR every second until the user interrupts it.
+
+.sp
+.in +2
+.nf
+istanbul% \fBping -s -A inet6 -a xyz\fR
+PING xyz: 56 data bytes
+64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=0. time=0.479 ms
+64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=1. time=0.843 ms
+64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=2. time=0.516 ms
+64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=3. time=4.943 ms
+64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=4. time=0.485 ms
+64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=5. time=2.201 ms
+^C
+----xyz PING Statistics----
+6 packets transmitted, 6 packets received, 0% packet loss
+round-trip (ms) min/avg/stddev = 0.479/1.583/4.943/1.823
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing \fBndd\fR to Set the \fBicmp_ipv6_hoplimit\fR
+.sp
+.LP
+This example shows the \fBndd\fR module, \fB/dev/icmp\fR, used to set the
+\fBicmp_ipv6_hoplimit\fR.
+
+.sp
+.in +2
+.nf
+# ndd -set /dev/icmp icmp_ipv6_hoplimit 100
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful operation; the machine is alive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error has occurred. Either a malformed argument has been specified, or the
+machine was not alive.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBifconfig\fR(1M), \fBin.routed\fR(1M), \fBndd\fR(1M), \fBnetstat\fR(1M),
+\fBrpcinfo\fR(1M), \fBtraceroute\fR(1M), \fBattributes\fR(5), \fBicmp\fR(7P),
+\fBicmp6\fR(7P)
diff --git a/usr/src/man/man1m/pkg2du.1m b/usr/src/man/man1m/pkg2du.1m
new file mode 100644
index 0000000000..5f9c561c4c
--- /dev/null
+++ b/usr/src/man/man1m/pkg2du.1m
@@ -0,0 +1,158 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pkg2du 1M "23 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pkg2du \- convert driver packages to Driver Update format
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/pkg2du\fR [\fB-f\fR] [\fB-v\fR] [\fB-d\fR \fIdir\fR] [\fB-o\fR \fIiso\fR] [\fB-l\fR \fIlabel\fR]
+ [\fB-r\fR \fIrelease\fR] \fIpkg\fR [\fIpkg\fR ...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fB/usr/bin/pkg2du\fR utility takes one or more packages as input and
+converts them to Driver Update (DU) format. If the \fB-d\fR option is
+specified, the resulting DU directory tree is placed in the directory
+\fIdir\fR. If the \fB-o\fR option is specified, a Solaris ISO image of the DU
+directory tree is written in the file \fIiso\fR. The ISO image can be burned
+onto CD/DVD using \fBcdrw\fR(1) or \fBcdrecord(1)\fR (not a SunOS man page) and
+used during Solaris installation.
+.sp
+.LP
+At least one of the \fB-d\fR and \fB-o\fR options must be specified. If both
+are specified, then both an ISO image and a directory tree are generated.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory where the DU directory should be created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIiso\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a Solaris ISO image of the DU directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fB\fIdir\fR/DU\fR or \fIiso\fR exists, remove it without asking first.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Label/volume name of the ISO image (if \fB-o\fR option is specified).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrelease\fR\fR
+.ad
+.sp .6
+.RS 4n
+Solaris release number to use. It takes the form of the return from \fBuname\fR
+\fB-r\fR command, for example, \fB5.10\fR. If unspecified, the release number
+of the currently running Solaris is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. Multiple \fB-v\fR options increase verbosity.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkg\fR [\fIpkg\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+One or more packages to be converted to DU format.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a DU CD/DVD
+.sp
+.LP
+The following commands create a DU CD or DVD containing packages \fBSUNWfoo\fR
+and \fBSUNWbar\fR.
+
+.sp
+.in +2
+.nf
+# \fB/usr/bin/pkg2du -r 5.10 -o my.iso SUNWfoo SUNWbar\fR
+# \fB/usr/bin/cdrw -i my.iso\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcdrw\fR(1), \fBmkbootmedia\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fBmkisofs(8)\fR, (\fB/usr/share/man/man8/mkisofs.8\fR), in the
+\fBSUNWfsman\fR package (not a SunOS man page)
diff --git a/usr/src/man/man1m/pkgadd.1m b/usr/src/man/man1m/pkgadd.1m
new file mode 100644
index 0000000000..4669fe5256
--- /dev/null
+++ b/usr/src/man/man1m/pkgadd.1m
@@ -0,0 +1,735 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pkgadd 1M "30 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pkgadd \- transfer software packages to the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBpkgadd\fR [\fB-nv\fR] [\fB-a\fR \fIadmin\fR] [\fB-G\fR] [\fB-x\fR \fIproxy\fR]
+ [ [\fB-M\fR] \fB-R\fR \fIroot_path\fR] [\fB-r\fR \fIresponse\fR] [\fB-k\fR \fIkeystore\fR]
+ [\fB-P\fR \fIpasswd\fR] [\fB-V\fR \fIfs_file\fR]
+ [\fB-d\fR \fIdevice\fR | \fB-d\fR \fIdatastream\fR \fIpkginst\fR | all]
+ [\fIpkginst\fR | \fB-Y\fR \fIcategory\fR [\fI, category\fR]...]
+.fi
+
+.LP
+.nf
+\fBpkgadd\fR \fB-s\fR [\fB-d\fR \fIdevice\fR | \fB-d\fR \fIdatastream\fR \fIpkginst\fR | all]
+ [\fIpkginst\fR | \fB-Y\fR \fIcategory\fR [\fI, category\fR]...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgadd\fR transfers the contents of a software package from the distribution
+medium or directory to install it onto the system. Used without the \fB-d\fR
+\fIdevice\fR source specifier, \fBpkgadd\fR looks in the default spool
+directory (\fB/var/spool/pkg\fR) for the package. Used with the \fB-s\fR
+option, it writes the package to a spool directory instead of installing it.
+.sp
+.LP
+The \fBpkgadd\fR utility requires an amount of temporary space the size of the
+package that is being installed. \fBpkgadd\fR determines which temporary
+directory to use by checking for the existance of the \fB$TMPDIR\fR environment
+variable. If \fB$TMPDIR\fR is not defined, \fBpkgadd\fR uses \fBP_tmpdir\fR
+from \fBstdio.h\fR. \fBP_tmpdir\fR has a default of \fB/var/tmp/\fR.
+.sp
+.LP
+Certain unbundled and third-party packages are no longer entirely compatible
+with the latest version of \fBpkgadd\fR. These packages require user
+interaction throughout the installation and not just at the very beginning, or
+require that their request scripts be run as the root user.
+.sp
+.LP
+To install these older packages (released prior to Solaris 2.4), set the
+following environment variable: \fBNONABI_SCRIPTS=TRUE\fR
+.sp
+.LP
+As long as this environment variable is set, \fBpkgadd\fR permits keyboard
+interaction throughout the installation and package request scripts are run as
+\fBroot\fR.
+.sp
+.LP
+If you have package request scripts that require running as user \fBroot\fR
+(instead of \fBnoaccess\fR [the default] or user \fBinstall\fR), use the
+\fBrscript_alt\fR parameter in the \fBadmin\fR(4) file to make an appropriate
+selection. See \fBadmin\fR(4).
+.sp
+.LP
+Note that, in Solaris 8 and Solaris 9, the default user when running a request
+script was either \fBroot\fR or \fBnobody\fR, depending on the operating
+system's patch level. In the current release, the default user is
+\fBnoaccess\fR.
+.sp
+.LP
+When running \fBpkgadd\fR in the global zone (see \fBzones\fR(5)), a package
+that contains a request script (see \fBpkgask\fR(1M)) is added only to the
+global zone. The package is not propagated to any current or
+yet-to-be-installed non-global zone. This behavior mimics the effect of the
+\fB-G\fR option, described below.
+.sp
+.LP
+Package commands are \fBlargefile\fR(5)-aware. They handle files larger than 2
+GB in the same way they handle smaller files. In their current implementations,
+\fBpkgadd\fR, \fBpkgtrans\fR(1) and other package commands can process a
+datastream of up to 4 GB.
+.sp
+.LP
+The \fB-d\fR, \fB-Y\fR, and \fIpkginst\fR arguments shown in the SYNOPSIS are
+described under OPERANDS, following OPTIONS.
+.SH OPTIONS
+.sp
+.LP
+The supported options are described as follows. The \fB-d\fR \fIdevice\fR
+source specifier is described under OPERANDS, below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-a\fR \fIadmin\fR\fR
+.ad
+.sp .6
+.RS 4n
+Define an installation administration file, \fIadmin\fR, to be used in place of
+the default administration file. The token \fBnone\fR overrides the use of any
+\fIadmin\fR file, and thus forces interaction with the user. Unless a full path
+name is given, \fBpkgadd\fR first looks in the current working directory for
+the administration file. If the specified administration file is not in the
+current working directory, \fBpkgadd\fR looks in the
+\fB/var/sadm/install/admin\fR directory for the administration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add package(s) in the current zone only. When used in the global zone, the
+package is added to the global zone only and is not propagated to any existing
+or yet-to-be-created non-global zone. When used in a non-global zone, the
+package(s) are added to the non-global zone only.
+.sp
+This option causes package installation to fail if, in the \fBpkginfo\fR file
+for a package, \fBSUNW_PKG_ALLZONES\fR is set to true. See \fBpkginfo\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIkeystore\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIkeystore\fR as the location from which to get trusted certificate
+authority certificates when verifying digital signatures found in packages. If
+no keystore is specified, then the default keystore locations are searched for
+valid trusted certificates. See \fBKEYSTORE LOCATIONS\fR for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.sp .6
+.RS 4n
+Instruct \fBpkgadd\fR not to use the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file for determining the client's mount points. This option assumes the mount
+points are correct on the server and it behaves consistently with Solaris 2.5
+and earlier releases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Installation occurs in non-interactive mode. Suppress output of the list of
+installed files. The default mode is interactive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpasswd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Password to use to decrypt keystore specified with \fB-k\fR, if required. See
+\fBPASS PHRASE ARGUMENTS\fR for more information about the format of this
+option's argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-r\fR \fIresponse\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identify a file or directory which contains output from a previous
+\fBpkgask\fR(1M) session. This file supplies the interaction responses that
+would be requested by the package in interactive mode. \fIresponse\fR must be a
+full pathname.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot_path\fR\fR
+.ad
+.sp .6
+.RS 4n
+Define the full path name of a directory to use as the \fIroot_path\fR. All
+files, including package system information files, are relocated to a directory
+tree starting in the specified \fIroot_path\fR. The \fIroot_path\fR may be
+specified when installing to a client from a server (for example,
+\fB/export/root/client1\fR).
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-s\fR \fIspool\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write the package into the directory \fIspool\fR instead of installing it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trace all of the scripts that get executed by \fBpkgadd\fR, located in the
+\fIpkginst\fR\fB/install\fR directory. This option is used for debugging the
+procedural and non-procedural scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fIfs_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternative \fIfs_file\fR to map the client's file systems. For
+example, used in situations where the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file is non-existent or unreliable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIproxy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a HTTP[S] proxy to use when downloading packages The format of proxy is
+\fIhost\fR:\fIport\fR, where \fIhost\fR is the hostname of the HTTP[S] proxy,
+and \fIport\fR is the port number associated with the proxy. This switch
+overrides all other methods of specifying a proxy. See ENVIRONMENT VARIABLES
+for more information on alternate methods of specifying a default proxy.
+.RE
+
+.sp
+.LP
+When executed without options or operands, \fBpkgadd\fR uses
+\fB/var/spool/pkg\fR (the default spool directory).
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.SS "Sources"
+.sp
+.LP
+By default, pkgadd looks in the \fB/var/spool/pkg\fR directory when searching
+for instances of a package to install or spool. Optionally, the source for the
+package instances to be installed or spooled can be specified using:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdevice\fR\fR
+.ad
+.br
+.na
+\fB\fB-d\fR \fIdatastream\fR \fIpkgname\fR,... | \fBall\fR\fR
+.ad
+.sp .6
+.RS 4n
+Install or copy a package from \fIdevice\fR. \fIdevice\fR can be any of the
+following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A full path name to a directory or the identifiers for tape, floppy disk, or
+removable disk (for example, \fB/var/tmp\fR or
+\fB/floppy/\fIfloppy_name\fR\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A device alias (for example, \fB/floppy/floppy0\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A datastream created by \fBpkgtrans\fR (see \fBpkgtrans\fR(1)).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A URL pointing to a datastream created by \fBpkgtrans\fR. The supported
+Universal Resource Identifiers (URIs) are \fBhttp:\fR and \fBhttps:\fR.
+.RE
+The second form of the \fB-d\fR specifier, above, indicates the syntax you use
+when specifying a datastream. In this case you must specify either a
+comma-separated list of package names or the keyword \fBall\fR.
+.RE
+
+.SS "Instances"
+.sp
+.LP
+By default, \fBpkgadd\fR searches the specified source, and presents an
+interactive menu allowing the user to select which package instances found on
+the source are to be installed. As an alternative, the package instances to be
+installed can be specified using:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkginst\fR\fR
+.ad
+.sp .6
+.RS 4n
+The package instance or list of instances to be installed. The token \fBall\fR
+may be used to refer to all packages available on the source medium. The format
+\fIpkginst\fR\fB\&.*\fR can be used to indicate all instances of a package.
+.sp
+The asterisk character (\fB*\fR) is a special character to some shells and may
+need to be escaped. In the C-Shell, the asterisk must be surrounded by single
+quotes (\fB\&'\fR) or preceded by a backslash (\fB\e\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Y\fR \fIcategory\fR[,\fIcategory\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Install packages based on the value of the \fBCATEGORY\fR parameter stored in
+the package's \fBpkginfo\fR(4) file. All packages on the source medium whose
+\fBCATEGORY\fR matches one of the specified categories will be selected for
+installation or spooling.
+.RE
+
+.SH KEYSTORE LOCATIONS
+.sp
+.LP
+Package and tools such as \fBpkgadd\fR use a set of trusted certificates to
+perform signature validation on any signatures found within the packages. If
+there are no signatures included in the packages then signature validation is
+skipped. The certificates can come from a variety of locations. If \fB-k\fR
+\fIkeystore\fR is specified, and \fIkeystore\fR is a directory, then
+\fIkeystore\fR is assumed to be the base directory of the certificates to be
+used. If \fIkeystore\fR is a file, then the file itself is assumed to have all
+required keys and certificates. When \fB-k\fR is not specified, then
+\fB/var/sadm/security\fR is used as the base directory.
+.sp
+.LP
+Within the specified base directory, the store locations to be searched are
+different based on the application doing the searching and the type of store
+being searched for. The following directories are searched in the specified
+order:
+.RS +4
+.TP
+1.
+\fI<store_dir>\fR/\fI<app_name>\fR/\fI<store_type>\fR
+.RE
+.RS +4
+.TP
+2.
+\fI<store_dir>\fR/\fI<store_type>\fR
+.RE
+.sp
+.LP
+Where \fI<store_dir>\fR is the directory specified by \fB-k\fR,
+\fI<app_name>\fR is the name of the application doing the searching, and
+\fI<store_type>\fR is one of \fBkeystore\fR (for private keys), \fBcertstore\fR
+(for untrusted public key certificates), or \fBtruststore\fR (for trusted
+certificate authority certificates).
+.sp
+.LP
+For example, when \fBpkgadd\fR is run with \fB-k\fR \fB/export/certs\fR, then
+the following locations are successively searched to find the trust store:
+.RS +4
+.TP
+1.
+/export/certs/pkgadd/truststore
+.RE
+.RS +4
+.TP
+2.
+/export/certs/truststore
+.RE
+.sp
+.LP
+This searching order enables administrators to have a single location for most
+applications, and special certificate locations for certain applications.
+.SH KEYSTORE AND CERTIFICATE FORMATS
+.sp
+.LP
+The packaging utilities, such as \fBpkgtrans\fR, require access to a set of
+keys and certificates in order to sign, and optionally verify, packages.
+.sp
+.LP
+The keystore files found by following the search pattern specified in
+\fBKEYSTORE LOCATIONS\fR must each be a self-contained PKCS#12-format file.
+.sp
+.LP
+When signing a package with \fBpkgtrans\fR, if a \fBcertstore\fR has more than
+one public key certificate, then each public key must have a \fBfriendlyName\fR
+attribute in order to be identifiable and selectable with the \fB-a\fR option
+when signing packages. In addition, the public key certificate selected with
+\fB-a\fR and found in the \fBcertstore\fR must have an associated private key
+in the keystore.
+.sp
+.LP
+Several browsers and utilities can be used to export and import certificates
+and keys into a PKCS#12 keystore. For example, a trusted certificate can be
+exported from Mozilla, and then imported into a PKCS#12 keystore for use with
+\fBpkgadd\fR with the OpenSSL Toolkit.
+.SH PASS PHRASE ARGUMENTS
+.sp
+.LP
+\fBpkgtrans\fR and \fBpkgadd\fR accept password arguments, typically using
+\fB-p\fR to specify the password. These allow the password to be obtained from
+a variety of sources. Both of these options take a single argument whose format
+is described below. If no password argument is given and a password is required
+then the user is prompted to enter one: this will typically be read from the
+current terminal with echoing turned off.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpass:\fIpassword\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+The actual password is \fIpassword\fR. Because the password is visible to
+utilities such as \fBps\fR this form should only be used where security is not
+important.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenv:\fIvar\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Obtain the password from the environment variable \fIvar\fR. Because the
+environment of other processes is visible on certain platforms this option
+should be used with caution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile:\fIpathname\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+The first line contained within \fIpathname\fR is the password. \fIpathname\fR
+need not refer to a regular file: it could, for example, refer to a device or
+named pipe. For example, to read the password from standard input, use
+\fBfile:/dev/stdin\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconsole\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read the password from \fB/dev/tty\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRInstalling a Package from a Solaris DVD
+.sp
+.LP
+The following example installs a package from a Solaris DVD. You are prompted
+for the name of the package you want to install.
+
+.sp
+.in +2
+.nf
+example# \fBpkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRInstalling a Set of Packages from a Datastream
+.sp
+.LP
+The example command shown below installs all of the packages in the datastream
+specified by the \fB-d\fR source specifier. Prior to this command, this
+datastream must have been created with the \fBpkgtrans\fR(1) command.
+
+.sp
+.in +2
+.nf
+example# \fBpkgadd -d /var/tmp/datastream all\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The keyword \fBall\fR specifies that all of the packages found in the
+designated datastream will be installed.
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Fatal error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Warning.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.sp .6
+.RS 4n
+Interruption.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.sp .6
+.RS 4n
+Administration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.sp .6
+.RS 4n
+Administration. Interaction is required. Do not use \fBpkgadd\fR \fB-n\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reboot after installation of all packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB20\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reboot after installation of this package.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHTTPPROXY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an HTTP proxy host. Overrides administration file setting, and
+\fBhttp_proxy\fR environment variable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHTTPPROXYPORT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the port to use when contacting the host specified by
+\fBHTTPPROXY\fR. Ignored if \fBHTTPPROXY\fR is not set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhttp_proxy\fR\fR
+.ad
+.sp .6
+.RS 4n
+URL format for specifying proxy host and port. Overrides administration file
+setting.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/sadm/install/logs/\fR\fR
+.ad
+.sp .6
+.RS 4n
+Location where \fBpkgadd\fR logs an instance of software installation.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkginfo\fR(1), \fBpkgmk\fR(1), \fBpkgparam\fR(1), \fBpkgproto\fR(1),
+\fBpkgtrans\fR(1), \fBinstallf\fR(1M), \fBpkgadm\fR(1M), \fBpkgask\fR(1M),
+\fBpkgchk\fR(1M), \fBpkgrm\fR(1M), \fBremovef\fR(1M), \fBadmin\fR(4),
+\fBpkginfo\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5), \fBzones\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+\fBhttp://www.openssl.org\fR
+.SH NOTES
+.sp
+.LP
+When transferring a package to a spool directory, the \fB-r\fR, \fB-n\fR, and
+\fB-a\fR options cannot be used.
+.sp
+.LP
+The \fB-r\fR option can be used to indicate a directory name as well as a
+filename. The directory can contain numerous response files, each sharing the
+name of the package with which it should be associated. This would be used, for
+example, when adding multiple interactive packages with one invocation of
+\fBpkgadd\fR. In this situation, each package would need a response file. If
+you create response files with the same name as the package (for example,
+\fBpkinst1\fR and \fBpkinst2\fR), then name the directory in which these files
+reside after the \fB-r\fR.
+.sp
+.LP
+The \fB-n\fR option causes the installation to halt if any interaction is
+needed to complete it.
+.sp
+.LP
+If the default \fIadmin\fR file is too restrictive, the administration file may
+need to be modified to allow for total non-interaction during a package
+installation. See \fBadmin\fR(4) for details.
+.sp
+.LP
+If a package stream is specified with \fB-d\fR, and a digital signature is
+found in that stream, the default behavior is to attempt to validate the
+certificate and signature found. This behavior can be overridden with
+\fBadmin\fR file settings. See \fBadmin\fR(4) for more information.
diff --git a/usr/src/man/man1m/pkgadm.1m b/usr/src/man/man1m/pkgadm.1m
new file mode 100644
index 0000000000..cd948ba311
--- /dev/null
+++ b/usr/src/man/man1m/pkgadm.1m
@@ -0,0 +1,529 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pkgadm 1M "20 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pkgadm \- manage packaging and patching system
+.SH SYNOPSIS
+.LP
+.nf
+\fBpkgadm addcert\fR [\fB-ty\fR] [\fB-a\fR \fIapp\fR] [\fB-k\fR \fIkeystore\fR] [\fB-e\fR \fIkeyfile\fR]
+ [\fB-f\fR \fIformat\fR] [\fB-n\fR \fIname\fR] [\fB-P\fR \fIpassarg\fR]
+ [\fB-p\fR \fIimport_passarg\fR] [\fB-R\fR \fIrootpath\fR] certfile
+.fi
+
+.LP
+.nf
+\fBpkgadm removecert\fR [\fB-a\fR \fIapp\fR] [\fB-k\fR \fIkeystore\fR] \fB-n\fR \fIname\fR
+ [\fB-P\fR \fIpassarg\fR] [\fB-R\fR \fIrootpath\fR]
+.fi
+
+.LP
+.nf
+\fBpkgadm listcert\fR [\fB-a\fR \fIapp\fR] [\fB-f\fR \fIformat\fR] [\fB-k\fR \fIkeystore\fR] \fB-n\fR \fIname\fR
+ [\fB-P\fR \fIpassarg\fR] [\fB-o\fR \fIoutfile\fR] [\fB-R\fR \fIrootpath\fR]
+.fi
+
+.LP
+.nf
+\fBpkgadm dbstatus\fR [\fB-R\fR \fIrootpath\fR]
+.fi
+
+.LP
+.nf
+\fBpkgadm sync\fR [\fB-R\fR \fIrootpath\fR] [\fB-q\fR]
+.fi
+
+.LP
+.nf
+\fBpkgadm\fR \fB-V\fR
+.fi
+
+.LP
+.nf
+\fBpkgadm\fR \fB-?\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpkgadm\fR utility is used for managing the packaging and patching
+system. It has several subcommands that perform various operations relating to
+packaging. The \fBpkgadm\fR command includes subcommands for managing
+certificates and keys used.
+.SS "Managing Keys and Certificates"
+.sp
+.LP
+\fBpkgadm\fR maintains the packaging-system-wide keystore in
+\fB/var/sadm/security\fR, and individual user's certificates in
+\fB~/.pkg/security\fR. The following subcommands operate on the package
+keystore database:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaddcert\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add (import) a certificate into the database, with optional trust. Once added,
+trusted certificates can be used to verify signed packages and patches.
+Non-trusted user certificates and their associated keys can be used to sign
+packages and patches. Added user certificates are \fBnot\fR used to build
+certificate chains during certificate verification.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremovecert\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes a user certificate/private key pair, or a trusted certificate authority
+certificate from the keystore. Once removed, the certificate and keys cannot be
+used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlistcert\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print details of one or more certificates in the keystore.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsync\fR\fR
+.ad
+.sp .6
+.RS 4n
+Writes the contents file and rolls the contents log file. With use of the
+\fB-q\fR option, forces the contents file server to quit.
+.RE
+
+.SS "Internal Install Database"
+.sp
+.LP
+The Solaris operating system relies upon enhanced System V revision 4 (SVr4)
+packages as the basis for its software installation and revision management.
+The package maintenance software stores information about installed packages in
+an internal database. The \fBpkgadm\fR subcomand \fBdbstatus\fR is used to
+determine how the package internal database is implemented. The \fBdbstatus\fR
+command returns a string that indicates the type of internal database in use.
+In the current implementation, the \fBdbstatus\fR command always returns the
+string \fBtext\fR, which indicates that the \fBcontents\fR(4) package database
+is inuse. Future releases of Solaris might supply alternative database
+implementations.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIapp\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this option is used, then the command only affects the keystore associated
+with a particular application. Otherwise, the global keystore is affected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIkeyfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+When adding a non-trusted certificate/key combination, this option can be used
+to specify the file that contains the private key. If this option is not used,
+the private key must be in the same file as the certificate being added.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIformat\fR\fR
+.ad
+.sp .6
+.RS 4n
+When adding certificates, this specifies the format to expect certificates and
+private keys in. Possible values when adding are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Certificate and any private key uses PEM encoding.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBder\fR\fR
+.ad
+.sp .6
+.RS 4n
+Certificate and any private key uses DER encoding.
+.RE
+
+When printing certificates, this specifies the output format used when
+printing. Acceptable values for format are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Output each certificate using PEM encoding.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBder\fR\fR
+.ad
+.sp .6
+.RS 4n
+Output each certificate using DER encoding.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtext\fR\fR
+.ad
+.sp .6
+.RS 4n
+Output each certificate in human-readable format.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIkeystore\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overrides the default location used when accessing the keystore.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the entity in the store on which you want to operate. When adding a
+user certificate, or removing certificates, this name is required. The name is
+associated with the certificate/key combination, and when adding, can be used
+later to reference the entity. When printing certificates, if no alias is
+supplied, then all keystore entities are printed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoutfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Output the result of the command to \fIoutfile\fR. Only used when examining
+(printing) certificates from the key store. Standard out is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpassarg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Password retrieval method to use to decrypt keystore specified with \fB-k\fR,
+if required. See \fBPASS PHRASE ARGUMENTS\fR in \fBpkgadd\fR(1M) for more
+information about the format of this option's argument. \fBconsole\fR is the
+default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIimport_passarg\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option's argument is identical to \fB-P\fR, but is used for supplying the
+password used to decrypt the certificate and/or private key being added.
+\fBconsole\fR is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+(Applies to \fBsync\fR subcommand.) Shuts down the contents file cache daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIrootpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the full name of a directory to use as the root (\fB/\fR) path. The
+default user location of the certificate operations is \fB${HOME}/.pkg\fR. If
+the \fB-R\fR option is supplied, the certificates and keys will be stored under
+\fB\fI<altroot>\fR/var/sadm/security\fR. Note that this operation fails if the
+user does not have sufficient permissions to access this directory. The
+\fBlistcert\fR command requires read permission, while \fBaddcert\fR and
+\fBremovecert\fR require both read and write permission.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates the certificate being added is a trusted CA certificate. The details
+of the certificate (including the Subject Name, Validity Dates, and
+Fingerprints) are printed and the user is asked to verify the data. This
+verification step can be skipped with \fB-y\fR. When importing a trusted
+certificate, a private key should not be supplied, and will be rejected if
+supplied. Once a certificate is trusted, it can be used as a trust anchor when
+verifying future untrusted certificates.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print version associated with packaging tools.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.sp .6
+.RS 4n
+When adding a trusted certificate, the details of the certificate (Subject
+name, Issuer name, Validity dates, Fingerprints) are shown to the user and the
+user is asked to verify the correctness before proceeding. With \fB-y\fR, this
+additional verification step is skipped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print help message.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcertfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing the certificate and optional private key, used when adding a
+trust anchor or certificate/key combination. Certificates must be encoded using
+PEM or binary DER.
+.RE
+
+.SH KEYSTORE ALIASES
+.sp
+.LP
+All keystore entries (user cert/key and trusted certificate entries) are
+accessed via unique aliases. Aliases are case-sensitive.
+.sp
+.LP
+An alias is specified when you add an entity to a keystore using the
+\fBaddcert\fR or \fBtrustcert\fR subcommand. If an alias is not supplied for a
+trust anchor, the trust anchor's Common Name is used as the alias. An alias is
+required when adding a signing certificate or chain certificate. Subsequent
+\fBpkgcert\fR or other package tool commands must use this same alias to refer
+to the entity.
+.SH KEYSTORE PASSWORDS
+.sp
+.LP
+See the \fBpkgadd\fR(1M) man page for a description of the passwords supplied
+to the \fBpkgadm\fR utility.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a Trust Anchor
+.sp
+.LP
+The following example adds a well-known and trusted certificate to be used when
+verifying signatures on packages.
+
+.sp
+.in +2
+.nf
+example% pkgadm addcert -t /tmp/certfile.pem
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding a Signing Certificate
+.sp
+.LP
+The following example adds a signing certificate and associated private key,
+each of which is in a separate file, which can then be used to sign packages.
+
+.sp
+.in +2
+.nf
+example% pkgadm addcert -a pkgtrans -e /tmp/keyfile.pem \e
+/tmp/certfile.pem
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRPrinting Certificates
+.sp
+.LP
+The following example prints all certificates in the root keystore.
+
+.sp
+.in +2
+.nf
+example% pkgadm listcert
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+successful completion
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.sp .6
+.RS 4n
+fatal error
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkginfo\fR(1), \fBpkgmk\fR(1), \fBpkgparam\fR(1), \fBpkgproto\fR(1),
+\fBpkgtrans\fR(1), \fBsvcs\fR(1), \fBinstallf\fR(1M), \fBpkgadd\fR(1M),
+\fBpkgask\fR(1M), \fBpkgrm\fR(1M), \fBremovef\fR(1M), \fBsvcadm\fR(1M),
+\fBadmin\fR(4), \fBcontents\fR(4), \fBexec_attr\fR(4), \fBpkginfo\fR(4),
+\fBattributes\fR(5), \fBrbac\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The service for \fBpkgadm\fR is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/pkgserv
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/pkgask.1m b/usr/src/man/man1m/pkgask.1m
new file mode 100644
index 0000000000..650feec2a8
--- /dev/null
+++ b/usr/src/man/man1m/pkgask.1m
@@ -0,0 +1,143 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1998, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pkgask 1M "6 Apr 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pkgask \- stores answers to a request script
+.SH SYNOPSIS
+.LP
+.nf
+\fBpkgask\fR [\fB-d\fR \fIdevice\fR] [\fB-R\fR \fIroot_path\fR] \fB-r\fR \fIresponse\fR \fIpkginst\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgask\fR allows the administrator to store answers to an interactive
+package (one with a \fBrequest\fR script, that is, a user-created file that
+must be named \fBrequest\fR). Invoking this command generates a response file
+that is then used as input at installation time. The use of this response file
+prevents any interaction from occurring during installation since the file
+already contains all of the information the package needs.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fI device\fR\fR
+.ad
+.RS 16n
+.rt
+Run the request script for a package on \fIdevice\fR. \fIdevice\fR can be a
+directory pathname or the identifiers for tape, floppy disk or removable disk
+(for example, \fB/var/tmp\fR, \fB/dev/diskette\fR, and \fB/dev/dsk/c1d0s0\fR).
+The default device is the installation spool directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fI root_path\fR\fR
+.ad
+.RS 16n
+.rt
+Define the full path name of a directory to use as the \fIroot_path\fR. All
+files, including package system information files, are relocated to a directory
+tree starting in the specified \fIroot_path\fR.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fI response\fR\fR
+.ad
+.RS 16n
+.rt
+Identify a file or directory which should be created to contain the responses
+to interaction with the package. The name must be a full pathname. The file, or
+directory of files, can later be used as input to the \fBpkgadd\fR(1M) command.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkginst\fR\fR
+.ad
+.RS 11n
+.rt
+Specify the package instance, or list of instances for which \fBrequest\fR
+scripts will be created. The token \fBall\fR may be used to refer to all
+packages available on the source medium.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkginfo\fR(1), \fBpkgmk\fR(1), \fBpkgparam\fR(1), \fBpkgproto\fR(1),
+\fBpkgtrans\fR(1), \fBinstallf\fR(1M), \fBpkgadd\fR(1M), \fBpkgchk\fR(1M),
+\fBpkgrm\fR(1M), \fBremovef\fR(1M), \fBadmin\fR(4),\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fB-r\fR option can be used to indicate a directory name as well as a
+filename. The directory name is used to create numerous response files, each
+sharing the name of the package with which it should be associated. This would
+be used, for example, when you will be adding multiple interactive packages
+with one invocation of \fBpkgadd\fR(1M). Each package would need a response
+file. To create multiple response files with the same name as the package
+instance, name the directory in which the files should be created and supply
+multiple instance names with the \fBpkgask\fR command. When installing the
+packages, you will be able to identify this directory to the \fBpkgadd\fR(1M)
+command.
+.sp
+.LP
+If the default \fBadmin\fR file is too restrictive, the administration file may
+need to be modified to allow for total non-interaction during a package
+installation. See\fBadmin\fR(4) for details.
diff --git a/usr/src/man/man1m/pkgchk.1m b/usr/src/man/man1m/pkgchk.1m
new file mode 100644
index 0000000000..7d8c62730f
--- /dev/null
+++ b/usr/src/man/man1m/pkgchk.1m
@@ -0,0 +1,436 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pkgchk 1M "30 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pkgchk \- check package installation accuracy
+.SH SYNOPSIS
+.LP
+.nf
+\fBpkgchk\fR [\fB-l\fR | \fB-acfnqvx\fR] [\fB-i\fR \fIfile\fR | -]
+ [\fB-p\fR \fIpath\fR... | \fB-P\fR \fIpartial-path\fR...] [\fB-R\fR \fIroot_path\fR]
+ [ [\fB-m\fR \fIpkgmap\fR [\fB-e\fR \fIenvfile\fR]] | pkginst... | \fB-Y\fR \fIcategory\fR,\fIcategory\fR\&.\|.\|.]
+.fi
+
+.LP
+.nf
+\fBpkgchk\fR \fB-d\fR \fIdevice\fR [\fB-l\fR | \fB-fv\fR] [\fB-i\fR \fIfile\fR | -] [\fB-M\fR] [\fB-p\fR \fIpath\fR]...
+ [\fB-V\fR \fIfs_file\fR]
+ [pkginst... | \fB-Y\fR \fIcategory\fR[,\fIcategory\fR\&.\|.\|.]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgchk\fR checks the accuracy of installed files or, by using the \fB-l\fR
+option, displays information about package files. \fBpkgchk\fR checks the
+integrity of directory structures and files. Discrepancies are written to
+standard error along with a detailed explanation of the problem.
+.sp
+.LP
+The first synopsis defined above is used to list or check the contents and/or
+attributes of objects that are currently installed on the system, or in the
+indicated \fBpkgmap\fR. Package names may be listed on the command line, or by
+default, the entire contents of a machine will be checked.
+.sp
+.LP
+The second synopsis is used to list or check the contents of a package which
+has been spooled on the specified device, but not installed. Note that
+attributes cannot be checked for spooled packages.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Audit the file attributes only and do not check file contents. Default is to
+check both.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Audit the file contents only and do not check file attributes. Default is to
+check both.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-d\fR \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the device on which a spooled package resides. \fIdevice\fR can be a
+directory path name or the identifiers for tape, floppy disk, or removable disk
+(for example, \fB/var/tmp\fR or \fB/dev/diskette\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-e\fR \fIenvfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Request that the package information file named as \fIenvfile\fR be used to
+resolve parameters noted in the specified \fBpkgmap\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Correct file attributes if possible. If used with the \fB-x\fR option, this
+option removes hidden files. When \fBpkgchk\fR is invoked with this option, it
+creates directories, named pipes, links, and special devices if they do not
+already exist. If the \fB-d\fR option calls out an uninstalled package, the
+\fB-f\fR option will only take effect if the package is in directory (not
+stream) format. All file attributes will be set to agree with the entries in
+the \fBpkgmap\fR file except that setuid, setgid, and sticky bits will not be
+set in the mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-i\fR \fIfile\fR | \fB-\fR\fR
+.ad
+.sp .6
+.RS 4n
+Read a list of path names from \fIfile\fR or from stdin (\fB-\fR) and compare
+this list against the installation software database or the indicated
+\fBpkgmap\fR file. Path names that are not contained in \fIfile\fR or stdin are
+not checked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List information on the selected files that make up a package. This option is
+not compatible with the \fB-a\fR, \fB-c\fR, \fB-f\fR, \fB-g\fR, and \fB-v\fR
+options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fBpkgmap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check the package against the package map file, \fBpkgmap\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.sp .6
+.RS 4n
+Instruct \fBpkgchk\fR not to use the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file for determining the client's mount points. This option assumes the mount
+points are correct on the server and it behaves consistently with Solaris 2.5
+and earlier releases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not check volatile or editable files' contents. This should be used for most
+post-installation checking.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-p\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check the accuracy only of the path name or path names listed. \fIpath\fR can
+be one or more path names separated by commas (or by whitespace, if the list is
+quoted).
+.sp
+To specify a \fIpath\fR that includes a comma, you must use the \fB-i\fR
+option, described above. See EXAMPLES.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-P\fR \fIpartial-path\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check the accuracy of only the partial path name or path names listed.
+\fIpartial-path\fR can be one or more partial path names separated by commas
+(or by whitespace, if the list is quoted). This option can be used instead of
+\fB-p\fR and is not compatible with the other option. This option matches any
+path name that contains the string contained in the partial path. See the note
+about paths that contain commas in the description of \fB-p\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quiet mode. Do not give messages about missing files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot_path\fR\fR
+.ad
+.sp .6
+.RS 4n
+Define the full name of a directory to use as the \fIroot_path\fR. All files,
+including package system information files, are relocated to a directory tree
+starting in the specified \fIroot_path\fR. The \fIroot_path\fR may be specified
+when installing to a client from a server (for example,
+\fB/export/root/client1\fR).
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose mode. Files are listed as processed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fIfs_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternative \fIfs_file\fR to map the client's file systems. For
+example, used in situations where the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file is non-existent or unreliable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Search exclusive directories, looking for files which exist that are not in the
+installation software database or the indicated \fBpkgmap\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Y\fR \fIcategory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check packages based on the value of the \fBCATEGORY\fR parameter stored in the
+installed or spooled package's \fBpkginfo\fR(4) file.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkginst\fR\fR
+.ad
+.sp .6
+.RS 4n
+The package instance or instances to be checked. The format
+\fIpkginst\fR\fB\&.*\fR can be used to check all instances of a package. The
+default is to display all information about all installed packages.
+.sp
+The asterisk character (\fB*\fR) is a special character to some shells and may
+need to be escaped. In the C-Shell, an asterisk must be surrounded by single
+quotes (\fB\&'\fR) or preceded by a backslash (\e);
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpartial-path\fR\fR
+.ad
+.sp .6
+.RS 4n
+A portion of a path, such as a file or directory name.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBpkgchk\fR for Displaying Package Installation
+Information
+.sp
+.LP
+The following example displays package installation information for
+\fB/usr/bin/ls\fR:
+
+.sp
+.in +2
+.nf
+example% \fBpkgchk -l -p /usr/bin/ls\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRChecking on Java Font Properties
+.sp
+.LP
+The following example displays package installation information for all Java
+font properties installed on the system.
+
+.sp
+.in +2
+.nf
+example% \fBpkgchk -l -P font.properties\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSpecifying a Path That Contains a Comma
+.sp
+.LP
+Assume you want to specify the path:
+
+.sp
+.in +2
+.nf
+/platform/SUNW,Netra-T12/lib
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List this path in a file. Here is one way in which you can do that:
+
+.sp
+.in +2
+.nf
+example% \fBecho "/platform/SUNW,Netra-T12/lib" > /tmp/p\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+You can then enter:
+
+.sp
+.in +2
+.nf
+example% \fBpkgchk -i /tmp/p -l\fR
+Pathname: /platform/SUNW,Netra-T12/lib
+Type: directory
+Expected mode: 0755
+Expected owner: root
+Expected group: bin
+Referenced by the following packages:
+ SUNWcar
+Current status: installed
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkginfo\fR(1), \fBpkgtrans\fR(1), \fBpkgadd\fR(1M), \fBpkgask\fR(1M),
+\fBpkgrm\fR(1M), \fBpkginfo\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Package commands are \fBlargefile\fR(5)-aware. They handle files larger than 2
+GB in the same way they handle smaller files. In their current implementations,
+\fBpkgadd\fR(1M), \fBpkgtrans\fR(1) and other package commands can process a
+datastream of up to 4 GB.
diff --git a/usr/src/man/man1m/pkgrm.1m b/usr/src/man/man1m/pkgrm.1m
new file mode 100644
index 0000000000..f2075f8efb
--- /dev/null
+++ b/usr/src/man/man1m/pkgrm.1m
@@ -0,0 +1,326 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pkgrm 1M "30 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pkgrm \- remove a package from the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBpkgrm\fR [\fB-nv\fR] [\fB-a\fR \fIadmin\fR] [ [\fB-A\fR | \fB-M\fR] \fB-R\fR \fIroot_path\fR]
+ [\fB-V\fR \fIfs_file\fR]
+ [pkginst... | \fB-Y\fR \fIcategory\fR[,\fIcategory\fR\&.\|.\|.]]
+.fi
+
+.LP
+.nf
+\fBpkgrm\fR \fB-s\fR \fIspool\fR
+ [pkginst... | \fB-Y\fR \fIcategory\fR[,\fIcategory\fR\&.\|.\|.]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgrm\fR will remove a previously installed or partially installed package
+from the system. A check is made to determine if any other packages depend on
+the one being removed. If a dependency exists, the action taken is defined in
+the \fBadmin\fR file.
+.sp
+.LP
+The default state for the command is in interactive mode, meaning that prompt
+messages are given during processing to allow the administrator to confirm the
+actions being taken. Non-interactive mode can be requested with the \fB-n\fR
+option.
+.sp
+.LP
+The \fB-s\fR option can be used to specify the directory from which spooled
+packages should be removed.
+.sp
+.LP
+Certain unbundled and third-party packages are no longer entirely compatible
+with the latest version of \fBpkgrm\fR. These packages require user interaction
+throughout the removal and not just at the very beginning.
+.sp
+.LP
+To remove these older packages (released prior to Solaris 2.4), set the
+following environment variable:\fBNONABI_SCRIPTS=TRUE\fR \fBpkgrm\fR permits
+keyboard interaction throughout the removal as long as this environment
+variable is set.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIadmin\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use the installation administration file, \fBadmin\fR, in place of the default
+\fBadmin\fR file. \fBpkgrm\fR first looks in the current working directory for
+the administration file. If the specified administration file is not in the
+current working directory, \fBpkgrm\fR looks in the
+\fB/var/sadm/install/admin\fR directory for the administration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the package files from the client's file system, absolutely. If a file
+is shared with other packages, the default behavior is to not remove the file
+from the client's file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.sp .6
+.RS 4n
+Instruct \fBpkgrm\fR not to use the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file for determining the client's mount points. This option assumes the mount
+points are correct on the server and it behaves consistently with Solaris 2.5
+and earlier releases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Non-interactive mode. If there is a need for interaction, the command will
+exit.
+.sp
+Use of this option requires that at least one package instance be named upon
+invocation of the command. Certain conditions must exist for a package to be
+removed non-interactively or a non-restrictive \fBadmin\fR file needs to be
+used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot_path\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the full path name of a directory to use as the \fIroot_path\fR. All
+files, including package system information files, are relocated to a directory
+tree starting in the specified \fIroot_path\fR.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIspool\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the specified package(s) from the directory \fIspool\fR. The default
+directory for spooled packages is \fB/var/sadm/pkg\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trace all of the scripts that get executed by \fBpkgrm\fR, located in the
+\fIpkginst\fR\fB/install\fR directory. This option is used for debugging the
+procedural and non-procedural scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fIfs_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternative \fIfs_file\fR to map the client's file systems. Used in
+situations where the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR file is
+non-existent or unreliable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Y\fR \fIcategory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove packages based on the value of the \fBCATEGORY\fR parameter stored in
+the installed or spooled package's \fBpkginfo\fR(4) file. No package with the
+\fBCATEGORY\fR value of \fBsystem\fR can removed from the file system with this
+option.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkginst\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the package to be removed. The format \fIpkginst\fR\fB\&.*\fR can be
+used to remove all instances of a package.
+.sp
+The asterisk character (\fB*\fR) is a special character to some shells and may
+need to be escaped. In the C-Shell, "\fB*\fR" must be surrounded by single
+quotes (\fB\&'\fR) or preceded by a backslash (\e).
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRemoving All Instances of \fBSUNWjunk\fR from \fBclient1\fR
+.sp
+.LP
+The following example removes all instances of \fBSUNWjunk\fR from
+\fBclient1\fR:
+
+.sp
+.in +2
+.nf
+example% pkgrm \fB-R\fR /export/root/client1 SUNWjunk*
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note the caveat on the use of the \fB-R\fR option in the description of that
+option, above.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Fatal error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Warning.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.sp .6
+.RS 4n
+Interruption.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.sp .6
+.RS 4n
+Administration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reboot after removal of all packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB20\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reboot after removal of this package.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkginfo\fR(1), \fBpkgmk\fR(1), \fBpkgparam\fR(1), \fBpkgproto\fR(1),
+\fBpkgtrans\fR(1), \fBinstallf\fR(1M), \fBpkgadd\fR(1M), \fBpkgask\fR(1M),
+\fBpkgchk\fR(1M), \fBremovef\fR(1M), \fBadmin\fR(4), \fBpkginfo\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Package commands are \fBlargefile\fR(5)-aware. They handle files larger than 2
+GB in the same way they handle smaller files. In their current implementations,
+\fBpkgadd\fR(1M), \fBpkgtrans\fR(1) and other package commands can process a
+datastream of up to 4 GB.
diff --git a/usr/src/man/man1m/plockstat.1m b/usr/src/man/man1m/plockstat.1m
new file mode 100644
index 0000000000..18a9d2ec6f
--- /dev/null
+++ b/usr/src/man/man1m/plockstat.1m
@@ -0,0 +1,273 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH plockstat 1M "26 Jan 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+plockstat \- report user-level lock statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBplockstat\fR [\fB-vACHV\fR] [\fB-n\fR \fIcount\fR] [\fB-s\fR \fIdepth\fR] [\fB-e\fR \fIsecs\fR]
+ [\fB-x\fR \fIarg\fR [=val]] \fIcommand\fR [\fIarg\fR]...
+.fi
+
+.LP
+.nf
+\fBplockstat\fR [\fB-vACHV\fR] [\fB-n\fR \fIcount\fR] [\fB-s\fR \fIdepth\fR] [\fB-e\fR \fIsecs\fR]
+ [\fB-x\fR \fIarg\fR [=val]] \fB-p\fR \fIpid\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBplockstat\fR utility gathers and displays user-level locking statistics.
+By default, \fBplockstat\fR monitors all lock contention events, gathers
+frequency and timing data about those events, and displays the data in
+decreasing frequency order, so that the most common events appear first.
+.sp
+.LP
+\fBplockstat\fR gathers data until the specified command completes or the
+process specified with the \fB-p\fR option completes.
+.sp
+.LP
+\fBplockstat\fR relies on DTrace to instrument a running process or a command
+it invokes to trace events of interest. This imposes a small but measurable
+performance overhead on the processes being observed. Users must have the
+\fBdtrace_proc\fR privilege and have permission to observe a particular process
+with \fBplockstat\fR. Refer to the \fI\fR for more information about DTrace
+security features.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.RS 16n
+.rt
+Watch all lock events. This option is equivalent to \fB-CH\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 16n
+.rt
+Watch contention events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.RS 16n
+.rt
+Watch hold events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIsecs\fR\fR
+.ad
+.RS 16n
+.rt
+Exit after the number of seconds specified have elapsed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIcount\fR\fR
+.ad
+.RS 16n
+.rt
+Display only the specified number of entries for each output category.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIdepth\fR\fR
+.ad
+.RS 16n
+.rt
+Record a stack trace rather than just the calling function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpid\fR\fR
+.ad
+.RS 16n
+.rt
+Specify a process ID from which \fBplockstat\fR is to gather data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 16n
+.rt
+Print out a message to indicate that tracing has started.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIarg\fR[=\fIval\fR]\fR
+.ad
+.RS 16n
+.rt
+Enable or modify a DTrace runtime option or D compiler option. The list of
+options is found in the \fISolaris Dynamic Tracing Guide\fR. Boolean options
+are enabled by specifying their name. Options with values are set by separating
+the option name and value with an equals sign (\fB=\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 16n
+.rt
+Print the Dtrace commands used to gather the data. The output can then be used
+directly with the \fBdtrace\fR(1M) command.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIarg\fR\fR
+.ad
+.RS 11n
+.rt
+A string to be passed as an argument to \fIcommand\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcommand\fR\fR
+.ad
+.RS 11n
+.rt
+The name of a utility to be invoked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 11n
+.rt
+A positive integer value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpid\fR\fR
+.ad
+.RS 11n
+.rt
+A process identifier for a process to be monitored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsecs\fR\fR
+.ad
+.RS 11n
+.rt
+Duration specified as a positive integer number of seconds.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command-line syntax is Evolving. The human-readable output is Unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBdtrace\fR(1M), \fBlockstat\fR(1M), \fBmutex_init\fR(3C),
+\fBpthread_mutex_lock\fR(3C), \fBpthread_rwlock_rdlock\fR(3C),
+\fBpthread_rwlock_wrlock\fR(3C), \fBpthread_rwlock_unlock\fR(3C),
+\fBrwlock\fR(3C), \fBattributes\fR(5), \fBfasttrap\fR(7D)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/pmadm.1m b/usr/src/man/man1m/pmadm.1m
new file mode 100644
index 0000000000..fea19e8bb0
--- /dev/null
+++ b/usr/src/man/man1m/pmadm.1m
@@ -0,0 +1,644 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1998, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pmadm 1M "10 Nov 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pmadm \- port monitor administration
+.SH SYNOPSIS
+.LP
+.nf
+\fBpmadm\fR \fB-a\fR [\fB-p\fR \fIpmtag\fR | \fB-t\fR \fItype\fR] \fB-s\fR \fIsvctag\fR \fB-i\fR \fIid\fR \fB-m\fR \fIpmspecific\fR \fB-v\fR \fIver\fR
+ [\fB-f\fR xu]
+ [\fB-y\fR \fIcomment\fR] [\fB-z\fR \fI script\fR]
+.fi
+
+.LP
+.nf
+\fBpmadm\fR \fB-r\fR \fB-p\fR \fIpmtag\fR \fB-s\fR \fIsvctag\fR
+.fi
+
+.LP
+.nf
+\fBpmadm\fR \fB-e\fR \fB-p\fR \fIpmtag\fR \fB-s\fR \fIsvctag\fR
+.fi
+
+.LP
+.nf
+\fBpmadm\fR \fB-d\fR \fB-p\fR \fIpmtag\fR \fB-s\fR \fIsvctag\fR
+.fi
+
+.LP
+.nf
+\fBpmadm\fR \fB-l\fR [\fB-t\fR \fItype\fR | \fB-p\fR \fIpmtag\fR] [\fB-s\fR \fIsvctag\fR]
+.fi
+
+.LP
+.nf
+\fBpmadm\fR \fB-L\fR [\fB-t\fR \fItype\fR | \fB-p\fR \fIpmtag\fR] [\fB-s\fR \fIsvctag\fR]
+.fi
+
+.LP
+.nf
+\fBpmadm\fR \fB-g\fR \fB-p\fR \fIpmtag\fR \fB-s\fR \fIsvctag\fR [\fB-z\fR \fIscript\fR]
+.fi
+
+.LP
+.nf
+\fBpmadm\fR \fB-g\fR \fB-s\fR \fIsvctag\fR \fB-t\fR \fItype\fR \fB-z\fR \fIscript\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpmadm\fR is the administrative command for the lower level of the Service
+Access Facility hierarchy, that is, for service administration. A port may have
+only one service associated with it although the same service may be available
+through more than one port. In order to uniquely identify an instance of a
+service, the \fBpmadm\fR command must identify both the port monitor or port
+monitors through which the service is available (\fB-p\fR or \fB-t\fR) and the
+service (\fB-s\fR). See .
+.sp
+.LP
+\fBpmadm\fR performs the following functions:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+adds or removes a service
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+enables or disables a service
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+installs or replaces a per-service configuration script
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+prints requested service information
+.RE
+.sp
+.LP
+Any user on the system may invoke \fBpmadm\fR to request service status
+(\fB-l\fR or \fB-L\fR) or to print per-service configuration scripts (\fB-g\fR
+without the \fB-z\fR option). \fBpmadm\fR with other options may be executed
+only by a privileged user.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 17n
+.rt
+Add a service. \fBpmadm\fR adds an entry for the new service to the port
+monitor's administrative file. Because of the complexity of the options and
+arguments that follow the \fB-a\fR option, it may be convenient to use a
+command script or the menu system to add services.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 17n
+.rt
+Disable a service. Add \fBx\fR to the flag field in the entry for the service
+\fIsvctag\fR in the port monitor's administrative file. This is the entry used
+by port monitor \fIpmtag\fR. See the \fB-f\fR option, below, for a description
+of the flags available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 17n
+.rt
+Enable a service. Remove \fBx\fR from the flag field in the entry for the
+service \fIsvctag\fR in the port monitor administrative file. This is the entry
+used by port monitor \fIpmtag\fR. See the \fB-f\fR option, below, for a
+description of the flags available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fBxu\fR\fR
+.ad
+.RS 17n
+.rt
+The \fB-f\fR option specifies one or both of the following two flags which are
+then included in the flag field of the entry for the new service in the port
+monitor's administrative file. If the \fB-f\fR option is not included, no flags
+are set and the default conditions prevail. By default, a new service is
+enabled and no \fButmpx\fR entry is created for it. An \fB-f\fR option without
+a following argument is illegal.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBx\fR\fR
+.ad
+.RS 5n
+.rt
+Do not enable the service \fIsvctag\fR available through port monitor
+\fIpmtag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBu\fR\fR
+.ad
+.RS 5n
+.rt
+Create a \fButmpx\fR entry for service \fIsvctag\fR available through port
+monitor \fIpmtag\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 17n
+.rt
+Print, install, or replace a per-service configuration script. The \fB-g\fR
+option with a \fB-p\fR option and a \fB-s\fR option prints the per-service
+configuration script for service \fIsvctag\fR available through port monitor
+\fIpmtag\fR. The \fB-g\fR option with a \fB-p\fR option, a \fB-s\fR option, and
+a \fB-z\fR option installs the per-service configuration script contained in
+the file \fBscript\fR as the per-service configuration script for service
+\fIsvctag\fR available through port monitor \fIpmtag\fR. The \fB-g\fR option
+with a \fB- s\fR option, a \fB-t\fR option, and a \fB-z\fR option installs the
+file \fBscript\fR as the per-service configuration script for service
+\fIsvctag\fR available through any port monitor of type \fBtype\fR. Other
+combinations of options with \fB-g\fR are invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI id\fR\fR
+.ad
+.RS 17n
+.rt
+\fBid\fR is the identity that is to be assigned to service \fIsvctag\fR when it
+is started. \fBid\fR must be an entry in \fB/etc/passwd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 17n
+.rt
+The \fB-l\fR option requests service information. Used by itself and with the
+options described below, it provides a filter for extracting information in
+several different groupings.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 23n
+.rt
+By itself, the \fB-l\fR option lists all services on the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR\fB \fR\fB-p\fR\fB \fR\fIpmtag\fR\fR
+.ad
+.RS 23n
+.rt
+Lists all services available through port monitor \fIpmtag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR\fB \fR\fB-s\fR\fB \fR\fIsvctag\fR\fR
+.ad
+.RS 23n
+.rt
+Lists all services with tag \fIsvctag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR\fB \fR\fB-p\fR\fB \fR\fIpmtag\fR\fB-s\fR\fIsvctag\fR\fR
+.ad
+.RS 23n
+.rt
+Lists service \fIsvctag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR\fB \fR\fB-t\fR\fB \fR\fItype\fR\fR
+.ad
+.RS 23n
+.rt
+Lists all services available through port monitors of type \fBtype\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-l\fR\fB \fR\fB-t\fR\fB \fR\fItype\fR\fB-s\fR\fIsvctag\fR\fR
+.ad
+.RS 23n
+.rt
+Lists all services with tag \fIsvctag\fR available through a port monitor of
+type \fBtype\fR.
+.RE
+
+Other combinations of options with \fB-l\fR are invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 17n
+.rt
+The \fB-L\fR option is identical to the \fB-l\fR option except that output is
+printed in a condensed format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fI pmspecific\fR\fR
+.ad
+.RS 17n
+.rt
+\fIpmspecific\fR is the port monitor-specific portion of the port monitor
+administrative file entry for the service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fI pmtag\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the tag associated with the port monitor through which a service
+(specified as \fB\fR\fB-s\fR\fB \fR\fIsvctag\fR) is available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 17n
+.rt
+Remove a service. When \fBpmadm\fR removes a service, the entry for the service
+is removed from the port monitor's administrative file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fI svctag\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the service tag associated with a given service. The service tag is
+assigned by the system administrator and is part of the entry for the service
+in the port monitor's administrative file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fI type\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the port monitor type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fI ver\fR\fR
+.ad
+.RS 17n
+.rt
+Specifies the version number of the port monitor administrative file. The
+version number may be given as
+.sp
+.in +2
+.nf
+\fB-v\fR \fB\&'\fR\fIpmspec\fR \fB-V\fR
+.fi
+.in -2
+.sp
+
+where \fIpmspec\fR is the special administrative command for port monitor
+\fIpmtag\fR. This special command is \fBttyadm\fR for \fBttymon\fR and
+\fBnlsadmin\fR for \fBlisten\fR. The version stamp of the port monitor is known
+by the command and is returned when \fIpmspec\fR is invoked with a \fB-V\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fI comment\fR\fR
+.ad
+.RS 17n
+.rt
+Associate \fIcomment\fR with the service entry in the port monitor
+administrative file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fI script\fR\fR
+.ad
+.RS 17n
+.rt
+Used with the \fB-g\fR option to specify the name of the file that contains the
+per-service configuration script. Modifying a configuration script is a
+three-step procedure. First a copy of the existing script is made (\fB-g\fR
+alone). Then the copy is edited. Finally, the copy is put in place over the
+existing script (\fB-g\fR with \fB-z\fR).
+.RE
+
+.sp
+.LP
+Options that request information write the requested information to the
+standard output. A request for information using the \fB-l\fR option prints
+column headers and aligns the information under the appropriate headings. In
+this format, a missing field is indicated by a hyphen. A request for
+information in the condensed format using the \fB-L\fR option prints the
+information in colon-separated fields; missing fields are indicated by two
+successive colons. \fB#\fR is the comment character.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a Service to a Port Monitor with the Tag \fBpmtag\fR
+.sp
+.LP
+The following command adds a service to a port monitor with tag \fBpmtag\fR and
+gives the service the tag \fBsvctag\fR. The port monitor-specific information
+is generated by \fBspecpm\fR. The service defined by \fBsvctag\fR will be
+invoked with identity \fBroot\fR.
+
+.sp
+.in +2
+.nf
+pmadm -a -p pmtag -s svctag -i root -m `specpm -a arg1 -b arg2`-v `specpm -V`
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding a Service with Service Tab \fBsvctag\fR
+.sp
+.LP
+The following command adds a service with service tag \fBsvctag\fR, identity
+\fBguest\fR, and port monitor-specific information generated by \fBspecpm\fR to
+all port monitors of type \fBtype\fR:
+
+.sp
+.in +2
+.nf
+pmadm -a -s svctag -i guest -t type -m `specpm -a arg1 -b arg2`-v `specpm -V`
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRemoving a Service
+.sp
+.LP
+The following command removes the service \fBsvctag\fR from port monitor
+\fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+pmadm -r -p pmtag -s svctag
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fREnabling a Service
+.sp
+.LP
+The following command enables the service \fBsvctag\fR available through port
+monitor \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+pmadm -e -p pmtag -s svctag
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDisabling a Service
+.sp
+.LP
+The following command disables the service \fBsvctag\fR available through port
+monitor \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+pmadm -d -p pmtag -s svctag
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRListing Status Information
+.sp
+.LP
+The following command lists status information for all services:
+
+.sp
+.in +2
+.nf
+pmadm -l
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRListing Status Information
+.sp
+.LP
+The following command lists status information for all services available
+through the port monitor with tag \fBports\fR:
+
+.sp
+.in +2
+.nf
+pmadm -l -p ports
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRListing Status Information in Condensed Format
+.sp
+.LP
+The following command lists the status information for all services available
+through the port monitor with tag \fBports\fR in condensed format:
+
+.sp
+.in +2
+.nf
+pmadm -L -p ports
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRListing Status Information for All Services
+.sp
+.LP
+List status information for all services available through port monitors of
+type \fBlisten\fR:
+
+.sp
+.in +2
+.nf
+pmadm -l -t listen
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRPrinting the per-service Configuration
+.sp
+.LP
+The following command prints the per-service configuration script associated
+with the service \fBsvctag\fR available through port monitor \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+pmadm -g -p pmtag -s svctag
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+Operation failed.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fR\fIpmtag\fR\fB/_config\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fR\fIpmtag\fR\fB/\fR\fIsvctag\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/saf/\fR\fIpmtag\fR\fB/*\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsac\fR(1M), \fBsacadm\fR(1M), \fBdoconfig\fR(3NSL), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/pmconfig.1m b/usr/src/man/man1m/pmconfig.1m
new file mode 100644
index 0000000000..352e395339
--- /dev/null
+++ b/usr/src/man/man1m/pmconfig.1m
@@ -0,0 +1,218 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pmconfig 1M "12 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pmconfig \- Configure the Power Management system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/pmconfig\fR [\fB-r\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpmconfig\fR utility sets the Power Management and suspend-resume
+configuration. User has permission to change Power Management configuration
+using \fBpmconfig\fR only if he is allowed to do so according to
+\fBPMCHANGEPERM \fRkeyword of \fB/etc/default/power\fR. User has permission to
+change the suspend-resume configuration using \fBpmconfig\fR only if he is
+allowed to do so according to the \fBCPRCHANGEPERM \fRkeyword of
+\fB/etc/default/power\fR. See FILES section below for a description of the
+\fBPMCHANGEPERM \fRand \fBCPRCHANGEPERM \fR keywords of
+\fB/etc/default/power\fR.
+.sp
+.LP
+Based on user permissions, \fBpmconfig\fR first resets the Power Management
+and/or suspend-resume state back to its default and then reads the new
+Power Management and/or suspend-resume configuration from
+\fB/etc/power.conf\fR and issues the commands to activiate the new
+configuration. The \fBpmconfig\fR utility is run at system boot. This utility
+can also be run from the command line after manual changes have been made to
+the \fB/etc/power.conf\fR file. For editing changes made to the
+\fB/etc/power.conf\fR file to take effect, users must run \fBpmconfig\fR.
+.sp
+.LP
+The preferred interface for changing Power Management and suspend-resume
+configuration is \fBdtpower\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+ Reset Power Management and suspend-resume state to default and exit. User
+must have both Power Management and suspend-resume configuration permission
+for this option.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Upon successful completion
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/power.conf\fR\fR
+.ad
+.RS 22n
+.rt
+System Power Management configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/power\fR\fR
+.ad
+.RS 22n
+.rt
+File that controls permissions for system's Power Management and
+suspend-resume features. The \fBPMCHANGEPERM\fR keyboard controls the Power
+Management configuration permissions, while the \fBCPRCHANGEPERM \fRkeyword
+controls the suspend-resume configuration permissions.
+.RE
+
+.sp
+.LP
+Allowed values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.RS 22n
+.rt
+Any user can change the configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-\fR\fR
+.ad
+.RS 22n
+.rt
+No one except super-user can change the configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB<user1, user2,...>\fR\fR
+.ad
+.RS 22n
+.rt
+A user in this user list or a super-user can change the configuration. The
+user list is a space and/or comma (,) separated list. You must enclose the list
+in < and > characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconsole-owner\fR\fR
+.ad
+.RS 22n
+.rt
+A user who owns the system console device node or a super-user can change the
+configuration.
+.RE
+
+.sp
+.LP
+The default values are \fBPMCHANGEPERM=console-owner\fR and
+\fBCPRCHANGEPERM=console-owner\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface stability Unstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBpowerd\fR(1M), \fBpower.conf\fR(4), \fBsvcadm\fR(1M),
+\fBattributes\fR(5), \fBsmf\fR(5), \fBcpr\fR(7), \fBpm\fR(7D)
+.sp
+.LP
+\fIUsing Power Management\fR
+.SH NOTES
+.sp
+.LP
+The \fBpmconfig\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/power:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.SH DIAGNOSTICS
+.sp
+.LP
+If the program cannot open the configuration file, it prints an error message
+to standard error. If the program encounters a syntax error in the
+configuration file, it prints an error message and the line number of the error
+in the configuration file. It then skips the rest of the information on that
+line and processes the next line. Any configuration information already
+processed on the line containing the error is used. If user does not have
+permission to change Power Management and/or suspend-resume configuration, and
+configuration file has entries for which user doesn't have permission, it
+process the entries for which user has permissions and prints error on rest.
diff --git a/usr/src/man/man1m/pntadm.1m b/usr/src/man/man1m/pntadm.1m
new file mode 100644
index 0000000000..1cc390661e
--- /dev/null
+++ b/usr/src/man/man1m/pntadm.1m
@@ -0,0 +1,826 @@
+'\" te
+.\" Copyright (c) 2003 by Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pntadm 1M "9 Jan 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pntadm \- DHCP network table management utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBpntadm\fR \fB-C\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] \fInetwork\fR
+.fi
+
+.LP
+.nf
+\fBpntadm\fR \fB-A\fR \fIname_IP_address\fR [\fB-c\fR \fIcomment\fR] [\fB-e\fR \fImm/dd/yyyy\fR]
+ [\fB-f\fR \fInum\fR | \fIkeywords\fR] [\fB-h\fR \fIclient_hostname\fR]
+ [\fB-i\fR [\fB-a\fR] \fIclient_ID\fR] [\fB-m\fR [\fB-y\fR] \fImacro\fR] [\fB-s\fR \fIserver\fR]
+ [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR] [\fB-u\fR \fIuninterpreted\fR] \fInetwork\fR
+.fi
+
+.LP
+.nf
+\fBpntadm\fR \fB-M\fR \fIname_IP_address\fR [\fB-c\fR \fIcomment\fR] [\fB-e\fR \fImm/dd/yyyy\fR]
+ [\fB-f\fR \fInum\fR | \fIkeywords\fR] [\fB-h\fR \fIclient_hostname\fR]
+ [\fB-i\fR [\fB-a\fR] \fIclient\fR \fI ID\fR] [\fB-m\fR [\fB-y\fR] \fImacro\fR]
+ [\fB-n\fR \fInew_client_IP_address\fR] [\fB-s\fR \fIserver\fR] [\fB-r\fR \fIresource\fR]
+ [\fB-p\fR \fIpath\fR] [\fB-u\fR uninterpreted] \fInetwork\fR
+.fi
+
+.LP
+.nf
+\fBpntadm\fR \fB-D\fR \fIname_IP_address\fR [\fB-y\fR] [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR]
+ [\fB-u\fR uninterpreted] \fInetwork\fR
+.fi
+
+.LP
+.nf
+\fBpntadm\fR \fB-P\fR [\fB-v\fR] [\fB-x\fR] [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR]
+ [\fB-u\fR uninterpreted] \fInetwork\fR
+.fi
+
+.LP
+.nf
+\fBpntadm\fR \fB-R\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR] [\fB-u\fR uninterpreted] \fInetwork\fR
+.fi
+
+.LP
+.nf
+\fBpntadm\fR \fB-L\fR [\fB-r\fR \fIresource\fR] [\fB-p\fR \fIpath\fR] [\fB-u\fR uninterpreted]
+.fi
+
+.LP
+.nf
+\fBpntadm\fR \fB-B\fR [\fB-v\fR] [\fIbatchfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpntadm\fR command is used to manage the Dynamic Host Configuration
+Protocol (\fBDHCP\fR) network tables. It is used to add and remove networks
+under \fBDHCP\fR management, and add, delete, or modify IP address records
+within network tables, or to view tables. For a description of the format of
+\fBDHCP\fR network tables, see \fBdhcp_network\fR(4).
+.sp
+.LP
+\fBpntadm\fR can be run as root or by other users assigned to the \fBDHCP\fR
+Management profile. See \fBrbac\fR(5) and \fBuser_attr\fR(4).
+.sp
+.LP
+If the networks you want to add are subnetted, you need to update the
+\fBnetmasks\fR(4) table.
+.sp
+.LP
+One of the following options (function flags) must be specified with the
+\fBpntadm\fR command: \fB-A\fR, \fB-B\fR, \fB-C\fR, \fB-D\fR, \fB-L\fR,
+\fB-M\fR, \fB-P\fR, or\fB-R\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fI name_IP_address\fR\fR
+.ad
+.RS 26n
+.rt
+Add a client entry with hostname or client IP address, \fIname_IP_address\fR,
+to the named \fBDHCP\fR network table.
+.sp
+The following sub-options are optional:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.RS 22n
+.rt
+Comment text. The default is \fINULL\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fImm/dd/yyyy\fR\fR
+.ad
+.RS 22n
+.rt
+Absolute lease. The default is \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fInum\fR | \fIkeywords\fR\fR
+.ad
+.RS 22n
+.rt
+Flag value. The default is \fB00\fR.
+.sp
+The flag (\fB-f\fR) option can be specified either as a single number denoting
+the intended flag value, or as a series of the following keywords, combined
+using the plus (\fB+\fR) symbol:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDYNAMIC\fR or \fB00\fR\fR
+.ad
+.RS 19n
+.rt
+Server manager's assignment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPERMANENT\fR or \fB01\fR\fR
+.ad
+.RS 19n
+.rt
+Lease on entry is permanent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMANUAL\fR or \fB02\fR\fR
+.ad
+.RS 19n
+.rt
+Administrator managed assignment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUNUSABLE\fR or \fB04\fR\fR
+.ad
+.RS 19n
+.rt
+Entry is not valid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBOOTP\fR or \fB08\fR\fR
+.ad
+.RS 19n
+.rt
+Entry reserved for \fBBOOTP\fR clients.
+.RE
+
+For a more detailed description of the flag values, see \fBdhcp_network\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIclient_hostname\fR\fR
+.ad
+.RS 22n
+.rt
+Client hostname. The default is NULL.
+.sp
+When the \fB-h\fR option is used in this mode, the \fIclient_hostname\fR is
+added to the hosts table within the resource used for storing host names
+(files, NIS+ or DNS). The command will fail if this \fIclient_hostname\fR is
+already present in the hosts table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIclient_ID\fR [\fB-a\fR]\fR
+.ad
+.RS 22n
+.rt
+Client identifier [\fB-a\fR]. The default is \fB00\fR.
+.sp
+The \fB-i\fR option modified with \fB-a\fR specifies that the client identifier
+is in \fBASCII\fR format, and thus needs to be converted to hexadecimal format
+before insertion into the table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImacro\fR [\fB-y\fR]\fR
+.ad
+.RS 22n
+.rt
+Macro name. Default is UNKNOWN.
+.sp
+The \fB-m\fR option modified with \fB-y\fR verifies the existence of the named
+macro in the \fBdhcptab\fR table before adding the entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIserver\fR\fR
+.ad
+.RS 22n
+.rt
+Server IP or name. Default is system name (\fBuname\fR \fB-n\fR).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR\fR
+.ad
+.RS 26n
+.rt
+Activate batch mode. \fBpntadm\fR will read from the specified file or from
+standard input a series of \fBpntadm\fR commands and execute them within the
+same process. Processing many \fBpntadm\fR commands using this method is much
+faster than running an executable batchfile itself. Batch mode is recommended
+for using \fBpntadm\fR in scripts.
+.sp
+The following sub-option is optional:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Display commands to standard output as they are processed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 26n
+.rt
+Create the \fBDHCP\fR network table for the network specified by \fInetwork\fR.
+See . For details, see \fBdhcp_network\fR(4) and \fBnetworks\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fI name_IP_address\fR\fR
+.ad
+.RS 26n
+.rt
+Delete the specified client entry with hostname or client IP address,
+\fIname_IP_address\fR, in the named \fBDHCP\fR network table. (See
+\fBdhcp_network\fR(4).)
+.sp
+The following sub-option is optional:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.RS 6n
+.rt
+Remove associated host table entry. The \fB-y\fR option requests that all
+hostnames associated with the \fBIP\fR address in the hosts table in the
+resource be removed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 26n
+.rt
+List the \fBDHCP\fR network tables presently configured, one per line, on
+standard output. If none are found, no output is printed and an exit status of
+\fB0\fR is returned.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR \fI name_IP_address\fR\fR
+.ad
+.RS 26n
+.rt
+Modify the specified client entry with hostname or client IP address,
+\fIname_IP_address\fR, in the named \fBDHCP\fR network table. See
+\fBdhcp_network\fR(4). The default for the sub-options is what they currently
+are set to.
+.sp
+The following sub-options are optional.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.RS 29n
+.rt
+New comment text.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fImm/dd/yy\fR\fR
+.ad
+.RS 29n
+.rt
+New absolute lease expiration date. Time defaults to 12:00 AM of the day
+specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fInum\fR | \fIkeyboard\fR\fR
+.ad
+.RS 29n
+.rt
+New flag value, see explanation following the description of the \fB-A\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost_name\fR\fR
+.ad
+.RS 29n
+.rt
+New client hostname.
+.sp
+The \fB-h\fR option allows you to change the current \fIhostname\fR associated
+with the \fBIP\fR address or to add a new \fIhostname\fR to the hosts table if
+an entry associated with this \fBIP\fR address does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIclient_ID\fR\fR
+.ad
+.RS 29n
+.rt
+New client identifier [\fB-a\fR].
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImacro\fR [\fB-y\fR]\fR
+.ad
+.RS 29n
+.rt
+Macro name defined in \fBdhcptab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n \fR \fInew_client_IP_address\fR\fR
+.ad
+.RS 29n
+.rt
+New \fBIP\fR address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIserver\fR\fR
+.ad
+.RS 29n
+.rt
+New server \fBIP\fR or name.
+.RE
+
+ For more detailed description of the sub-options and flag values, see
+\fBdhcp_network\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.RS 26n
+.rt
+Display the named \fBDHCP\fR network table.
+.sp
+The following sub-options are optional:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Display lease time in full verbose format and resolve IP addresses for the
+clients and server to hostnames.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 6n
+.rt
+Display lease time in raw format.
+.RE
+
+These flag codes are used with the \fB-P\fR sub-options:
+.sp
+
+.sp
+.TS
+tab();
+lw(1.83i) lw(1.83i) lw(1.83i)
+lw(1.83i) lw(1.83i) lw(1.83i)
+.
+\fB-v\fR\fB-x\fRDescription
+D00DYNAMIC
+P01PERMANENT
+M02MANUAL
+U04UNUSABLE
+B08BOOTP
+.TE
+
+See \fBdhcp_network\fR(4) for information on these sub-options and associated
+flag codes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fI path\fR\fR
+.ad
+.RS 26n
+.rt
+Override the \fBdhcpsvc.conf\fR(4) configuration value for data store resource
+path, \fIpath\fR See \fBdhcpsvc.conf\fR(4)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 26n
+.rt
+Remove the named DHCP network table. See \fBdhcp_network\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIdata_store_resource\fR\fR
+.ad
+.RS 26n
+.rt
+Override the \fB/etc/inet/dhcpsvc.conf\fR configuration value for
+\fBRESOURCE=\fR with the \fIdata_store_resource\fR specified. See the
+\fBdhcpsvc.conf\fR(4) man page for more details on resource type, and the
+\fI\fR for more information about adding support for other data stores.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR uninterpreted\fR
+.ad
+.RS 26n
+.rt
+Data which will be ignored by \fBpntadm\fR, but passed to the currently
+configured public module to be interpreted by the data store. This might be
+used for a database account name or other authentication or authorization
+parameters required by a particular data store.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fInetwork\fR\fR
+.ad
+.RS 11n
+.rt
+The network address or network name which corresponds to the \fBdhcp network\fR
+table. See \fBdhcp_network\fR(4).
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Table for the \fB10.0.0.0\fR DHCP Network
+.sp
+.LP
+The following command creates a table for the \fB10.0.0.0\fR (subnetted to
+class C) \fBDHCP\fR network table. Note that if you have an alias for this
+network in your \fBnetworks\fR(4) table, you can use that value rather than the
+dotted Internet Address notation.
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -C 10.0.0.0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding an Entry to the \fB10.0.0.0\fR Table
+.sp
+.LP
+The following command adds an entry to the \fB10.0.0.0\fR table in the
+\fBfiles\fR resource in the \fB/var/mydhcp\fR directory:
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -r SUNWfiles -p /var/mydhcp -A 10.0.0.1 10.0.0.0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRModifying the \fB10.0.0.1\fR Entry of the \fB10.0.0.0\fR Table
+.sp
+.LP
+The following command modifies the \fB10.0.0.1\fR entry of the \fB10.0.0.0\fR
+table, changing the macro name to \fBGreen\fR, setting the flags field to
+\fBMANUAL\fR and \fBPERMANENT:\fR
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -M 10.0.0.1 -m Green -f 'PERMANENT+MANUAL' 10.0.0.0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRChanging the \fB10.0.0.1\fR Entry to \fB10.0.0.2\fR
+.sp
+.LP
+The following command changes the \fB10.0.0.1\fR entry to \fB10.0.0.2\fR,
+making an entry in the \fBhosts\fR(4) table called \fBmyclient\fR:
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -M 10.0.0.1 -n 10.0.0.2 -h myclient 10.0.0.0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRSetting the Client \fBID\fR as \fBASCII\fR
+.sp
+.LP
+The following command sets the client \fBID\fR as \fBASCII\fR
+\fBaruba.foo.com\fR for the \fBmyclient\fR entry:
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -M myclient -i 'aruba.foo.com' -a 10.0.0.0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDeleting the \fBmyclient\fREntry from the \fB10.0.0.0\fR Table
+.sp
+.LP
+The following command deletes the \fBmyclient\fR (\fB10.0.0.2\fR) entry from
+the \fB10.0.0.0\fR table:
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -D myclient 10.0.0.0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRRemoving the Named DHCP Network Table
+.sp
+.LP
+The following command removes the named \fBDHCP\fR network table in the NIS+
+directory specified:
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -r SUNWnisplus -p Test.Nis.Plus. -R 10.0.0.0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRListing the Configured DHCP Network Tables
+.sp
+.LP
+The following command lists the configured DHCP network tables:
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -L\fR
+192.168.0.0
+10.0.0.0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRExecuting \fBpntadm\fR Commands in Batch Mode
+.sp
+.LP
+The following command runs a series of \fBpntadm\fR commands contained in a
+batch file:
+
+.sp
+.in +2
+.nf
+example# \fBpntadm -B addclients\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Object already exists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Object does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Non-critical error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+Critical error.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/dhcpsvc.conf\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/hosts\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdhcpconfig\fR(1M), \fBdhcpmgr\fR(1M), \fBdhcp_network\fR(4), ,
+\fBdhcpsvc.conf\fR(4), \fBdhcptab\fR(4), \fBhosts\fR(4), \fBnetmasks\fR(4),
+\fBnetworks\fR(4), \fBuser_attr\fR(4), \fBattributes\fR(5), \fBdhcp\fR(5),
+\fBdhcp_modules\fR(5), \fBrbac\fR(5)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+Alexander, S., and R. Droms, \fIDHCP Options and BOOTP Vendor Extensions\fR,
+RFC 1533, Lachman Technology, Inc., Bucknell University, October 1993.
+.sp
+.LP
+Droms, R., \fIInteroperation Between DHCP and BOOTP\fR, RFC 1534, Bucknell
+University, October 1993.
+.sp
+.LP
+Droms, R., \fIDynamic Host Configuration Protocol\fR, RFC 1541, Bucknell
+University, October 1993.
+.sp
+.LP
+Wimer, W., \fIClarifications and Extensions for the Bootstrap Protocol\fR, RFC
+1542, Carnegie Mellon University, October 1993.
diff --git a/usr/src/man/man1m/polkit-is-privileged.1m b/usr/src/man/man1m/polkit-is-privileged.1m
new file mode 100644
index 0000000000..f35cf62e85
--- /dev/null
+++ b/usr/src/man/man1m/polkit-is-privileged.1m
@@ -0,0 +1,118 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH polkit-is-privileged 1M "22 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+polkit-is-privileged \- check PolicyKit privileges
+.SH SYNOPSIS
+.LP
+.nf
+\fBpolkit-is-privileged\fR [\fB-hvV\fR] \fB-u\fR \fIuser\fR \fB-p\fR \fIprivilege\fR [\fB-r\fR \fIresource\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpolkit-is-privileged\fR command queries system policy to determine
+whether a user is allowed for a given privilege and resource. The resource name
+can be omitted. On the Solaris operating system, RBAC authorizations names
+should be used as privilege names.
+.sp
+.LP
+Currently, the only consumer of PolicyKit is \fBhald\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display list of options and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprivilege\fR, \fB--privilege\fR \fIprivilege\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of privilege associated with user. Command tests for this privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIresource\fR, \fB--resource\fR \fIresource\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of resource associated with user and privilege. Command tests for this
+resource.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuser\fR, \fB--user\fR \fIuser\fR\fR
+.ad
+.sp .6
+.RS 4n
+User name or user id that is tested for.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays version number.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBauths\fR(1), \fBprofiles\fR(1), \fBhald\fR(1M), \fBgetauthattr\fR(3SECDB),
+\fBauth_attr\fR(4), \fBpolicy.conf\fR(4), \fBprof_attr\fR(4),
+\fBuser_attr\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/pooladm.1m b/usr/src/man/man1m/pooladm.1m
new file mode 100644
index 0000000000..57e30d985c
--- /dev/null
+++ b/usr/src/man/man1m/pooladm.1m
@@ -0,0 +1,279 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pooladm 1M "1 Dec 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pooladm \- activate and deactivate the resource pools facility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/pooladm\fR [\fB-n\fR] [\fB-s\fR] [\fB-c\fR] [\fIfilename\fR] | \fB-x\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/pooladm\fR [\fB-d\fR | \fB-e\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpooladm\fR command provides administrative operations on pools and sets.
+\fBpooladm\fR reads the specified filename and attempts to activate the pool
+configuration contained in it.
+.sp
+.LP
+Before updating the current pool run-time configuration, \fBpooladm\fR
+validates the configuration for correctness.
+.sp
+.LP
+Without options, \fBpooladm\fR prints out the current running pools
+configuration.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Instantiate the configuration at the given location. If a filename is not
+specified, it defaults to \fB/etc/pooladm.conf\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Disable the pools facility so that pools can no longer be manipulated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Enable the pools facility so that pools can be manipulated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Validate the configuration without actually updating the current active
+configuration. Checks that there are no syntactic errors and that the
+configuration can be instantiated on the current system. No validation of
+application specific properties is performed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Update the specified location with the details of the current dynamic
+configuration.
+.sp
+This option requires update permission for the configuration that you are going
+to update. If you use this option with the \fB-c\fR option, the dynamic
+configuration is updated before the static location.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 6n
+.rt
+Remove the currently active pool configuration. Destroy all defined resources,
+and return all formerly partitioned components to their default resources.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.RS 12n
+.rt
+Use the configuration contained within this file.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRInstantiating a Configuration
+.sp
+.LP
+The following command instantiates the configuration contained at
+\fB/home/admin/newconfig\fR:
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/pooladm \fR\fB-c\fR\fB /home/admin/newconfig\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRValidating the Configuration Without Instantiating It
+.sp
+.LP
+The following command attempts to instantiate the configuration contained at
+\fB/home/admin/newconfig\fR. It displays any error conditions that it
+encounters, but does not actually modify the active configuration.
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/pooladm \fR\fB-n\fR\fB \fR\fB-c\fR\fB /home/admin/newconfig\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRemoving the Current Configuration
+.sp
+.LP
+The following command removes the current pool configuration:
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/pooladm \fR\fB-x\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fREnabling the Pools Facility
+.sp
+.LP
+The following command enables the pool facility:
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/pooladm -e\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fREnabling the Pools Facility Using SMF
+.sp
+.LP
+The following command enables the pool facility through use of the Service
+Management Facility. See \fBsmf\fR(5).
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/svcadm enable svc:/system/pools:default\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRSaving the Active Configuration to a Specified Location
+.sp
+.LP
+The following command saves the active configuration to
+\fB/tmp/state.backup\fR:
+
+.sp
+.in +2
+.nf
+example# \fB/usr/sbin/pooladm -s /tmp/state.backup\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/pooladm.conf\fR\fR
+.ad
+.RS 21n
+.rt
+Configuration file for \fBpooladm\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The invocation is Evolving. The output is Unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBpoolcfg\fR(1M), \fBpoolbind\fR(1M), \fBpsrset\fR(1M), \fBsvcadm\fR(1M),
+\fBpset_destroy\fR(2), \fBlibpool\fR(3LIB), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Resource bindings that are not presented in the form of a binding to a
+partitionable resource, such as the scheduling class, are not necessarily
+modified in a \fBpooladm\fR \fB-x\fR operation.
+.sp
+.LP
+The pools facility is not active by default when Solaris starts. \fBpooladm\fR
+\fB-e\fR explicitly activates the pools facility. The behavior of certain APIs
+related to processor partitioning and process binding are modified when pools
+is active. See \fBlibpool\fR(3LIB).
+.sp
+.LP
+You cannot enable the pools facility on a system where processor sets have been
+created. Use the \fBpsrset\fR(1M) command or \fBpset_destroy\fR(2) to destroy
+processor sets manually before you enable the pools facility.
+.sp
+.LP
+Because the Resource Pools facility is an \fBsmf\fR(5) service, it can also be
+enabled and disabled using the standard SMF interfaces.
diff --git a/usr/src/man/man1m/poolbind.1m b/usr/src/man/man1m/poolbind.1m
new file mode 100644
index 0000000000..bc5d227f56
--- /dev/null
+++ b/usr/src/man/man1m/poolbind.1m
@@ -0,0 +1,281 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH poolbind 1M "9 Feb 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+poolbind \- bind processes, tasks, or projects or query binding of processes to
+resource pools
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/poolbind\fR \fB-p\fR \fIpoolname\fR \fB-e\fR \fIcommand\fR [\fIarguments\fR]...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/poolbind\fR \fB-p\fR \fIpoolname\fR [\fB-i\fR \fIidtype\fR] \fIid\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/poolbind\fR \fB-q\fR \fIpid\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/poolbind\fR \fB-Q\fR \fIpid\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpoolbind\fR command allows an authorized user to bind zones, projects,
+tasks, and processes to pools. With the \fB-e\fR option (see below), it can
+execute a command you specify, placing the executed command in a specified
+pool. It can also enable you to query a process to determine which pool a
+process is bound to.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIcommand\fR [\fIarguments\fR...]\fR
+.ad
+.RS 29n
+.rt
+Executes \fIcommand\fR, bound to the pool you specify with \fB-p\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIidtype\fR\fR
+.ad
+.RS 29n
+.rt
+This option, together with the \fIidlist\fR arguments, specifies one or more
+processes to which the poolbind command is to apply. The interpretation of
+\fIidlist\fR depends on the value of \fIidtype\fR. The valid \fIidtype\fR
+arguments and corresponding interpretations of \fIidlist\fR are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpid\fR\fR
+.ad
+.RS 10n
+.rt
+\fIidlist\fR is a list of process \fBID\fRs. Binds the specified processes to
+the specified pool. This is the default behavior if no idtype is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItaskid\fR\fR
+.ad
+.RS 10n
+.rt
+\fIidlist\fR is a list of task IDs. Bind all processes within the list of task
+IDs to the specified pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprojid\fR\fR
+.ad
+.RS 10n
+.rt
+\fIidlist\fR is a list of project \fBID\fRs. Bind all processes within the list
+of projects to the specified pool. Each project \fBID\fR can be specified as
+either a project name or a numerical project \fBID\fR. See \fBproject\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIzoneid\fR\fR
+.ad
+.RS 10n
+.rt
+\fIidlist\fR is a list of zone \fBID\fRs. Bind all processes within the list of
+zones to the specified pool. Each zone \fBID\fR can be specified as either a
+zone name or a numerical zone \fBID\fR. See \fBzones\fR(5).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpoolname\fR\fR
+.ad
+.RS 29n
+.rt
+Specifies the name of a pool to which the specified zone, project, tasks, or
+processes are to be bound.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR \fIpid\fR ...\fR
+.ad
+.RS 29n
+.rt
+Queries the pool bindings for a given list of process \fBID\fRs. If the
+collection of resources associated with the process does not correspond to any
+currently existing pool, or if there are multiple pools with the set of
+resources that the process is bound to, the query fails for that particular
+process \fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR \fIpid\fR ...\fR
+.ad
+.RS 29n
+.rt
+ Queries the resource bindings for a given list of process IDs. The resource
+bindings are each reported on a separate line.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRBinding All Processes
+.sp
+.LP
+The following command binds all processes in projects \fB5\fR and \fB7\fR to
+the pool \fBweb_app\fR:
+
+.sp
+.in +2
+.nf
+example# /usr/sbin/poolbind \fB-p\fR web_app \fB-i\fR projid 5 7
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRBinding the Running Shell
+.sp
+.LP
+The following command binds the running shell to the pool \fBweb_app\fR:
+
+.sp
+.in +2
+.nf
+ example# /usr/sbin/poolbind \fB-p\fR web_app $$
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRQuerying the Pool Bindings
+.sp
+.LP
+The following command queries the bindings to verify that the shell is bound to
+the given pool:
+
+.sp
+.in +2
+.nf
+example# /usr/sbin/poolbind \fB-q\fR $$
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRQuerying the Resource Bindings
+.sp
+.LP
+The following command queries the bindings to verify that the shell is bound to
+the given resources:
+
+.sp
+.in +2
+.nf
+example# /usr/sbin/poolbind \fB-Q\fR $$
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Requested operation could not be completed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface Stability See below.
+.TE
+
+.sp
+.LP
+The invocation is Evolving. The output is Unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBpooladm\fR(1M), \fBpoolcfg\fR(1M), \fBlibpool\fR(3LIB), \fBproject\fR(4),
+\fBattributes\fR(5), \fBzones\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/poolcfg.1m b/usr/src/man/man1m/poolcfg.1m
new file mode 100644
index 0000000000..840d3999da
--- /dev/null
+++ b/usr/src/man/man1m/poolcfg.1m
@@ -0,0 +1,514 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH poolcfg 1M "29 Nov 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+poolcfg \- create and modify resource pool configuration files
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/poolcfg\fR \fB-c\fR \fIcommand\fR [\fB-d\fR | [\fIfilename\fR]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/poolcfg\fR \fB-f\fR \fIcommand_file\fR [\fB-d\fR | [\fIfilename\fR]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/poolcfg\fR \fB-h\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpoolcfg\fR utility provides configuration operations on pools and sets.
+These operations are performed upon an existing configuration and take the form
+of modifications to the specified configuration file. If you use the \fB-d\fR
+option, the modifications occur to the kernel state. Actual activation of the
+resulting configuration is achieved by way of the \fBpooladm\fR(1M) utility.
+.sp
+.LP
+Pools configuration files are structured files that must have been constructed
+using \fBpoolcfg\fR itself or \fBlibpool\fR(3LIB) directly.
+.sp
+.LP
+An invocation of \fBpoolcfg\fR with the pool dynamic location and write
+permission will hang if the dynamic location has already been opened for
+writing.
+.sp
+.LP
+The configurations which are created by this utility can be used by
+\fBpooladm\fR to instantiate the configuration upon a target host.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcommand\fR\fR
+.ad
+.RS 19n
+.rt
+Specify \fIcommand\fR as an editing command. See \fBUSAGE\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 19n
+.rt
+Operate directly on the kernel state. No \fIfilename\fR is allowed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIcommand_file\fR\fR
+.ad
+.RS 19n
+.rt
+Take the commands from \fIcommand_file\fR. \fIcommand_file\fR consists of
+editing commands, one per line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 19n
+.rt
+Display extended information about the syntax of editing commands.
+.RE
+
+.SH USAGE
+.SS "Scripts"
+.sp
+.LP
+A script consists of editing commands, one per line, of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBinfo [\fIentity-name\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display configuration (or specified portion) in human readable form to standard
+output. If no entity is specified, system information is displayed. Therefore,
+\fBpoolcfg\fR \fB-c\fR \fB\&'info' afile\fR is an equivalent invocation to
+\fBpoolcfg\fR \fB-c\fR \fB\&'info system name' afile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcreate \fIentity-name\fR [\fIproperty-list\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Make an entity of the specified type and name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdestroy \fIentity-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the specified entity.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmodify \fIentity-name\fR [\fIproperty-list\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Change the listed properties on the named entity.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBassociate \fIpool-name\fR [\fIresource-list\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Connect one or more resources to a pool, or replace one or more existing
+connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtransfer to [\fIresourcetype\fR] \fIname\fR[\fIcomponent-list\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Transfer one or more discrete components to a resource .
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtransfer [\fIquantity\fR] from [\fIresourcetype\fR] [\fIsrc\fR] to
+[\fItgt\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Transfer a resource quantity from \fIsrc\fR to \fItgt\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtransfer [\fIquantity\fR] to [\fIresourcetype\fR] [\fItgt\fR] from
+[\fIsrc\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Transfer a resource quantity to \fItgt\fR from \fIsrc\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdiscover\fR
+.ad
+.sp .6
+.RS 4n
+Create a system entity, with one pool entity and resources to match current
+system configuration. All discovered resources of each resource type are
+recorded in the file, with the single pool referring to the default resource
+for each resource type.
+.sp
+This command is a NO-OP when \fBpoolcfg\fR operates directly on the kernel. See
+the \fB-d\fR option.
+.sp
+You should avoid use of this command. The preferred method for creating a
+configuration is to export the dynamic configuration using \fBpooladm\fR(1M)
+with the \fB-s\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrename \fIentity-name\fR to \fInew-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change the name of an entity on the system to its new name.
+.RE
+
+.SS "Property Lists"
+.sp
+.LP
+The property list is specified by:
+.sp
+.in +2
+.nf
+( proptype name = value [ ; proptype name = value ]* )
+.fi
+.in -2
+
+.sp
+.LP
+where the last definition in the sequence for a given proptype, name pair is
+the one that holds. For property deletion, use \fB~ proptype name\fR.
+.SS "Resource Lists"
+.sp
+.LP
+A resource list is specified by:
+.sp
+.in +2
+.nf
+( resourcetype name [ ; resourcetype name ]* )
+.fi
+.in -2
+
+.sp
+.LP
+where the last specification in the sequence for a resource is the one that
+holds. There is no deletion syntax for resource lists.
+.SS "Component Lists"
+.sp
+.LP
+A component list is specified by:
+.sp
+.in +2
+.nf
+( componenttype name [ ; componenttype name ]* )
+.fi
+.in -2
+
+.sp
+.LP
+where the last specification in the sequence for a component is the one that
+holds. There is no deletion syntax for component lists.
+.SS "Recognized Entities"
+.sp
+.ne 2
+.mk
+.na
+\fBsystem\fR
+.ad
+.RS 10n
+.rt
+Machine level entity
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpool\fR
+.ad
+.RS 10n
+.rt
+Named collection of resource associations
+.RE
+
+.SS "Resource Types"
+.sp
+.ne 2
+.mk
+.na
+\fBpset\fR
+.ad
+.RS 8n
+.rt
+Processor set resource
+.RE
+
+.SS "Property Types"
+.sp
+.ne 2
+.mk
+.na
+\fBboolean\fR
+.ad
+.RS 11n
+.rt
+Takes one of two values true or false.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBint\fR
+.ad
+.RS 11n
+.rt
+A 64-bit signed integer value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuint\fR
+.ad
+.RS 11n
+.rt
+A 64-bit unsigned integer value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstring\fR
+.ad
+.RS 11n
+.rt
+Strings are delimited by quotes (\fB"\fR), and support the character escape
+sequences defined in \fBformats\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfloat\fR
+.ad
+.RS 11n
+.rt
+Scientific notation is not supported.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRWriting a poolcfg Script
+.sp
+.LP
+The following \fBpoolcfg\fR script creates a pool named \fBAccounting\fR, and a
+processor set, \fBsmall-1\fR. The processor set is created first, then the pool
+is created and associated with the set.
+
+.sp
+.in +2
+.nf
+create pset small-1 ( uint pset.min = 1 ; uint pset.max = 4)
+create pool Accounting
+associate pool Accounting ( pset small-1 )
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRReporting on \fBpool_0\fR
+.sp
+.LP
+The following command reports on \fBpool_0\fR to standard output in human
+readable form:
+
+.sp
+.in +2
+.nf
+ # poolcfg -c 'info pool pool_0' /etc/pooladm.conf
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDestroying pool_0 and Its Associations
+.sp
+.LP
+The following command destroys \fBpool_0\fR and associations, but not the
+formerly associated resources:
+
+.sp
+.in +2
+.nf
+# poolcfg -c 'destroy pool pool_0' /etc/pooladm.conf
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisplaying the Current Configuration
+.sp
+.LP
+The following command displays the current configuration:
+
+.sp
+.in +2
+.nf
+$ poolcfg -c 'info' /etc/pooladm.conf
+system example_system
+ int system.version 1
+ boolean system.bind-default true
+ string system.comment Discovered by libpool
+
+ pool pool_default
+ boolean pool.default true
+ boolean pool.active true
+ int pool.importance 5
+ string pool.comment
+ string.pool.scheduler FSS
+ pset pset_default
+
+ pset pset_default
+ int pset.sys_id -1
+ string pset.units population
+ boolean pset.default true
+ uint pset.max 4294967295
+ uint pset.min 1
+ string pset.comment
+ boolean pset.escapable false
+ uint pset.load 0
+ uint pset.size 2
+
+ cpu
+ int cpu.sys_id 0
+ string cpu.comment
+
+ cpu
+ int cpu.sys_id 2
+ string cpu.comment
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRMoving cpu with ID 2 to Processor Set pset1 in the Kernel
+.sp
+.LP
+The following command moves \fBcpu\fR with ID \fB2\fR to processor set
+\fBpset1\fR in the kernel:
+
+.sp
+.in +2
+.nf
+# poolcfg -dc 'transfer to pset pset1 ( cpu 2 )'
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRMoving 2 cpus from Processor Set pset1 to Processor Set pset2
+in the Kernel
+.sp
+.LP
+The following command moves 2 \fBcpu\fRs from processor set \fBpset1\fR to
+processor set \fBpset2\fR in the kernel:
+
+.sp
+.in +2
+.nf
+# poolcfg -dc 'transfer 2 from pset pset1 to pset2'
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The invocation is Committed. The output is Uncommitted.
+.SH SEE ALSO
+.sp
+.LP
+\fBpooladm\fR(1M), \fBpoolbind\fR(1M), \fBlibpool\fR(3LIB),
+\fBattributes\fR(5), \fBformats\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/poold.1m b/usr/src/man/man1m/poold.1m
new file mode 100644
index 0000000000..0ed76b720d
--- /dev/null
+++ b/usr/src/man/man1m/poold.1m
@@ -0,0 +1,224 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH poold 1M "1 Dec 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+poold \- automated resource pools partitioning daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBpoold\fR [\fB-l\fR \fIlevel\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpoold\fR provides automated resource partitioning facilities. \fBpoold\fR
+can be enabled or disabled using the Solaris Service Management Facility,
+\fBsmf\fR(5). \fBpoold\fR requires the Resource Pools facility to be active in
+order to operate.
+.sp
+.LP
+The dynamic resource pools service's fault management resource identifier
+(FMRI) is:
+.sp
+.in +2
+.nf
+svc:/system/pools/dynamic
+.fi
+.in -2
+
+.sp
+.LP
+The resource pools service's FMRI is:
+.sp
+.in +2
+.nf
+svc:/system/pools
+.fi
+.in -2
+
+.sp
+.LP
+\fBpoold\fR's configuration details are held in a \fBlibpool\fR(3LIB)
+configuration and you can access all customizable behavior from this
+configuration.
+.sp
+.LP
+\fBpoold\fR periodically examines the load on the system and decides whether
+intervention is required to maintain optimal system performance with respect to
+resource consumption. \fBpoold\fR also responds to externally initiated (with
+respect to \fBpoold\fR) changes of either resource configuration or objectives.
+.sp
+.LP
+If intervention is required, \fBpoold\fR attempts to reallocate the available
+resources to ensure that performance objectives are satisfied. If it is not
+possible for \fBpoold\fR to meet performance objectives with the available
+resources, then a message is written to the log. \fBpoold\fR allocates scarce
+resources according to the objectives configured by the administrator. The
+system administrator must determine which resource pools are most deserving of
+scarce resource and indicate this through the importance of resource pools and
+objectives.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlevel\fR\fR
+.ad
+.RS 12n
+.rt
+Specify the vebosity level for logging information.
+.sp
+Specify \fIlevel\fR as \fBALERT\fR, \fBCRIT\fR, \fBERR\fR, \fBWARNING\fR,
+\fBNOTICE\fR, \fBINFO\fR, and \fBDEBUG\fR. If \fIlevel\fR is not supplied, then
+the default logging level is \fBINFO\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBALERT\fR\fR
+.ad
+.RS 11n
+.rt
+ A condition that should be corrected immediately, such as a corrupted system
+database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCRIT\fR\fR
+.ad
+.RS 11n
+.rt
+Critical conditions, such as hard device errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBERR\fR\fR
+.ad
+.RS 11n
+.rt
+Errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBWARNING\fR\fR
+.ad
+.RS 11n
+.rt
+Warning messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNOTICE\fR\fR
+.ad
+.RS 11n
+.rt
+ Conditions that are not error conditions, but that may require special
+handling.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINFO\fR\fR
+.ad
+.RS 11n
+.rt
+Informational messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEBUG\fR\fR
+.ad
+.RS 11n
+.rt
+Messages that contain information normally of use only when debugging a
+program.
+.RE
+
+.RE
+
+.sp
+.LP
+When invoked manually, with the \fB-l\fR option, all log output is directed to
+standard error.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRModifying the Default Logging Level
+.sp
+.LP
+The following command modifies the default logging level to \fBERR\fR:
+
+.sp
+.in +2
+.nf
+# /usr/lib/pool/poold -l ERR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fREnabling Dynamic Resource Pools
+.sp
+.LP
+The following command enables dynamic resource pools:
+
+.sp
+.in +2
+.nf
+# /usr/sbin/svcadm enable svc:/system/pools/dynamic
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The invocation is Evolving. The output is Unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBpooladm\fR(1M), \fBpoolbind\fR(1M), \fBpoolcfg\fR(1M), \fBpoolstat\fR(1M),
+\fBsvcadm\fR(1M), \fBpool_set_status\fR(3POOL), \fBlibpool\fR(3LIB),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/poolstat.1m b/usr/src/man/man1m/poolstat.1m
new file mode 100644
index 0000000000..2e01954a15
--- /dev/null
+++ b/usr/src/man/man1m/poolstat.1m
@@ -0,0 +1,438 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH poolstat 1M "16 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+poolstat \- report active pool statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBpoolstat\fR [\fB-p\fR \fIpool-list\fR] [\fB-r\fR \fIrset-list\fR] [\fB-T\fR u | d ] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.LP
+.nf
+\fBpoolstat\fR [\fB-p\fR \fIpool-list\fR] [\fB-o\fR \fIformat\fR \fB-r\fR \fIrset-list\fR]
+ [\fB-T\fR u | d ] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpoolstat\fR utility iteratively examines all active pools on the system.
+It reports statistics based on the selected output mode. \fBpoolstat\fR
+provides options to examine only specified pools and report resource
+set-specific statistics.
+.sp
+.LP
+Without options, \fBpoolstat\fR examines all pools, reports basic statistics
+for their resource sets, and exits.
+.SS "DISPLAY FORMATS"
+.sp
+.LP
+In default output format, \fBpoolstat\fR outputs a header line and a line for
+each pool. The line begins with the pool ID and its name, followed by a column
+of statistical data for the processor set attached to the pool.
+.sp
+.LP
+The columns are defined as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBid\fR\fR
+.ad
+.RS 8n
+.rt
+Pool ID.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpool\fR\fR
+.ad
+.RS 8n
+.rt
+Pool name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrid\fR\fR
+.ad
+.RS 8n
+.rt
+Resource set id.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrset\fR\fR
+.ad
+.RS 8n
+.rt
+Resource set name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtype\fR\fR
+.ad
+.RS 8n
+.rt
+Resource set type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmin\fR\fR
+.ad
+.RS 8n
+.rt
+Minimum resource set size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmax\fR\fR
+.ad
+.RS 8n
+.rt
+Maximum resource set size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsize\fR\fR
+.ad
+.RS 8n
+.rt
+Current resource set size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBused\fR\fR
+.ad
+.RS 8n
+.rt
+The measure of how much of the resource set is currently is use. This is
+calculated as the percentage utilization of the resource set multiplied by its
+size. If resource set has been reconfigured during last sampling interval, this
+value might be not reported (\fB-\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBload\fR\fR
+.ad
+.RS 8n
+.rt
+The absolute representation of the load that is put on the resource set. For
+the definition of this property see \fBlibpool\fR(3LIB).
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIformat\fR\fR
+.ad
+.RS 16n
+.rt
+Report statistics according to the format specification given in format. See
+\fBDISPLAY FORMATS\fR.
+.sp
+The \fB-o\fR option accepts lists as arguments. Items in a list can be either
+separated by commas or enclosed in quotes and separated by commas or spaces.
+.sp
+You can specify multiple \fB-o\fR options. The format specification is
+interpreted as the whitespace separated concatenation of all the format option
+arguments.
+.sp
+The \fB-o\fR option must be used in conjunction with the \fB-r\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpool-list\fR\fR
+.ad
+.RS 16n
+.rt
+Report only pools whose names are in the given list. If the -r option is also
+used, this option selects only resource sets which belong to pools in the given
+list. Statistics for pools or resource sets are reported in the same order in
+which pool names are listed on the pool-list. Pool can be specified by name or
+by ID.
+.sp
+The \fB-p\fR option accepts lists as arguments. Items in a \fIpool-list\fR can
+only be separated by spaces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrset-list\fR\fR
+.ad
+.RS 16n
+.rt
+Report resource set statistics. If the \fIrset-list\fR argument is "\fBall\fR",
+then all possible resource set types are selected.
+.sp
+The \fB-r\fR option accepts lists as arguments. Items in a list can be either
+separated by commas or enclosed in quotes and separated by commas or spaces.
+.sp
+The following resource set types are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.RS 8n
+.rt
+All resource set types
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpset\fR\fR
+.ad
+.RS 8n
+.rt
+Processor set
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.RS 16n
+.rt
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 12n
+.rt
+The number of times that the statistics are repeated. By default, poolstat
+reports statistics only once.
+.sp
+If neither interval nor count are specified, statistics are reported once. If
+interval is specified and count is not, statistics are reported indefinitely.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 12n
+.rt
+The sampling interval in seconds.
+.sp
+If neither interval nor count are specified, statistics are reported once. If
+interval is specified and count is not, statistics are reported indefinitely.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBpoolstat\fR
+.sp
+.LP
+The following example shows the default output from the \fBpoolstat\fR utility:
+
+.sp
+.in +2
+.nf
+% poolstat
+ pset
+ id pool size used load
+ 0 pool_default 4 3.6 6.2
+ 1 pool_admin 4 3.3 8.4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRReporting Resource Set Statistics
+.sp
+.LP
+The following example reports resource set statistics.
+
+.sp
+.in +2
+.nf
+
+% poolstat -r pset
+ id pool type rid rset min max size used load
+ 0 pool_default pset -1 pset_default 1 65K 2 1.2 8.3
+ 1 pool_admin pset 1 pset_admin 1 1 1 0.4 5.2
+ 2 pool_other pset -1 pset_default 1 65K 2 1.2 8.3
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Resource sets attached to multiple pools, as \fBpset_default\fR in the example
+above, are listed multiple times, once for each pool.
+
+.LP
+\fBExample 3 \fRRestricting the Output to the List of Pools
+.sp
+.LP
+The following example restricts the output to the list of pools
+
+.sp
+.in +2
+.nf
+% poolstat -p pool_default
+ pset
+ id pool size used load
+ 0 pool_default 8 5.3 10.3
+
+% poolstat -p 'pool_admin pool_default'
+ pset
+ id pool size used load
+ 1 pool_admin 6 4.3 5.3
+ 0 pool_default 2 1.9 2.0
+
+% poolstat -r all -p 'pool_admin pool_default'
+ id pool type rid rset min max size used load
+ 1 pool_admin pset 1 pset_admin 1 1 1 0.9 2.3
+ 2 pool_default pset -1 pset_default 1 65K 2 2.0 2.0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRCustomizing Output
+.sp
+.LP
+The following example customizes output:
+
+.sp
+.in +2
+.nf
+% poolstat -r -o pool,rset,size,load
+ pool rset size load
+ pool_default pset_default 4 4.5
+ pool_admin pset_admin 4 2.1
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibpool\fR(3LIB), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The system ids associated with resources can change after the system reboots or
+the resource configuration is altered.
diff --git a/usr/src/man/man1m/ports.1m b/usr/src/man/man1m/ports.1m
new file mode 100644
index 0000000000..044254b1b8
--- /dev/null
+++ b/usr/src/man/man1m/ports.1m
@@ -0,0 +1,304 @@
+'\" te
+.\" Copyright (c) 2002 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ports 1M "8 Nov 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ports \- creates /dev entries and inittab entries for serial lines
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ports\fR [\fB-r\fR \fIrootdir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevfsadm\fR(1M) is now the preferred command for \fB/dev\fR and
+\fB/devices\fR and should be used instead of \fBports\fR.
+.sp
+.LP
+The \fBports\fR command creates symbolic links in the \fB/dev/term\fR and
+\fB/dev/cua\fR directories to the serial-port character device files in
+\fB/devices\fR and adds new entries in \fB/etc/inittab\fR for non-system ports
+found. System-board ports are given single lower-case letters for names (such
+as \fBa\fR and \fBb\fR) while other ports are named numerically.
+.sp
+.LP
+\fBports\fR searches the kernel device tree to find the serial devices attached
+to the system. It also checks \fB/dev/term\fR and \fB/dev/cua\fR to see what
+symbolic links to serial devices already exist. \fBports\fR then performs the
+following:
+.RS +4
+.TP
+1.
+Assigns new numbers (or letters for system-board ports) to ports that are
+attached to the system but do not have \fB/dev/term\fR and \fB/dev/cua\fR
+entries. The numbers or letters assigned are the lowest-unused numbers or
+letters.
+.RE
+.RS +4
+.TP
+2.
+Removes dangling links: links from \fB/dev/term\fR and \fB/dev/cua\fR
+pointing to no-longer-existing ports.
+.RE
+.RS +4
+.TP
+3.
+Creates new \fB/dev/term\fR and \fB/dev/cua\fR links for new serial devices.
+.RE
+.RS +4
+.TP
+4.
+Invokes \fBsacadm\fR(1M) to make new port monitor entries for the new
+devices. This is not done automatically for on-board ports; on workstations
+these ports are often not used for dial-in sessions, so a port-monitor for one
+of these ports must be created explicitly.
+.RE
+.sp
+.LP
+If the configuration has not changed, ports exits without doing anything.
+.SS "Notice to Driver Writers"
+.sp
+.LP
+\fBports\fR considers devices with a node type of \fBDDI_NT_SERIAL,\fR
+\fBDDI_NT_SERIAL_MB,\fR \fBDDI_NT_SERIAL_DO,\fR or \fBDDI_NT_SERIAL_MB_DO\fR to
+be serial port devices. Devices with one of these node types must create minor
+device names that obey the following conventions when calling
+\fBddi_create_minor_node\fR(9F).
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The minor name for non-system port devices (\fBDDI_NT_SERIAL\fR) consists of an
+\fBASCII\fR numeric string, where the first port on the device is named
+\fB0\fR, the second named \fB1\fR, the third named \fB2\fR, up to the number of
+ports provided by the device.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The minor name for non-system dialout devices (\fBDDI_NT_SERIAL_DO\fR) is the
+\fBASCII\fR numeric port name, concatenated with \fB,cu\fR. For example, the
+minor name for the first dialout port on the serial board is \fB0,cu\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The minor name for system-board port devices (\fBDDI_NT_SERIAL_MB\fR) consists
+of a string containing a single \fBASCII\fR lowercase character, where the
+first port on the device is named \fBa\fR, the second is named \fBb\fR, the
+third is named \fBc\fR, for all ports on the device (or up through port
+\fBz\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The minor name for system-board dialout devices (\fBDDI_NT_SERIAL_MB_DO\fR)
+consists of the lowercase character port name, concatenated with \fB,cu\fR. For
+example, the minor name for the first dialout port on the on-board serial
+device is \fBa,cu\fR.
+.RE
+.sp
+.LP
+To prevent \fBdisks\fR from attempting to automatically generate links for a
+device, drivers must specify a private node type and refrain from using one of
+the above node types when calling \fBddi_create_minor_node\fR(9F).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fI rootdir\fR\fR
+.ad
+.RS 14n
+.rt
+Causes \fBports\fR to presume that the \fB/dev/term\fR, \fB/dev/cua\fR, and
+\fB/devices\fR directories are found under \fIrootdir\fR, not directly under
+\fB/\fR. If this argument is specified, \fBsacadm\fR(1M) is not invoked, since
+it would update terminal administration files under \fB/etc\fR without regard
+to the \fIrootdir\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating the Serial and Dialout Minor Device Nodes
+.sp
+.LP
+The following example creates the serial and dialout minor device nodes from
+the \fBxkserial\fR driver's \fBattach\fR(9E) function:
+
+.sp
+.in +2
+.nf
+/*
+* Create the minor number by combining the instance number
+* with the port number.
+*/ #define XKNUMPORTS 8
+#define XKMINORNUM(i, p) ((i) << 4 | (p))
+#define XKMINORNUM_DO(i, p) ((i) << 4 | (p) | 0x80)
+int
+xkserialattach(dev_info_t *dip, ddi_attach_cmd_t cmd)
+{
+ int instance, portnum;
+ char name[8];
+ /* other stuff in attach... */
+ instance = ddi_get_instance(dip);
+ for (portnum = 0; portnum < XKNUMPORTS; portnum++) {
+ /*
+ * create the serial port device
+ */
+ sprintf(name, "%d", portnum);
+ ddi_create_minor_node(dip, name, S_IFCHR,
+ XKMINORNUM(instance, portnum), DDI_NT_SERIAL, 0);
+
+ /*
+ * create the dialout device
+ */
+ sprintf(name,"%d,cu", portnum);
+ ddi_create_minor_node(dip, name, S_IFCHR,
+ XKMINORNUM_DO(instance, portnum), DDI_NT_SERIAL_DO, 0);
+ }
+}
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRInstalling the \fBxkserial\fR Port Driver on a Sun Fire 4800
+.sp
+.LP
+The following example installs the \fBxkserial\fR port driver on a Sun Fire
+4800 (with the driver controlling the fictional XKSerial 8 port serial board),
+with these special files in \fB/devices\fR:
+
+.sp
+.in +2
+.nf
+# ls -l /devices/ssm@0,0/pci@18,700000/pci@1/xkserial@f,800000/
+crw-r----- 1 root sys 32, 16 Aug 29 00:02 xkserial@2000:0
+crw-r----- 1 root sys 32, 144 Aug 29 00:02 xkserial@2000:0,cu
+crw-r----- 1 root sys 32, 17 Aug 29 00:02 xkserial@2000:1
+crw-r----- 1 root sys 32, 145 Aug 29 00:02 xkserial@2000:1,cu
+crw-r----- 1 root sys 32, 18 Aug 29 00:02 xkserial@2000:2
+crw-r----- 1 root sys 32, 146 Aug 29 00:02 xkserial@2000:2,cu
+crw-r----- 1 root sys 32, 19 Aug 29 00:02 xkserial@2000:3
+crw-r----- 1 root sys 32, 147 Aug 29 00:02 xkserial@2000:3,cu
+crw-r----- 1 root sys 32, 20 Aug 29 00:02 xkserial@2000:4
+crw-r----- 1 root sys 32, 148 Aug 29 00:02 xkserial@2000:4,cu
+crw-r----- 1 root sys 32, 21 Aug 29 00:02 xkserial@2000:5
+crw-r----- 1 root sys 32, 149 Aug 29 00:02 xkserial@2000:5,cu
+crw-r----- 1 root sys 32, 22 Aug 29 00:02 xkserial@2000:6
+crw-r----- 1 root sys 32, 150 Aug 29 00:02 xkserial@2000:6,cu
+crw-r----- 1 root sys 32, 23 Aug 29 00:02 xkserial@2000:7
+crw-r----- 1 root sys 32, 151 Aug 29 00:02 xkserial@2000:7,cu
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fB/dev/term\fR contain symbolic links to the serial port device nodes in
+\fB/devices\fR
+
+.sp
+.in +2
+.nf
+# ls -l /dev/term
+/dev/term/0 -> ../../devices/[....]/xkserial@2000:0
+/dev/term/1 -> ../../devices/[....]/xkserial@2000:1
+/dev/term/2 -> ../../devices/[....]/xkserial@2000:2
+/dev/term/3 -> ../../devices/[....]/xkserial@2000:3
+/dev/term/4 -> ../../devices/[....]/xkserial@2000:4
+/dev/term/5 -> ../../devices/[....]/xkserial@2000:5
+/dev/term/6 -> ../../devices/[....]/xkserial@2000:6
+/dev/term/7 -> ../../devices/[....]/xkserial@2000:7
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+and \fB/dev/cua\fR contain symbolic links to the dialout port device nodes in
+\fB/devices\fR
+
+.sp
+.in +2
+.nf
+# ls -l /dev/cua
+
+/dev/cua/0 -> ../../devices/[....]/xkserial@2000:0,cu
+/dev/cua/1 -> ../../devices/[....]/xkserial@2000:1,cu
+/dev/cua/2 -> ../../devices/[....]/xkserial@2000:2,cu
+/dev/cua/3 -> ../../devices/[....]/xkserial@2000:3,cu
+/dev/cua/4 -> ../../devices/[....]/xkserial@2000:4,cu
+/dev/cua/5 -> ../../devices/[....]/xkserial@2000:5,cu
+/dev/cua/6 -> ../../devices/[....]/xkserial@2000:6,cu
+/dev/cua/7 -> ../../devices/[....]/xkserial@2000:7,cu
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/term/\fR\fIn\fR\fR
+.ad
+.RS 16n
+.rt
+Logical serial port devices
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/cua/\fR\fIn\fR\fR
+.ad
+.RS 16n
+.rt
+Logical dialout port devices
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inittab\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/*\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBadd_drv\fR(1M), \fBdevfsadm\fR(1M), \fBdrvconfig\fR(1M), \fBpmadm\fR(1M),
+\fBsacadm\fR(1M), \fBattributes\fR(5), \fBdevfs\fR(7FS), \fBattach\fR(9E),
+\fBddi_create_minor_node\fR(9F)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/powerd.1m b/usr/src/man/man1m/powerd.1m
new file mode 100644
index 0000000000..9c3ebb65e8
--- /dev/null
+++ b/usr/src/man/man1m/powerd.1m
@@ -0,0 +1,80 @@
+'\" te
+.\" Copyright (c) 1999, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH powerd 1M "15 Oct 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+powerd \- power manager daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/power/powerd\fR [\fB-n\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpowerd\fR daemon is started by \fBpmconfig\fR(1M) to monitor system
+activity and perform an automatic shutdown using the suspend-resume feature.
+When the system is suspended, complete current state is saved on the disk
+before power is removed. On reboot, the system automatically starts a resume
+operation and the system is restored to the same state it was in immediately
+prior to suspend.
+.sp
+.LP
+Immediately prior to system shutdown, the daemon notifies \fBsyslogd\fR(1M) of
+the shutdown, which broadcasts a notification.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+No broadcast mode. The daemon silently shuts down the system without notifying
+\fBsyslogd\fR(1M).
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/power.conf\fR\fR
+.ad
+.RS 19n
+.rt
+Power Management configuration information file
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface Stability Unstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpmconfig\fR(1M), \fBdtpower\fR(1M), \fBsyslogd\fR(1M), \fBpower.conf\fR(4),
+\fBattributes\fR(5), \fBcpr\fR(7), \fBpm\fR(7D)
+.sp
+.LP
+\fIUsing Power Management\fR
diff --git a/usr/src/man/man1m/powertop.1m b/usr/src/man/man1m/powertop.1m
new file mode 100644
index 0000000000..274b84288f
--- /dev/null
+++ b/usr/src/man/man1m/powertop.1m
@@ -0,0 +1,251 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH powertop 1M "19 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+powertop \- report and analyze events that affect power management
+.SH SYNOPSIS
+.LP
+.nf
+\fBpowertop\fR [\fB-c\fR \fIprocessor_id\fR] [\fB-d\fR \fIcount\fR] [\fB-t\fR \fIinterval\fR] [\fB-v\fR] [\fB-h\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBPowerTOP\fR is an observability tool that shows how effectively the system
+is taking advantage of the CPU's power management features. By running the tool
+on an otherwise idle system, the user can see for how long the CPU is running
+at dif- ferent power states. Ideally, an unutilized (idle) system spends 100%
+of its time running at the lowest power state, but because of background user
+and kernel activity (random software periodically waking to poll status), idle
+systems can consume more power than they should.
+.sp
+.LP
+The tool analyzes system activity periodically and displays a summary of how
+long the processor is executing at each supported power state. It also displays
+the top activities responsible for causing the CPU to wake up and use more
+energy. This report allows the user to identify and diagnose problematic areas
+of the system and optimize its power efficiency.
+.sp
+.LP
+\fBPowerTOP\fR averages the amount of activity that is preventing the CPU from
+entering a lower power state and presents it on the "Wakeups-from-idle per
+second" field. This value represents the total number of wake-ups divided by
+the current interval. Notice that not all events are displayed on the screen at
+all times.
+.sp
+.LP
+During execution, a user can force a refresh of the analysis by pressing the
+\fBR\fR key. The interval time is restored to the default or to a specified
+value. To quit the application, the user must press the \fBQ\fR key.
+.sp
+.LP
+If you are running as root (superuser) or in the Primary Administrator role,
+the tool makes suggestions as how the system can be improved from a power
+management perspective.
+.sp
+.LP
+PowerTOP allows you to freeze each of its three subwindows, enabling you to
+better analyze each subwindow's contents. when you have three different DTrace
+scripts running at the same time, freezing subwindows lowers CPU consumption .
+This feature is activated by pressing the \fBi\fR, \fBf\fR, or \fBe\fR key
+while the tool running. Pressing one of these keys freezes the idle,
+frequency, or event report, respectively. Pressing it once more, unfreezes it.
+This feature is most useful when invoked while the application being analyzed
+is running.
+.sp
+.LP
+\fBPowerTOP\fR runs on \fBxVM\fR(5) domains. However, the report for idle state
+transitions might or might not be accurate as the physical CPU can be shared by
+different virtual CPUs. Both wakeup count and event report displays information
+regarding the current virtualized environment.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR [\fIprocessor_id\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies which CPU the tool should observe.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR [\fIcount\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Dumps the results of \fIcount\fR analysis of system activity to the screen.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the command's usage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR [\fIinterval\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the interval, in seconds, at which the tool analyzes the system. The
+possible values are between 1 and 100; the default is 5 seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Switches to verbose mode, including noting firings of the kernel cyclic
+subsystem in the event report.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting the Interval
+.sp
+.LP
+The following command sets the interval to two seconds.
+
+.sp
+.in +2
+.nf
+% \fBpowertop -t 2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAnalyzing and Dumping System Activity
+.sp
+.LP
+The following command analyzes and dumps system activity to the standard output
+four times.
+
+.sp
+.in +2
+.nf
+% \fBpowertop -d 4\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRReporting Cyclic Subsystem Activity
+.sp
+.LP
+The following command reports cyclic subsystem activity.
+
+.sp
+.in +2
+.nf
+% \fBpowertop -v\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRAnalyzing Activity on a Specific Processor
+.sp
+.LP
+The following command runs PowerTOP and only displays data for CPU 3:
+
+.sp
+.in +2
+.nf
+% \fBpowertop -c 3\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Incorrect usage.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Architecturex86, SPARC
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkstat\fR(1M), \fBpmconfig\fR(1M), \fBpowerd\fR(1M), \fBpsrinfo\fR(1M),
+\fBuadmin\fR(2), \fBlibdevinfo\fR(3LIB), \fBattributes\fR(5), \fBxVM\fR(5),
+\fBcpr\fR(7), \fBpm\fR(7D), \fBpm-components\fR(9P), \fBremovable-media\fR(9P)
+.sp
+.LP
+Among non-SunOS man pages, \fBxscreensaver(1)\fR and \fBdtpower(1M)\fR.
+.SH USAGE
+.sp
+.LP
+You must have \fBDTrace\fR privileges to run \fBPowerTOP\fR and root
+(superuser) privileges or assume the Primary Administrator role for the tool to
+suggest improvements to the system.
diff --git a/usr/src/man/man1m/ppdmgr.1m b/usr/src/man/man1m/ppdmgr.1m
new file mode 100644
index 0000000000..d0d416b32d
--- /dev/null
+++ b/usr/src/man/man1m/ppdmgr.1m
@@ -0,0 +1,338 @@
+'\" te
+.\" Copyright (c) 2007 by Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ppdmgr 1M "9 Mar 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ppdmgr \- utility for managing PPD files
+.SH SYNOPSIS
+.LP
+.nf
+\fBppdmgr\fR \fB-a\fR \fIppd_filename_path\fR [\fB-L\fR \fIlabel\fR] [\fB-R\fR \fIppd_repository_name\fR] [\fB-w\fR]
+.fi
+
+.LP
+.nf
+\fBppdmgr\fR \fB-r\fR [\fB-L\fR \fIlabel\fR] [\fB-R\fR \fIppd_repository_name\fR]
+.fi
+
+.LP
+.nf
+\fBppdmgr\fR \fB-u\fR [\fB-L\fR \fIlabel\fR] [\fB-R\fR \fIppd_repository_name\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The PPD File Manager adds PPD files to the print system's PPD file
+repositories. When changes in the PPD file repositories are made by the
+utility, they are reflected in the Solaris Print Manager (see
+\fBprintmgr\fR(1M)) GUI printer driver field when adding or modifying local
+attached or network attached printers.
+.sp
+.LP
+Multiple PPD file repositories may be available. PPD files that are supplied
+with the system are available in the "\fBsystem\fR" repository. PPD files that
+are supplied by third party vendors may be available in the "\fBvendor\fR"
+repository. PPD files that are supplied by system administrators may be
+available in the "\fBadmin\fR" repository, and PPD files that are added using
+this utility are available in the "user" repository. When this utility is used
+to update or rebuild printer information reflected in the \fBprintmgr\fR(1M),
+the special reserved repository name "\fBall\fR" can be used to specify all of
+the available PPD file repositories.
+.sp
+.LP
+PPD files are grouped under a user-provided "label" within the print system's
+PPD file repository to allow easier selection of a printer driver through the
+\fBprintmgr\fR GUI. The special reserved label name "\fBall\fR" can be used to
+specify all of the available labels in a PPD file repository. The results are
+undefined if a label name contains characters that are not in the portable
+filename character set or if a label name starts with a hyphen (-). A label
+name may not contain a semi-colon (:).
+.SH OPTIONS
+.sp
+.LP
+The following subcommand are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIppd_file_path\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a copy of \fIppd_file_path\fR to the system under the specified label in
+the specified repository, where \fIppd_file_path\fR is the full path and file
+name to the PPD file. The utility accepts a valid PPD file with either a
+\fB\&.ppd\fR or \fB\&.ppd.gz\fR (gzipped) extension.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR \fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a label to group PPD files under. When specified with the \fB-a\fR
+option, the default label is "\fBuser\fR". When specified with the \fB-r\fR or
+\fB-u\fR option, the default label is "\fBall\fR". The following are reserved
+labels:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcaches\fR\fR
+.ad
+.RS 16n
+.rt
+may never be specified
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBppdcache\fR\fR
+.ad
+.RS 16n
+.rt
+may never be specified
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmanufaliases\fR\fR
+.ad
+.RS 16n
+.rt
+may never be specified
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall\fR\fR
+.ad
+.RS 16n
+.rt
+applies the specified action to all labels in a repository, and may only be
+specified with the \fB-r\fR or \fB-u\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSUNW*\fR\fR
+.ad
+.RS 16n
+.rt
+anything starting with \fBSUNW\fR is reserved and should not be specified with
+the \fB-a\fR option.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIrepository_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of a PPD file repository representing one of the PPD file
+installation locations. Possible repository names include: "\fBuser\fR",
+"\fBadmin\fR", "\fBvendor\fR", "\fBsystem\fR", and "\fBall\fR".
+.sp
+The repository name "\fBall\fR" signifies all of the possible repository names.
+The default repository name is "\fBuser\fR". Only the "\fBuser\fR" or
+"\fBadmin\fR" repository may be specified with the \fB-a\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Rebuilds the cache information for the specified label in the specified
+repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Updates the cache information for the specified label in the specified
+repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write the full path of the added PPD file. This option is only valid with the
+\fB-a\fR option. Otherwise, this option is ignored.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a copy of a PPD file to the repository
+.sp
+.LP
+The following commands add a copy of a PPD file to the "\fBuser\fR" repository
+under the "\fBuser\fR" label:
+
+.sp
+.in +2
+.nf
+# ppdmgr -a /net/somesystem/ppdfiles/ppdfile.ppd
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+or
+
+.sp
+.in +2
+.nf
+# ppdmgr -a /net/somesystem/ppdfiles/ppdfile.ppd -L user
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command adds a copy of a PPD file to the "\fBuser\fR" repository
+under the "\fBPhoto\fR" label and write the full path of the added copy to
+standard output:
+
+.sp
+.in +2
+.nf
+# ppdmgr -a /net/somesystem/ppdfiles/ppdfile.ppd -L "Photo" -w
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUpdating the cache for the PPD files
+.sp
+.LP
+The following commands update the cache for the PPD files under the "\fBall\fR"
+labels in the "\fBuser\fR" repository:
+
+.sp
+.in +2
+.nf
+ # ppdmgr -u
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+or
+
+.sp
+.in +2
+.nf
+ # ppdmgr -u -R user -L all
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command updates the cache for the PPD files under the "photo"
+label in the "\fBuser\fR" repository:
+
+.sp
+.in +2
+.nf
+ # ppdmgr -u -R user -L Photo
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRebuilding the cache for the PPD files
+.sp
+.LP
+The following command rebuilds the cache for the PPD files under the "Photo"
+label in the "\fBuser\fR" repository:
+
+.sp
+.in +2
+.nf
+# ppdmgr -r -R user -L Photo
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBprintmgr\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/pppd.1m b/usr/src/man/man1m/pppd.1m
new file mode 100644
index 0000000000..9bd263390d
--- /dev/null
+++ b/usr/src/man/man1m/pppd.1m
@@ -0,0 +1,3020 @@
+'\" te
+.\" Copyright (c) 1989 Carnegie Mellon University. All rights reserved.
+.\" Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by Carnegie Mellon University. The name of the University may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+.\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\" Portions Copyright (c) 2008, Sun Microsystems, Inc. All Right Reserved.
+.TH pppd 1M "21 Nov 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pppd \- point to point protocol daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBpppd\fR [\fItty_name\fR] [\fIspeed\fR] [\fIoptions\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The point-to-point protocol (PPP) provides a method for transmitting datagrams
+over serial point-to-point links. PPP is composed of three components: a
+facility for encapsulating datagrams over serial links, an extensible link
+control protocol (LCP), and a family of network control protocols (NCP) for
+establishing and configuring different network-layer protocols.
+.sp
+.LP
+The encapsulation scheme is provided by driver code in the kernel. \fBpppd\fR
+provides the basic LCP authentication support and several NCPs for establishing
+and configuring the Internet Protocol (referred to as the IP Control Protocol
+or "IPCP") and IPv6 (IPV6CP).
+.SH OPTIONS
+.sp
+.LP
+The following sections discuss the \fBpppd\fR options:
+.SS "Options Files"
+.sp
+.LP
+Options are taken from files and the command line. \fBpppd\fR reads options
+from the files \fB/etc/ppp/options\fR, \fB$HOME/.ppprc\fR and
+\fB/etc/ppp/options.\fR\fIttyname\fR (in that order) before processing the
+options on the command line. (Command-line options are scanned for the terminal
+name before the \fBoptions\fR.\fIttyname\fR file is read.) To form the name of
+the \fBoptions\fR.\fIttyname\fR file, the initial \fB/dev/\fR is removed from
+the terminal name, and any remaining forward slash characters (/) are replaced
+with dots. For example, with serial device \fB/dev/cua/a\fR, option file
+\fB/etc/ppp/options.cua.a\fR is read.
+.sp
+.LP
+An options file is parsed into a series of words that are delimited by
+whitespace. Whitespace can be included in a word by enclosing the word in
+double-quotes ("). A backslash (\e) quotes the succeeding character. A hash (#)
+starts a comment, which continues until the end of the line. There is no
+restriction on using the \fBfile\fR or \fBcall\fR options within an options
+file.
+.SS "Frequently Used Options"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB<tty_name>\fR \fR
+.ad
+.RS 23n
+.rt
+Communicate over the named device. The string \fB/dev/\fR is prepended if
+necessary. If no device name is given, or if the name of the terminal connected
+to the standard input is given, \fBpppd\fR uses that terminal and does not fork
+to put itself in the background. A value for this option from a privileged
+source cannot be overridden by a non-privileged user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB<speed>\fR \fR
+.ad
+.RS 23n
+.rt
+Set the baud rate to <\fBspeed\fR> (a decimal number). The default is to leave
+the baud rate unchanged. This option is normally needed for dial-out only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBasyncmap\fR \fB\fI<map>\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Set the \fBasync\fR character map to \fI<map>\fR\&. The map describes which
+control characters cannot be successfully received over the serial line.
+\fBpppd\fR asks the peer to send these characters as a 2-byte escape sequence.
+The argument is a 32 bit hex number, with each bit representing a character to
+escape. Bit 0 (00000001) represents the character 0x00; bit 31 (80000000)
+represents the character 0x1f or ^_. If multiple \fBasyncmap\fR options are
+given, the values are \fBORed\fR together. If no \fBasyncmap\fR option is
+given, \fBpppd\fR attempts to negotiate a value of 0. If the peer agrees, this
+disables escaping of the standard control characters. Use the
+\fBdefault-asyncmap\fR option to disable negotiation and escape all control
+characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauth\fR \fR
+.ad
+.RS 23n
+.rt
+Require the peer to authenticate itself before allowing network packets to be
+sent or received. This option is the default if the system has a default route.
+If the \fBauth\fR or the \fBnoauth\fR option is not specified, \fBpppd\fR
+allows the peer to use only those IP addresses to which the system does not
+already have a route.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcall\fR \fB\fIname\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Read options from the file \fB/etc/ppp/peers/\fR\fIname\fR. This file may
+contain privileged options, including \fBnoauth\fR, even if \fBpppd\fR is not
+being run by root. The \fIname\fR string may not begin with a slash ("/") or
+include consecutive periods \fB("..")\fR as a pathname component.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcallback\fR \fB\fInumber\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Request a callback to the given telephone number using Microsoft CBCP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnect\fR \fB\fIscript\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Use the executable or shell command specified by \fIscript\fR to set up the
+serial line. This script would typically use the \fBchat\fR(1M) program to dial
+the modem and start the remote \fBPPP\fR session. A value for this option
+originating from a privileged source cannot be overridden by a non-privileged
+user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcrtscts\fR \fR
+.ad
+.RS 23n
+.rt
+Use hardware flow control, that is, RTS/CTS, to control the flow of data on the
+serial port. If the \fBcrtscts\fR, \fBnocrtscts\fR, \fBcdtrcts\fR or
+\fBnocdtrcts\fR option is not provided, the hardware flow control setting for
+the serial port is left unchanged. Some serial ports lack a true RTS output and
+use this mode to implement unidirectional flow control. The serial port
+suspends transmission when requested by the modem by means of CTS but cannot
+request the modem to stop sending to the computer. This mode allows the use of
+DTR as a modem control line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefaultroute\fR \fR
+.ad
+.RS 23n
+.rt
+Add a default route to the system routing tables when IPCP negotiation
+successfully completes, using the peer as the gateway. This entry is removed
+when the \fBPPP\fR connection is broken. This option is privileged if the
+\fBnodefaultroute\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisconnect\fR \fB \fIscript\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Run the executable or shell command specified by \fIscript\fR after \fBpppd\fR
+terminates the link. Typically, this script is used to command the modem to
+hang up if hardware modem control signals are not available. \fBdisconnect\fR
+is not run if the modem has already hung up. A value for this option
+originating from a privileged source cannot be overridden by a non-privileged
+user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBescape\fR \fB\fIxx,yy,...\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Specifies that certain characters be escaped on transmission regardless of
+whether the peer requests them to be escaped with its \fBasync\fR control
+character map. The characters to be escaped are specified as a list of hex
+numbers separated by commas. Note that almost any character can be specified
+for the \fBescape\fR option, unlike the \fBasyncmap\fR option which allows only
+control characters to be specified. Characters that cannot be escaped are those
+containing hex values 0x20 through 0x3f and 0x5e.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR \fB\fIname\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Read options from file \fIname\fR. If this option is used on the command line
+or in \fB$HOME/.ppprc\fR, the file must be readable by the user invoking
+\fBpppd\fR. See for a list of files that \fBpppd\fR always reads, regardless
+of the use of this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinit\fR \fB \fIscript\fR \fR \fR
+.ad
+.RS 23n
+.rt
+Run the executable or shell command specified by \fIscript\fR to initialize the
+serial line. This script would typically use the \fBchat\fR(1M) program to
+configure the modem to enable auto-answer. A value for this option from a
+privileged source cannot be overridden by a non-privileged user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlock\fR \fR
+.ad
+.RS 23n
+.rt
+Directs \fBpppd\fR to create a UUCP-style lock file for the serial device to
+ensure exclusive access to the device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmru\fR \fB\fIn\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Set the Maximum Receive Unit (MRU) value to \fIn\fR. \fBpppd\fR asks the peer
+to send packets of no more than \fIn\fR bytes. Minimum MRU value is 128.
+Default MRU value is 1500. A value of 296 is recommended for slow links (40
+bytes for TCP/IP header + 256 bytes of data). For IPv6, MRU must be at least
+1280.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmtu\fR \fB\fIn\fR\fR \fR
+.ad
+.RS 23n
+.rt
+Set the Maximum Transmit Unit (MTU) value to \fIn\fR. Unless the peer requests
+a smaller value via MRU negotiation, \fBpppd\fR requests the kernel networking
+code to send data packets of no more than \fIn\fR bytes through the PPP network
+interface. For IPv6, MTU must be at least 1280.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpassive\fR \fR
+.ad
+.RS 23n
+.rt
+Enables the "passive" option in the LCP. With this option, \fBpppd\fR attempts
+to initiate a connection; if no reply is received from the peer, \fBpppd\fR
+waits passively for a valid LCP packet instead of exiting, as it would without
+this option.
+.RE
+
+.SS "Options"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB<local_IP_address>:<remote_IP_address>\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the local and/or remote interface IP addresses. Either one may be omitted,
+but the colon is required. The IP addresses are specified with a host name or
+in decimal dot notation, for example: \fB:10.1.2.3\fR. The default local
+address is the first IP address of the system unless the \fBnoipdefault\fR
+option is provided. The remote address is obtained from the peer if not
+specified in any option. Thus, in simple cases, this option is not required. If
+a local and/or remote IP address is specified with this option, \fBpppd\fR will
+not accept a different value from the peer in the IPCP negotiation unless the
+\fBipcp-accept-local\fR and/or \fBipcp-accept-remote\fR options are given,
+respectively.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBallow-fcs\fR \fB\fIfcs-type\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set allowable FCS type(s) for data sent to the peer. The \fIfcs-type\fR is a
+comma-separated list of "crc16", "crc32", "null", or integers. By default, all
+known types are allowed. If this option is specified and the peer requests a
+type not listed, a LCP Configure-Nak is sent to request only the listed types.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBallow-ip\fR \fB\fIaddress(es)\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Allow peers to use the given IP address or subnet without authenticating
+themselves. The parameter is parsed in the same manner as each element of the
+list of allowed IP addresses is parsed in the secrets files. See the section
+more more details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbsdcomp\fR \fB\fInr,nt\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Request that the peer compress packets that it sends using the BSD-Compress
+scheme, with a maximum code size of \fInr\fR bits, and agree to compress
+packets sent to the peer with a maximum code size of \fInt\fR bits. If \fInt\fR
+is not specified, it defaults to the value given for \fInr\fR. Values in the
+range 9 to 15 may be used for \fInr\fR and \fInt\fR; larger values provide
+better compression but consume more kernel memory for compression dictionaries.
+Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables compression in
+the corresponding direction. Use \fBnobsdcomp\fR or \fBbsdcomp 0\fR to disable
+BSD-Compress compression entirely. If this option is read from a privileged
+source, a nonprivileged user may not specify a code size larger than the value
+from the privileged source.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcdtrcts\fR \fR
+.ad
+.sp .6
+.RS 4n
+Use a non-standard hardware flow control such as DTR/CTS to control the flow of
+data on the serial port. If the \fBcrtscts\fR, \fBnocrtscts\fR, \fBcdtrcts\fR
+or \fBnocdtrcts\fR option is not specified, the hardware flow control setting
+for the serial port is left unchanged. Some serial ports lack a true RTS
+output. Such serial ports use this mode to implement true bi-directional flow
+control. Note that this flow control mode does not permit using DTR as a modem
+control line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchap-interval\fR \fB\fIn\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this option is given, \fBpppd\fR will rechallenge the peer every \fIn\fR
+seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchap-max-challenge\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of CHAP challenge transmissions to \fIn\fR (default 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchap-restart\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the CHAP restart interval (retransmission timeout for challenges) to
+\fIn\fR seconds. The default is 3.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnect-delay\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Wait for up to \fIn\fR milliseconds after the connect script finishes for a
+valid PPP packet from the peer. When the wait period elapses or when a valid
+PPP packet is received from the peer, \fBpppd\fR begins negotiation by sending
+its first LCP packet. The default value is 1000 (1 second). A wait period
+applies only if the \fBconnect\fR or \fBpty\fR option is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdatarate\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set maximum data rate to \fIn\fR (in bytes per second) when using the
+\fBpty\fR, \fBnotty\fR, \fBrecord\fR, or \fBsocket\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdebug\fR \fR
+.ad
+.sp .6
+.RS 4n
+Enables connection debugging facilities. If this option is given, \fBpppd\fR
+logs the contents of all control packets sent or received in a readable form.
+The packets are logged through syslog with facility \fBdaemon\fR and level
+\fBdebug\fR. This information can be directed to a file by configuring
+\fB/etc/syslog.conf\fR appropriately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefault-asyncmap\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable \fBasyncmap\fR negotiation, forcing all control characters to be
+escaped for both the transmit and the receive direction.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefault-fcs\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable FCS Alternatives negotiation entirely. By default, no FCS Alternatives
+option is sent to the peer, but the option is accepted. If this option is
+specified by the peer, then LCP Configure-Reject is sent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefault-mru\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable MRU [Maximum Receive Unit] negotiation. With this option, \fBpppd\fR
+uses the default MRU value of 1500 bytes for the transmit and receive
+directions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdeflate\fR \fB\fInr,nt,e\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Request that the peer compress packets that it sends, using the \fBdeflate\fR
+scheme, with a maximum window size of \fI2**nr\fR bytes, and agree to compress
+packets sent to the peer with a maximum window size of \fI2**nt\fR bytes and
+effort level of \fIe\fR (1 to 9). If \fInt\fR is not specified, it defaults to
+the value given for \fInr\fR. If \fIe\fR is not specified, it defaults to 6.
+Values in the range 9 to 15 may be used for \fInr\fR and \fInt\fR; larger
+values provide better compression but consume more kernel memory for
+compression dictionaries. (Value 8 is not permitted due to a zlib bug.)
+Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables compression in
+the corresponding direction. Use \fBnodeflate\fR or \fBdeflate 0\fR to disable
+\fBdeflate\fR compression entirely. (Note: \fBpppd\fR requests deflate
+compression in preference to BSD-Compress if the peer can do either.) If this
+option is read from a privileged source, a nonprivileged user may not specify a
+code size larger than the value from the privileged source.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdemand\fR \fR
+.ad
+.sp .6
+.RS 4n
+Initiate the link only on demand, that is, when data traffic is present. With
+this option, the remote IP address must be specified by the user on the command
+line or in an options file. \fBpppd\fR initially configures and enables the
+interface for IP traffic without connecting to the peer. When traffic is
+available, \fBpppd\fR connects to the peer and performs negotiation,
+authentication and other actions. When completed, \fBpppd\fR passes data
+packets across the link. The \fBdemand\fR option implies the \fBpersist\fR
+option. If this behavior is not desired, use the \fBnopersist\fR option after
+the \fBdemand\fR option. The \fBidle\fR and \fBholdoff\fR options can be used
+in conjunction with the \fBdemand\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdomain\fR \fB\fId\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Append the domain name \fId\fR to the local host name for authentication
+purposes. For example, if \fBgethostname()\fR returns the name \fBporsche\fR,
+but the fully qualified domain name is \fBporsche.Quotron.COM\fR, you could
+specify \fBdomain Quotron.COM\fR. With this configuration, \fBpppd\fR uses the
+name \fBporsche.Quotron.COM\fR for accessing secrets in the secrets file and as
+the default name when authenticating to the peer. This option is privileged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBendpoint\fR \fB\fIendpoint-value\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the endpoint discriminator (normally used for RFC 1990 Multilink PPP
+operation). The \fIendpoint-value\fR consists of a class identifier and a
+class-dependent value. The class identifier is one of "null," "local," "IP,"
+"MAC," "magic," "phone," or a decimal integer. If present, the class-dependent
+value is separated from the identifier by a colon (":") or period (".") . This
+value may be a standard dotted-decimal IP address for class "IP," an optionally
+colon-or-dot separated hex Ethernet address for class "MAC" (must have 6
+numbers), or an arbitrary string of bytes specified in hex with optional colon
+or dot separators between bytes. Although this option is available, this
+implementation does not support multilink.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfcs\fR \fB\fIfcs-type\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set FCS type(s) desired for data sent by the peer. The \fIfcs-type\fR is a
+comma-separated list of \fBcrc16\fR, \fBcrc32\fR, \fBnull\fR, or integers. By
+default, an FCS Alternatives option is not specified, and the medium-dependent
+FCS type is used. If this option is specified and the peer sends an LCP
+Configure-Nak, only the listed types are used. If none are in common, the FCS
+Alternatives option is omitted from the next LCP Configure-Request to drop back
+to the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhide-password\fR \fR
+.ad
+.sp .6
+.RS 4n
+When logging the contents of PAP packets, this option causes \fBpppd\fR to
+exclude the password string from the log. This is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBholdoff\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Specifies how many seconds to wait before re-initiating the link after it
+terminates. This option is effective only if the \fBpersist\fR or \fBdemand\fR
+option is used. The holdoff period is not applied if the link is terminated
+because it was idle.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBident\fR \fB\fIstring\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the LCP Identification string. The default value is a version string
+similar to that displayed by the \fB--version\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBidle\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Specifies that \fBpppd\fR must disconnect if the link is idle for \fIn\fR
+seconds. The link is idle when no data packets (i.e. IP packets) are being sent
+or received. Do not use this option with the \fBpersist\fR option but without
+the \fBdemand\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipcp-accept-local\fR \fR
+.ad
+.sp .6
+.RS 4n
+With this option, \fBpppd\fR accepts the peer's idea of the local IP address,
+even if the local IP address is specified in an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipcp-accept-remote\fR \fR
+.ad
+.sp .6
+.RS 4n
+With this option, \fBpppd\fR accepts the peer's idea of its remote IP address,
+even if the remote IP address is specified in an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipcp-max-configure\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of IPCP Configure-Request transmissions to \fIn\fR
+(default 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipcp-max-failure\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of IPCP Configure-NAKs sent before sending
+Configure-Rejects instead to \fIn\fR (default 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipcp-max-terminate\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of IPCP terminate-request transmissions to \fIn\fR
+(default 3).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipcp-restart\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the IPCP restart interval (retransmission timeout) to \fIn\fR seconds
+(default 3).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipparam\fR \fB\fIstring\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Provides an extra parameter to the ip-up and ip-down scripts. When this option
+is given, the \fIstring\fR supplied is given as the sixth parameter to those
+scripts. See the section.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6\fR
+\fB\fI<local_interface_identifier>\fR,\fI<remote_interface_identifier>\fR\fR
+\fR
+.ad
+.sp .6
+.RS 4n
+Set the local and/or remote 64-bit interface identifier. Either one may be
+omitted. The identifier must be specified in standard ASCII notation of IPv6
+addresses (for example: \fB::dead:beef\fR). If the \fBipv6cp-use-ipaddr\fR
+option is given, the local and remote identifiers are derived from the
+respective IPv4 addresses (see above). The \fBipv6cp-use-persistent\fR option
+can be used instead of the \fBipv6 <local>,<remote>\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6cp-accept-local\fR \fR
+.ad
+.sp .6
+.RS 4n
+Accept peer's interface identifier for the local link identifier.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6cp-max-configure\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of IPv6CP Configure-Request transmissions to \fIn\fR
+(default 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6cp-max-failure\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of IPv6CP Configure-NAKs sent before sending
+Configure-Rejects instead to \fIn\fR (default 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6cp-max-terminate\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of IPv6CP terminate-request transmissions to \fIn\fR
+(default 3).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6cp-restart\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the IPv6CP restart interval (retransmission timeout) to \fIn\fR seconds
+(default 3).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6cp-use-ipaddr\fR \fR
+.ad
+.sp .6
+.RS 4n
+If either the local or remote IPv6 address is unspecified, use the
+corresponding configured IPv4 address as a default interface identifier. (This
+option uses the configured addresses, not the negotiated addresses. Do not use
+it with \fBipcp-accept-local\fR if the local IPv6 identifier is unspecified or
+with \fBipcp-accept-remote\fR if the remote IPv6 identifier is unspecified.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6cp-use-persistent\fR \fR
+.ad
+.sp .6
+.RS 4n
+Use uniquely-available persistent value for link local address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkdebug\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Enable debugging code in the kernel-level PPP driver. Argument \fIn\fR is the
+sum of the following values: \fB1\fR to enable general debug messages, \fB2\fR
+to request that contents of received packets be printed, and \fB4\fR to request
+contents of transmitted packets be printed. Messages printed by the kernel are
+logged by \fBsyslogd\fR(1M) to a file directed in the \fB/etc/syslog.conf\fR
+configuration file. Do not use the \fBkdebug\fR option to debug failed links.
+Use the \fBdebug\fR option instead.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlcp-echo-failure\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+If this option is given, \fBpppd\fR presumes the peer to be dead if \fIn\fR LCP
+Echo-Requests are sent without receiving a valid LCP Echo-Reply. If this
+happens, \fBpppd\fR terminates the connection. This option requires a non-zero
+value for the \fBlcp-echo-interval\fR parameter. This option enables \fBpppd\fR
+to terminate after the physical connection is broken (for example, if the modem
+has hung up) in situations where no hardware modem control lines are available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlcp-echo-interval\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+If this option is given, \fBpppd\fR sends an LCP Echo-Request frame to the peer
+every \fIn\fR seconds. Normally the peer responds to the Echo-Request by
+sending an Echo-Reply. This option can be used with the \fBlcp-echo-failure\fR
+option to detect that the peer is no longer connected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlcp-max-configure\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of LCP Configure-Request transmissions to \fIn\fR
+(default 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlcp-max-failure\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of LCP Configure-NAKs sent before starting to send
+Configure-Rejects instead to \fIn\fR (default 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlcp-max-terminate\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of LCP Terminate-Request transmissions to \fIn\fR
+(default 3).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlcp-restart\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the LCP restart interval (retransmission timeout) to \fIn\fR seconds
+(default 3).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlinkname\fR \fB\fIname\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Sets the logical name of the link to \fIname\fR. \fBpppd\fR creates a file
+named \fBppp-\fR\fIname\fR\fB\&.pid\fR in \fB/var/run\fR containing its process
+ID. This is useful in determining which instance of \fBpppd\fR is responsible
+for the link to a given peer system. This is a privileged option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlocal\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not use modem control lines. With this option, \fBpppd\fR ignores the state
+of the CD (Carrier Detect) signal from the modem and does not change the state
+of the DTR (Data Terminal Ready) signal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogfd\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Send log messages to file descriptor \fIn\fR. \fBpppd\fR sends log messages to
+(at most) one file or file descriptor (as well as sending the log messages to
+syslog), so this option and the \fBlogfile\fR option are mutually exclusive. By
+default \fBpppd\fR sends log messages to \fBstdout\fR (file descriptor 1)
+unless the serial port is open on stdout.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogfile\fR \fB\fIfilename\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Append log messages to the file \fIfilename\fR (and send the log messages to
+syslog). The file is opened in append mode with the privileges of the user who
+invoked \fBpppd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogin\fR \fR
+.ad
+.sp .6
+.RS 4n
+Use the system password database for authenticating the peer using PAP, and
+record the user in the system \fBwtmp\fR file. Note that the peer must have an
+entry in the \fB/etc/ppp/pap-secrets\fR file and the system password database
+to be allowed access.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxconnect\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Terminate the connection after it has been available for network traffic for
+\fIn\fR seconds (that is, \fIn\fR seconds after the first network control
+protocol starts). An LCP Time-Remaining message is sent when the first NCP
+starts, and again when 5, 2, and 0.5 minutes are remaining.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxfail\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Terminate after \fIn\fR consecutive failed connection attempts. A value of 0
+means no limit. The default value is 10.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodem\fR \fR
+.ad
+.sp .6
+.RS 4n
+Use the modem control lines. This option is the default. With this option,
+\fBpppd\fR waits for the CD (Carrier Detect) signal from the modem to be
+asserted when opening the serial device (unless a connect script is specified),
+and drops the DTR (Data Terminal Ready) signal briefly when the connection is
+terminated and before executing the connect script.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBms-dns\fR \fB\fI<addr>\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+If \fBpppd\fR is acting as a server for Microsoft Windows clients, this option
+allows \fBpppd\fR to supply one or two DNS (Domain Name Server) addresses to
+the clients. The first instance of this option specifies the primary DNS
+address; the second instance (if given) specifies the secondary DNS address. If
+the first instance specifies a name that resolves to multiple IP addresses,
+then the first two addresses are used. (This option is present in some older
+versions of \fBpppd\fR under the name \fBdns-addr\fR.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBms-lanman\fR \fR
+.ad
+.sp .6
+.RS 4n
+If \fBpppd\fR connects as a client to a Microsoft server and uses MS-CHAPv1 for
+authentication, this option selects the LAN Manager password style instead of
+Microsoft NT.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBms-wins\fR \fB\fI<addr>\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+If \fBpppd\fR acts as a server for Microsoft Windows or Samba clients, this
+option allows \fBpppd\fR to supply one or two WINS (Windows Internet Name
+Services) server addresses to the clients. The first instance of this option
+specifies the primary WINS address; the second instance (if given) specifies
+the secondary WINS address. As with \fBms-dns\fR, if the name specified
+resolves to multiple IP addresses, then the first two will be taken as primary
+and secondary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBname\fR \fB\fIname\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the name of the local system for authentication purposes to \fIname\fR.
+This is a privileged option. With this option, \fBpppd\fR uses lines in the
+secrets files that have \fIname\fR as the second field to look for a secret to
+use in authenticating the peer. In addition, unless overridden with the
+\fBuser\fR option, \fIname\fR is used as the name to send to the peer when
+authenticating the local system. (Note that \fBpppd\fR does not append the
+domain name to \fIname\fR.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBno-accm-test\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable use of \fBasyncmap\fR (ACCM) checking using LCP Echo-Request messages.
+If the \fBlcp-echo-failure\fR is used on an asynchronous line, \fBpppd\fR
+includes all control characters in the first \fIn\fR LCP Echo-Request messages.
+If the \fBasyncmap\fR is set incorrectly, the link drops rather than continue
+operation with random failures. This option disables that feature.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoaccomp\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable HDLC Address/Control compression in both directions (send and receive).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoauth\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not require the peer to authenticate itself. This option is privileged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnobsdcomp\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disables BSD-Compress compression; \fBpppd\fR will not request or agree to
+compress packets using the BSD-Compress scheme. This option is not necessary if
+\fBnoccp\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoccp\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable CCP (Compression Control Protocol) negotiation. This option should only
+be required if the peer has bugs or becomes confused by requests from
+\fBpppd\fR for CCP negotiation. If CCP is disabled, then BSD and deflate
+compression do not need to be separately disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnocrtscts\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable hardware flow control (i.e. RTS/CTS) on the serial port. If the
+\fBcrtscts\fR, \fBnocrtscts\fR, \fBcdtrcts\fR or \fBnocdtrcts\fR options are
+not given, the hardware flow control setting for the serial port is left
+unchanged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnocdtrcts\fR \fR
+.ad
+.sp .6
+.RS 4n
+This option is a synonym for \fBnocrtscts\fR. Either option will disable both
+forms of hardware flow control.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnodefaultroute\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable the \fBdefaultroute\fR option. You can prevent non-root users from
+creating default routes with \fBpppd\fR by placing this option in the
+\fB/etc/ppp/options\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnodeflate\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disables deflate compression; \fBpppd\fR will not request or agree to compress
+packets using the deflate scheme. This option is not necessary if \fBnoccp\fR
+is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnodeflatedraft\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not use Internet Draft (incorrectly assigned) algorithm number for deflate
+compression. This option is not necessary if \fBnoccp\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnodetach\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not detach from the controlling terminal. Without this option, \fBpppd\fR
+forks to become a background process if a serial device other than the terminal
+on the standard input is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoendpoint\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not send or accept the Multilink Endpoint Discriminator option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoident\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable use of LCP Identification. LCP Identification messages will not be sent
+to the peer, but received messages will be logged. (Specify this option twice
+to completely disable LCP Identification. In this case, \fBpppd\fR sends LCP
+Code-Reject in response to received LCP Identification messages.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoip\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable IPCP negotiation and IP communication. Use this option only if the peer
+has bugs or becomes confused by requests from \fBpppd\fR for IPCP negotiation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoipv6\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable IPv6CP negotiation and IPv6 communication. IPv6 is not enabled by
+default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoipdefault\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disables the default behavior when no local IP address is specified, which is
+to determine (if possible) the local IP address from the hostname. With this
+option, the peer must supply the local IP address during IPCP negotiation
+(unless it specified explicitly on the command line or in an options file).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnolog\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not send log messages to a file or file descriptor. This option cancels the
+\fBlogfd\fR and \fBlogfile\fR options. \fBnologfd\fR acts as an alias for this
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnomagic\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable magic number negotiation. With this option, \fBpppd\fR cannot detect a
+looped-back line. Use this option only if the peer has bugs. Do not use this
+option to work around the "Serial line is looped back" error message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnopam\fR \fR
+.ad
+.sp .6
+.RS 4n
+This privileged option disables use of pluggable authentication modules. If
+this option is specified, \fBpppd\fR reverts to standard authentication
+mechanisms. The default is not to use PAM.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnopcomp\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable protocol field compression negotiation in the receive and the transmit
+direction.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnopersist\fR \fR
+.ad
+.sp .6
+.RS 4n
+Exit once a connection has been made and terminated. This is the default unless
+the \fBpersist\fR or \fBdemand\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoplink\fR \fR
+.ad
+.sp .6
+.RS 4n
+Cause \fBpppd\fR to use I_LINK instead of I_PLINK. This is the default. When
+I_LINK is used, the system cleans up terminated interfaces (even when SIGKILL
+is used) but does not allow \fBifconfig\fR(1M) to unplumb PPP streams or insert
+or remove modules dynamically. Use the \fBplink\fR option if \fBifconfig\fR(1M)
+modinsert, modremove or unplumb support is needed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnopredictor1\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not accept or agree to Predictor-1 compression. (This option is accepted for
+compatibility. The implementation does not support Predictor-1 compression.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoproxyarp\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable the \fBproxyarp\fR option. If you want to prevent users from creating
+proxy ARP entries with \fBpppd\fR, place this option in the
+\fB/etc/ppp/options\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnotty\fR \fR
+.ad
+.sp .6
+.RS 4n
+Normally, \fBpppd\fR requires a terminal device. With this option, \fBpppd\fR
+allocates itself a pseudo-tty master/slave pair and uses the slave as its
+terminal device. \fBpppd\fR creates a child process to act as a character shunt
+to transfer characters between the pseudo-tty master and its standard input and
+output. Thus, \fBpppd\fR transmits characters on its standard output and
+receives characters on its standard input even if they are not terminal
+devices. This option increases the latency and CPU overhead of transferring
+data over the ppp interface as all of the characters sent and received must
+flow through the character shunt process. An explicit device name may not be
+given if this option is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnovj\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable Van Jacobson style TCP/IP header compression in both the transmit and
+the receive direction.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnovjccomp\fR \fR
+.ad
+.sp .6
+.RS 4n
+Disable the connection-ID compression option in Van Jacobson style TCP/IP
+header compression. With this option, \fBpppd\fR does not omit the
+connection-ID byte from Van Jacobson compressed TCP/IP headers, nor does it ask
+the peer to do so. This option is unnecessary if \fBnovj\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpam\fR \fR
+.ad
+.sp .6
+.RS 4n
+This privileged option enables use of PAM. If this is specified, \fBpppd\fR
+uses the \fBpam\fR(3PAM) framework for user authentication with a service name
+of "ppp" if the \fBlogin\fR option and PAP authentication are used. The default
+is not to use PAM.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpapcrypt\fR \fR
+.ad
+.sp .6
+.RS 4n
+Indicates that \fBpppd\fR should not accept a password which, before
+encryption, is identical to the secret from the \fB/etc/ppp/pap-secrets\fR
+file. Use this option if the secrets in the \fBpap-secrets\fR file are in
+\fBcrypt\fR(3C) format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpap-max-authreq\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum number of PAP authenticate-request transmissions to \fIn\fR
+(default 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpap-restart\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the PAP restart interval (retransmission timeout) to \fIn\fR seconds
+(default 3).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpap-timeout\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum time that \fBpppd\fR waits for the peer to authenticate itself
+with PAP to \fIn\fR seconds (0= no limit). The default is 30 seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpassword\fR \fB\fIstring\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Password string for authentication to the peer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpersist\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not exit after a connection is terminated; instead try to reopen the
+connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBplink\fR \fR
+.ad
+.sp .6
+.RS 4n
+Cause \fBpppd\fR to use I_PLINK instead of I_LINK. The default is to use
+I_LINK, which cleans up terminated interface (even if SIGKILL is used), but
+does not allow \fBifconfig\fR(1M) to unplumb PPP streams or insert or remove
+modules dynamically. Use this option if \fBifconfig\fR(1M)
+modinsert/modremove/unplumb support is needed. See also the \fBplumbed\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBplugin\fR \fB\fIfilename\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Load the shared library object file \fIfilename\fR as a plugin. This is a
+privileged option. Unless the filename specifies an explicit path,
+\fB/etc/ppp/plugins\fR and \fB/usr/lib/inet/ppp\fR will be searched for the
+object to load in that order.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBplumbed\fR \fR
+.ad
+.sp .6
+.RS 4n
+This option indicates that \fBpppd\fR should find a plumbed interface and use
+that for the session. If IPv4 addresses or IPv6 interface IDs or link MTU are
+otherwise unspecified, they are copied from the interface selected. This mode
+mimics some of the functionality of the older \fBaspppd\fR implementation and
+may be helpful when \fBpppd\fR is used with external applications that use
+\fBifconfig\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpppmux\fR \fB\fItimer\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Enable PPP Multiplexing option negotiation and set transmit multiplexing
+timeout to \fItimer\fR microseconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprivgroup\fR \fB\fIgroup-name\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Allows members of group \fIgroup-name\fR to use privileged options. This is a
+privileged option. Because there is no guarantee that members of
+\fIgroup-name\fR cannot use \fBpppd\fR to become root themselves, you should be
+careful using this option. Consider it equivalent to putting the members of
+\fIgroup-name\fR in the \fBroot\fR or \fBsys\fR group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproxyarp\fR \fR
+.ad
+.sp .6
+.RS 4n
+Add an entry to the system's Address Resolution Protocol (ARP) table with the
+IP address of the peer and the Ethernet address of this system. When you use
+this option, the peer appears to other systems to be on the local Ethernet. The
+remote address on the PPP link must be in the same subnet as assigned to an
+Ethernet interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpty\fR \fB \fIscript\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the command \fIscript\fR, and not a specific terminal device is
+used for serial communication. \fBpppd\fR allocates itself a pseudo-tty
+master/slave pair and uses the slave as its terminal device. \fIscript\fR runs
+in a child process with the pseudo-tty master as its standard input and output.
+An explicit device name may not be given if this option is used. (Note: if the
+\fBrecord\fR option is used in conjunction with the \fBpty\fR option, the child
+process will have pipes on its standard input and output.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreceive-all\fR \fR
+.ad
+.sp .6
+.RS 4n
+With this option, \fBpppd\fR accepts all control characters from the peer,
+including those marked in the receive \fBasyncmap\fR. Without this option,
+\fBpppd\fR discards those characters as specified in \fIRFC 1662\fR. This
+option should be used only if the peer has bugs, as is often found with
+dial-back implementations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrecord\fR \fB\fIfilename\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Directs \fBpppd\fR to record all characters sent and received to a file named
+\fIfilename\fR. \fIfilename\fR is opened in append mode, using the user's
+user-ID and permissions. Because this option uses a pseudo-tty and a process to
+transfer characters between the pseudo-tty and the real serial device, it
+increases the latency and CPU overhead of transferring data over the PPP
+interface. Characters are stored in a tagged format with timestamps that can be
+displayed in readable form using the \fBpppdump\fR(1M) program. This option is
+generally used when debugging the kernel portion of \fBpppd\fR (especially CCP
+compression algorithms) and not for debugging link configuration problems. See
+the \fBdebug\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremotename\fR \fB\fIname\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set the assumed name of the remote system for authentication purposes to
+\fIname\fR. Microsoft WindowsNT does not provide a system name in its CHAP
+Challenge messages, and this option is often used to work around this problem.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefuse-chap\fR \fR
+.ad
+.sp .6
+.RS 4n
+With this option, \fBpppd\fR will not agree to authenticate itself to the peer
+using standard Challenge Handshake Authentication Protocol (CHAP). (MS-CHAP is
+not affected.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefuse-mschap\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not agree to authenticate to peer with MS-CHAPv1. If this option is
+specified, requests for MS-CHAPv1 authentication from the peer are declined
+with LCP Configure-Nak. That option does not disable any other form of CHAP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefuse-mschapv2\fR \fR
+.ad
+.sp .6
+.RS 4n
+Do not agree to authenticate to peer with MS-CHAPv2. If specified, this option
+requests that MS-CHAPv2 authentication from the peer be declined with LCP
+Configure-Nak. That option does not disable any other form of CHAP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefuse-pap\fR \fR
+.ad
+.sp .6
+.RS 4n
+With this option, \fBpppd\fR will not agree to authenticate itself to the peer
+using Password Authentication Protocol (PAP).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrequire-chap\fR \fR
+.ad
+.sp .6
+.RS 4n
+Require the peer to authenticate itself using standard CHAP authentication.
+MS-CHAP is not affected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrequire-mschap\fR \fR
+.ad
+.sp .6
+.RS 4n
+Require the peer to authenticate itself using MS-CHAPv1 authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrequire-mschapv2\fR \fR
+.ad
+.sp .6
+.RS 4n
+Require the peer to authenticate itself using MS-CHAPv2 authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrequire-pap\fR \fR
+.ad
+.sp .6
+.RS 4n
+Require the peer to authenticate itself using PAP authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow-password\fR \fR
+.ad
+.sp .6
+.RS 4n
+When logging contents of PAP packets, this option causes \fBpppd\fR to show the
+password string in the log message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsilent\fR \fR
+.ad
+.sp .6
+.RS 4n
+With this option, \fBpppd\fR will not transmit LCP packets to initiate a
+connection until a valid LCP packet is received from the peer. This is like the
+"passive" option with older versions of \fBpppd\fR and is retained for
+compatibility, but the current \fBpassive\fR option is preferred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsmall-accm-test\fR \fR
+.ad
+.sp .6
+.RS 4n
+When checking the \fBasyncmap\fR (ACCM) setting, \fBpppd\fR uses all 256
+possible values by default. See \fBno-accm-test\fR. This option restricts the
+test so that only the 32 values affected by standard ACCM negotiation are
+tested. This option is useful on very slow links.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsocket\fR \fB\fIhost\fR:\fIport\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Connect to given host and port using TCP and run PPP over this connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsync\fR \fR
+.ad
+.sp .6
+.RS 4n
+Use synchronous HDLC serial encoding instead of asynchronous. The device used
+by \fBpppd\fR with this option must have sync support. Currently supports
+\fBzs\fR, \fBse\fR, and \fBhsi\fR drivers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunit\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Set PPP interface unit number to \fIn\fR, if possible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBupdetach\fR \fR
+.ad
+.sp .6
+.RS 4n
+With this option, \fBpppd\fR detaches from its controlling terminal after
+establishing the PPP connection. When this is specified, messages sent to
+\fBstderr\fR by the connect script, usually \fBchat\fR(1M), and debugging
+messages from the debug option are directed to \fBpppd\fR's standard output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusehostname\fR \fR
+.ad
+.sp .6
+.RS 4n
+Enforce the use of the hostname with domain name appended, if given, as the
+name of the local system for authentication purposes. This overrides the
+\fBname\fR option. Because the \fBname\fR option is privileged, this option is
+normally not needed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusepeerdns\fR \fR
+.ad
+.sp .6
+.RS 4n
+Ask the peer for up to two DNS server addresses. Addresses supplied by the
+peer, if any, are passed to the \fB/etc/ppp/ip-up\fR script in the environment
+variables DNS1 and DNS2. In addition, \fBpppd\fR creates an
+\fB/etc/ppp/resolv.conf\fR file containing one or two nameserver lines with the
+address(es) supplied by the peer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuser\fR \fB\fIname\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Sets the name used for authenticating the local system to the peer to
+\fIname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvj-max-slots\fR \fB\fIn\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Sets the number of connection slots to be used by the Van Jacobson TCP/IP
+header compression and decompression code to \fIn\fR, which must be between 2
+and 16 (inclusive).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwelcome\fR \fB\fIscript\fR\fR \fR
+.ad
+.sp .6
+.RS 4n
+Run the executable or shell command specified by \fIscript\fR before initiating
+PPP negotiation, after the connect script, if any, has completed. A value for
+this option from a privileged source cannot be overridden by a non-privileged
+user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxonxoff\fR \fR
+.ad
+.sp .6
+.RS 4n
+Use software flow control, that is, XON/XOFF, to control the flow of data on
+the serial port.
+.RE
+
+.SS "Obsolete Options"
+.sp
+.LP
+The following options are obsolete:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB+ua\fR \fB\fIname\fR\fR\fR
+.ad
+.RS 14n
+.rt
+Read a PAP user name and password from the file \fIname\fR. This file must have
+two lines for name and password. Name and password are sent to the peer when
+the peer requests PAP authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB+ipv6\fR \fR
+.ad
+.RS 14n
+.rt
+Enable IPv6 and IPv6CP without specifying interface identifiers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--version\fR \fR
+.ad
+.RS 14n
+.rt
+Show version number and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--help\fR \fR
+.ad
+.RS 14n
+.rt
+Show brief help message and exit.
+.RE
+
+.SH EXTENDED DESCRIPTION
+.sp
+.LP
+The following sections discuss miscellaneous features of \fBpppd\fR:
+.SS "Security"
+.sp
+.LP
+\fBpppd\fR allows system administrators to provide legitimate users with PPP
+access to a server machine without fear of compromising the security of the
+server or the network it runs on. Access control is provided by restricting IP
+addresses the peer may use based on its authenticated identity (if any), and
+through restrictions on options a non-privileged user may use. Options that
+permit potentially insecure configurations are privileged. Privileged options
+are accepted only in files that are under the control of the system
+administrator or when \fBpppd\fR is being run by root.
+.sp
+.LP
+By default, \fBpppd\fR allows an unauthenticated peer to use a given IP address
+only if the system does not already have a route to that IP address. For
+example, a system with a permanent connection to the wider Internet will
+normally have a default route, meaning all peers must authenticate themselves
+to set up a connection. On such a system, the \fBauth\fR option is the default.
+Conversely, a system with a PPP link that comprises the only connection to the
+Internet probably does not possess a default route, so the peer can use
+virtually any IP address without authenticating itself.
+.sp
+.LP
+Security-sensitive options are privileged and cannot be accessed by a
+non-privileged user running \fBpppd\fR, either on the command line, in the
+user's \fB$HOME/.ppprc\fR file, or in an options file read using the \fBfile\fR
+option. Privileged options may be used in \fB/etc/ppp/options\fR file or in an
+options file read using the \fBcall\fR option. If \fBpppd\fR is run by the root
+user, privileged options can be used without restriction. If the
+\fB/etc/ppp/options\fR file does not exist, then only root may invoke
+\fBpppd\fR. The \fB/etc/ppp/options\fR file must be created (but may be empty)
+to allow ordinary non-root users to access \fBpppd\fR.
+.sp
+.LP
+When opening the device, \fBpppd\fR uses the invoking user's user ID or the
+root UID (that is, 0), depending if the device name was specified by the user
+or the system administrator. If the device name comes from a privileged source,
+that is, \fB/etc/ppp/options\fR or an options file read using the \fBcall\fR
+option, \fBpppd\fR uses full root privileges when opening the device. Thus, by
+creating an appropriate file under \fB/etc/ppp/peers\fR, the system
+administrator can allow users to establish a PPP connection via a device that
+they would not normally have access to. Otherwise \fBpppd\fR uses the invoking
+user's real UID when opening the device.
+.SS "Authentication"
+.sp
+.LP
+During the authentication process, one peer convinces the other of its identity
+by sending its name and some secret information to the other. During
+authentication, the first peer becomes the "client" and the second becomes the
+"server." Authentication names can (but are not required to) correspond to the
+peer's Internet hostnames.
+.sp
+.LP
+\fBpppd\fR supports four authentication protocols: the Password Authentication
+Protocol (PAP) and three forms of the Challenge Handshake Authentication
+Protocol (CHAP). With the PAP protocol, the client sends its name and a
+cleartext password to the server to authenticate itself. With CHAP, the server
+initiates the authentication exchange by sending a challenge to the client who
+must respond with its name and a hash value derived from the shared secret and
+the challenge.
+.sp
+.LP
+The PPP protocol is symmetrical, meaning that each peer may be required to
+authenticate itself to the other. Different authentication protocols and names
+can be used for each exchange.
+.sp
+.LP
+By default, \fBpppd\fR authenticates if requested and does not require
+authentication from the peer. However, \fBpppd\fR does not authenticate itself
+with a specific protocol if it has no secrets that can do so.
+.sp
+.LP
+\fBpppd\fR stores authentication secrets in the \fB/etc/ppp/pap-secrets\fR (for
+PAP), and \fB/etc/ppp/chap-secrets\fR (for CHAP) files. Both files use the same
+format. \fBpppd\fR uses secrets files to authenticate itself to other systems
+and to authenticate other systems to itself.
+.sp
+.LP
+Secrets files contain one secret per line. Secrets are specific to a particular
+combination of client and server and can only be used by that client to
+authenticate itself to that server. Each line in a secrets file has a minimum
+of three fields that contain the client and server names followed by the
+secret. Often, these three fields are followed by IP addresses that are used by
+clients to connect to a server.
+.sp
+.LP
+A secrets file is parsed into words, with client name, server name and secrets
+fields allocated one word each. Embedded spaces or other special characters
+within a word must be quoted or escaped. Case is significant in all three
+fields.
+.sp
+.LP
+A secret beginning with an at sign ("@") is followed by the name of a file
+containing the secret. An asterisk (*) as the client or server name matches any
+name. When choosing a match, \fBpppd\fR selects the one with the fewest
+wildcards. Succeeding words on a line are interpreted by \fBpppd\fR as
+acceptable IP addresses for that client. IP Addresses are disallowed if they
+appear in lines that contain only three words or lines whose first word begins
+with a hyphen ("-"). To allow any address, use "*". An address starting with an
+exclamation point ("!") indicates that the specified address is not acceptable.
+An address may be followed by "/" and a number \fIn\fR to indicate a whole
+subnet (all addresses that have the same value in the most significant \fIn\fR
+bits). In this form, the address may be followed by a plus sign ("+") to
+indicate that one address from the subnet is authorized, based on the ppp
+network interface unit number in use. In this case, the host part of the
+address is set to the unit number, plus one.
+.sp
+.LP
+When authenticating the peer, \fBpppd\fR chooses a secret with the peer's name
+in the first field of the secrets file and the name of the local system in the
+second field. The local system name defaults to the hostname, with the domain
+name appended if the \fBdomain\fR option is used. The default can be overridden
+with the \fBname\fR option unless the \fBusehostname\fR option is used.
+.sp
+.LP
+When authenticating to the peer, \fBpppd\fR first determines the name it will
+use to identify itself to the peer. This name is specified with the \fBuser\fR
+option. If the \fBuser\fR option is not used, the name defaults to the host
+name of the local system. \fBpppd\fR then selects a secret from the secrets
+file by searching for an entry with a local name in the first field and the
+peer's name in the second field. \fBpppd\fR will know the name of the peer if
+standard CHAP authentication is used because the peer will have sent it in the
+Challenge packet. However, if MS-CHAP or PAP is being used, \fBpppd\fR must
+determine the peer's name from the options specified by the user. The user can
+specify the peer's name directly with the \fBremotename\fR option. Otherwise,
+if the remote IP address was specified by a name, rather than in numeric form,
+that name will be used as the peer's name. If that fails, \fBpppd\fR uses the
+null string as the peer's name.
+.sp
+.LP
+When authenticating the peer with PAP, the supplied password is compared with
+data in the secrets file. If the password and secret do not match, the password
+is encrypted using \fBcrypt()\fR and checked against the secret again. If the
+\fBpapcrypt\fR option is given, the first unencrypted comparison is omitted for
+better security, and entries must thus be in encrypted \fBcrypt\fR(3C) form.
+.sp
+.LP
+If the \fBlogin\fR option is specified, the username and password are also
+checked against the system password database. This allows you to set up the
+\fBpap-secrets\fR file to enable PPP access only to certain users, and to
+restrict the set of IP addresses available to users. Typically, when using the
+\fBlogin\fR option, the secret in \fB/etc/ppp/pap-secrets\fR would be "", which
+matches any password supplied by the peer. This makes having the same secret in
+two places unnecessary. When \fBlogin\fR is used, the \fBpam\fR option enables
+access control through \fBpam\fR(3PAM).
+.sp
+.LP
+Authentication must be completed before IPCP (or other network protocol) can be
+started. If the peer is required to authenticate itself and fails, \fBpppd\fR
+closes LCP and terminates the link. If IPCP negotiates an unacceptable IP
+address for the remote host, IPCP is closed. IP packets are sent or received
+only when IPCP is open.
+.sp
+.LP
+To allow hosts that cannot authenticate themselves to connect and use one of a
+restricted set of IP addresses, add a line to the \fBpap-secrets\fR file
+specifying the empty string for the client name and secret.
+.sp
+.LP
+Additional \fBpppd\fR options for a given peer may be specified by placing them
+at the end of the secrets entry, separated by two dashes (--). For example
+.sp
+.in +2
+.nf
+peername servername secret ip-address -- novj
+.fi
+.in -2
+
+.SS "Routing"
+.sp
+.LP
+When IPCP negotiation is complete, \fBpppd\fR informs the kernel of the local
+and remote IP addresses for the PPP interface and creates a host route to the
+remote end of the link that enables peers to exchange IP packets. Communication
+with other machines generally requires further modification to routing tables
+and/or Address Resolution Protocol (ARP) tables. In most cases the
+\fBdefaultroute\fR and/or \fBproxyarp\fR options are sufficient for this, but
+further intervention may be necessary. If further intervention is required, use
+the \fB/etc/ppp/ip-up\fR script or a routing protocol daemon.
+.sp
+.LP
+To add a default route through the remote host, use the \fBdefaultroute\fR
+option. This option is typically used for "client" systems; that is, end-nodes
+that use the PPP link for access to the general Internet.
+.sp
+.LP
+In some cases it is desirable to use proxy ARP, for example on a server machine
+connected to a LAN, to allow other hosts to communicate with the remote host.
+\fBproxyarp\fR instructs \fBpppd\fR to look for a network interface on the same
+subnet as the remote host. That is, an interface supporting broadcast and ARP
+that is not a point-to-point or loopback interface and that is currently up. If
+found, \fBpppd\fR creates a permanent, published ARP entry with the IP address
+of the remote host and the hardware address of the network interface.
+.sp
+.LP
+When the \fBdemand\fR option is used, the interface IP addresses are already
+set at the time when IPCP comes up. If \fBpppd\fR cannot negotiate the same
+addresses it used to configure the interface, it changes the interface IP
+addresses to the negotiated addresses. This may disrupt existing connections.
+Using demand dialing with peers that perform dynamic IP address assignment is
+not recommended.
+.SS "Scripts"
+.sp
+.LP
+\fBpppd\fR invokes scripts at various stages during processing that are used to
+perform site-specific ancillary processing. These scripts may be shell scripts
+or executable programs. \fBpppd\fR does not wait for the scripts to finish. The
+scripts are executed as \fBroot\fR (with the real and effective user-id set to
+0), enabling them to update routing tables, run privileged daemons, or perform
+other tasks. Be sure that the contents of these scripts do not compromise your
+system's security. \fBpppd\fR runs the scripts with standard input, output and
+error redirected to \fB/dev/null\fR, and with an environment that is empty
+except for some environment variables that give information about the link. The
+\fBpppd\fR environment variables are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEVICE\fR \fR
+.ad
+.RS 15n
+.rt
+Name of the serial tty device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIFNAME\fR \fR
+.ad
+.RS 15n
+.rt
+Name of the network interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIPLOCAL\fR \fR
+.ad
+.RS 15n
+.rt
+IP address for the link's local end. This is set only when IPCP has started.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIPREMOTE\fR \fR
+.ad
+.RS 15n
+.rt
+IP address for the link's remote end. This is set only when IPCP has started.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPEERNAME\fR \fR
+.ad
+.RS 15n
+.rt
+Authenticated name of the peer. This is set only if the peer authenticates
+itself.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSPEED\fR \fR
+.ad
+.RS 15n
+.rt
+Baud rate of the tty device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBORIG_UID\fR \fR
+.ad
+.RS 15n
+.rt
+Real user-id of user who invoked \fBpppd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPPPLOGNAME\fR \fR
+.ad
+.RS 15n
+.rt
+Username of the real user-id who invoked \fBpppd\fR. This is always set.
+.RE
+
+.sp
+.LP
+\fBpppd\fR also sets the following variables for the ip-down and auth-down
+scripts:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCONNECT_TIME\fR \fR
+.ad
+.RS 17n
+.rt
+Number of seconds between the start of PPP negotiation and connection
+termination.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBYTES_SENT\fR \fR
+.ad
+.RS 17n
+.rt
+Number of bytes sent at the level of the serial port during the connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBYTES_RCVD\fR \fR
+.ad
+.RS 17n
+.rt
+Number of bytes received at the level of the serial port during the connection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINKNAME\fR \fR
+.ad
+.RS 17n
+.rt
+Logical name of the link, set with the \fBlinkname\fR option.
+.RE
+
+.sp
+.LP
+If they exist, \fBpppd\fR invokes the following scripts. It is not an error if
+they do not exist.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/auth-up\fR \fR
+.ad
+.RS 23n
+.rt
+Program or script executed after the remote system successfully authenticates
+itself. It is executed with five command-line arguments: \fBinterface-name
+peer-name user-name tty-device speed\fR. Note that this script is not executed
+if the peer does not authenticate itself, for example, when the \fBnoauth\fR
+option is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/auth-down\fR \fR
+.ad
+.RS 23n
+.rt
+Program or script executed when the link goes down if \fB/etc/ppp/auth-up\fR
+was previously executed. It is executed in the same manner with the same
+parameters as \fB/etc/ppp/auth-up\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/ip-up\fR \fR
+.ad
+.RS 21n
+.rt
+A program or script that is executed when the link is available for sending and
+receiving IP packets (that is, IPCP has come up). It is executed with six
+command-line arguments: \fBinterface-name tty-device speed local-IP-address
+remote-IP-address ipparam\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/ip-down\fR \fR
+.ad
+.RS 21n
+.rt
+A program or script which is executed when the link is no longer available for
+sending and receiving IP packets. This script can be used for undoing the
+effects of the \fB/etc/ppp/ip-up\fR script. It is invoked in the same manner
+and with the same parameters as the \fBip-up\fR script.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/ipv6-up\fR \fR
+.ad
+.RS 21n
+.rt
+Similar to \fB/etc/ppp/ip-up\fR, except that it is executed when the link is
+available for sending and receiving IPv6 packets. Executed with six
+command-line arguments: \fBinterface-name tty-device speed
+local-link-local-address remote-link-local-address ipparam\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/ipv6-down\fR \fR
+.ad
+.RS 23n
+.rt
+Similar to \fB/etc/ppp/ip-down\fR, but executed when IPv6 packets can no longer
+be transmitted on the link. Executed with the same parameters as the ipv6-up
+script.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBauth\fR Option
+.sp
+.LP
+The following examples assume that the \fB/etc/ppp/options\fR file contains the
+\fBauth\fR option.
+
+.sp
+.LP
+\fBpppd\fR is commonly used to dial out to an ISP. You can do this using the
+"\fBpppd call isp\fR" command where the \fB/etc/ppp/peers/isp\fR file is set up
+to contain a line similar to the following:
+
+.sp
+.in +2
+.nf
+cua/a 19200 crtscts connect '/usr/bin/chat -f /etc/ppp/chat-isp' noauth
+.fi
+.in -2
+
+.sp
+.LP
+For this example, \fBchat\fR(1M) is used to dial the ISP's modem and process
+any login sequence required. The \fB/etc/ppp/chat-isp\fR file is used by
+\fBchat\fR and could contain the following:
+
+.sp
+.in +2
+.nf
+ABORT "NO CARRIER"
+ABORT "NO DIALTONE"
+ABORT "ERROR"
+ABORT "NO ANSWER"
+ABORT "BUSY"
+ABORT "Username/Password Incorrect"
+"" "at"
+OK "at&f&d2&c1"
+OK "atdt2468135"
+"name:" "^Umyuserid"
+"word:" "\qmypassword"
+"ispts" "\q^Uppp"
+"~-^Uppp-~"
+.fi
+.in -2
+
+.sp
+.LP
+See the \fBchat\fR(1M) man page for details of \fBchat\fR scripts.
+
+.LP
+\fBExample 2 \fRUsing \fBpppd\fR with \fBproxyarp\fR
+.sp
+.LP
+\fBpppd\fR can also provide a dial-in ppp service for users. If the users
+already have login accounts, the simplest way to set up the ppp service is to
+let the users log in to their accounts and run \fBpppd\fR as shown in the
+following example:
+
+.sp
+.in +2
+.nf
+example% \fBpppd proxyarp\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRProviding a User with Access to PPP Facilities
+.sp
+.LP
+To provide a user with access to the PPP facilities, allocate an IP address for
+the user's machine, create an entry in \fB/etc/ppp/pap-secrets\fR or
+\fB/etc/ppp/chap-secrets\fR. This enables the user's machine to authenticate
+itself. For example, to enable user "Joe" using machine "joespc" to dial in to
+machine "server" and use the IP address "joespc.my.net," add the following
+entry to the \fB/etc/ppp/pap-secrets\fR or \fB/etc/ppp/chap-secrets\fR files:
+
+.sp
+.in +2
+.nf
+\fBjoespc server "joe's secret" joespc.my.net\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Alternatively, you can create another username, for example "ppp," whose login
+shell is \fB/usr/bin/pppd\fR and whose home directory is \fB/etc/ppp\fR. If you
+run \fBpppd\fR this way, add the options to the \fB/etc/ppp/.ppprc\fR file.
+
+.sp
+.LP
+If your serial connection is complex, it may be useful to escape such control
+characters as XON (^Q) and XOFF (^S), using \fBasyncmap a0000\fR. If the path
+includes a telnet, escape ^] (\fBasyncmap 200a0000\fR). If the path includes a
+\fBrlogin\fR command, add \fBescape ff\fR option to the options, because
+\fBrlogin\fR removes the window-size-change sequence [0xff, 0xff, 0x73, 0x73,
+followed by any 8 bytes] from the stream.
+
+.SH EXIT STATUS
+.sp
+.LP
+The \fBpppd\fR exit status indicates errors or specifies why a link was
+terminated. Exit status values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 7n
+.rt
+\fBpppd\fR has detached or the connection was successfully established and
+terminated at the peer's request.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR \fR
+.ad
+.RS 7n
+.rt
+An immediately fatal error occurred. For example, an essential system call
+failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR \fR
+.ad
+.RS 7n
+.rt
+An error was detected in the options given. For example, two mutually exclusive
+options were used, or \fB/etc/ppp/options\fR is missing and the user is not
+root.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR \fR
+.ad
+.RS 7n
+.rt
+\fBpppd\fR is not \fBsetuid-root\fR and the invoking user is not root.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR \fR
+.ad
+.RS 7n
+.rt
+The kernel does not support PPP. For example, the PPP kernel driver is not
+included or cannot be loaded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR \fR
+.ad
+.RS 7n
+.rt
+\fBpppd\fR terminated because it was sent a SIGINT, SIGTERM or SIGHUP signal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR \fR
+.ad
+.RS 7n
+.rt
+The serial port could not be locked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB7\fR \fR
+.ad
+.RS 7n
+.rt
+The serial port could not be opened.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB8\fR \fR
+.ad
+.RS 7n
+.rt
+The connect script failed and returned a non-zero exit status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR \fR
+.ad
+.RS 7n
+.rt
+The command specified as the argument to the \fBpty\fR option could not be run.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR \fR
+.ad
+.RS 7n
+.rt
+The PPP negotiation failed because no network protocols were able to run.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB11\fR \fR
+.ad
+.RS 7n
+.rt
+The peer system failed or refused to authenticate itself.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB12\fR \fR
+.ad
+.RS 7n
+.rt
+The link was established successfully, but terminated because it was idle.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB13\fR \fR
+.ad
+.RS 7n
+.rt
+The link was established successfully, but terminated because the connect time
+limit was reached.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB14\fR \fR
+.ad
+.RS 7n
+.rt
+Callback was negotiated and an incoming call should arrive shortly.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB15\fR \fR
+.ad
+.RS 7n
+.rt
+The link was terminated because the peer is not responding to echo requests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB16\fR \fR
+.ad
+.RS 7n
+.rt
+The link was terminated by the modem hanging up.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB17\fR \fR
+.ad
+.RS 7n
+.rt
+The PPP negotiation failed because serial loopback was detected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB18\fR \fR
+.ad
+.RS 7n
+.rt
+The init script failed because a non-zero exit status was returned.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB19\fR \fR
+.ad
+.RS 7n
+.rt
+Authentication to the peer failed.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/sppp\fIn\fR\fR\fB\&.pid\fR \fR
+.ad
+.RS 29n
+.rt
+Process-ID for \fBpppd\fR process on PPP interface unit \fIn\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/ppp-\fIname\fR\fR\fB\&.pid\fR \fR
+.ad
+.RS 29n
+.rt
+Process-ID for \fBpppd\fR process for logical link name (see the \fBlinkname\fR
+option).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/pap-secrets\fR \fR
+.ad
+.RS 29n
+.rt
+Usernames, passwords and IP addresses for PAP authentication. This file should
+be owned by root and not readable or writable by any other user, otherwise
+\fBpppd\fR will log a warning.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/chap-secrets\fR \fR
+.ad
+.RS 29n
+.rt
+Names, secrets and IP addresses for all forms of CHAP authentication. The
+\fB/etc/ppp/pap-secrets\fR file should be owned by \fBroot\fR should not
+readable or writable by any other user, otherwise, \fBpppd\fR will log a
+warning.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/options\fR \fR
+.ad
+.RS 29n
+.rt
+System default options for \fBpppd\fR, read before user default options or
+command-line options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.ppprc\fR \fR
+.ad
+.RS 29n
+.rt
+User default options, read before \fB/etc/ppp/options.\fIttyname\fR\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/options.\fIttyname\fR\fR \fR
+.ad
+.RS 29n
+.rt
+System default options for the serial port in use; read after
+\fB$HOME/.ppprc\fR. The \fIttyname\fR component of this filename is formed when
+the initial \fB/dev/\fR is stripped from the port name (if present), and
+slashes (if any) are converted to dots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/peers\fR \fR
+.ad
+.RS 29n
+.rt
+Directory with options files that may contain privileged options, even if
+\fBpppd\fR was invoked by a user other than \fBroot\fR. The system
+administrator can create options files in this directory to permit
+non-privileged users to dial out without requiring the peer to authenticate,
+but only to certain trusted peers.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchat\fR(1M), \fBifconfig\fR(1M), \fBcrypt\fR(3C), \fBpam\fR(3PAM),
+\fBattributes\fR(5)
+.sp
+.LP
+Haskin, D., Allen, E. \fIRFC 2472 - IP Version 6 Over PPP\fR. Network Working
+Group. December 1998.
+.sp
+.LP
+Jacobson, V. \fIRFC 1144, Compressing TCP/IP Headers for Low-Speed Serial
+Links\fR. Network Working Group. February, 1990
+.sp
+.LP
+Lloyd, B., Simpson, W. \fIRFC 1334, PPP Authentication Protocols\fR. Network
+Working Group. October 1992.
+.sp
+.LP
+McGregor, G. \fIRFC 1332, The PPP Internet Protocol Control Protocol (IPCP)\fR.
+Network Working Group. May 1992.
+.sp
+.LP
+Rivest, R. \fIRFC 1321, The MD5 Message-Digest Algorithm\fR. Network Working
+Group. April 1992
+.sp
+.LP
+Simpson, W. \fIRFC 1661, The Point-to-Point Protocol (PPP)\fR. Network Working
+Group. July 1994.
+.sp
+.LP
+Simpson, W. \fIRFC 1662, HDLC-like Framing \fR. Network Working Group. July
+1994.
+.SH NOTES
+.sp
+.LP
+These signals affect \fBpppd\fR behavior:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGINT, SIGTERM\fR \fR
+.ad
+.RS 20n
+.rt
+Terminate the link, restore the serial device settings and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGHUP\fR \fR
+.ad
+.RS 20n
+.rt
+Terminate the link, restore the serial device settings and close the serial
+device. If the \fBpersist\fR or \fBdemand\fR option is specified, \fBpppd\fR
+attempts to reopen the serial device and start another connection after the
+holdoff period. Otherwise \fBpppd\fR exits. If received during the holdoff
+period, \fBSIGHUP\fR causes \fBpppd\fR to end the holdoff period immediately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGUSR1\fR \fR
+.ad
+.RS 20n
+.rt
+Toggles the state of the \fBdebug\fR option and prints link status information
+to the log.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGUSR2\fR \fR
+.ad
+.RS 20n
+.rt
+Causes \fBpppd\fR to renegotiate compression. This is useful to re-enable
+compression after it has been disabled as a result of a fatal decompression
+error. (Fatal decompression errors generally indicate a bug in an
+implementation.)
+.RE
+
+.SH DIAGNOSTICS
+.sp
+.LP
+Messages are sent to the syslog daemon using facility \fBLOG_DAEMON\fR. To see
+error and debug messages, edit the \fB/etc/syslog.conf\fR file to direct the
+messages to the desired output device or file, or use the \fBupdetach\fR or
+\fBlogfile\fR options.
+.sp
+.LP
+The \fBdebug\fR option causes the contents of all LCP, PAP, CHAP or IPCP
+control packets sent or received to be logged. This is useful if PPP
+negotiation does not succeed or if authentication fails.
+.sp
+.LP
+Debugging can also be enabled or disabled by sending a \fBSIGUSR1\fR signal,
+which acts as a toggle to the \fBpppd\fR process.
diff --git a/usr/src/man/man1m/pppoec.1m b/usr/src/man/man1m/pppoec.1m
new file mode 100644
index 0000000000..f2331122d9
--- /dev/null
+++ b/usr/src/man/man1m/pppoec.1m
@@ -0,0 +1,296 @@
+'\" te
+.\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pppoec 1M "9 Jan 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pppoec \- PPPoE chat utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBpppoec\fR [\fB-o\fImillisecs\fR\fR] [\fB-s\fR\fImillisecs\fR] [\fB-v\fR] \fIdevice\fR
+ [\fIservice\fR [ [except]\fIserver\fR... [only]]]
+.fi
+
+.LP
+.nf
+\fBpppoec\fR [\fB-o\fImillisecs\fR\fR] [\fB-v\fR] \fB-i\fR [\fIdevice\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpppoec\fR utility implements the client-side negotiation of PPPoE. It is
+intended to be used with the \fBpppd\fR(1M) \fBconnect\fR option, in the same
+manner as the \fBchat\fR(1M) utility is used for asynchronous dial-up PPP.
+.sp
+.LP
+When given with the \fB-i\fR flag, \fBpppoec\fR sends out a broadcast query on
+the given interface named by the \fIdevice\fR parameter. You can specify no
+other arguments in this mode. All responding PPPoE servers and the offered
+services are displayed on standard output.
+.sp
+.LP
+Otherwise, when given without the \fB-i\fR flag, \fBpppoec\fR does the full
+PPPoE client-side negotiation. The \fIdevice\fR parameter is the intended
+Ethernet interface, and must already be plumbed with \fBsppptun\fR(1M). The
+optional \fIservice\fR parameter specifies a particular service desired; other
+offered services will be ignored. The optional \fIserver\fR parameter specifies
+a specific server desired. You can specify \fIserver\fR as an Ethernet address
+in the usual x:x:x:x:x:x format (with "\fB*\fR" in any of the six byte
+positions interpreted to mean "any"), or as a symbolic name resolved through
+\fB/etc/ethers\fR (or NIS), or as a PPPoE access concentrator name. The sense
+of the match (true or false) can be inverted by specifying the keyword
+\fBexcept\fR before this string. This parameter can be specified more than
+once, and the first match is taken.
+.sp
+.LP
+If you specify the \fIserver\fR parameter, then the selected servers become
+"preferred." If no preferred server responds, then the first responding server
+is used instead. To exclude non-matching servers entirely, append the keyword
+\fBonly\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Sends out broadcast query over interface specified by \fIdevice\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Sets the initial wait time in milliseconds for PADO from the server before PADI
+is retried. The default is 500 milliseconds for normal operation, or 3000
+milliseconds (3 seconds) for inquiry (\fB-i\fR) mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Sets the initial wait time in milliseconds for PADS from the server before PADR
+is retried. The default is 2000 milliseconds (2 seconds).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Displays verbose progress messages, including all PPPoE messages sent, and all
+state machine transitions.
+.RE
+
+.sp
+.LP
+You normally do not need to adjust the parameters set with \fB-o\fR and
+\fB-s\fR. They are provided for coping with unusually slow servers.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 11n
+.rt
+plumbed Ethernet interface
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIserver\fR\fR
+.ad
+.RS 11n
+.rt
+preferred server or, if you specify \fBonly\fR, the specified server
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIservice\fR\fR
+.ad
+.RS 11n
+.rt
+desired service; other available services are ignored
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConnecting to Any Service on \fBhme0\fR
+.sp
+.LP
+The following command enables you to connect to any PPPoE service on
+\fBhme0\fR:
+
+.sp
+.in +2
+.nf
+# /usr/bin/pppd sppptun plugin pppoe.so \
+connect "/usr/lib/inet/pppoec hme0" debug
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Often, a command such as the preceding is specified in an \fB/etc/ppp/peers\fR
+file instead. For example, enter the following in \fB/etc/ppp/peers/myisp\fR:
+
+.sp
+.in +2
+.nf
+sppptun
+plugin pppoe.so
+connect "/usr/lib/inet/pppoec hme0"
+debug
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To invoke the PPP connection described in the file, enter:
+
+.sp
+.in +2
+.nf
+% /usr/bin/pppd call myisp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that, because the \fB/etc/ppp/peers\fR files are considered privileged by
+\fBpppd\fR, you need not be root to invoke the preceding command.
+
+.LP
+\fBExample 2 \fRConnecting to a Particular Service
+.sp
+.LP
+A more complex example: on \fBhme0\fR, connect to only the \fBinternet\fR
+service offered by PPPoE servers with access concentrator name \fBisp\fR, but
+not to any Ethernet addresses starting with \fB40:0:1a\fR.
+
+.sp
+.in +2
+.nf
+# \fB/usr/lib/inet/pppoec hme0 internet except 40:0:1a:*:*:* isp only\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that the \fBexcept 40:0:1a:*:*:*\fR filter must come before \fBisp\fR,
+because the filters are first-match.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/inet/pppoec\fR \fR
+.ad
+.RS 27n
+.rt
+executable command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/sppptun\fR\fR
+.ad
+.RS 27n
+.rt
+Solaris PPP tunneling device driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/connect-errors\fR\fR
+.ad
+.RS 27n
+.rt
+usual location of error output (see DIAGNOSTICS, below)
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpppd\fR(1M), \fBsppptun\fR(1M), \fBpppoed\fR(1M), \fBsppptun\fR(7M)
+.sp
+.LP
+\fIRFC 2516, Method for Transmitting PPP Over Ethernet (PPPoE)\fR, Mamakos et
+al, February 1999
+.SH DIAGNOSTICS
+.sp
+.LP
+Error messages are written to standard error, which is normally redirected by
+\fBpppd\fR to \fB/etc/ppp/connect-errors\fR. The errors can also be redirected
+to \fBpppd\fR's standard output by using the \fBupdetach\fR option.
+.sp
+.LP
+If you specify the \fB-v\fR, verbose progress messages are displayed, including
+all PPPoE messages sent, and all state machine transitions. Specifying the
+\fBupdetach\fR or \fBnodetach\fR \fBpppd\fR option is helpful when using
+verbose mode.
diff --git a/usr/src/man/man1m/pppoed.1m b/usr/src/man/man1m/pppoed.1m
new file mode 100644
index 0000000000..be828dcc09
--- /dev/null
+++ b/usr/src/man/man1m/pppoed.1m
@@ -0,0 +1,469 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pppoed 1M "6 Jan 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pppoed \- PPPoE server daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBppoed\fR [\fIoptions\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpppoed\fR daemon implements the server-side negotiation of PPPoE. When a
+client requests service from this daemon, a copy of \fBpppd\fR(1M) is invoked
+to handle the actual PPP communication.
+.sp
+.LP
+At startup, options are read from the command line and the \fB/etc/ppp/pppoe\fR
+file. After these options have been read, options in the per-device
+\fB/etc/ppp/pppoe.\fIdevice\fR\fR files are read, using the device names
+specified on the command line or in \fB/etc/ppp/pppoe\fR. Device names are not
+permitted in the per-device files. It is not an error if any of these files are
+absent; missing files are ignored.
+.sp
+.LP
+Options are reread in the same order on \fBSIGHUP\fR. Except for the
+possibility of short delays due to the processing time, \fBSIGHUP\fR does not
+interfere with any client operations. Current status, including options read,
+is dumped to \fB/tmp/pppoed.\fIpid\fR\fR on \fBSIGINT\fR.
+.sp
+.LP
+The options are used to set up a list of services to be offered to PPPoE
+clients on the broadcast domains (Ethernet subnets) specified by the named
+devices. Option parsing is always in one of two modes, either global mode or
+service mode. The initial mode at the beginning of each file (and the command
+line) is global mode. Options specified in global mode serve as default values
+for subsequently defined services. Service mode is entered by the \fBservice\fR
+\fIname\fR option. In this mode, the named option is defined. Options that
+appear in this mode override any global mode definitions for the current
+service.
+.sp
+.LP
+The option parsing follows standard shell tokenizing rules, using whitespace to
+delimit tokens, quotes to enclose strings that can contain whitespace, and
+escape sequences for special characters. Environment variables are substituted
+using familiar \fB$VAR\fR and \fB${VAR}\fR syntax and set using
+\fBNEWVAR=\fIstring\fR\fR. Variables are both usable in subsequent options and
+provided to the \fBpppd\fR(1M) processes spawned for each client, but they are
+interpreted as they are encountered during option processing. Thus, all set
+variables are seen by all processes spawned; position in the configuration
+files has no effect on this.
+.SH OPTIONS
+.sp
+.LP
+The \fBpppoed\fR daemon supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclient\fR [\fBexcept\fR] \fIclient-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option restricts the clients that may receive the service. If the
+\fBexcept\fR keyword is given, then the clients on the list cannot access the
+service, but others can. If this keyword is not given, then only the listed
+clients can access the service.
+.sp
+This option can be specified more than once for a given service. For a given
+client, first match among all listed options encountered specifies the
+handling. If it matches an option with \fBexcept\fR specified, then access is
+denied. Otherwise, it is granted. The \fBclient\fR list within a service is
+prepended to any list specified in the global context.
+.sp
+If no \fBclient\fR options are given or if all options are specified with
+\fBexcept\fR, then all clients are permitted by default. If any \fBclient\fR
+options without \fBexcept\fR are specified, then no clients are permitted by
+default.
+.sp
+The \fIclient-list\fR is a comma-separated list of client identifiers. The
+match is made if any client on the list matches; thus, these are logically
+"ORed" together. Each client identifier can be either a symbolic name (resolved
+through \fB/etc/ethers\fR or NIS, as defined by \fB/etc/nsswitch.conf\fR) or a
+hexadecimal Ethernet address in the format \fBx:x:x:x:x:x\fR. In the latter
+case, any byte of the address can be "\fB*\fR", which matches any value in that
+position. For example, \fB40:0:1a:*:*:*\fR matches Ethernet adapters from the
+manufacturer assigned block \fB40:0:1a\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdebug\fR\fR
+.ad
+.sp .6
+.RS 4n
+Increase debug logging detail level by one. The detail levels are 0 (no
+logging), 1 (errors only; the default), 2 (warnings), 3 (informational
+messages), and 4 (debug messages). Log messages are written by default to
+\fBsyslog\fR(3C) using facility \fIdaemon\fR (see the \fBlog\fR option below).
+When specified on the command line or in the global context of the
+\fB/etc/ppp/pppoe\fR file, this option also sets the daemon's default
+(non-service-related) detail level.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdevice\fR \fIdevice-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the devices on which the service is available. The \fIdevice-list\fR is
+a comma-separated list of logical device names (without the leading
+\fB/dev/\fR), such as \fBhme0\fR. This option is ignored if encountered in the
+per-device \fB/etc/ppp/pppoe.\fIdevice\fR\fR files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBextra\fR \fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies extra options to \fBpppd\fR(1M). It defaults to "\fBplugin pppoe.so
+directtty\fR" and usually does not need to be overridden.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suspends parsing of the current file, returns to global mode, and reads options
+from \fIpath\fR. This file must be present and readable; if it is not, an error
+is logged. When the end of that file is reached, processing returns to the
+current file and the mode is reset to global again.
+.sp
+The global mode options specified in files read by this command use the options
+set in the current file's global mode; this condition extends to any file
+included by those files. All files read are parsed as though the command line
+had specified this option, and thus inherit the command line's global modes.
+.sp
+This option can be used to revert to global mode at any point in an option file
+by specifying \fBfile /dev/null\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroup\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the group ID (symbolic or numeric) under which \fBpppd\fR is
+executed. If \fBpppoed\fR is not run as root, this option is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies an alternate debug logging file. Debug messages are sent to this file
+instead of \fBsyslog\fR. The special name \fBsyslog\fR is recognized to switch
+logging back to \fBsyslog\fR. When specified on the command line or in the
+global context of the \fB/etc/ppp/pppoe\fR file, this option also sets the
+daemon's default (non-service-related) log file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnodebug\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set debug logging detail level to 0 (no logging). When specified on the command
+line or in the global context of the \fB/etc/ppp/pppoe\fR file, this option
+also sets the daemon's default (non-service-related) detail level.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnowildcard\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the current service should not be included in response to
+clients requesting "any" service. The client must ask for this service by name.
+When specified on the command line or in the global context of the
+\fB/etc/ppp/pppoe\fR file, this option causes \fBpppoed\fR to ignore all
+wildcard service requests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpath\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the path to the \fBpppd\fR executable. Defaults to
+\fB/usr/bin/pppd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpppd\fR \fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Passes command-line arguments to \fBpppd\fR. It can be used to set the IP
+addresses or configure security for the session. The default value is the empty
+string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBserver\fR \fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the PPPoE Access Concentrator name to be sent to the client. It
+defaults to "Solaris PPPoE".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBservice\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Closes any service being defined and begins definition of a new service. The
+same service name can be used without conflict on multiple devices. If the same
+service name is used on a single device, then the last definition encountered
+during parsing overrides all previous definitions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuser\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the user ID, symbolic or numeric, under which \fBpppd\fR is executed.
+If \fBpppoed\fR is not run as root, this option is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwildcard\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the service should be included in responses to client queries
+that request "any" service, which is done by requesting a service name of
+length zero. When specified on the command line or in the global context of the
+\fB/etc/ppp/pppoe\fR file, this option causes \fBpppoed\fR to ignore all
+wildcard service requests. This is the default.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConfiguring for Particular Services
+.sp
+.LP
+In the \fB/etc/ppp/pppoe\fR file:
+
+.sp
+.in +2
+.nf
+service internet
+ device $DEV
+ pppd "proxyarp 192.168.1.1:"
+service debugging
+ device hme0,$DEV
+ pppd "debug proxyarp 192.168.1.1:"
+.fi
+.in -2
+
+.sp
+.LP
+You then invoke the daemon with:
+
+.sp
+.in +2
+.nf
+example% \fB/usr/lib/inet/pppoed DEV=eri0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The lines in \fB/etc/ppp/pppoe\fR and the preceding command result in offering
+services "internet" and "debugging" (and responding to wildcard queries) on
+interface \fBeri0\fR, and offering only service "debugging" on interface
+\fBhme0\fR.
+
+.SH SIGNALS
+.sp
+.LP
+The \fBpppoed\fR daemon responds to the following signals:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGHUP\fR\fR
+.ad
+.RS 10n
+.rt
+Causes \fBpppoed\fR to reparse the original command line and all configuration
+files, and close and reopen any log files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGINT\fR\fR
+.ad
+.RS 10n
+.rt
+Causes a snapshot of the state of the \fBpppoed\fR daemon to be written to
+\fB/tmp/pppoed.\fIpid\fR\fR (where \fIpid\fR is the decimal process ID of the
+daemon).
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/inet/pppoed\fR \fR
+.ad
+.RS 25n
+.rt
+executable command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/sppptun\fR\fR
+.ad
+.RS 25n
+.rt
+Solaris PPP tunneling device driver
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/pppoe\fR\fR
+.ad
+.RS 25n
+.rt
+main configuration option file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/pppoe.\fIdevice\fR\fR\fR
+.ad
+.RS 25n
+.rt
+per-device configuration option file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/pppoe-errors\fR\fR
+.ad
+.RS 25n
+.rt
+location of output from \fBpppd\fR's stderr
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/pppoe.if\fR\fR
+.ad
+.RS 25n
+.rt
+list of Ethernet interfaces to be plumbed at boot time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/tmp/pppoed.\fIpid\fR\fR\fR
+.ad
+.RS 25n
+.rt
+ASCII text file containing dumped \fBpppoed\fR state information
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpppd\fR(1M), \fBpppoec\fR(1M), \fBsppptun\fR(1M), \fBsppptun\fR(7M)
+.sp
+.LP
+Mamakos, L., et al. \fIRFC 2516, A Method for Transmitting PPP Over Ethernet
+(PPPoE)\fR. Network Working Group. February 1999
+.SH NOTES
+.sp
+.LP
+Because \fBpppd\fR is installed setuid root, this daemon need not be run as
+root. However, if it is not run as root, the \fBuser\fR and \fBgroup\fR options
+are ignored.
+.sp
+.LP
+The Ethernet interfaces to be used must be plumbed for PPPoE using the
+\fBsppptun\fR(1M) utility before services can be offered.
+.sp
+.LP
+The daemon operate runs even if there are no services to offer. If you want to
+modify a configuration, it is not necessary to terminate the daemon. Simply use
+\fBpkill \fR\fB-HUP\fR\fB pppoed\fR after updating the configuration files.
+.sp
+.LP
+The PPPoE protocol is far from perfect. Because it runs directly over Ethernet,
+there is no possibility of security and the MTU is limited to 1492 (violating
+RFC 1661's default value of 1500). It is also not possible to run the client
+and the server of a given session on a single machine with a single Ethernet
+interface for testing purposes. The client and server portions of a single
+session must be run on separate Ethernet interfaces with different MAC
+addresses.
diff --git a/usr/src/man/man1m/pppstats.1m b/usr/src/man/man1m/pppstats.1m
new file mode 100644
index 0000000000..38e3f7b549
--- /dev/null
+++ b/usr/src/man/man1m/pppstats.1m
@@ -0,0 +1,468 @@
+'\" te
+.\" Copyright (c) 1989 Regents of the University of California. All rights reserved.
+.\" Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by the University of California, Berkeley. The name of the University may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+.\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\" Portions Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.TH pppstats 1M "4 May 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pppstats \- print PPP statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBpppstats\fR [\fB-a\fR] [\fB-v\fR] [\fB-r\fR] [\fB-z\fR] [\fB-c\fR \fI<count>\fR] [\fB-w\fR \fI<secs>\fR]
+ [\fIinterface\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpppstats\fR utility reports PPP-related statistics at regular intervals
+for the specified PPP interface. If the interface is unspecified,
+\fBpppstats\fR defaults to \fBsppp0\fR. The display is split horizontally into
+input and output sections containing columns of statistics describing the
+properties and volume of packets received and transmitted by the interface.
+.SH OPTIONS
+.sp
+.LP
+The \fBpppstats\fR options are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fR
+.ad
+.RS 13n
+.rt
+Display absolute values rather than deltas. With this option, all reports show
+statistics for the time elapsed since the link was initiated. Without this
+option, the second and subsequent reports show statistics for the time since
+the last report.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fB\fIcount\fR\fR \fR
+.ad
+.RS 13n
+.rt
+Repeat the display \fIcount\fR times. If this option is not specified, the
+default repeat count is 1 if the \fB-w\fR option is not specified, otherwise
+infinity.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fR
+.ad
+.RS 13n
+.rt
+Display additional statistics summarizing the compression ratio achieved by the
+packet compression algorithm in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fR
+.ad
+.RS 13n
+.rt
+Display additional statistics relating to the performance of the Van Jacobson
+TCP header compression algorithm.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fB\fIwait\fR\fR \fR
+.ad
+.RS 13n
+.rt
+Pause \fIwait\fR seconds between each display. If this option is not
+specified, the default interval is five seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fR
+.ad
+.RS 13n
+.rt
+Instead of the standard display, show statistics indicating the performance of
+the packet compression algorithm in use.
+.RE
+
+.SH EXTENDED DESCRIPTION
+.sp
+.LP
+The following fields are printed on the input side when the \fB-z\fR option is
+not used:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIN\fR \fR
+.ad
+.RS 11n
+.rt
+Total number of bytes received by this interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPACK\fR \fR
+.ad
+.RS 11n
+.rt
+Total number of packets received by this interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVJCOMP\fR \fR
+.ad
+.RS 11n
+.rt
+Number of header-compressed TCP packets received by this interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVJUNC\fR \fR
+.ad
+.RS 11n
+.rt
+Number of header-uncompressed TCP packets received by this interface. Not
+reported when the \fB-r\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVJERR\fR \fR
+.ad
+.RS 11n
+.rt
+Number of corrupted or bogus header-compressed TCP packets received by this
+interface. Not reported when the \fB-r\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVJTOSS\fR \fR
+.ad
+.RS 11n
+.rt
+Number of VJ header-compressed TCP packets dropped on reception by this
+interface because of preceding errors. Only reported when the \fB-v\fR option
+is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNON-VJ\fR \fR
+.ad
+.RS 11n
+.rt
+Total number of non-TCP packets received by this interface. Only reported when
+the \fB-v\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRATIO\fR \fR
+.ad
+.RS 11n
+.rt
+Compression ratio achieved for received packets by the packet compression
+scheme in use, defined as the uncompressed size divided by the compressed size.
+Only reported when the \fB-r\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUBYTE\fR \fR
+.ad
+.RS 11n
+.rt
+Total number of bytes received, after decompression of compressed packets. Only
+reported when the \fB-r\fR option is specified.
+.RE
+
+.sp
+.LP
+The following fields are printed on the output side:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOUT\fR\fR
+.ad
+.RS 10n
+.rt
+Total number of bytes transmitted from this interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPACK\fR\fR
+.ad
+.RS 10n
+.rt
+Total number of packets transmitted from this interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVJCOMP\fR\fR
+.ad
+.RS 10n
+.rt
+Number of TCP packets transmitted from this interface with VJ-compressed TCP
+headers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVJUNC\fR\fR
+.ad
+.RS 10n
+.rt
+Number of TCP packets transmitted from this interface with VJ-uncompressed TCP
+headers. Not reported when the \fB-r\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNON-VJ\fR\fR
+.ad
+.RS 10n
+.rt
+Total number of non-TCP packets transmitted from this interface. Not reported
+when the \fB-r\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVJSRCH\fR\fR
+.ad
+.RS 10n
+.rt
+Number of searches for the cached header entry for a VJ header compressed TCP
+packet. Only reported when the \fB-v\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVJMISS\fR\fR
+.ad
+.RS 10n
+.rt
+Number of failed searches for the cached header entry for a VJ header
+compressed TCP packet. Only reported when the \fB-v\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRATIO\fR\fR
+.ad
+.RS 10n
+.rt
+Compression ratio achieved for transmitted packets by the packet compression
+scheme in use, defined as the size before compression divided by the compressed
+size. Only reported when the \fB-r\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUBYTE\fR\fR
+.ad
+.RS 10n
+.rt
+Total number of bytes to be transmitted before packet compression is applied.
+Only reported when the \fB-r\fR option is specified.
+.RE
+
+.sp
+.LP
+When the \fB-z\fR option is specified, \fBpppstats\fR displays the following
+fields relating to the packet compression algorithm currently in use. If packet
+compression is not in use, these fields display zeroes. The fields displayed on
+the input side are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOMPRESSED BYTE\fR\fR
+.ad
+.RS 23n
+.rt
+Number of bytes of compressed packets received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOMPRESSED PACK\fR\fR
+.ad
+.RS 23n
+.rt
+Number of compressed packets received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINCOMPRESSIBLE BYTE\fR\fR
+.ad
+.RS 23n
+.rt
+Number of bytes of incompressible packets (that is, those which were
+transmitted in uncompressed form) received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINCOMPRESSIBLE PACK\fR\fR
+.ad
+.RS 23n
+.rt
+Number of incompressible packets received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOMP RATIO\fR\fR
+.ad
+.RS 23n
+.rt
+Recent compression ratio for incoming packets, defined as the uncompressed size
+divided by the compressed size (including both compressible and incompressible
+packets).
+.RE
+
+.sp
+.LP
+The fields displayed on the output side are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOMPRESSED BYTE\fR\fR
+.ad
+.RS 23n
+.rt
+Number of bytes of compressed packets transmitted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOMPRESSED PACK\fR\fR
+.ad
+.RS 23n
+.rt
+Number of compressed packets transmitted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINCOMPRESSIBLE BYTE\fR\fR
+.ad
+.RS 23n
+.rt
+Number of bytes of incompressible packets received; that is, those that were
+transmitted by the peer in uncompressed form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBINCOMPRESSIBLE PACK\fR\fR
+.ad
+.RS 23n
+.rt
+Number of incompressible packets transmitted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOMP RATIO\fR\fR
+.ad
+.RS 23n
+.rt
+Recent compression ratio for outgoing packets.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpppd\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/praudit.1m b/usr/src/man/man1m/praudit.1m
new file mode 100644
index 0000000000..fd2e598bda
--- /dev/null
+++ b/usr/src/man/man1m/praudit.1m
@@ -0,0 +1,180 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH praudit 1M "26 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+praudit \- print contents of an audit trail file
+.SH SYNOPSIS
+.LP
+.nf
+\fBpraudit\fR [\fB-lrsx\fR] [\fB-d\fR\fIdel\fR] [\fIfilename\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpraudit\fR reads the listed \fIfilename\fRs (or standard input, if no
+\fIfilename\fR is specified) and interprets the data as audit trail records as
+defined in \fBaudit.log\fR(4). By default, times, user and group \fBIDs\fR
+(UIDs and \fBGIDs,\fR respectively) are converted to their \fBASCII\fR
+representation. Record type and event fields are converted to their \fBASCII\fR
+representation. A maximum of 100 audit files can be specified on the command
+line.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fIdel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIdel\fR as the field delimiter instead of the default delimiter, which is
+the comma. If \fIdel\fR has special meaning for the shell, it must be quoted.
+The maximum size of a delimiter is three characters. The delimiter is not
+meaningful and is not used when the \fB-x\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print one line per record.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print records in their raw form. Times, \fBUIDs,\fR \fBGIDs,\fR record types,
+and events are displayed as integers. This option is useful when naming
+services are offline. The \fB-r\fR option and the \fB-s\fR option are
+exclusive. If both are used, a format usage error message is output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display records in their short form. Numeric fields' ASCII equivalents are
+looked up by means of the sources specified in the \fB/etc/nsswitch.conf\fR
+file (see \fBnsswitch.conf\fR(4)). All numeric fields are converted to ASCII
+and then displayed. The short \fBASCII\fR representations for the record type
+and event fields are used. This option and the \fB-r\fR option are exclusive.
+If both are used, a format usage error message is output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print records in XML form. Tags are included in the output to identify tokens
+and fields within tokens. Output begins with a valid XML prolog, which includes
+identification of the DTD which can be used to parse the XML.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/audit_event\fR\fR
+.ad
+.sp .6
+.RS 4n
+Audit event definition and class mappings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/audit_class\fR\fR
+.ad
+.sp .6
+.RS 4n
+Audit class definitions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/xml/dtd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory containing the verisioned DTD file referenced in XML output, for
+example, \fBadt_record.dtd.1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/xml/style\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory containing the versioned XSL file referenced in XML output, for
+example, \fBadt_record.xsl.1\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below
+.TE
+
+.sp
+.LP
+The command stability is evolving. The output format is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBbsmconv\fR(1M), \fBgetent\fR(1M), \fBaudit\fR(2), \fBgetauditflags\fR(3BSM),
+\fBgetpwuid\fR(3C), \fBgethostbyaddr\fR(3NSL), \fBethers\fR(3SOCKET),
+\fBgetipnodebyaddr\fR(3SOCKET), \fBaudit.log\fR(4), \fBaudit_class\fR(4),
+\fBaudit_event\fR(4), \fBgroup\fR(4), \fBnsswitch.conf\fR(4), \fBpasswd\fR(4),
+\fBattributes\fR(5)
+.sp
+.LP
+See the section on Solaris Auditing in \fISystem Administration Guide: Security
+Services\fR.
+.SH NOTES
+.sp
+.LP
+This functionality is available only if the Solaris Auditing feature has been
+enabled. See \fBbsmconv\fR(1M) for more information.
diff --git a/usr/src/man/man1m/print-service.1m b/usr/src/man/man1m/print-service.1m
new file mode 100644
index 0000000000..9c098b6d42
--- /dev/null
+++ b/usr/src/man/man1m/print-service.1m
@@ -0,0 +1,195 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH print-service 1M "18 Mar 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+print-service \- select, report, import, export active print service on a
+system
+.SH SYNOPSIS
+.LP
+.nf
+\fBprint-service\fR [\fB-s\fR \fIservice\fR [\fB-m\fR] | \fB-q\fR | \fB-e\fR \fIfile\fR | \fB-i\fR \fIfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprint-service\fR utility manages print service selection, as well as
+export and import of basic print queue configuration.
+.sp
+.LP
+Only a user root privileges or with the Printer Management profile can change
+the active print service or import print queue configuration.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIservice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select the active print service for on a host. \fIservice\fR can be one of
+\fBlp\fR or \fBcups\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Migrate print queue configuration during print service selection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report the active print service on a host.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Export basic print queue configuration to a file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Import basic print queue configuration from a file.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSelecting a Print Service
+.sp
+.LP
+The following command selects the CUPS print service as the active print
+service on a host.
+
+.sp
+.in +2
+.nf
+# \fBprint-service -s cups\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRReporting the Active Print Service
+.sp
+.LP
+The following command reports the active print service on a host.
+
+.sp
+.in +2
+.nf
+# \fBprint-service -q\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRExporting a Print Queue Configuration
+.sp
+.LP
+The following command exports the print queue configuration from the active
+print service.
+
+.sp
+.in +2
+.nf
+# \fBprint-service -e /tmp/queues\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRImporting a Print Queue Configuration
+.sp
+.LP
+The following command imports the print queue configuration to the active print
+service.
+
+.sp
+.in +2
+.nf
+# \fBprint-service -i /tmp/queues\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBintro\fR(1), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The print queue configuration saved and restored during export, import, and
+migration is limited to queue name and device name. It is likely that further
+configuration changes will be required before imported or migrated print queues
+become usable.
diff --git a/usr/src/man/man1m/printmgr.1m b/usr/src/man/man1m/printmgr.1m
new file mode 100644
index 0000000000..9494c7fbb0
--- /dev/null
+++ b/usr/src/man/man1m/printmgr.1m
@@ -0,0 +1,138 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH printmgr 1M "23 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+printmgr \- Solaris Print Manager is a graphical user interface for managing
+printers in a network
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sadm/admin/bin/printmgr\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Solaris Print Manager is a Java-based graphical user interface that enables you
+to manage local and remote printer access. This tool can be used in the
+following name service environments: LDAP, NIS, NIS+, and files. You must be
+logged in as superuser to use this tool.
+.sp
+.LP
+Using Solaris Printer Manager is the preferred method for managing printer
+access because Solaris Print Manager centralizes printer information when it is
+used in a name service environment.
+.sp
+.LP
+Adding printer information to a name service makes access to printers available
+to all systems on the network and generally makes printer administration easier
+because all the information about printers is centralized.
+.sp
+.LP
+Solaris Print Manager may be run on a remote system with the display sent to
+the local system. See the \fISystem Administration Guide: Solaris Printing\fR
+for instructions on setting the \fBDISPLAY\fR environment variable.
+.sp
+.LP
+Using Solaris Print Manager to perform printer-related tasks automatically
+updates the appropriate printer databases. Solaris Print Manager also includes
+a command-line console that displays the \fBlp\fR command line for the add,
+modify, and delete printer operations. Errors and warnings may also be
+displayed when Printer Manager operations are performed.
+.sp
+.LP
+Help is available by clicking the Help button.
+.SH USAGE
+.sp
+.LP
+Solaris Print Manager enables you to do the following tasks:
+.sp
+.ne 2
+.mk
+.na
+\fBSelect a Name Service\fR
+.ad
+.RS 29n
+.rt
+Select a name service for retrieving or changing printer information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBAdd Access to a Printer\fR
+.ad
+.RS 29n
+.rt
+Add printer access on a printer client using Solaris Print Manager.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBAdd an Attached Printer\fR
+.ad
+.RS 29n
+.rt
+After physically attaching the printer to a system, use Solaris Print Manager
+to install a local printer and make it available for printing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBAdd a Network Printer\fR
+.ad
+.RS 29n
+.rt
+After physically attaching the printer to a system, use Solaris Print Manager
+to install a local printer and make it available for printing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBModify Printer Properties\fR
+.ad
+.RS 29n
+.rt
+After adding access to a printer or adding an attached or network printer, you
+can modify certain printer attributes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBDelete a Printer\fR
+.ad
+.RS 29n
+.rt
+Delete access to a printer from the print client or delete a printer from the
+print server or from the name service environment.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBldap\fR(1), \fBlpget\fR(1M), \fBlpset\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fISystem Administration Guide: Solaris Printing\fR for information on LDAP
+server replication.
+.sp
+.LP
+Although users can use the LDAP command line utilities \fBldapadd\fR(1) and
+\fBldapmodify\fR(1)to update printer entries in the directory, the preferred
+method is to use \fBlpset\fR. Otherwise, if the \fBlpadd\fR and \fBlpmodify\fR
+utilities are used, the administrator must ensure that the \fBprinter-name\fR
+attribute value is unique within the \fBou=printers\fR container on the LDAP
+server. If the value is not unique, the result of modifications done using
+\fBlpset\fR or the Solaris Print Manager, \fBprintmgr\fR may be unpredictable.
diff --git a/usr/src/man/man1m/projadd.1m b/usr/src/man/man1m/projadd.1m
new file mode 100644
index 0000000000..ca83f456fe
--- /dev/null
+++ b/usr/src/man/man1m/projadd.1m
@@ -0,0 +1,349 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH projadd 1M "30 Sep 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+projadd \- administer a new project on the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBprojadd\fR [\fB-n\fR] [\fB-f\fR \fIfilename\fR] [\fB-p\fR \fIprojid\fR [\fB-o\fR]] [\fB-c\fR \fIcomment\fR]
+ [\fB-U\fR \fIuser\fR [,\fIuser\fR]... ] [\fB-G\fR \fIgroup\fR [,\fIgroup\fR]... ]
+ [ [\fB-K\fR \fIname\fR [=\fIvalue\fR [,\fIvalue\fR]...]...]] \fIproject\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBprojadd\fR adds a new project entry to the \fB/etc/project\fR file. If the
+files backend is being used for the project database, the new project is
+available for use immediately upon the completion of the \fBprojadd\fR command.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.RS 29n
+.rt
+Add a project comment. Comments are stored in the project's entry in the
+\fB/etc/project\fR file. Generally, comments contain a short description of the
+project and are used as the field for the project's full name.
+.sp
+Specify \fIcomment\fR as a text string. \fIcomment\fR cannot contain a colon
+(\fB:\fR) or NEWLINE.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.RS 29n
+.rt
+Specify the project file to modify. If no \fIfilename\fR is specified, the
+system project file, \fB/etc/project\fR, is modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR \fIgroup\fR[,group...]\fR
+.ad
+.RS 29n
+.rt
+Specify a group list for the project.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR \fIname\fR[=\fIvalue\fR[,\fIvalue\fR...]\fR
+.ad
+.RS 29n
+.rt
+Specify an attribute list for the project. Multiple \fB-K\fR options can be
+specified to set values on multiple keys, such as:
+.sp
+.in +2
+.nf
+-K \fIkey1\fR=\fIvalue1\fR -K "\fIkey2\fR=(\fIvalue2a\fR),(\fIvalue2b\fR)"
+.fi
+.in -2
+
+Resource control attributes use parentheses to specify values for a key.
+Because many user shells interpret parentheses as special characters, it is
+best to enclose an argument to \fB-K\fR that contains parentheses with double
+quotes, as shown above and in EXAMPLES, below. See \fBresource_controls\fR(5)
+for a description of the resource controls you can specify for a project.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 29n
+.rt
+Syntax check. Check the format of the existing system project file and
+modifications only. The contents of the existing project file, such as user
+names, group names, and resources that are specified in the project attributes
+are not checked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 29n
+.rt
+This option allows the project ID specified by the \fB-p\fR option to be
+non-unique within the project file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprojid\fR\fR
+.ad
+.RS 29n
+.rt
+Set the project \fBID\fR of the new project.
+.sp
+Specify \fIprojid\fR as a non-negative decimal integer below \fBUID_MAX\fR as
+defined in \fBlimits.h\fR. \fIprojid\fR defaults to the next available unique
+number above the highest number currently assigned. For example, if
+\fIprojid\fRs \fB100\fR, \fB105\fR, and \fB200\fR are assigned, the next
+default \fIprojid\fR is \fB201\fR. \fIprojid\fRs between \fB0\fR-\fB99\fR are
+reserved by SunOS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR \fIuser\fR[,user...]\fR
+.ad
+.RS 29n
+.rt
+Specify a user list for the project.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIproject\fR\fR
+.ad
+.RS 11n
+.rt
+The name of the project to create. The \fIproject\fR operand is a string
+consisting of characters from the set of alphabetic characters, numeric
+characters, underline (_), and hyphen (-). The period ('.') is reserved for
+projects with special meaning to the operating system. The first character of
+the project name must be a letter. An error message is displayed if these
+restrictions are not met.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a Project
+.sp
+.LP
+The following command creates the project \fBsalesaudit\fR and sets the
+resource controls specified as arguments to the \fB-K\fR option.
+
+.sp
+.in +2
+.nf
+projadd -p 111 -G sales,finance -c "Auditing Project" \e
+ -K "rcap.max-rss=10GB" \e
+ -K "process.max-file-size=(priv,50MB,deny)" \e
+ -K "task.max-lwps=(priv,100,deny)" salesaudit
+.fi
+.in -2
+
+.sp
+.LP
+This command would produce the following entry in \fB/etc/project\fR:
+
+.sp
+.in +2
+.nf
+salesaudit:111:Auditing Project::sales,finance: \e
+process.max-file-size=(priv,52428800,deny); \e
+rcap.max-rss=10737418240;task.max-lwps=(priv,100,deny)
+.fi
+.in -2
+
+.sp
+.LP
+Note that the preceding would appear as one line in \fB/etc/project\fR.
+
+.sp
+.LP
+Comparing the \fBprojadd\fR command and resulting output in \fB/etc/project\fR,
+note the effect of the scaling factor in the resource cap
+(\fBrcap.max-rss=10GB\fR) and the resource control
+(\fBprocess.max-file-size=(priv,50MB,deny)\fR). Modifiers, such as B, KB, and
+MB, and scaling factors are specified in \fBresource_controls\fR(5).
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+The command syntax was invalid. A usage message for \fBprojadd\fR is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 6n
+.rt
+An invalid argument was provided to an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 6n
+.rt
+The \fIprojid\fR given with the \fB-p\fR option is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.RS 6n
+.rt
+The project files contain an error. See \fBproject\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 6n
+.rt
+The project to be added, group, user, or resource does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR\fR
+.ad
+.RS 6n
+.rt
+The project is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot update the \fB/etc/project\fR file.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/project\fR\fR
+.ad
+.RS 16n
+.rt
+System project file
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(5.5i) |cw(0i)
+lw(5.5i) |lw(0i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+Invocation is evolving. Human readable output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBprojects\fR(1), \fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M),
+\fBgrpck\fR(1M), \fBprojdel\fR(1M), \fBprojmod\fR(1M), \fBuseradd\fR(1M),
+\fBuserdel\fR(1M), \fBusermod\fR(1M), \fBproject\fR(4), \fBattributes\fR(5),
+\fBresource_controls\fR(5)
+.SH NOTES
+.sp
+.LP
+In case of an error, \fBprojadd\fR prints an error message and exits with a
+non-zero status.
+.sp
+.LP
+\fBprojadd\fR adds a project definition only on the local system. If a network
+name service such as NIS or LDAP is being used to supplement the local
+\fB/etc/project\fR file with additional entries, \fBprojadd\fR cannot change
+information supplied by the network name service.
diff --git a/usr/src/man/man1m/projdel.1m b/usr/src/man/man1m/projdel.1m
new file mode 100644
index 0000000000..a3d1071e12
--- /dev/null
+++ b/usr/src/man/man1m/projdel.1m
@@ -0,0 +1,205 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc.
+.\" All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH projdel 1M "4 May 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+projdel \- delete a project from the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBprojdel\fR [\fB-f\fR \fIfilename\fR] \fIproject\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprojdel\fR utility deletes a project from the system and makes the
+appropriate changes to the system file.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR\fR
+.ad
+.RS 15n
+.rt
+Specify the project file to modify. If no \fIfilename\fR is specified, the
+system project file, \fB/etc/project\fR, is modified.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIproject\fR\fR
+.ad
+.RS 11n
+.rt
+The name of the project to be deleted.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+The command syntax was invalid. A usage message for \fBprojdel\fR is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 6n
+.rt
+An invalid argument was provided to an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 6n
+.rt
+The \fIprojid\fR given with the \fB-p\fR option is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.RS 6n
+.rt
+The project files contain an error. See \fBproject\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 6n
+.rt
+The project to be modified, group, user, or resource does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR\fR
+.ad
+.RS 6n
+.rt
+The project is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot update the \fB/etc/project\fR file.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/project\fR\fR
+.ad
+.RS 16n
+.rt
+System project file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface stabilty See below.
+.TE
+
+.sp
+.LP
+Invocation is evolving. Human readable output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBprojects\fR(1), \fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M),
+\fBgrpck\fR(1M), \fBlogins\fR(1M), \fBprojadd\fR(1M), \fBprojmod\fR(1M),
+\fBuseradd\fR(1M), \fBuserdel\fR(1M), \fBusermod\fR(1M), \fBproject\fR(4),
+\fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+In case of an error, \fBprojdel\fR prints an error message and exits with a
+non-zero status.
+.SH NOTES
+.sp
+.LP
+\fBprojdel\fR deletes a project definition only on the local system. If a
+network name service such as \fBNIS\fR or \fBLDAP\fR is being used to
+supplement the local \fB/etc/project\fR file with additional entries,
+\fBprojdel\fR cannot change information supplied by the network name service.
diff --git a/usr/src/man/man1m/projmod.1m b/usr/src/man/man1m/projmod.1m
new file mode 100644
index 0000000000..17d0e007a1
--- /dev/null
+++ b/usr/src/man/man1m/projmod.1m
@@ -0,0 +1,655 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH projmod 1M "22 Feb 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+projmod \- modify a project's information on the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBprojmod\fR [\fB-n\fR] [\fB-A\fR|\fB-f\fR \fIfilename\fR | -]
+.fi
+
+.LP
+.nf
+\fBprojmod\fR [\fB-n\fR] [\fB-A\fR|\fB-f\fR \fIfilename\fR | -] [\fB-p\fR \fIprojid\fR [\fB-o\fR]]
+ [\fB-c\fR \fIcomment\fR] [\fB-a\fR|\fB-s\fR|\fB-r\fR] [\fB-U\fR \fIuser\fR [,\fIuser\fR]... ]
+ [\fB-G\fR \fIgroup\fR [,\fIgroup\fR]... ]
+ [ [\fB-K\fR \fIname\fR [=\fIvalue\fR [,\fIvalue\fR]...]...]]
+ [\fB-l\fR \fInew_projectname\fR] \fIproject\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprojmod\fR utility modifies a project's definition on the system.
+\fBprojmod\fR changes the definition of the specified project and makes the
+appropriate project-related system file and file system changes.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\fR
+.ad
+.RS 29n
+.rt
+Apply the project's resource controls, as defined in the system's project
+database, to the project if it is active.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 29n
+.rt
+Specify that the users, groups, attributes, or attribute values specified by
+the \fB-U\fR, \fB-G\fR or \fB-K\fR options should be added to the project,
+rather than replacing the existing member or attribute list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.RS 29n
+.rt
+Specify \fIcomment\fR as a text string. Generally, \fIcomment\fR contains a
+short description of the project. This information is stored in the project's
+\fB/etc/project\fR entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfilename\fR | -\fR
+.ad
+.RS 29n
+.rt
+Specify the project file to modify or validate or specify input from stdin for
+validation. As noted under OPERANDS, if you do not specify a project in a
+\fBprojmod\fR command line, \fBprojmod\fR validates the argument to \fB-f\fR.
+If you do not use this option, the system project file, \fB/etc/project\fR, is
+modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR \fIgroup\fR [,\fIgroup\fR...]\fR
+.ad
+.RS 29n
+.rt
+Specify a replacement list of member groups of the project. When used in
+conjunction with the \fB-a\fR or \fB-r\fR options, this option specifies a list
+of groups to be added or removed from the project.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR \fIname\fR[=\fIvalue\fR[,\fIvalue\fR...]\fR
+.ad
+.RS 29n
+.rt
+Specify a replacement list of project attributes for the project. When used in
+conjunction with the \fB-a\fR, \fB-r\fR, or \fB-s\fR options, this option
+specifies a list of attribute values to be added, removed, or replaced in the
+project. Attributes must be delimited by semicolons (\fB;\fR). Multiple
+\fB-K\fR options can be specified to set, add, remove, or substitute values on
+multiple keys, such as:
+.sp
+.in +2
+.nf
+-K \fIkey1\fR=\fIvalue1\fR -K "\fIkey2\fR=(\fIvalue2a\fR),(\fIvalue2b\fR)"
+.fi
+.in -2
+
+Resource control attributes use parentheses to specify values for a key.
+Because many user shells interpret parentheses as special characters, it is
+best to enclose an argument to \fB-K\fR that contains parentheses with double
+quotes, as shown above and in EXAMPLES, below. See \fBresource_controls\fR(5)
+for a description of the resource controls you can specify for a project.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fInew_projectname\fR\fR
+.ad
+.RS 29n
+.rt
+Specify the new project name for the project. The \fInew_projectname\fR
+argument is a string consisting of characters from the set of alphabetic
+characters, numeric characters, period (\fB\&.\fR), underline (\fB_\fR), and
+hyphen (\fB-\fR). The first character should be alphabetic. An error message is
+written if these restrictions are not met. The project name must also be unique
+within the project file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 29n
+.rt
+Syntax check. Check the format of the existing system project file and
+modifications only. The contents of the existing project file, such as user
+names, group names, and resources that are specified in the project attributes
+are not checked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 29n
+.rt
+This option allows the project ID specified by the \fB-p\fR option to be
+non-unique within the project file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprojid\fR\fR
+.ad
+.RS 29n
+.rt
+Specify a new project \fBID\fR for the project. It must be a non-negative
+decimal integer less than \fBMAXUID\fR as defined in \fBparam.h\fR. This value
+must be unique within the project file if the \fB-o\fR option is not specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 29n
+.rt
+Specify that the users, groups, attributes, or attribute values specified by
+the \fB-U\fR, \fB-G\fR or \fB-K\fR options should be removed from the project,
+rather than replacing the existing member or attribute list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 29n
+.rt
+Specify that the list of attributes specified by the \fB-K\fR option should
+have their values replaced. If the attributes do not exist, they are added as
+if the a option was used. This option has no effect the \fB-U\fR or \fB-G\fR
+options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR \fIuser\fR [,\fIuser\fR...]\fR
+.ad
+.RS 29n
+.rt
+Specify a replacement list of member users of the project. When used in
+conjunction with the \fB-a\fR or \fB-r\fR options, this option specifies a list
+of users to be added or removed from the project.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIproject\fR\fR
+.ad
+.RS 11n
+.rt
+An existing project name to be modified or displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fI(none)\fR\fR
+.ad
+.RS 11n
+.rt
+If no operand is given, the project file is validated without modifying any
+project.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fB-K\fR Option for Addition of an Attribute Value
+.sp
+.LP
+Consider the following \fBproject\fR(4) entry:
+
+.sp
+.in +2
+.nf
+salesaudit:111:Auditing Project::sales,finance: \e
+ process.max-file-size=(priv,52428800,deny); \e
+ task.max-lwps=(priv,100,deny)
+.fi
+.in -2
+
+.sp
+.LP
+The preceding would appear as one line in \fB/etc/project\fR. For this and the
+following examples, the focus is on the attributes field in the \fBproject\fR
+entry. That is, the last field, the field following the last semicolon.
+
+.sp
+.LP
+The attributes field for the project \fBsalesaudit\fR lists the following
+resource control:
+
+.sp
+.in +2
+.nf
+task.max-lwps=(priv,1000,signal=KILL)
+.fi
+.in -2
+
+.sp
+.LP
+The following \fBprojmod\fR command adds an action clause to the preceding
+entry:
+
+.sp
+.in +2
+.nf
+# projmod -a -K "task.max-lwps=(priv,100,deny)" salesaudit
+.fi
+.in -2
+
+.sp
+.LP
+\&...with the resulting attributes field in the entry for \fBsalesaudit\fR:
+
+.sp
+.in +2
+.nf
+task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRUsing the \fB-K\fR Option for the Substitution of an Attribute
+Value
+.sp
+.LP
+Assume an attributes field in a \fBproject\fR(4) entry for the project
+\fBsalesaudit\fR that lists the following resource control:
+
+.sp
+.in +2
+.nf
+task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)
+.fi
+.in -2
+
+.sp
+.LP
+The following \fBprojmod\fR command substitutes the action clause specified in
+the command for the action clauses in the preceding entry:
+
+.sp
+.in +2
+.nf
+# projmod -s -K "task.max-lwps=(priv,500,signal=SIGSTOP)" salesaudit
+.fi
+.in -2
+
+.sp
+.LP
+\&...with the resulting attributes field in the entry for \fBsalesaudit\fR:
+
+.sp
+.in +2
+.nf
+task.max-lwps=(priv,500,signal=SIGSTOP)
+.fi
+.in -2
+
+.LP
+\fBExample 3 \fRUsing the \fB-K\fR Option for Removal of an Attribute Value
+.sp
+.LP
+Assume an attributes field in a \fBproject\fR(4) entry for a project
+\fBsalesaudit\fR that lists the following resource control:
+
+.sp
+.in +2
+.nf
+task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)
+.fi
+.in -2
+
+.sp
+.LP
+The following \fBprojmod\fR command removes the first action clause from the
+preceding entry:
+
+.sp
+.in +2
+.nf
+# projmod -r -K "task.max-lwps=(priv,100,deny)" salesaudit
+.fi
+.in -2
+
+.sp
+.LP
+\&...with the resulting attributes field in the entry for \fBsalesaudit\fR:
+
+.sp
+.in +2
+.nf
+task.max-lwps=(priv,1000,signal=KILL)
+.fi
+.in -2
+
+.LP
+\fBExample 4 \fRSpecifying Multiple Attribute Values
+.sp
+.LP
+Suppose you want to achieve the following resource controls for the project
+\fBsalesaudit\fR:
+
+.sp
+.in +2
+.nf
+task.max-lwps=(priv,100,deny)
+process.max-file-size=(priv,50MB,deny)
+.fi
+.in -2
+
+.sp
+.LP
+The following \fBprojmod\fR command adds these resource controls for
+\fBsalesaudit\fR:
+
+.sp
+.in +2
+.nf
+# projmod -a -K "task.max-lwps=(priv,100,deny)" \e
+-K "process.max-file-size=(priv,50MB,deny)" salesaudit
+.fi
+.in -2
+
+.sp
+.LP
+\&...with the resulting attributes field in the entry for \fBsalesaudit\fR:
+
+.sp
+.in +2
+.nf
+task.max-lwps=(priv,100,deny);process.max-file-size=(priv,52428800,deny)
+.fi
+.in -2
+
+.sp
+.LP
+In this example, note the effect of the use of the modifier and scaling factor
+for the resource control \fBprocess.max-file-size\fR. The specification in
+\fBprojmod\fR:
+
+.sp
+.in +2
+.nf
+"process.max-file-size=(priv,50MB,deny)"
+.fi
+.in -2
+
+.sp
+.LP
+\&...becomes, in \fB/etc/project\fR:
+
+.sp
+.in +2
+.nf
+process.max-file-size=(priv,52428800,deny)
+.fi
+.in -2
+
+.sp
+.LP
+That is, \fB50MB\fR is expanded to \fB52428800\fR. The modifiers, such as MB,
+and scaling factors you can use for resource controls are specified in
+\fBresource_controls\fR(5).
+
+.LP
+\fBExample 5 \fRBinding a Pool to a Project
+.sp
+.LP
+The following command sets the \fBproject.pool\fR attribute for the project
+\fBsales\fR.
+
+.sp
+.in +2
+.nf
+# projmod -a -K project.pool=salespool sales
+.fi
+.in -2
+
+.LP
+\fBExample 6 \fREvaluating Input from \fBstdin\fR
+.sp
+.LP
+The following command uses the \fB-f\fR option without a project name operand
+to evaluate the contents of an NIS projects map.
+
+.sp
+.in +2
+.nf
+# ypcat project | projmod -f -
+.fi
+.in -2
+
+.SH EXIT STATUS
+.sp
+.LP
+In case of an error, \fBprojmod\fR prints an error message and exits with one
+of the following values:
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+The command syntax was invalid. A usage message for \fBprojmod\fR is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 6n
+.rt
+An invalid argument was provided to an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 6n
+.rt
+The \fIprojid\fR given with the \fB-p\fR option is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.RS 6n
+.rt
+The project files contain an error. See \fBproject\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 6n
+.rt
+The project to be modified, group, user, or resource does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR\fR
+.ad
+.RS 6n
+.rt
+The project is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot update the \fB/etc/project\fR file.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.RS 16n
+.rt
+System file containing group definitions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/project\fR\fR
+.ad
+.RS 16n
+.rt
+System project file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 16n
+.rt
+System password file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/shadow\fR\fR
+.ad
+.RS 16n
+.rt
+System file containing users' encrypted passwords and related information
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(5.5i) |cw(0i)
+lw(5.5i) |lw(0i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+Invocation is evolving. Human readable output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M), \fBprojadd\fR(1M),
+\fBprojdel\fR(1M), \fBuseradd\fR(1M), \fBuserdel\fR(1M), \fBusermod\fR(1M),
+\fBpasswd\fR(4), \fBproject\fR(4), \fBattributes\fR(5),
+\fBresource_controls\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBprojmod\fR utility modifies project definitions only in the local
+\fB/etc/project\fR file. If a network name service such as \fBNIS\fR or
+\fBLDAP\fR is being used to supplement the local files with additional entries,
+\fBprojmod\fR cannot change information supplied by the network name service.
+However \fBprojmod\fR verifies the uniqueness of project name and project
+\fBID\fR against the external name service.
diff --git a/usr/src/man/man1m/prstat.1m b/usr/src/man/man1m/prstat.1m
new file mode 100644
index 0000000000..f32488ce2a
--- /dev/null
+++ b/usr/src/man/man1m/prstat.1m
@@ -0,0 +1,934 @@
+'\" te
+.\" Copyright (c) 2006, 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH prstat 1M "25 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+prstat \- report active process statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBprstat\fR [\fB-acHJLmRrtTv\fR] [\fB-d\fR u | d] [\fB-C\fR \fIpsrsetlist\fR] [\fB-h\fR \fIlgrplist\fR]
+ [\fB-j\fR \fIprojlist\fR] [\fB-k\fR \fItasklist\fR] [\fB-n\fR \fIntop\fR[,\fInbottom\fR]]
+ [\fB-p\fR \fIpidlist\fR] [\fB-P\fR \fIcpulist\fR] [\fB-s\fR \fIkey\fR | \fB-S\fR \fIkey\fR ]
+ [\fB-u\fR \fIeuidlist\fR] [\fB-U\fR \fIuidlist\fR] [\fB-z\fR \fIzoneidlist\fR] [\fB-Z\fR]
+ [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprstat\fR utility iteratively examines all active processes on the
+system and reports statistics based on the selected output mode and sort order.
+\fBprstat\fR provides options to examine only processes matching specified
+\fBPID\fRs, \fBUID\fRs, zone \fBID\fRs, \fBCPU\fR \fBID\fRs, and processor set
+\fBID\fRs.
+.sp
+.LP
+The \fB-j\fR, \fB-k\fR, \fB-C\fR, \fB-p\fR, \fB-P\fR, \fB-u\fR, \fB-U\fR, and
+\fB-z\fR options accept lists as arguments. Items in a list can be either
+separated by commas or enclosed in quotes and separated by commas or spaces.
+.sp
+.LP
+If you do not specify an option, \fBprstat\fR examines all processes and
+reports statistics sorted by \fBCPU\fR usage.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report information about processes and users. In this mode \fBprstat\fR
+displays separate reports about processes and users at the same time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print new reports below previous reports instead of overprinting them.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIpsrsetlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes or lwps that are bound to processor sets in the given
+list. Each processor set is identified by an integer as reported by
+\fBpsrset\fR(1M). The load averages displayed are the sum of the load averages
+of the specified processor sets (see \fBpset_getloadavg\fR(3C)). Processes with
+one or more LWPs bound to processor sets in the given list are reported even
+when the \fB-L\fR option is not used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fBu | d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIlgrplist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes or lwps whose home \fIlgroup\fR is in the given list of
+\fIlgroups\fR. No processes or lwps will be listed for invalid \fIlgroups\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report information about home \fIlgroup\fR. In this mode, \fBprstat\fR adds an
+extra column showing process or lwps home \fIlgroup\fR with the header LGRP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-j\fR \fIprojlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes or lwps whose project \fBID\fR is in the given list. Each
+project \fBID\fR can be specified as either a project name or a numerical
+project \fBID\fR. See \fBproject\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-J\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report information about processes and projects. In this mode \fBprstat\fR
+displays separate reports about processes and projects at the same time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fItasklist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes or lwps whose task \fBID\fR is in \fItasklist\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report statistics for each light-weight process (\fBLWP\fR). By default,
+\fBprstat\fR reports only the number of \fBLWP\fRs for each process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report microstate process accounting information. In addition to all fields
+listed in \fB-v\fR mode, this mode also includes the percentage of time the
+process has spent processing system traps, text page faults, data page faults,
+waiting for user locks and waiting for \fBCPU\fR (latency time).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIntop\fR[\fI,nbottom\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Restrict number of output lines. The \fIntop\fR argument determines how many
+lines of process or \fBlwp\fR statistics are reported, and the \fInbottom\fR
+argument determines how many lines of user, task, or projects statistics are
+reported if the \fB-a\fR, \fB-t\fR, \fB-T\fR, or \fB-J\fR options are
+specified. By default, \fBprstat\fR displays as many lines of output that fit
+in a window or terminal. When you specify the \fB-c\fR option or direct the
+output to a file, the default values for \fBntop\fR and \fBnbottom\fR are
+\fB15\fR and \fB5\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpidlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes whose process \fBID\fR is in the given list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIcpulist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes or \fBlwp\fRs which have most recently executed on a
+\fBCPU\fR in the given list. Each \fBCPU\fR is identified by an integer as
+reported by \fBpsrinfo\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Put \fBprstat\fR in the real time scheduling class. When this option is used,
+\fBprstat\fR is given priority over time-sharing and interactive processes.
+This option is available only for superuser.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable lookups for user names and project names. (Note that this does not
+apply to lookups for the \fB-j\fR, \fB-u\fR, or \fB-U\fR options.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIkey\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sort output lines (that is, processes, \fBlwp\fRs, or users) by \fIkey\fR in
+descending order. Only one \fIkey\fR can be used as an argument.
+.sp
+There are five possible key values:
+.sp
+.ne 2
+.mk
+.na
+\fBcpu\fR
+.ad
+.sp .6
+.RS 4n
+Sort by process \fBCPU\fR usage. This is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpri\fR
+.ad
+.sp .6
+.RS 4n
+Sort by process priority.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrss\fR
+.ad
+.sp .6
+.RS 4n
+Sort by resident set size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsize\fR
+.ad
+.sp .6
+.RS 4n
+Sort by size of process image.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtime\fR
+.ad
+.sp .6
+.RS 4n
+Sort by process execution time.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIkey\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sort output lines by \fIkey\fR in ascending order. Possible \fIkey\fR values
+are the same as for the \fB-s\fR option. See \fB-s\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report total usage summary for each user. The summary includes the total number
+of processes or \fBLWP\fRs owned by the user, total size of process images,
+total resident set size, total cpu time, and percentages of recent cpu time and
+system memory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report information about processes and tasks. In this mode \fBprstat\fR
+displays separate reports about processes and tasks at the same time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIeuidlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes whose effective user \fBID\fR is in the given list. Each
+user \fBID\fR may be specified as either a login name or a numerical user
+\fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR \fIuidlis\fRt\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes whose real user \fBID\fR is in the given list. Each user
+\fBID\fR may be specified as either a login name or a numerical user \fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report verbose process usage. This output format includes the percentage of
+time the process has spent in user mode, in system mode, and sleeping. It also
+includes the number of voluntary and involuntary context switches, system calls
+and the number of signals received. Statistics that are not reported are marked
+with the \fB-\fR sign.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIzoneidlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report only processes or LWPs whose zone ID is in the given list. Each zone ID
+can be specified as either a zone name or a numerical zone ID. See
+\fBzones\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Z\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report information about processes and zones. In this mode, \fBprstat\fR
+displays separate reports about processes and zones at the same time.
+.RE
+
+.SH OUTPUT
+.sp
+.LP
+The following list defines the column headings and the meanings of a
+\fBprstat\fR report:
+.sp
+.ne 2
+.mk
+.na
+\fBPID\fR
+.ad
+.sp .6
+.RS 4n
+The process \fBID\fR of the process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBUSERNAME\fR
+.ad
+.sp .6
+.RS 4n
+The real user (login) name or real user \fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSWAP\fR
+.ad
+.sp .6
+.RS 4n
+The total virtual memory size of the process, including all mapped files and
+devices, in kilobytes (\fBK\fR), megabytes (\fBM\fR), or gigabytes (\fBG\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBRSS\fR
+.ad
+.sp .6
+.RS 4n
+The resident set size of the process (\fBRSS\fR), in kilobytes (\fBK\fR),
+megabytes (\fBM\fR), or gigabytes (\fBG\fR). The RSS value is an estimate
+provided by \fBproc\fR(4) that might underestimate the actual resident set
+size. Users who want to get more accurate usage information for capacity
+planning should use the \fB-x\fR option to \fBpmap\fR(1) instead.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSTATE\fR
+.ad
+.sp .6
+.RS 4n
+The state of the process:
+.sp
+.ne 2
+.mk
+.na
+\fBcpu\fIN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Process is running on \fBCPU\fR \fIN\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsleep\fR
+.ad
+.sp .6
+.RS 4n
+Sleeping: process is waiting for an event to complete.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwait\fR
+.ad
+.sp .6
+.RS 4n
+Waiting: process is waiting for CPU usage to drop to the CPU-caps enforced
+limits. See the description of \fBCPU-caps\fR in \fBresource_controls\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrun\fR
+.ad
+.sp .6
+.RS 4n
+Runnable: process in on run queue.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBzombie\fR
+.ad
+.sp .6
+.RS 4n
+Zombie state: process terminated and parent not waiting.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstop\fR
+.ad
+.sp .6
+.RS 4n
+Process is stopped.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPRI\fR
+.ad
+.sp .6
+.RS 4n
+The priority of the process. Larger numbers mean higher priority.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBNICE\fR
+.ad
+.sp .6
+.RS 4n
+Nice value used in priority computation. Only processes in certain scheduling
+classes have a nice value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBTIME\fR
+.ad
+.sp .6
+.RS 4n
+The cumulative execution time for the process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBCPU\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of recent \fBCPU\fR time used by the process. If executing in a
+non-global \fBzone\fR and the pools facility is active, the percentage will be
+that of the processors in the processor set in use by the pool to which the
+\fBzone\fR is bound.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPROCESS\fR
+.ad
+.sp .6
+.RS 4n
+The name of the process (name of executed file).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBLWPID\fR
+.ad
+.sp .6
+.RS 4n
+The \fBlwp\fR \fBID\fR of the \fBlwp\fR being reported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBNLWP\fR
+.ad
+.sp .6
+.RS 4n
+The number of \fBlwp\fRs in the process.
+.RE
+
+.sp
+.LP
+With the some options, in addition to a number of the column headings shown
+above, there are:
+.sp
+.ne 2
+.mk
+.na
+\fBNPROC\fR
+.ad
+.sp .6
+.RS 4n
+Number of processes in a specified collection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBMEMORY\fR
+.ad
+.sp .6
+.RS 4n
+Percentage of memory used by a specified collection of processes.
+.RE
+
+.sp
+.LP
+The following columns are displayed when the \fB-v\fR or \fB-m\fR option is
+specified
+.sp
+.ne 2
+.mk
+.na
+\fBUSR\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of time the process has spent in user mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSYS\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of time the process has spent in system mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBTRP\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of time the process has spent in processing system traps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBTFL\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of time the process has spent processing text page faults.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBDFL\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of time the process has spent processing data page faults.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBLCK\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of time the process has spent waiting for user locks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSLP\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of time the process has spent sleeping.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBLAT\fR
+.ad
+.sp .6
+.RS 4n
+The percentage of time the process has spent waiting for CPU.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBVCX\fR
+.ad
+.sp .6
+.RS 4n
+The number of voluntary context switches.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBICX\fR
+.ad
+.sp .6
+.RS 4n
+The number of involuntary context switches.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSCL\fR
+.ad
+.sp .6
+.RS 4n
+The number of system calls.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSIG\fR
+.ad
+.sp .6
+.RS 4n
+The number of signals received.
+.RE
+
+.sp
+.LP
+Under the \fB-L\fR option, one line is printed for each \fBlwp\fR in the
+process and some reporting fields show the values for the \fBlwp\fR, not the
+process.
+.sp
+.LP
+The following column is displayed when the \fB-H\fR option is specified:
+.sp
+.ne 2
+.mk
+.na
+\fBLGRP\fR
+.ad
+.sp .6
+.RS 4n
+The home \fIlgroup\fR of the process or lwp.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of times that the statistics are repeated. By default,
+\fBprstat\fR reports statistics until a termination signal is received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the sampling interval in seconds; the default interval is \fB5\fR
+seconds.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRReporting the Five Most Active Super-User Processes
+.sp
+.LP
+The following command reports the five most active super-user processes running
+on \fBCPU1\fR and \fBCPU2\fR:
+
+.sp
+.in +2
+.nf
+example% prstat -u root -n 5 -P 1,2 1 1
+
+PID USERNAME SWAP RSS STATE PRI NICE TIME CPU PROCESS/LWP
+ 306 root 3024K 1448K sleep 58 0 0:00.00 0.3% sendmail/1
+ 102 root 1600K 592K sleep 59 0 0:00.00 0.1% in.rdisc/1
+ 250 root 1000K 552K sleep 58 0 0:00.00 0.0% utmpd/1
+ 288 root 1720K 1032K sleep 58 0 0:00.00 0.0% sac/1
+ 1 root 744K 168K sleep 58 0 0:00.00 0.0% init/1
+TOTAL: 25, load averages: 0.05, 0.08, 0.12
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying Verbose Process Usage Information
+.sp
+.LP
+The following command displays verbose process usage information about
+processes with lowest resident set sizes owned by users \fBroot\fR and
+\fBjohn\fR.
+
+.sp
+.in +2
+.nf
+example% prstat -S rss -n 5 -vc -u root,john
+
+ PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
+ 1 root 0.0 0.0 - - - - 100 - 0 0 0 0 init/1
+ 102 root 0.0 0.0 - - - - 100 - 0 0 3 0 in.rdisc/1
+ 250 root 0.0 0.0 - - - - 100 - 0 0 0 0 utmpd/1
+1185 john 0.0 0.0 - - - - 100 - 0 0 0 0 csh/1
+ 240 root 0.0 0.0 - - - - 100 - 0 0 0 0 powerd/4
+ TOTAL: 71, load averages: 0.02, 0.04, 0.08
+
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdate\fR(1), \fBlgrpinfo\fR(1), \fBplgrp\fR(1), \fBproc\fR(1), \fBps\fR(1),
+\fBtime\fR(2), \fBpsrinfo\fR(1M), \fBpsrset\fR(1M), \fBsar\fR(1M),
+\fBpset_getloadavg\fR(3C), \fBproc\fR(4), \fBproject\fR(4),
+\fBattributes\fR(5), \fBresource_controls\fR(5), \fBzones\fR(5)
+.SH NOTES
+.sp
+.LP
+The snapshot of system usage displayed by \fBprstat\fR is true only for a
+split-second, and it may not be accurate by the time it is displayed. When the
+\fB-m\fR option is specified, \fBprstat\fR tries to turn on microstate
+accounting for each process; the original state is restored when \fBprstat\fR
+exits. See \fBproc\fR(4) for additional information about the microstate
+accounting facility.
+.sp
+.LP
+The total memory size reported in the SWAP and RSS columns for groups of
+processes can sometimes overestimate the actual amount of memory used by
+processes with shared memory segments.
diff --git a/usr/src/man/man1m/prtconf.1m b/usr/src/man/man1m/prtconf.1m
new file mode 100644
index 0000000000..5ee5a2146a
--- /dev/null
+++ b/usr/src/man/man1m/prtconf.1m
@@ -0,0 +1,270 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH prtconf 1M "13 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+prtconf \- print system configuration
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/prtconf\fR [\fB-V\fR] | [\fB-F\fR] | [\fB-x\fR] | [\fB-bpv\fR] | [\fB-acdDPv\fR]
+ [\fIdev_path\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprtconf\fR command prints the system configuration information. The
+output includes the total amount of memory, and the configuration of system
+peripherals formatted as a device tree.
+.sp
+.LP
+If a device path is specified on the command line for those command options
+that can take a device path, \fBprtconf\fR will only display information for
+that device node.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Display all the ancestors device nodes, up to the root node of the device tree,
+for the device specified on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 6n
+.rt
+Display the firmware device tree root properties for the purpose of platform
+identification. These properties are "name", "compatible", "banner-name" and
+"model".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Display the device subtree rooted at the device node specified on the command
+line, that is, display all the children of the device node specified on the
+command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Display vendor ID and device ID for PCI and PCI Express devices, in addition to
+the nodename.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 6n
+.rt
+For each system peripheral in the device tree, displays the name of the device
+driver used to manage the peripheral.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 6n
+.rt
+A SPARC-only option. Returns the device path name of the console frame buffer,
+if one exists. If there is no frame buffer, \fBprtconf\fR returns a non-zero
+exit code. This flag must be used by itself. It returns only the name of the
+console, frame buffer device or a non-zero exit code. For example, if the
+console frame buffer on a SUNW,Ultra-30 is \fBffb\fR, the command returns:
+\fB/SUNW,ffb@1e,0:ffb0\fR. This option could be used to create a symlink for
+\fB/dev/fb\fR to the actual console device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Displays information derived from the device tree provided by the firmware
+(PROM) on SPARC platforms or the booting system on x86 platforms.The device
+tree information displayed using this option is a snapshot of the initial
+configuration and may not accurately reflect reconfiguration events that occur
+later.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.RS 6n
+.rt
+Includes information about pseudo devices. By default, information regarding
+pseudo devices is omitted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies verbose mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 6n
+.rt
+Displays platform-dependent \fBPROM\fR (on SPARC platforms) or booting system
+(on x86 platforms) version information. This flag must be used by itself. The
+output is a string. The format of the string is arbitrary and
+platform-dependent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 6n
+.rt
+Reports if the firmware on this system is 64-bit ready. Some existing platforms
+may need a firmware upgrade in order to run the 64-bit kernel. If the operation
+is not applicable to this platform or the firmware is already 64-bit ready, it
+exits silently with a return code of zero. If the operation is applicable to
+this platform and the firmware is not 64-bit ready, it displays a descriptive
+message on the standard output and exits with a non-zero return code. The
+hardware platform documentation contains more information about the platforms
+that may need a firmware upgrade in order to run the 64-bit kernel.
+.sp
+This flag overrides all other flags and must be used by itself.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdev_path\fR\fR
+.ad
+.RS 12n
+.rt
+The path to a target device minor node, device nexus node, or device link for
+which device node configuration information is displayed
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+No error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+With the \fB-F\fR option (SPARC only), a non-zero return value means that the
+output device is not a frame buffer. With the \fB-x\fR option, a non-zero
+return value means that the firmware is not 64-bit ready. In all other cases, a
+non-zero return value means that an error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfuser\fR(1M), \fBmodinfo\fR(1M), \fBsysdef\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fISun Hardware Platform Guide\fR
+.SS "SPARC Only"
+.sp
+.LP
+\fBopenprom\fR(7D)
+.SH NOTES
+.sp
+.LP
+The output of the \fBprtconf\fR command is highly dependent on the version of
+the \fBPROM\fR installed in the system. The output will be affected in
+potentially all circumstances.
+.sp
+.LP
+The \fBdriver not attached\fR message means that no driver is currently
+attached to that instance of the device. In general, drivers are loaded and
+installed (and attached to hardware instances) on demand, and when needed, and
+may be uninstalled and unloaded when the device is not in use.
+.sp
+.LP
+On x86 platforms, the use of \fBprtconf\fR \fB-vp\fR provides a subset of
+information from \fBprtconf\fR \fB-v\fR. The value of integer properties from
+\fBprtconf\fR \fB-vp\fR might require byte swapping for correct interpretation.
diff --git a/usr/src/man/man1m/prtdiag.1m b/usr/src/man/man1m/prtdiag.1m
new file mode 100644
index 0000000000..e13990e3db
--- /dev/null
+++ b/usr/src/man/man1m/prtdiag.1m
@@ -0,0 +1,131 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH prtdiag 1M "2 Sep 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+prtdiag \- display system diagnostic information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/prtdiag\fR [\fB-v\fR] [\fB-l\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBprtdiag\fR displays system configuration and diagnostic information on
+\fBsun4u\fR, \fBsun4v\fR, and x86 systems.
+.sp
+.LP
+The diagnostic information lists any failed field replaceable units
+(\fBFRU\fRs) in the system.
+.sp
+.LP
+The interface, output, and location in the directory hierarchy for
+\fBprtdiag\fR are uncommitted and subject to change in future releases.
+.sp
+.LP
+\fBprtdiag\fR does not display diagnostic information and environmental status
+when executed on the Sun Enterprise 10000 server. See the
+\fB/var/opt/SUNWssp/adm/${SUNW_HOSTNAME}/messages\fR file on the system service
+processor (SSP) to obtain such information for this server.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+Log output. If failures or errors exist in the system, output this information
+to \fBsyslogd\fR(1M) only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Verbose mode. Displays the time of the most recent \fBAC\fR Power failure, and
+the most recent hardware fatal error information, and (if applicable)
+environmental status. The hardware fatal error information is useful to repair
+and manufacturing for detailed diagnostics of \fBFRU\fRs.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+No failures or errors are detected in the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Failures or errors are detected in the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+An internal \fBprtdiag\fR error occurred, for example, out of memory.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable*
+.TE
+
+.sp
+.LP
+*The output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBmodinfo\fR(1M), \fBprtconf\fR(1M), \fBpsrinfo\fR(1M), \fBsysdef\fR(1M),
+\fBsyslogd\fR(1M), \fBattributes\fR(5), \fBopenprom\fR(7D)
+.SH NOTES
+.sp
+.LP
+Not all diagnostic and system information is available on every Solaris
+platform, and therefore cannot be displayed by \fBprtdiag\fR. On those
+platforms, further information can be obtained from the System Controller.
diff --git a/usr/src/man/man1m/prtdscp.1m b/usr/src/man/man1m/prtdscp.1m
new file mode 100644
index 0000000000..3c98e228ee
--- /dev/null
+++ b/usr/src/man/man1m/prtdscp.1m
@@ -0,0 +1,157 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH prtdscp 1M "25 Apr 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+prtdscp \- display \fBDSCP\fR \fBIP\fR addresses
+.SH SYNOPSIS
+.LP
+.nf
+\fBprtdscp\fR [\fB-v\fR ]
+.fi
+
+.LP
+.nf
+\fBprtdscp\fR [\fB-v\fR ] \fB-h\fR
+.fi
+
+.LP
+.nf
+\fBprtdscp\fR [\fB-v\fR ] \fB-d\fR
+.fi
+
+.LP
+.nf
+\fBprtdscp\fR [\fB-v\fR ] \fB-s\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBprtdscp\fR displays the \fBIP\fR addresses associated with a Domain to
+Service Processor Communications Protocol (\fBDSCP\fR) link. If no arguments
+are specified, \fBprtdscp\fR displays the \fBIP\fR addresses on both ends of
+the \fBDSCP\fR link. The \fBIP\fR address of either the Service Processor or
+domain side can be displayed separately by the use of the \fB-s\fR or \fB-d\fR
+options, respectively.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Verbose mode. Print additional details about the program's internal progress to
+\fBstderr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 6n
+.rt
+Help. Print a brief synopsis of the program's usage and exit. All other command
+line arguments are ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Display only the local domain's \fBIP\fR address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Display only the remote Service Processor's \fBIP\fR address.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying both addresses
+.sp
+.LP
+The following example displays both the local domain's \fBIP\fR address and the
+remote \fBSP\fR's \fBIP\fR address:
+
+.sp
+.in +2
+.nf
+\fB# prtdscp\fR
+Domain Address: 192.168.103.2
+SP Address: 192.168.103.1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying the local \fBIP\fR address
+.sp
+.LP
+The following example displays the local domain's \fBIP\fR address:
+
+.sp
+.in +2
+.nf
+\fB# prtdscp -d\fR
+192.168.103.2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying the remote \fBIP\fR address
+.sp
+.LP
+The following example display the remote \fBSP\fR's \fBIP\fR address:
+
+.sp
+.in +2
+.nf
+\fB# prtdscp -s\fR
+192.168.103.1
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/prtfru.1m b/usr/src/man/man1m/prtfru.1m
new file mode 100644
index 0000000000..12c0e6da79
--- /dev/null
+++ b/usr/src/man/man1m/prtfru.1m
@@ -0,0 +1,128 @@
+'\" te
+.\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH prtfru 1M "30 May 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+prtfru \- print FRUID-specific information about the FRUs on a system or domain
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/prtfru\fR [\fB-d\fR] | [\fB-clx\fR] [\fIcontainer\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprtfru\fR utility is used to obtain \fBFRUID\fR data from the system or
+domain. Its output is that of a tree structure echoing the path in the
+\fBFRU\fR (Field-Replaceable Unit) tree to each container. When a container is
+found, the data from that container is printed in a tree-like structure as
+well.
+.sp
+.LP
+\fBprtfru\fR without any arguments will print the \fBFRU\fR hierarchy and all
+of the \fBFRUID\fR container data. \fBprtfru\fR prints to stdout which may be
+redirected to a file.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fR
+.ad
+.RS 7n
+.rt
+Prints \fIonly\fR the containers and their data. This option does not print the
+\fBFRU\fR tree hierarchy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fR
+.ad
+.RS 7n
+.rt
+Prints a \fBDTD\fR for the current registry to stdout.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fR
+.ad
+.RS 7n
+.rt
+Prints \fIonly\fR the \fBFRU\fR tree hierarchy. This option does not print the
+container data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fR
+.ad
+.RS 7n
+.rt
+Prints in \fBXML\fR format with a system identifier (SYSTEM) of
+\fBprtfrureg.dtd\fR.
+.RE
+
+.sp
+.LP
+Options \fB-c\fR and \fB-l\fR can be used together to obtain a list of the
+containers.
+.SH OPERANDS
+.sp
+.LP
+The folowing operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcontainer\fR\fR
+.ad
+.RS 13n
+.rt
+The name of a particular container in the \fBFRU\fR hierarchy, that is, either
+the name or path/name of a container as displayed in the \fB-l\fR option.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+All information was found and printed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error has occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBfruadm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/prtpicl.1m b/usr/src/man/man1m/prtpicl.1m
new file mode 100644
index 0000000000..37a51fbfa2
--- /dev/null
+++ b/usr/src/man/man1m/prtpicl.1m
@@ -0,0 +1,77 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH prtpicl 1M "2 Jun 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+prtpicl \- print PICL tree
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/prtpicl\fR [\fB-c\fR \fIpicl_class\fR] [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprtpicl\fR command prints the \fBPICL\fR tree maintained by the
+\fBPICL\fR daemon. The output of \fBprtpicl\fR includes the name and \fBPICL\fR
+class of the nodes.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIpicl_class\fR\fR
+.ad
+.RS 17n
+.rt
+Print only the nodes of the named \fBPICL\fR class.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 17n
+.rt
+Print in verbose mode. In verbose mode, \fBprtpicl\fR prints a list of
+properties and values for each node. Verbose mode is disabled by default.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpicld\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/prtvtoc.1m b/usr/src/man/man1m/prtvtoc.1m
new file mode 100644
index 0000000000..8d0b326fb6
--- /dev/null
+++ b/usr/src/man/man1m/prtvtoc.1m
@@ -0,0 +1,228 @@
+'\" te
+.\" Copyright 1989 AT&T All Rights Reserved. Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH prtvtoc 1M "25 Jul 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+prtvtoc \- report information about a disk geometry and partitioning
+.SH SYNOPSIS
+.LP
+.nf
+\fBprtvtoc\fR [\fB-fhs\fR] [\fB-t\fR \fIvfstab\fR] [\fB-m\fR \fImnttab\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprtvtoc\fR command allows the contents of the label to be viewed. The
+command can be used only by the super-user.
+.sp
+.LP
+The \fIdevice\fR name can be the file name of a raw device in the form of
+\fB/dev/rdsk/c?t?d?s2\fR or can be the file name of a block device in the form
+of \fB/dev/dsk/c?t?d?s2\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 13n
+.rt
+Report on the disk free space, including the starting block address of the free
+space, number of blocks, and unused partitions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 13n
+.rt
+Omit the headers from the normal output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fI mnttab\fR\fR
+.ad
+.RS 13n
+.rt
+Use \fImnttab\fR as the list of mounted filesystems, in place of
+\fB/etc/mnttab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 13n
+.rt
+Omit all headers but the column header from the normal output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fI vfstab\fR\fR
+.ad
+.RS 13n
+.rt
+Use \fIvfstab\fR as the list of filesystem defaults, in place of
+\fB/etc/vfstab\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBprtvtoc\fR Command
+.sp
+.LP
+The following example uses the \fBprtvtoc\fR command on a 424-megabyte hard
+disk:
+
+.sp
+.in +2
+.nf
+example# prtvtoc /dev/rdsk/c0t3d0s2
+* /dev/rdsk/c0t3d0s2 partition map
+*
+* Dimension:
+* 512 bytes/sector
+* 80 sectors/track
+* 9 tracks/cylinder
+* 720 sectors/cylinder
+* 2500 cylinders
+* 1151 accessible cylinders
+*
+* Flags:
+* 1: unmountable
+* 10: read-only
+* * First Sector Last
+* Partition Tag Flags Sector Count Sector Mount Directory
+ 0 2 00 0 76320 76319 /
+ 1 3 01 76320 132480 208799
+ 2 5 00 0 828720 828719
+ 5 6 00 208800 131760 340559 /opt
+ 6 4 00 340560 447120 787679 /usr
+ 7 8 00 787680 41040 828719 /export/home
+example#
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The data in the \fBTag\fR column above indicates the type of partition, as
+follows:
+
+.sp
+
+.sp
+.TS
+tab();
+cw(2.5i) cw(3i)
+lw(2.5i) lw(3i)
+.
+\fIName\fR\fINumber\fR
+UNASSIGNED0x00
+BOOT0x01
+ROOT0x02
+SWAP0x03
+USR0x04
+BACKUP0x05
+STAND0x06
+VAR0x07
+HOME0x08
+ALTSCTR 0x09
+CACHE0x0a
+RESERVED0x0b
+.TE
+
+.sp
+.LP
+The data in the \fBFlags\fR column above indicates how the partition is to be
+mounted, as follows:
+
+.sp
+
+.sp
+.TS
+tab();
+lw(2.5i) lw(3i)
+lw(2.5i) lw(3i)
+.
+\fIName\fR\fINumber\fR
+MOUNTABLE, READ AND WRITE0x00
+NOT MOUNTABLE0x01
+MOUNTABLE, READ ONLY0x10
+.TE
+
+.LP
+\fBExample 2 \fRUsing the \fBprtvtoc\fR Command with the \fB-f\fR Option
+.sp
+.LP
+The following example uses the \fBprtvtoc\fR command with the \fB-f\fR option
+on a 424-megabyte hard disk:
+
+.sp
+.in +2
+.nf
+example# prtvtoc \fB-f\fR /dev/rdsk/c0t3d0s2
+FREE_START=0 FREE_SIZE=0 FREE_COUNT=0 FREE_PART=34
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing the \fBprtvtoc\fR Command on a Disk Over One Terabyte
+.sp
+.LP
+The following example uses uses the \fBprtvtoc\fR command on a disk over one
+terabyte:.
+
+.sp
+.in +2
+.nf
+example# prtvtoc /dev/rdsk/c1t1d0s2
+* /dev/rdsk/c1t1d0s2 partition map
+*
+* Dimensions:
+* 512 bytes/sector
+* 3187630080 sectors
+* 3187630013 accessible sectors
+*
+* Flags:
+* 1: unmountable
+* 10: read-only
+*
+* First Sector Last
+* Partition Tag Flags Sector Count Sector Mount Directory
+0 2 00 34 262144 262177
+1 3 01 262178 262144 524321
+6 4 00 524322 3187089340 3187613661
+8 11 00 3187613662 16384 318763004
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdevinfo\fR(1M), \fBfmthard\fR(1M), \fBformat\fR(1M), \fBmount\fR(1M),
+\fBattributes\fR(5)
+.SH WARNINGS
+.sp
+.LP
+The \fBmount\fR command does not check the "not mountable" bit.
diff --git a/usr/src/man/man1m/psradm.1m b/usr/src/man/man1m/psradm.1m
new file mode 100644
index 0000000000..d151fc74e2
--- /dev/null
+++ b/usr/src/man/man1m/psradm.1m
@@ -0,0 +1,370 @@
+'\" te
+.\" Copyright (c) 2008 Sun Microsystems, Inc.
+.\" All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH psradm 1M "25 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+psradm \- change processor operational status
+.SH SYNOPSIS
+.LP
+.nf
+\fBpsradm\fR \fB-f\fR | \fB-i\fR | \fB-n\fR | \fB-s\fR [\fB-v\fR] [\fB-F\fR] \fIprocessor_id\fR
+.fi
+
+.LP
+.nf
+\fBpsradm\fR \fB-a\fR \fB-f\fR | \fB-i\fR | \fB-n\fR | \fB-s\fR [\fB-v\fR] [\fB-F\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpsradm\fR utility changes the operational status of processors. The
+legal states for the processor are \fBon-line\fR, \fBoff-line\fR, \fBspare\fR,
+\fBfaulted\fR, and \fBno-intr\fR.
+.sp
+.LP
+An \fBon-line\fR processor processes \fBLWPs\fR (lightweight processes) and can
+be interrupted by I/O devices in the system.
+.sp
+.LP
+An \fBoff-line\fR processor does not process any \fBLWPs.\fR Usually, an
+\fBoff-line\fR processor is not interruptible by I/O devices in the system. On
+some processors or under certain conditions, it might not be possible to
+disable interrupts for an \fBoff-line\fR processor. Thus, the actual effect of
+being \fBoff-line\fR might vary from machine to machine.
+.sp
+.LP
+A spare processor does not process any LWPs. A spare processor can be brought
+\fBon-line\fR, \fBoff-line\fR or to \fBno-intr\fR by a privileged user of the
+system or by the kernel in response to changes in the system state.
+.sp
+.LP
+A faulted processor is identified by the kernel, which monitors the behavior of
+processors over time. A privileged user can set the state of a faulted
+processor to be \fBon-line\fR, \fBoff-line\fR, \fBspare\fR or \fBno-intr\fR,
+but must use the force option to do so.
+.sp
+.LP
+A \fBno-intr\fR processor processes \fBLWPs\fR but is not interruptible by I/O
+devices.
+.sp
+.LP
+A processor can not be taken \fBoff-line\fR or made \fBspare\fR if there are
+LWPs that are bound to the processor unless the additional \fB-F\fR option is
+used. The \fB-F\fR option removes processor bindings of such LWPs before
+changing the processor's operational status. On some architectures, it might
+not be possible to take certain processors \fBoff-line\fR or \fBspare\fR if,
+for example, the system depends on some resource provided by the processor.
+.sp
+.LP
+At least one processor in the system must be able to process \fBLWPs.\fR At
+least one processor must also be able to be interrupted. Since an
+\fBoff-line\fR or \fBspare\fR processor can be interruptible, it is possible to
+have an operational system with one processor \fBno-intr\fR and all other
+processors \fBoff-line\fR or \fBspare\fR but with one or more accepting
+interrupts.
+.sp
+.LP
+If any of the specified processors are powered off, \fBpsradm\fR might power on
+one or more processors.
+.sp
+.LP
+Only users with the \fBPRIV_SYS_RES_CONFIG\fR privilege can use the
+\fBpsradm\fR utility.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Perform the action on all processors, or as many as possible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Take the specified processors \fBoff-line\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 6n
+.rt
+Force the transition to the additional specified state. Required if one or more
+of the specified processors was in the faulted state. Set the specified
+processors to faulted, if no other transition option was specified. Forced
+transitions can only be made to \fBfaulted\fR, \fBspare\fR, or \fBoff-line\fR
+states. Administrators are encouraged to use the \fB-Q\fR option for
+\fBpbind\fR(1M) to find out which threads will be affected by forced a
+processor state transition.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Set the specified processors \fBno-intr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Bring the specified processors \fBon-line\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Make the specified processors spare.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Output a message giving the results of each attempted operation.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprocessor_id\fR\fR
+.ad
+.RS 16n
+.rt
+The processor \fBID\fR of the processor to be set \fBon-line\fR or
+\fBoff-line\fR, \fBspare\fR, or \fBno-intr\fR.
+.sp
+Specify \fIprocessor_id\fR as an individual processor number (for example,
+\fB3\fR), multiple processor numbers separated by spaces (for example, \fB1 2
+3\fR), or a range of processor numbers (for example, \fB1-4\fR). It is also
+possible to combine ranges and (individual or multiple) \fIprocessor_id\fRs
+(for example, \fB1-3 5 7-8 9\fR).
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting Processors to \fBoff-line\fR
+.sp
+.LP
+The following example sets processors 2 and 3 \fBoff-line\fR:
+
+.sp
+.in +2
+.nf
+% psradm \fB-f\fR 2 3
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSetting Processors to no-intr
+.sp
+.LP
+The following example sets processors 1 and 2 \fBno-intr\fR:
+
+.sp
+.in +2
+.nf
+% psradm \fB-i\fR 1 2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSetting Processors to \fBspare\fR
+.sp
+.LP
+The following example sets processors 1 and 2 spare, even if either of the
+processors was in the faulted state:
+
+.sp
+.in +2
+.nf
+% psradm -F -s 1 2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSetting All Processors \fBon-line\fR
+.sp
+.in +2
+.nf
+% psradm \fB-a\fR \fB-n\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRForcing Processors to \fBoff-line\fR
+.sp
+.LP
+The following example sets processors 1 and 2 offline, and revokes the
+processor bindings from the processes bound to them:
+
+.sp
+.in +2
+.nf
+% psradm \fB-F\fR \fB-f\fR 1 2
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/wtmpx\fR\fR
+.ad
+.RS 14n
+.rt
+Records logging processor status changes
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpbind\fR(1M), \fBpsrinfo\fR(1M), \fBpsrset\fR(1M), \fBp_online\fR(2),
+\fBprocessor_bind\fR(2), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpsradm: processor 4: Invalid argument\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified processor does not exist in the configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpsradm: processor 3: Device busy\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified processor could not be taken \fBoff-line\fR because it either has
+LWPs bound to it, is the last \fBon-line\fR processor in the system, or is
+needed by the system because it provides some essential service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpsradm: processor 3: Device busy\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified processor could not be set \fBno-intr\fR because it is the last
+interruptible processor in the system, or or it is the only processor in the
+system that can service interrupts needed by the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpsradm: processor 3: Device busy\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified processor is powered off, and it cannot be powered on because
+some platform-specific resource is unavailable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpsradm: processor 0: Not owner\fR\fR
+.ad
+.sp .6
+.RS 4n
+The user does not have permission to change processor status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpsradm: processor 2: Operation not supported\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified processor is powered off, and the platform does not support power
+on of individual processors.
+.RE
+
diff --git a/usr/src/man/man1m/psrinfo.1m b/usr/src/man/man1m/psrinfo.1m
new file mode 100644
index 0000000000..be0fde639c
--- /dev/null
+++ b/usr/src/man/man1m/psrinfo.1m
@@ -0,0 +1,220 @@
+'\" te
+.\" Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH psrinfo 1M "21 Feb 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+psrinfo \- displays information about processors
+.SH SYNOPSIS
+.LP
+.nf
+\fBpsrinfo\fR [\fB-p\fR] [\fB-v\fR] [\fIprocessor_id\fR]...
+.fi
+
+.LP
+.nf
+\fBpsrinfo\fR [\fB-p\fR] \fB-s\fR \fIprocessor_id\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpsrinfo\fR displays information about processors. Each physical processor
+may support multiple virtual processors. Each virtual processor is an entity
+with its own interrupt \fBID\fR, capable of executing independent threads.
+.sp
+.LP
+Without the \fIprocessor_id\fR operand, \fBpsrinfo\fR displays one line for
+each configured processor, displaying whether it is on-line, non-interruptible
+(designated by no-intr), spare, off-line, faulted or powered off, and when that
+status last changed. Use the processor_id operand to display information about
+a specific processor. See \fBOPERANDS\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fI processor_id\fR\fR
+.ad
+.RS 19n
+.rt
+Silent mode. Displays \fB1\fR if the specified processor is fully on-line.
+Displays \fB0\fR if the specified processor is non-interruptible, spare,
+off-line, faulted or powered off.
+.sp
+Use silent mode when using \fBpsrinfo\fR in shell scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 19n
+.rt
+Display the number of physical processors in a system.
+.sp
+When combined with the \fB-v\fR option, reports additional information about
+each physical processor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 19n
+.rt
+Verbose mode. Displays additional information about the specified processors,
+including: processor type, floating point unit type and clock speed. If any of
+this information cannot be determined, \fBpsrinfo\fR displays \fBunknown\fR.
+.sp
+When combined with the \fB-p\fR option, reports additional information about
+each physical processor.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprocessor_id\fR\fR
+.ad
+.RS 16n
+.rt
+The processor \fBID\fR of the processor about which information is to be
+displayed.
+.sp
+Specify \fIprocessor_id\fR as an individual processor number (for example,
+\fB3\fR), multiple processor numbers separated by spaces (for example, \fB1 2
+3\fR), or a range of processor numbers (for example, \fB1-4\fR). It is also
+possible to combine ranges and (individual or multiple) \fIprocessor_id\fRs
+(for example, \fB1-3 5 7-8 9\fR).
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying Information About All Configured Processors in
+Verbose Mode
+.sp
+.LP
+The following example displays information about all configured processors in
+verbose mode.
+
+.sp
+.in +2
+.nf
+\fBpsrinfo \fR\fB-v\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDetermining If a Processor is On-line
+.sp
+.LP
+The following example uses \fBpsrinfo\fR in a shell script to determine if a
+processor is on-line.
+
+.sp
+.in +2
+.nf
+if [ "`psrinfo \fB-s\fR 3 2> /dev/null`" \(mieq 1 ]
+then
+ echo "processor 3 is up"
+fi
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying Information About the Physical Processors in the
+System
+.sp
+.LP
+With no additional arguments, the \fB-p\fR option displays a single integer:
+the number of physical processors in the system:
+
+.sp
+.in +2
+.nf
+> psrinfo -p
+ 8
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBpsrinfo\fR also accepts command line arguments (processor \fBID\fRs):
+
+.sp
+.in +2
+.nf
+> psrinfo -p 0 512 # IDs 0 and 512 exist on the
+1 # same physical processor
+
+> psrinfo -p 0 1 # IDs 0 and 1 exist on different
+2 # physical processors
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example, virtual processors \fB0\fR and \fB512\fR exist on the same
+physical processor. Virtual processors \fB0\fR and \fB1\fR do not. This is
+specific to this example and is and not a general rule.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpsradm\fR(1M), \fBp_online\fR(2), \fBprocessor_info\fR(2),
+\fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpsrinfo:\fR \fBprocessor\fR \fB9:\fR \fBInvalid\fR \fBargument\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified processor does not exist.
+.RE
+
diff --git a/usr/src/man/man1m/psrset.1m b/usr/src/man/man1m/psrset.1m
new file mode 100644
index 0000000000..f971398bfe
--- /dev/null
+++ b/usr/src/man/man1m/psrset.1m
@@ -0,0 +1,587 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH psrset 1M "25 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+psrset \- creation and management of processor sets
+.SH SYNOPSIS
+.LP
+.nf
+\fBpsrset\fR \fB-a\fR [\fB-F\fR] \fIprocessor_set_id\fR \fIprocessor_id\fR...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-b\fR \fIprocessor_set_id\fR \fIpid\fR [\fI/lwpid\fR]...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-c\fR [\fB-F\fR] [\fIprocessor_id\fR]...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-d\fR \fIprocessor_set_id\fR...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-e\fR \fIprocessor_set_id\fR \fIcommand\fR [\fIargument(s)\fR]
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-f\fR \fIprocessor_set_id\fR
+.fi
+
+.LP
+.nf
+\fBpsrset\fR [\fB-i\fR] [\fIprocessor_set_id\fR]...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-n\fR \fIprocessor_set_id\fR
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-p\fR [\fIprocessor_id\fR]...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR [\fB-q\fR] [\fIpid\fR [\fI/lwpid\fR]]...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-Q\fR [\fIprocessor_set_id\fR]...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-r\fR [\fB-F\fR] \fIprocessor_id\fR...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-u\fR \fIpid\fR [\fI/lwpid\fR]...
+.fi
+
+.LP
+.nf
+\fBpsrset\fR \fB-U\fR [\fIprocessor_set_id\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpsrset\fR utility controls the management of processor sets. Processor
+sets allow the binding of processes or LWPs to groups of processors, rather
+than just a single processor. Processors assigned to processor sets can run
+only LWPs that have been bound to that processor set.
+.sp
+.LP
+This command cannot be used to modify processor disposition when pools are
+enabled. Use \fBpooladm\fR(1M) and \fBpoolcfg\fR(1M) to modify processor set
+configuration through the resource pools facility.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Assign the specified processors to the specified processor set. With the
+additional \fB-F\fR option, all LWPs bound to the specified processors will be
+unbound prior to changing processor sets.
+.sp
+This option is restricted to users with the \fBPRIV_SYS_RES_CONFIG\fR
+privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 6n
+.rt
+Bind all or a subset of the \fBLWP\fRs of the specified processes to the
+specified processor set.
+.sp
+LWPs bound to a processor set are restricted to run only on the processors in
+that set. Processes can only be bound to non-empty processor sets, that is,
+processor sets that have had processors assigned to them.
+.sp
+Bindings are inherited, so new LWPs and processes created by a bound LWP have
+the same binding. Binding an interactive shell to a processor, for example,
+binds all commands executed by the shell.
+.sp
+This option is restricted to users with the \fBPRIV_SYS_RES_CONFIG\fR
+privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Create a new processor set and displays the new processor set \fBID\fR. With
+the additional \fB-F\fR option, all LWPs bound to the specified processors will
+be unbound prior to assigning them to the processor set being created.
+.sp
+If a list of processors is given, it also attempts to assign those processors
+to the processor set. If this succeeds, the processors are idle until
+\fBLWP\fRs are bound to the processor set. This option is restricted to users
+with the \fBPRIV_SYS_RES_CONFIG\fR privilege.
+.sp
+Only a limited number of processor sets can be active (created and not
+destroyed) at a given time. This limit is always be greater than the number of
+processors in the system. If the \fB-c\fR option is used when the maximum
+number of processor sets is already active, the command fails.
+.sp
+The following format is used for the first line of output of the \fB-c\fR
+option when the \fBLC_MESSAGES\fR locale category specifies the "C" locale. In
+other locales, the strings \fBcreated\fR, \fBprocessor\fR, and \fBset\fR can be
+replaced with more appropriate strings corresponding to the locale.
+.sp
+.in +2
+.nf
+"created processor set %d\en" \fIprocessor set ID\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Remove the specified processor set, releasing all processors and processes
+associated with it.
+.sp
+This option is restricted to users with the \fBPRIV_SYS_RES_CONFIG\fR
+privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Execute a command (with optional arguments) in the specified processor set.
+.sp
+The command process and any child processes are executed only by processors in
+the processor set.
+.sp
+This option is restricted to users with the \fBPRIV_SYS_RES_CONFIG\fR
+privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Disables interrupts for all processors within the specified processor set. See
+\fBpsradm\fR(1M).
+.sp
+If some processors in the set cannot have their interrupts disabled, the other
+processors still have their interrupts disabled, and the command reports an
+error and return non-zero exit status.
+.sp
+This option is restricted to users with the \fBPRIV_SYS_RES_CONFIG\fR
+privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 6n
+.rt
+Forces the specified processor set operation by unbinding all threads bound to
+the specified processor. Only the \fB-a\fR or the \fB-r\fR option can be used
+in combination with this option. Administrators are encouraged to use the
+\fB-Q\fR option for \fBpbind\fR(1M) to find out which threads will be affected
+by such operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Display a list of processors assigned to each named processor set. If no
+argument is given, a list of all processor sets and the processors assigned to
+them is displayed. This is also the default operation if the \fBpsrset\fR
+command is not given an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Enable interrupts for all processors within the specified processor set. See
+\fBpsradm\fR(1M).
+.sp
+This option is restricted to users with the \fBPRIV_SYS_RES_CONFIG\fR
+privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Display the processor set assignments for the specified list of processors. If
+no argument is given, the processor set assignments for all processors in the
+system is given.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 6n
+.rt
+Display the processor set bindings of the specified processes or of all
+processes. If a process is composed of multiple \fBLWP\fRs which have different
+bindings and the LWPs are not explicitly specified, the bindings of only one of
+the bound \fBLWP\fRs is displayed. The bindings of a subset of LWPs can be
+displayed by appending "/lwpids" to the process \fBID\fRs. Multiple LWPs may be
+selected using "-" and "," delimiters. See EXAMPLES.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR\fR
+.ad
+.RS 6n
+.rt
+Display the LWPs bound to the specified list of processor sets, or all LWPs
+with processor set bindings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Remove a list of processors from their current processor sets. Processors that
+are removed return to the general pool of processors.
+.sp
+Processors with \fBLWP\fRs bound to them using \fBpbind\fR(1M) can be assigned
+to or removed from processor sets using the \fB-F\fR option.
+.sp
+This option is restricted to users with the \fBPRIV_SYS_RES_CONFIG\fR
+privilege.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 6n
+.rt
+Remove the processor set bindings of a subset or all the \fBLWP\fRs of the
+specified processes, allowing them to be executed on any on-line processor if
+they are not bound to individual processors through \fBpbind\fR.
+.sp
+Users with the \fBPRIV_SYS_RES_CONFIG\fR privilege can unbind any process or
+LWP from any active processor set. Other users can unbind processes and LWPs
+from processor sets that do not have the \fBPSET_NOESCAPE\fR attribute set. In
+addition, the user must have permission to control the affected processes; the
+real or effective user ID of the user must match the real or saved user ID of
+the target processes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR\fR
+.ad
+.RS 6n
+.rt
+Removes the bindings of all LWPs bound to the specified list of processor sets,
+or to any processor set if no argument is specified.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpid\fR\fR
+.ad
+.RS 20n
+.rt
+Specify \fIpid\fR as a process \fBID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlwpid\fR\fR
+.ad
+.RS 20n
+.rt
+The set of LWP\fBID\fRs of the specified process to be controlled or queried.
+The syntax for selecting LWP \fBID\fRs is as follows:
+.sp
+.in +2
+.nf
+2,3,4-8 LWP IDs 2, 3, and 4 through 8
+-4 LWPs whose IDs are 4 or below
+4- LWPs whose IDs are 4 or above
+.fi
+.in -2
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprocessor_id\fR\fR
+.ad
+.RS 20n
+.rt
+Specify \fIprocessor_id\fR as an individual processor number (for example,
+\fB3\fR), multiple processor numbers separated by spaces (for example, \fB1 2
+3\fR), or a range of processor numbers (for example, \fB1-4\fR). It is also
+possible to combine ranges and (individual or multiple) \fIprocessor_id\fRs
+(for example, \fB1-3 5 7-8 9\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprocessor_set_id\fR\fR
+.ad
+.RS 20n
+.rt
+Specify \fIprocessor_set_id\fR as a processor set \fBID\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 9n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-0\fR
+.ad
+.RS 9n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Stability LevelStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpbind\fR(1M), \fBpooladm\fR(1M), \fBpoolcfg\fR(1M), \fBpsradm\fR(1M),
+\fBpsrinfo\fR(1M), \fBprocessor_bind\fR(2), \fBprocessor_info\fR(2),
+\fBpset_bind\fR(2), \fBpset_create\fR(2), \fBpset_info\fR(2),
+\fBsysconf\fR(3C), \fBlibpool\fR(3LIB), \fBattributes\fR(5),
+\fBprivileges\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+The following output indicates that the specified process did not exist or has
+exited:
+.sp
+.in +2
+.nf
+psrset: cannot query pid 31: No such process
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following output indicates that the user does not have permission to bind
+the process:
+.sp
+.in +2
+.nf
+psrset: cannot bind pid 31: Not owner
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following output indicates that the user does not have permission to assign
+the processor:
+.sp
+.in +2
+.nf
+psrset: cannot assign processor 4: Not owner
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following output indicates that the specified processor is not on-line, or
+the specified processor does not exist.
+.sp
+.in +2
+.nf
+psrset: cannot assign processor 8: Invalid argument
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following output indicates that an \fBLWP\fR in the specified process is
+bound to a processor and cannot be bound to a processor set that does not
+include that processor:
+.sp
+.in +2
+.nf
+psrset: cannot bind pid 67: Device busy
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following output indicates that the specified processor could not be added
+to the processor set. This can be due to bound \fBLWP\fRs on that processor, or
+because that processor cannot be combined in the same processor set with other
+processors in that set, or because the processor is the last one in its current
+processor set:
+.sp
+.in +2
+.nf
+psrset: cannot assign processor 7: Device busy
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following output indicates that the specified processor set does not exist:
+.sp
+.in +2
+.nf
+psrset: cannot execute in processor set 8: Invalid argument
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following output indicates that the maximum number of processor sets
+allowed in the system is already active:
+.sp
+.in +2
+.nf
+psrset: cannot create processor set: Not enough space
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following output indicates that the pools facility is active.
+.sp
+.in +2
+.nf
+psrset: cannot assign processor 7: Operation not supported
+psrset: cannot bind pid 31: Operation not supported
+psrset: cannot bind pid 31: Operation not supported
+psrset: could not create processor set: Operation not supported
+psrset: could not remove processor set 1: Operation not supported
+psrset: cannot exec in processor set 1: Operation not supported
+psrset: cannot remove processor 7: Operation not supported
+psrset: cannot unbind pid 31: Operation not supported
+.fi
+.in -2
+.sp
+
diff --git a/usr/src/man/man1m/putdev.1m b/usr/src/man/man1m/putdev.1m
new file mode 100644
index 0000000000..612a121313
--- /dev/null
+++ b/usr/src/man/man1m/putdev.1m
@@ -0,0 +1,483 @@
+'\" te
+.\" Copyright 1997 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH putdev 1M "3 Apr 1997" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+putdev \- edits device table
+.SH SYNOPSIS
+.LP
+.nf
+\fBputdev\fR \fB-a\fR \fIalias\fR [\fIattribute\fR=\fIvalue\fR [...]]
+.fi
+
+.LP
+.nf
+\fBputdev\fR \fB-m\fR \fIdevice\fR \fIattribute\fR=\fIvalue\fR [\fIattribute\fR = \fIvalue\fR [...]]
+.fi
+
+.LP
+.nf
+\fBputdev\fR \fB-d\fR \fIdevice\fR [\fIattribute\fR [...]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBputdev\fR adds a new device to the device table, modifies an existing device
+description or removes a device entry from the table. The first synopsis is
+used to add a device. The second synopsis is used to modify existing entries by
+adding or changing attributes. If a specified attribute is not defined, this
+option adds that attribute to the device definition. If a specified attribute
+is already defined, it modifies the attribute definition. The third synopsis is
+used to delete either an entire device entry or, if the attribute argument is
+used, to delete an attribute assignment for a device.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Add a device to the device table using the specified attributes. The device
+must be referenced by its \fBalias\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Remove a device from the device table, when executed without the
+\fIattributes\fR argument. Used with the \fIattribute\fR argument, it deletes
+the given attribute specification for \fIdevice\fR from the table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 6n
+.rt
+Modify a device entry in the device table. If an entry already exists, it adds
+any specified attributes that are not defined. It also modifies any attributes
+which already have a value with the value specified by this command.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIalias\fR\fR
+.ad
+.RS 13n
+.rt
+Designates the alias of the device to be added.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIattribute\fR\fR
+.ad
+.RS 13n
+.rt
+Designates a device attribute to be added, modified, or deleted. Can be any of
+the device attributes described under \fBDEVICE\fR \fBATTRIBUTES\fR except
+\fBalias\fR. This prevents an accidental modification or deletion of a device's
+alias from the table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 13n
+.rt
+Designates the pathname or alias of the device whose attribute is to be added,
+modified, or removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvalue\fR\fR
+.ad
+.RS 13n
+.rt
+Designates the value to be assigned to a device's attribute.
+.RE
+
+.SH DEVICE ATTRIBUTES
+.sp
+.LP
+The following list shows the standard device attributes, used by applications
+such as \fBufsdump\fR(1M) and \fBufsrestore\fR(1M), which can be defined for a
+device. You are not limited to this list, you can define any attribute you
+like.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBalias\fR\fR
+.ad
+.RS 13n
+.rt
+The unique name by which a device is known. No two devices in the database may
+share the same alias name. The name is limited in length to 14 characters and
+should contain only alphanumeric characters and the following special
+characters if they are escaped with a backslash: underscore ( _ ), dollar sign
+($), hyphen (\(mi), and period (.).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbdevice\fR\fR
+.ad
+.RS 13n
+.rt
+The pathname to the block special device node associated with the device, if
+any. The associated major/minor combination should be unique within the
+database and should match that associated with the \fBcdevice\fR field, if any.
+(It is the administrator's responsibility to ensure that these
+\fBmajor/minor\fR numbers are unique in the database.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcapacity\fR\fR
+.ad
+.RS 13n
+.rt
+The capacity of the device or of the typical volume, if removable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcdevice\fR\fR
+.ad
+.RS 13n
+.rt
+The pathname to the character special device node associated with the device,
+if any. The associated major/minor combination should be unique within the
+database and should match that associated with the \fBbdevice\fR field, if any.
+(It is the administrator's responsibility to ensure that these
+\fBmajor/minor\fR numbers are unique in the database.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcyl\fR\fR
+.ad
+.RS 13n
+.rt
+Used by the command specified in the \fBmkfscmd\fR attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdesc\fR\fR
+.ad
+.RS 13n
+.rt
+A description of any instance of a volume associated with this device (such as
+floppy diskette).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdpartlist\fR\fR
+.ad
+.RS 13n
+.rt
+The list of disk partitions associated with this device. Used only if
+\fBtype=disk\fR. The list should contain device aliases, each of which must
+have \fBtype=dpart\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdparttype\fR\fR
+.ad
+.RS 13n
+.rt
+The type of disk partition represented by this device. Used only if
+\fBtype=dpart\fR. It should be either \fBfs\fR (for file system) or \fBdp\fR
+(for data partition).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBerasecmd\fR\fR
+.ad
+.RS 13n
+.rt
+The command string that, when executed, erases the device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmtcmd\fR\fR
+.ad
+.RS 13n
+.rt
+The command string that, when executed, formats the device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfsname\fR\fR
+.ad
+.RS 13n
+.rt
+The file system name on the file system administered on this partition, as
+supplied to the \fB/usr/sbin/labelit\fR command. This attribute is specified
+only if \fBtype=dpart\fR and \fBdparttype=fs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgap\fR\fR
+.ad
+.RS 13n
+.rt
+Used by the command specified in the \fBmkfscmd\fR attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmkfscmd\fR\fR
+.ad
+.RS 13n
+.rt
+The command string that, when executed, places a file system on a previously
+formatted device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmountpt\fR\fR
+.ad
+.RS 13n
+.rt
+The default mount point to use for the device. Used only if the device is
+mountable. For disk partitions where \fBtype=dpart\fR and \fBdparttype=fs\fR,
+this attribute should specify the location where the partition is normally
+mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnblocks\fR\fR
+.ad
+.RS 13n
+.rt
+The number of blocks in the file system administered on this partition. Used
+only if \fBtype=dpart\fR and \fBdparttype=fs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBninodes\fR\fR
+.ad
+.RS 13n
+.rt
+The number of inodes in the file system administered on this partition. Used
+only if \fBtype=dpart\fR and \fBdparttype=fs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnorewind\fR\fR
+.ad
+.RS 13n
+.rt
+The name of the character special device node that allows access to the serial
+device without rewinding when the device is closed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpathname\fR\fR
+.ad
+.RS 13n
+.rt
+Defines the pathname to an i-node describing the device (used for non-block or
+character device pathnames, such as directories).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtype\fR\fR
+.ad
+.RS 13n
+.rt
+A token that represents inherent qualities of the device. Standard types
+include: 9-track, ctape, disk, directory, diskette, dpart, and qtape.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvolname\fR\fR
+.ad
+.RS 13n
+.rt
+The volume name on the file system administered on this partition, as supplied
+to the \fB/usr/sbin/labelit\fR command. Used only if \fBtype=dpart\fR and
+\fBdparttype=fs\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvolume\fR\fR
+.ad
+.RS 13n
+.rt
+A text string used to describe any instance of a volume associated with this
+device. This attribute should not be defined for devices which are not
+removable.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, an invalid option was used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+The device table could not be opened for reading, or a new device table could
+not be created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+If executed with the \fB-a\fR option, indicates that an entry in the device
+table with the alias \fBalias\fR already exits. If executed with the \fB-m\fR
+or \fB-d\fR options, indicates that no entry exists for device \fIdevice\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+Indicates that \fB-d\fR was requested and one or more of the specified
+attributes were not defined for the device.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/device.tab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdevattr\fR(1M), \fBputdgrp\fR(1M), \fBufsdump\fR(1M), \fBufsrestore\fR(1M),
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/putdgrp.1m b/usr/src/man/man1m/putdgrp.1m
new file mode 100644
index 0000000000..84ad611f40
--- /dev/null
+++ b/usr/src/man/man1m/putdgrp.1m
@@ -0,0 +1,221 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH putdgrp 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+putdgrp \- edits device group table
+.SH SYNOPSIS
+.LP
+.nf
+\fBputdgrp\fR [\fB-d\fR] \fIdgroup\fR [\fIdevice\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBputdgrp\fR modifies the device group table. It performs two kinds of
+modification. It can modify the table by creating a new device group or
+removing a device group. It can also change group definitions by adding or
+removing a device from the group definition.
+.sp
+.LP
+When the command is invoked with only a \fIdgroup\fR specification, the command
+adds the specified group name to the device group table if it does not already
+exist. If the \fB-d\fR option is also used with only the \fIdgroup\fR
+specification, the command deletes the group from the table.
+.sp
+.LP
+When the command is invoked with both a \fIdgroup\fR and a \fIdevice\fR
+specification, it adds the given device name(s) to the group definition. When
+invoked with both arguments and the \fB-d\fR option, the command deletes the
+device name(s) from the group definition.
+.sp
+.LP
+When the command is invoked with both a \fIdgroup\fR and a \fIdevice\fR
+specification and the device group does not exist, it creates the group and
+adds the specified devices to that new group.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Delete the group or, if used with \fIdevice\fR, delete the device from a group
+definition.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdgroup\fR\fR
+.ad
+.RS 10n
+.rt
+Specify a device group name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fR
+.ad
+.RS 10n
+.rt
+Specify the pathname or alias of the device that is to be added to, or deleted
+from, the device group.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Command syntax was incorrect, an invalid option was used, or an internal error
+occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Device group table could not be opened for reading or a new device group table
+could not be created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+If executed with the \fB-d\fR option, indicates that an entry in the device
+group table for the device group \fIdgroup\fR does not exist and so cannot be
+deleted. Otherwise, indicates that the device group \fIdgroup\fR already
+exists and cannot be added.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+If executed with the \fB-d\fR option, indicates that the device group
+\fIdgroup\fR does not have as members one or more of the specified devices.
+Otherwise, indicates that the device group \fIdgroup\fR already has one or
+more of the specified devices as members.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a new device group.
+.sp
+.LP
+The following example adds a new device group:
+
+.sp
+.in +2
+.nf
+example# \fBputdgrp floppies\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding a device to a device group.
+.sp
+.LP
+The following example adds a device to a device group:
+
+.sp
+.in +2
+.nf
+example# \fBputdgrp floppies diskette2\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDeleting a device group.
+.sp
+.LP
+The following example deletes a device group:
+
+.sp
+.in +2
+.nf
+example# \fBputdgrp \fR\fB-d\fR\fB floppies\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDeleting a device from a device group.
+.sp
+.LP
+The following example deletes a device from a device group:
+
+.sp
+.in +2
+.nf
+example# \fBputdgrp \fR\fB-d\fR\fB floppies diskette2\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dgroup.tab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlistdgrp\fR(1M), \fBputdev\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/pwck.1m b/usr/src/man/man1m/pwck.1m
new file mode 100644
index 0000000000..cce4645b50
--- /dev/null
+++ b/usr/src/man/man1m/pwck.1m
@@ -0,0 +1,93 @@
+'\" te
+.\" Copyright 1989 AT&T , Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pwck 1M "27 Aug 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pwck, grpck \- password/group file checkers
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/pwck\fR [\fIfilename\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/grpck\fR [\fIfilename\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpwck\fR scans the password file and notes any inconsistencies. The checks
+include validation of the number of fields, login name, user ID, group ID, and
+whether the login directory and the program-to-use-as-shell exist. The default
+password file is \fB/etc/passwd\fR.
+.sp
+.LP
+\fBgrpck\fR verifies all entries in the \fBgroup\fR file. This verification
+includes a check of the number of fields, group name, group ID, whether any
+login names belong to more than \fBNGROUPS_MAX\fR groups, and that all login
+names appear in the password file. \fBgrpck\fR also issues a warning if it
+finds an entry (a single line) in the \fBgroup\fR file longer than 2047
+characters. Such an entry causes group maintenance commands, such as
+\fBgroupdel\fR(1M) and \fBgroupmod\fR(1M), to fail.
+.sp
+.LP
+The default group file is \fB/etc/group\fR.
+.sp
+.LP
+All messages regarding inconsistent entries are placed on the \fBstderr\fR
+stream.
+.SH FILES
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/group\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/passwd\fR
+.RE
+.SH SEE ALSO
+.sp
+.LP
+\fBgroupdel\fR(1M), \fBgroupmod\fR(1M), \fBgetpwent\fR(3C), \fBgroup\fR(4),
+\fBpasswd\fR(4), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+Group entries in \fB/etc/group\fR with no login names are flagged.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGroup file '\fR\fIfilename\fR\fB\&' is empty\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fB/etc/passwd\fR or \fB/etc/group\fR file is an empty file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcannot open file\fR \fIfilename\fR\fB: No such file or directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fB/etc/passwd\fR or \fB/etc/group\fR file does not exist.
+.RE
+
+.SH NOTES
+.sp
+.LP
+If no filename argument is given, \fBgrpck\fR checks the local group file,
+\fB/etc/group\fR, and also makes sure that all login names encountered in the
+checked group file are known to the system \fBgetpwent\fR(3C) routine. This
+means that the login names may be supplied by a network name service.
diff --git a/usr/src/man/man1m/pwconv.1m b/usr/src/man/man1m/pwconv.1m
new file mode 100644
index 0000000000..b0fd7c16e2
--- /dev/null
+++ b/usr/src/man/man1m/pwconv.1m
@@ -0,0 +1,208 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH pwconv 1M "9 Mar 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pwconv \- installs and updates /etc/shadow with information from /etc/passwd
+.SH SYNOPSIS
+.LP
+.nf
+\fBpwconv\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpwconv\fR command creates and updates \fB/etc/shadow\fR with information
+from \fB/etc/passwd\fR.
+.sp
+.LP
+\fBpwconv\fR relies on a special value of 'x' in the password field of
+\fB/etc/passwd.\fR This value of 'x' indicates that the password for the user
+is already in \fB/etc/shadow\fR and should not be modified.
+.sp
+.LP
+If the \fB/etc/shadow\fR file does not exist, this command will create
+\fB/etc/shadow\fR with information from \fB/etc/passwd\fR. The command
+populates \fB/etc/shadow\fR with the user's login name, password, and password
+aging information. If password aging information does not exist in
+\fB/etc/passwd\fR for a given user, none will be added to \fB/etc/shadow\fR.
+However, the last changed information will always be updated.
+.sp
+.LP
+If the \fB/etc/shadow\fR file does exist, the following tasks will be
+performed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+Entries that are in the \fB/etc/passwd\fR file and not in the
+\fB/etc/shadow\fR file will be added to the \fB/etc/shadow\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+Entries that are in the \fB/etc/shadow\fR file and not in the
+\fB/etc/passwd\fR file will be removed from \fB/etc/shadow\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+Password attributes (for example, password and aging information) that exist
+in an \fB/etc/passwd\fR entry will be moved to the corresponding entry in
+\fB/etc/shadow\fR.
+.RE
+
+.sp
+.LP
+The \fBpwconv\fR command can only be used by the super-user.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/opasswd\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/oshadow\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/shadow\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpasswd\fR(1), \fBpassmgmt\fR(1M), \fBusermod\fR(1M), \fBpasswd\fR(4),
+\fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBpwconv\fR exits with one of the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+\fBSUCCESS.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Permission denied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command syntax.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Unexpected failure. Conversion not done.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+Unexpected failure. Password file(s) missing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.RS 5n
+.rt
+Password file(s) busy. Try again later.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 5n
+.rt
+Bad entry in \fB/etc/shadow\fR file.
+.RE
+
diff --git a/usr/src/man/man1m/quot.1m b/usr/src/man/man1m/quot.1m
new file mode 100644
index 0000000000..ceda1a0307
--- /dev/null
+++ b/usr/src/man/man1m/quot.1m
@@ -0,0 +1,182 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH quot 1M "30 May 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+quot \- summarize file system ownership
+.SH SYNOPSIS
+.LP
+.nf
+\fBquot\fR [\fB-acfhnv\fR] \fIfilesystem\fR...
+.fi
+
+.LP
+.nf
+\fBquot\fR \fB-a\fR [\fB-cfhnv\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBquot\fR displays the number of blocks (1024 bytes) in the named
+\fIfilesystem\fR (one or more) currently owned by each user. There is a limit
+of 2048 blocks. Files larger than this will be counted as a 2048 block file,
+but the total block count will be correct.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Generate a report for all mounted file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Display three columns giving a file size in blocks, the number of files of that
+size, and a cumulative total of blocks containing files of that size or a
+smaller size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Display three columns giving, for each user, the number of blocks owned, the
+count of number of files, and the user name. This option is incompatible with
+the \fB-c\fR and \fB-v\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 6n
+.rt
+Estimate the number of blocks in the file. This does not account for files with
+holes in them.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Attach names to the list of files read from standard input. \fBquot\fR \fB-n\fR
+cannot be used alone, because it expects data from standard input. For example,
+the pipeline
+.sp
+\fBncheck myfilesystem | sort +0n | quot \fR\fB-n\fR\fB myfilesystem\fR
+.sp
+will produce a list of all files and their owners. This option is incompatible
+with all other options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+In addition to the default output, display three columns containing the number
+of blocks not accessed in the last 30, 60, and 90 days.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilesystem\fR\fR
+.ad
+.RS 14n
+.rt
+mount-point of the filesystem(s) being checked
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBquot\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB32\fR\fR
+.ad
+.RS 6n
+.rt
+Error condition (bad or missing argument, bad path, or other error).
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.RS 15n
+.rt
+Lists mounted file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 15n
+.rt
+Used to obtain user names
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdu\fR(1), \fBmnttab\fR(4), \fBpasswd\fR(4), \fBattributes\fR(5),
+\fBlargefile\fR(5)
+.SH NOTES
+.sp
+.LP
+This command can only be used by the super-user.
diff --git a/usr/src/man/man1m/quota.1m b/usr/src/man/man1m/quota.1m
new file mode 100644
index 0000000000..05fcb83321
--- /dev/null
+++ b/usr/src/man/man1m/quota.1m
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH quota 1M "30 Apr 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+quota \- display a user's ufs or zfs file system disk quota and usage
+.SH SYNOPSIS
+.LP
+.nf
+\fBquota\fR [\fB-v\fR] [\fIusername\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBquota\fR displays users' UFS or ZFS disk usage and limits. Only the
+super-user may use the optional \fIusername\fR argument to view the limits of
+other users.
+.sp
+.LP
+\fBquota\fR without options only display warnings about mounted file systems
+where usage is over quota. Remotely mounted file systems which do not have
+quotas turned on are ignored.
+.sp
+.LP
+\fIusername\fR can be the numeric UID of a user.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Display user's quota on all mounted file systems where quotas exist.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBquota\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.RS 15n
+.rt
+list of currently mounted filesystems
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBedquota\fR(1M), \fBquotaon\fR(1M), \fBquotacheck\fR(1M), \fBrepquota\fR(1M),
+\fBrquotad\fR(1M), \fBattributes\fR(5), \fBlargefile\fR(5), \fBzones\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBquota\fR displays quotas for NFS mounted UFS- or ZFS-based file systems if
+the \fBrquotad\fR daemon is running. See \fBrquotad\fR(1M). In a \fBzones\fR(5)
+environment, \fBquota\fR displays quotas only for the zone in which it is
+invoked.
+.sp
+.LP
+\fBquota\fR can display entries for the same file system multiple times for
+multiple mount points. For example,
+.sp
+.in +2
+.nf
+# \fBquota -v user1\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+might display identical quota information for \fBuser1\fR at the mount points
+\fB/home/user1\fR, \fB/home/user2\fR, and \fB/home/user\fR, if all three mount
+points are mounted from the same file system with quotas turned on.
diff --git a/usr/src/man/man1m/quotacheck.1m b/usr/src/man/man1m/quotacheck.1m
new file mode 100644
index 0000000000..8792e3f376
--- /dev/null
+++ b/usr/src/man/man1m/quotacheck.1m
@@ -0,0 +1,127 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH quotacheck 1M "31 Jul 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+quotacheck \- ufs file system quota consistency checker
+.SH SYNOPSIS
+.LP
+.nf
+\fBquotacheck\fR [\fB-fp\fR] [\fB-v\fR] \fIfilesystem\fR...
+.fi
+
+.LP
+.nf
+\fBquotacheck\fR \fB-a\fR [\fB-fpv\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBquotacheck\fR examines each mounted ufs file system, builds a table of
+current disk usage, and compares this table against the information stored in
+the file system's disk quota file. If any inconsistencies are detected, both
+the quota file and the current system copy of the incorrect quotas are updated.
+.sp
+.LP
+\fIfilesystem\fR is either a file system mount point or the block device on
+which the file system resides.
+.sp
+.LP
+\fBquotacheck\fR expects each file system to be checked to have a quota file
+named \fBquotas\fR in the root directory. If none is present, \fBquotacheck\fR
+will not check the file system.
+.sp
+.LP
+\fBquotacheck\fR accesses the character special device in calculating the
+actual disk usage for each user. Thus, the file systems that are checked should
+be quiescent while \fBquotacheck\fR is running.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Check the file systems which \fB/etc/mnttab\fR indicates are ufs file systems.
+These file systems must be read-write mounted with disk quotas enabled, and
+have an \fBrq\fR entry in the \fBmntopts\fR field in \fB/etc/vfstab\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Force check on file systems with logging enabled. Use in combination with the
+\fB-p\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 6n
+.rt
+Check quotas of file systems in parallel. For file systems with logging
+enabled, no check is performed unless the \fB-f\fR option is also specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Indicate the calculated disk quotas for each user on a particular file system.
+\fBquotacheck\fR normally reports only those quotas modified.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBquotacheck\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.RS 15n
+.rt
+Mounted file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 15n
+.rt
+List of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBedquota\fR(1M), \fBquota\fR(1M), \fBquotaon\fR(1M), \fBrepquota\fR(1M),
+\fBattributes\fR(5), \fBlargefile\fR(5), \fBquotactl\fR(7I),
+\fBmount_ufs\fR(1M)
diff --git a/usr/src/man/man1m/quotaon.1m b/usr/src/man/man1m/quotaon.1m
new file mode 100644
index 0000000000..838e55c466
--- /dev/null
+++ b/usr/src/man/man1m/quotaon.1m
@@ -0,0 +1,140 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH quotaon 1M "16 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+quotaon, quotaoff \- turn ufs file system quotas on and off
+.SH SYNOPSIS
+.LP
+.nf
+\fBquotaon\fR [\fB-v\fR] \fIfilesystem\fR...
+.fi
+
+.LP
+.nf
+\fBquotaon\fR \fB-a\fR [\fB-v\fR]
+.fi
+
+.LP
+.nf
+\fBquotaoff\fR [\fB-v\fR] \fIfilesystem\fR...
+.fi
+
+.LP
+.nf
+\fBquotaoff\fR \fB-a\fR [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBquotaon\fR turns on disk quotas for one or more ufs file systems.
+.sp
+.LP
+Before a file system may have quotas enabled, a file named \fBquotas\fR, owned
+by root, must exist in the root directory of the file system. See
+\fBedquota\fR(1M) for details on how to modify the contents of this file.
+.sp
+.LP
+\fBquotaoff\fR turns off disk quotas for one or more ufs file systems.
+.sp
+.LP
+The file systems specified must already be mounted.
+.sp
+.LP
+These commands update the \fBmntopts\fR field of the appropriate entries in
+\fB/etc/mnttab\fR to indicate when quotas are on or off for each file system.
+If quotas are on, the string \fBquota\fR will be added to \fBmntopts\fR; if
+quotas are off, the \fBquota\fR string is not present.
+.sp
+.LP
+\fIfilesystem\fR must be either the mount point of a file system, or the block
+device on which the file system resides.
+.SH OPTIONS
+.SS "quotaon"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+This option is normally used at boot time to enable quotas. It applies only to
+those file systems in \fB/etc/vfstab\fR which have ``rq'' in the \fBmntopts\fR
+field, are currently mounted ``rw'', and have a \fBquotas\fR file in the root
+directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Display a message for each file system after quotas are turned on.
+.RE
+
+.SS "quotaoff"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Force all file systems in \fB/etc/mnttab\fR to have their quotas disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Display a message for each file system affected.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBquotaon\fR and
+\fBquotaoff\fR when encountering files greater than or equal to 2 Gbyte ( 2^31
+bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mnttab\fR\fR
+.ad
+.RS 15n
+.rt
+mounted file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 15n
+.rt
+list of default parameters for each file system
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBedquota\fR(1M), \fBquota\fR(1M), \fBquotacheck\fR(1M), \fBrepquota\fR(1M),
+\fBmnttab\fR(4), \fBvfstab\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5),
+\fBquotactl\fR(7I)
diff --git a/usr/src/man/man1m/raidctl.1m b/usr/src/man/man1m/raidctl.1m
new file mode 100644
index 0000000000..dec35fbcde
--- /dev/null
+++ b/usr/src/man/man1m/raidctl.1m
@@ -0,0 +1,1120 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH raidctl 1M "5 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+raidctl \- RAID hardware utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBraidctl\fR \fB-C\fR \fI"disks"\fR [\fB-r\fR \fIraid_level\fR] [\fB-z\fR \fIcapacity\fR] [\fB-s\fR \fIstripe_size\fR] [\fB-f\fR]
+ controller
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-d\fR [\fB-f\fR] \fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-F\fR \fIfilename\fR [\fB-f\fR] \fIcontroller\fR\&.\|.\|.
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-a\fR {\fBset\fR | \fBunset\fR} \fB-g\fR \fIdisk\fR {\fBvolume\fR | \fBcontroller\fR}
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-p\fR \fI"param=value"\fR [\fB-f\fR] \fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-c\fR [\fB-f\fR] [\fB-r\fR \fIraid_level\fR] \fIdisk1\fR \fIdisk2\fR [\fIdisk3\fR...]
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-l\fR -g \fIdisk controller\fR
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-l\fR \fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-l\fR \fIcontroller\fR\&.\|.\|.
+.fi
+
+.LP
+.nf
+\fBraidctl\fR [\fB-l\fR]
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-S\fR [\fBvolume\fR | \fBcontroller\fR]
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-S\fR -g \fIdisk controller\fR
+.fi
+
+.LP
+.nf
+\fBraidctl\fR \fB-h\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBraidctl\fR utility is a hardware RAID configuration tool that supports
+different RAID controllers by providing a CLI (command-line interface) to
+end-users to create, delete or display RAID volume(s). The utility can also
+used to set properties of a volume, assign hot-spare (HSP) disks to volumes or
+controllers, and to update firmware/fcode/BIOS for RAID controllers.
+.sp
+.LP
+The \fBraidctl\fR utility requires privileges that are controlled by the
+underlying file-system permissions. Only privileged users can manipulate the
+RAID system configuration. If a non-privileged user attempts to run
+\fBraidctl\fR, the command fails with an exit status of 1.
+.sp
+.LP
+The \fBraidctl\fR utility, as described in this man page, defines a broad set
+of command line options to provide management for full-featured RAID
+controllers. However, support for a given option depends on two elements:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the presence of a software driver
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+the firmware level of the RAID device
+.RE
+.sp
+.LP
+The dependency on a software driver is due to the design of \fBraidctl\fR. The
+utility is built on a common library that enables the insertion of plug-in
+modules for different drivers. Currently, the Solaris operating system is
+shipped with a plug-in for the \fBmpt\fR driver. This plug-in does not support
+all of the \fBraidctl\fR options. On a given storage device, options might be
+further limited by the device's firmware level.
+.sp
+.LP
+The level of support for the various \fBraidctl\fR options cannot be determined
+by \fBraidctl\fR. The user must rely on the documentation for his RAID
+controller or hardware platform.
+.sp
+.LP
+Currently, \fBraidctl\fR Currently, \fBraidctl\fR provides some level of
+support for the following RAID controllers:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+LSI1020 SCSI HBA
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+LSI1030 SCSI HBA
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+LSI1064 SAS HBA
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+LSI1068 SAS HBA
+.RE
+.sp
+.LP
+All of the above HBAs are maintained by the \fBmpt\fR driver, on X86-32/64 and
+SPARC platforms.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fI"disks"\fR [\fB-r\fR \fIraid_level\fR] [\fB-z\fR \fIcapacity\fR]
+[\fB-s\fR \fIstripe_size\fR] [\fB-f\fR] controller\fR
+.ad
+.sp .6
+.RS 4n
+Create a RAID volume using specified disks.
+.sp
+When creating a RAID volume using this option, the identity of the newly
+created volume is automatically generated and raidctl reports it to the user.
+.sp
+The argument specified by this option contains the elements used to form the
+volume that will be created. Elements can be either disks or sub-volumes, where
+disks are separated by space(s) and a sub-volume is a set of disks grouped by
+parenthesis. All disks should be in \fBC.ID.L\fR expression (for example,
+\fB0.1.2\fR represents a physical disk of channel 0, target id 1, and logical
+unit number 2). The argument must match the RAID level specified by the
+\fB-r\fR option, even if it's omitted. This means the argument can only be:
+.sp
+.ne 2
+.mk
+.na
+\fBfor RAID 0\fR
+.ad
+.sp .6
+.RS 4n
+At least 2 disks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfor RAID 1\fR
+.ad
+.sp .6
+.RS 4n
+Only 2 disks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfor RAID 1E\fR
+.ad
+.sp .6
+.RS 4n
+At least 3 disks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfor RAID 5\fR
+.ad
+.sp .6
+.RS 4n
+At least 3 disks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfor RAID 10\fR
+.ad
+.sp .6
+.RS 4n
+At least 2 sub-volumes, each sub-volume must be formed by 2 disks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfor RAID 50\fR
+.ad
+.sp .6
+.RS 4n
+At least 2 sub-volumes, each sub-volume must be formed by at least 3 disks, and
+the disk amount in each sub-volume should be the same
+.RE
+
+For example, the expression "0.0.0 0.1.0" means that the 2 specified disks form
+a RAID volume, which can either be a RAID 0 or a RAID 1 volume. "(0.0.0
+0.1.0)(0.2.0 0.3.0)" means that the first 2 disks and the last 2 disks form 2
+sub-volumes, and that these 2 sub-volumes form a RAID 10 volume. See the
+\fBEXAMPLES\fR section for more samples.
+.sp
+The \fB-r\fR option specifies the RAID level of the volume that will be
+created. Possible levels are 0, 1, 1E, 5, 10, 50. If this option is omitted,
+\fBraidctl\fR creates a RAID 1 volume by default.
+.sp
+The \fB-z\fR option specifies the capacity of the volume that will be created.
+The unit can be tera-bytes, giga-bytes, or mega-bytes (for example, 2t, 10g,
+20m, and so on). If this option is omitted, \fBraidctl\fR calculates the
+maximum capacity of the volume that can be created by the specified disks and
+uses this value to create the volume.
+.sp
+The \fB-s\fR option specifies the stripe size of the volume that will be
+created. The possible values are 512, 1k, 2k, 4k, 8k, 16k, 32k, 64k, or 128k.
+If this option is omitted, \fBraidctl\fR chooses an appropriate value for the
+volume (for example, 64k).
+.sp
+In some cases, the creation of a RAID volume may cause data on specified disks
+to be lost (for instance, on LSI1020, LSI1030, SAS1064, or SAS1068 HBAs), and
+\fBraidctl\fR prompts the user for confirmation about the creation. Use the
+\fB-f\fR option to force the volume creation without prompting the user for
+confirmation.
+.sp
+The controller argument is used to identify which RAID controller the specified
+disks belongs. The \fB-l\fR option can be used to list the controller's ID
+number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR [\fB-f\fR] \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the RAID volume specified as volume. The volume is specified in
+canonical form (for example, \fBc0t0d0\fR).
+.sp
+When a volume is deleted, all data is lost. Therefore, unless the \fB-f\fR
+option is specified, \fBraidctl\fR prompts the user for confirmation before
+deleting the volume.
+.sp
+When a RAID 1 volume is deleted from a LSI1020, LSI1030, SAS1064, or SAS1068
+HBA, the primary and secondary disks are "split". If the volume was in
+\fBSYNCING\fR state, the primary will contain the data, and the secondary will
+not. If the volume state was \fBOPTIMAL\fR, both disks will contain a complete
+image of the data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIfilename\fR [\fB-f\fR] \fIcontroller\fR\&.\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Update the firmware running on the specified controller(s). The \fBraidctl\fR
+utility prompts the user for confirmation of this action, unless the \fB-f\fR
+option is provided.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR {\fBset\fR | \fBunset\fR} \fB-g\fR \fIdisk\fR {\fBvolume\fR |
+\fBcontroller\fR}\fR
+.ad
+.sp .6
+.RS 4n
+If the volume is specified, \fBraidctl\fR sets or unsets the disk as a local
+hot-spare disk dedicated to the volume, depending on the value specified by the
+\fB-a\fR option. If the controller is specified, \fBraidctl\fR sets or unsets
+the disk as a global hot-spare disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fI"param=value"\fR [\fB-f\fR] \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change the property value for a given RAID volume. This option can be used to
+change cache write policy or to activate a volume. When changing the cache
+write policy, \fIparam\fR should be the string \fBwp\fR (\fBSET_WR_POLICY\fR),
+and \fIvalue\fR can be either \fBon\fR or \fBoff\fR. When used to activate a
+volume, \fIparam\fR should be \fBstate\fR and \fIvalue\fR should be
+\fBactivate\fR.
+.sp
+Changing a RAID volume's property may affect the internal behavior of the RAID
+controller, so \fBraidctl\fR prompts the user for a confirmation before
+applying the change, unless the \fB-f\fR option is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR [\fB-f\fR] [\fB-r\fR \fIraid_level\fR] \fIdisk1\fR \fIdisk2\fR
+[\fIdisk3\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Create a volume using the specified disks. This is an alternative to the
+\fB-C\fR option with similar functionality. This option is preserved for
+compatibility reasons, but only works with LSI1020, LSI1030, SAS1064, and
+SAS1068 HBAs to create RAID 0, RAID 1, or RAID 1E volumes. For other HBAs, the
+user can only use the \fB-C\fR option.
+.sp
+The \fB-r\fR option can be used to specify the RAID level of the target volume.
+If the \fB-r\fR option is omitted, \fBraidctl\fR will create a RAID 1 volume.
+.sp
+Disks must be specified in Solaris canonical format (for example, c0t0d0).
+.sp
+Creating a RAID 1 volume with this option replaces the contents of disk2 with
+the contents of disk1.
+.sp
+When the user creates a RAID volume with this option, the RAID volume assumes
+the identity of disk1. Other disks become invisible and the RAID volume appears
+as one disk.
+.sp
+Creating a volume with this option is by default interactive. The user must
+answer a prompt affirmatively to create the volume. Use the \fB-f\fR option to
+force the volume creation without prompting the user for confirmation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR -g \fIdisk controller\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display information about the specified disk of the given controller. The
+output includes the following information:
+.sp
+.ne 2
+.mk
+.na
+\fBDisk\fR
+.ad
+.sp .6
+.RS 4n
+Displays the disk in \fBC.ID.L\fR expression disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBVendor\fR
+.ad
+.sp .6
+.RS 4n
+Displays the vendor ID string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBProduct\fR
+.ad
+.sp .6
+.RS 4n
+Displays the product ID string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBCapacity\fR
+.ad
+.sp .6
+.RS 4n
+Displays the total capacity of the disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBStatus\fR
+.ad
+.sp .6
+.RS 4n
+Displays the current status of disk. The status can be either "\fBGOOD\fR"
+(operating normally), "\fBFAILED\fR" (non-functional), or "\fBMISSING\fR" (disk
+not present).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBHSP\fR
+.ad
+.sp .6
+.RS 4n
+Indicates if the disk has been set as a global hot-spare disk, local hot-spare
+disk, or a normal one. If it is a local hot-spare disk, all volumes which this
+disk is assigned to are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBGUID\fR
+.ad
+.sp .6
+.RS 4n
+GUID string for the specified disk. This is an additional datum and might be
+unavailable in some cases.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display information about the specified volume. The output includes the
+following information:
+.sp
+.ne 2
+.mk
+.na
+\fBVolume\fR
+.ad
+.sp .6
+.RS 4n
+Displays volume in canonical format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSub\fR
+.ad
+.sp .6
+.RS 4n
+Displays sub-volumes, if the specified volume is of RAID 10 or RAID 50 volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBDisk\fR
+.ad
+.sp .6
+.RS 4n
+Displays all disks that form the specified volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBStripe Size\fR
+.ad
+.sp .6
+.RS 4n
+Displays the stripe size of the volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBStatus\fR
+.ad
+.sp .6
+.RS 4n
+Displays the status of the specified volume, or the sub-volumes or disks that
+form the specified volume. For an inactive volume, the status should be
+\fBINACTIVE\fR; otherwise it can be \fBOPTIMAL\fR (operating optimally),
+\fBDEGRADED\fR (operating with reduced functionality), \fBFAILED\fR
+(non-functional), or \fBSYNC\fR (disks are syncing). For a disk, the status
+can be \fBGOOD\fR, \fBFAILED\fR, or \fBMISSING\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBCache\fR
+.ad
+.sp .6
+.RS 4n
+Indicates whether the cache is applied to \fBI/O\fR write activities. The cache
+can be either "\fBON\fR" or "\fBOFF\fR".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBRAID level\fR
+.ad
+.sp .6
+.RS 4n
+Displays the RAID level. The RAID level can be either 0, 1, 1E, 5, 10, or 50.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIcontroller ...\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display information about the specified controller(s). The output includes the
+following information:
+.sp
+.ne 2
+.mk
+.na
+\fBController\fR
+.ad
+.sp .6
+.RS 4n
+Displays the RAID controller's ID number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBType\fR
+.ad
+.sp .6
+.RS 4n
+Displays the RAID controller's product type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfw_version\fR
+.ad
+.sp .6
+.RS 4n
+Displays the controller's firmware version.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fB-l\fR]\fR
+.ad
+.sp .6
+.RS 4n
+List all RAID related objects that the \fBraidctl\fR utility can manipulate,
+including all available RAID controllers, RAID volumes, and physical disks. The
+\fB-l\fR option can be omitted.
+.sp
+The output includes the following information:
+.sp
+.ne 2
+.mk
+.na
+\fBController\fR
+.ad
+.sp .6
+.RS 4n
+Displays the RAID controller's ID number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBVolume\fR
+.ad
+.sp .6
+.RS 4n
+Displays the logical RAID volume name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBDisk\fR
+.ad
+.sp .6
+.RS 4n
+Displays the RAID disk in \fBC.ID.L\fR expression.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR [\fBvolume\fR | \fBcontroller\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Takes a snapshot of the RAID configuration information including all available
+RAID devices, RAID controllers, volumes, and disks.
+.sp
+Each line of the output specifies a RAID device and its related information,
+separated by space(s). All volumes and disks belong to the last specified
+controller.
+.sp
+The output lists the following information:
+.sp
+.ne 2
+.mk
+.na
+\fBController\fR
+.ad
+.sp .6
+.RS 4n
+Displays the controller ID number, and the controller type string in
+double-quotation marks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBVolume\fR
+.ad
+.sp .6
+.RS 4n
+Displays the RAID volume name, number of component disks, the \fBC.ID.L\fR
+expression of the component disks, the RAID level, and the status. The status
+can be either \fBOPTIMAL\fR, \fBDEGRADED\fR, \fBFAILED\fR, or \fBSYNCING\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBDisk\fR
+.ad
+.sp .6
+.RS 4n
+Displays the \fBC.ID.L\fR expression of the disk, and the status. The status
+can be either \fBGOOD\fR, \fBFAILED\fR, or \fBHSP\fR (disk has been set as a
+stand-by disk).
+.RE
+
+If a volume or a controller is specified, a snapshot is only taken of the
+information for the specified volume or controller.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR -g \fIdisk controller\fR\fR
+.ad
+.sp .6
+.RS 4n
+Takes a snapshot of the information for the specified disk.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print out the usage string.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating the RAID Configuration
+.sp
+.LP
+The following command creates a RAID 0 volume of 10G on controller 0, and the
+stripe size will be set to 64k:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -C "0.0.0 0.2.0" -r 0 -z 10g -s 64k 0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command creates a RAID 1 volume on controller 2:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -C "0.0.0 1.1.0" -r 1 2\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command creates a RAID 5 volume on controller 2:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -C "0.0.0 0.1.0 0.2.0" -r 5 2\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command creates a RAID 10 volume on controller 0:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -C "(0.0.0 0.1.0)(0.2.0 0.3.0)" -r 10 0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command creates a RAID 50 volume on controller 0:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -C "(0.0.0 0.1.0 0.2.0)(0.3.0 0.4.0 0.5.0)" -r 50 0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying the RAID Configuration
+.sp
+.LP
+The following command displays all available controllers, volumes, and disks:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -l\fR
+
+Controller: 0
+Controller: 2
+ Volume:c2t0d0
+ Disk: 0.0.0
+ Disk: 0.1.0
+ Disk: 0.2.0
+ Disk: 0.3.0(HSP)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command displays information about controller 2:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -l 2\fR
+
+Controller Type Fw_version
+--------------------------------------------------------------
+c2 LSI 1030 1.03.39.00
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command displays information about the specified volume:
+.sp
+.in +2
+.nf
+# \fBraidctl -l c2t0d0\fR
+
+Volume Size Stripe Status Cache RAID
+ Sub Size Level
+ Disk
+--------------------------------------------------------------
+c2t0d0 10240M 64K OPTIMAL ON RAID5
+ 0.0.0 5120M GOOD
+ 0.1.0 5120M GOOD
+ 0.2.0 5120M GOOD
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command displays information about disk 0.0.0 on controller 0:
+.sp
+.in +2
+.nf
+# \fBraidctl -l -g 0.0.0 0\fR
+
+Disk Vendor Product Firmware Capacity Status HSP
+--------------------------------------------------------------------
+0.0.0 HITACHI H101473SCSUN72G SQ02 68.3G GOOD N/A
+GUID:2000000cca02536c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDeleting the RAID Configuration
+.sp
+.LP
+The following command deletes a volume:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -d c0t0d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUpdating Flash Images on the Controller
+.sp
+.LP
+The following command updates flash images on the controller 0:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -F lsi_image.fw 0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRSetting or Unsetting a Hot-Spare Disk
+.sp
+.LP
+The following command sets disk 0.3.0 on controller 2 as a global hot-spare
+disk:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -a set -g 0.3.0 2\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command sets disk 0.3.0 on controller 2 as a local hot-spare disk
+to volume c2t0d0:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -a set -g 0.3.0 c2t0d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command converts disk 0.3.0 on controller 2 from a global
+hot-spare disk to a normal one:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -a unset -g 0.3.0 2\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command removes disk 0.3.0 from being a local hot-spare disk from
+volume c2t0d0:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -a unset -g 0.3.0 c2t0d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRSetting the Volume's Property
+.sp
+.LP
+The following command sets the write policy of the volume to "\fBoff\fR":
+
+.sp
+.in +2
+.nf
+# \fBraidctl -a set -p "wp=off" c0t0d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRCreating Volumes with the \fB-c\fR Option
+.sp
+.LP
+The following command creates a RAID 1 volume:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -c c0t0d0 c0t1d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command creates a RAID 0 volume:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -c -r 0 c0t1d0 c0t2d0 c0t3d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRTaking a Snapshot of the RAID Configuration
+.sp
+.LP
+The following command takes a snapshot of all RAID devices:
+
+.sp
+.in +2
+.nf
+# \fB# raidctl -S\fR
+
+1 "LSI 1030"
+c1t1d0 2 0.2.0 0.3.0 1 DEGRADED
+0.2.0 GOOD
+0.3.0 FAILED
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command takes a snapshot about volume c1t0d0:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -S c1t0d0\fR
+
+c1t0d0 2 0.0.0 0.1.0 1 OPTIMAL
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command takes a snapshot about disk 0.1.0 on controller 1:
+
+.sp
+.in +2
+.nf
+# \fBraidctl -S -g 0.1.0 1\fR
+
+0.1.0 GOOD
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command line input or permission denied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Request operation failed.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface Stability Committed
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBmpt\fR(7D)
+.sp
+.LP
+System Administration Guide: Basic Administration
+.SH WARNINGS
+.sp
+.LP
+Do not create raid volumes on internal \fBSAS\fR disks if you are going to use
+the Solaris Multipathing I/O feature (also known as MPxIO). Creating a new raid
+volume under Solaris Multipathing will give your root device a new \fBGUID\fR
+which does not match the \fBGUID\fR for the existing devices. This will cause a
+boot failure since your root device entry in \fB/etc/vfstab\fR will not match.
+.SH NOTES
+.sp
+.LP
+The \fB-z\fR option is not supported on systems that use the \fBmpt\fR driver
+and LSI RAID controllers.
diff --git a/usr/src/man/man1m/ramdiskadm.1m b/usr/src/man/man1m/ramdiskadm.1m
new file mode 100644
index 0000000000..17c9f9f1e7
--- /dev/null
+++ b/usr/src/man/man1m/ramdiskadm.1m
@@ -0,0 +1,172 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ramdiskadm 1M "25 Mar 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ramdiskadm \- administer ramdisk pseudo device
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ramdiskadm\fR \fB-a\fR \fIname\fR \fIsize\fR [g | m | k | b]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ramdiskadm\fR \fB-d\fR \fIname\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ramdiskadm\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBramdiskadm\fR command administers \fBramdisk\fR(7D), the ramdisk driver.
+Use \fBramdiskadm\fR to create a new named ramdisk device, delete an existing
+named ramdisk, or list information about existing ramdisks.
+.sp
+.LP
+Ramdisks created using \fBramdiskadm\fR are not persistent across reboots.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIname\fR \fIsize\fR\fR
+.ad
+.RS 16n
+.rt
+Create a ramdisk named \fIname\fR of size \fIsize\fR and its corresponding
+block and character device nodes.
+.sp
+\fIname\fR must be composed only of the characters a-z, A-Z, 0-9, _ (underbar),
+and - (hyphen), but it must not begin with a hyphen. It must be no more than 32
+characters long. Ramdisk names must be unique.
+.sp
+The size can be a decimal number, or, when prefixed with \fB0x\fR, a
+hexadecimal number, and can specify the size in bytes (no suffix), 512-byte
+blocks (suffix \fBb\fR), kilobytes (suffix \fBk\fR), megabytes (suffix \fBm\fR)
+or gigabytes (suffix \fBg\fR). The size of the ramdisk actually created might
+be larger than that specified, depending on the hardware implementation.
+.sp
+If the named ramdisk is successfully created, its block device path is printed
+on standard out.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIname\fR\fR
+.ad
+.RS 16n
+.rt
+Delete an existing ramdisk of the name \fIname\fR. This command succeeds only
+when the named ramdisk is not open. The associated memory is freed and the
+device nodes are removed.
+.sp
+You can delete only ramdisks created using \fBramdiskadm\fR. It is not possible
+to delete a ramdisk that was created during the boot process.
+.RE
+
+.sp
+.LP
+Without options, \fBramdiskadm\fR lists any existing ramdisks, their sizes (in
+decimal), and whether they can be removed by \fBramdiskadm\fR (see the
+description of the \fB-d\fR option, above).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a 2MB Ramdisk Named \fBmydisk\fR
+.sp
+.in +2
+.nf
+# ramdiskadm -a mydisk 2m
+/dev/ramdisk/mydisk
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRListing All Ramdisks
+.sp
+.in +2
+.nf
+# ramdiskadm
+Block Device Size Removable
+/dev/ramdisk/miniroot 134217728 No
+/dev/ramdisk/certfs 1048576 No
+/dev/ramdisk/mydisk 2097152 Yes
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+\fBramdiskadm\fR returns the following exit values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBramdisk\fR(7D)
+.SH NOTES
+.sp
+.LP
+The abilities of \fBramdiskadm\fR and the privilege level of the person who
+uses the utility are controlled by the permissions of \fB/dev/ramdiskctl\fR.
+Read access allows query operations, for example, listing device information.
+Write access is required to do any state-changing operations, for example,
+creating or deleting ramdisks.
+.sp
+.LP
+As shipped, \fB/dev/ramdiskctl\fR is owned by \fBroot\fR, in group \fBsys\fR,
+and mode 0644, so all users can do query operations but only root can perform
+state-changing operations. An administrator can give write access to
+non-privileged users, allowing them to add or delete ramdisks. However,
+granting such ability entails considerable risk; such privileges should be
+given only to a trusted group.
diff --git a/usr/src/man/man1m/rcapadm.1m b/usr/src/man/man1m/rcapadm.1m
new file mode 100644
index 0000000000..be34913ef8
--- /dev/null
+++ b/usr/src/man/man1m/rcapadm.1m
@@ -0,0 +1,288 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rcapadm 1M "18 Dec 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rcapadm \- configure resource capping daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBrcapadm\fR
+.fi
+
+.LP
+.nf
+\fBrcapadm\fR [ [\fB-n\fR] \fB-E\fR | \fB-D\fR]
+ [\fB-i\fR \fIinterval=value\fR,...,\fIinterval=value\fR] [\fB-c\fR \fIpercent\fR]
+ [\fB-z\fR \fIzonename\fR \fB-m\fR \fImaxvalue\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrcapadm\fR command allows a user with the privileges described below to
+configure various attributes of the resource capping daemon. If used without
+arguments, \fBrcapadm\fR displays the current status of the resource capping
+daemon if it has been configured. See \fBrcapd\fR(1M) for more information.
+.sp
+.LP
+In the current release of the Solaris operating environment, \fBrcapadm\fR is
+available to users with all privileges and to users who have the Process
+Management profile in their list of profiles. The System Administrator role
+includes the Process Management profile.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIpercent\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the minimum physical memory utilization for memory cap enforcement. Caps
+will not be enforced until the physical memory available to processes is low.
+The \fIpercent\fR value should be in the range 0 to 100. The minimum (and
+default) value is \fB0\fR, which means that memory caps are always enforced.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the resource capping daemon so that it will not be started when the
+system is booted. Also stop the resource capping daemon now, if the \fB-n\fR
+option is not specified and it is currently running.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable the resource capping daemon so that it will be started each time the
+system is booted. Also start the resource capping daemon now, if the \fB-n\fR
+option is not specified and it is not currently running.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterval=value\fR,...,\fIinterval=value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set intervals for various periodic operations performed by \fBrcapd\fR. All
+intervals are specified in seconds. You can set the following intervals:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBscan\fR\fR
+.ad
+.RS 10n
+.rt
+The interval at which \fBrcapd\fR scans for new processes. The default scan
+interval is every 15 seconds. The minimum value is 1 second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsample\fR\fR
+.ad
+.RS 10n
+.rt
+The interval of process resident set size sampling. The default sample interval
+is every 5 seconds. The minimum value is 1 second.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreport\fR\fR
+.ad
+.RS 10n
+.rt
+The interval at which various paging statistics are updated by \fBrcapd\fR, in
+seconds. These statistics can be viewed by using \fBrcapstat\fR(1SRM). The
+default reporting interval is every 5 seconds. When the interval is set to
+\fB0\fR, statistics will not be updated.
+.LP
+Note -
+.sp
+.RS 2
+Paging refers to the act of relocating portions of memory, called pages, to or
+from physical memory. \fBrcapd\fR pages out the most infrequently used pages.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconfig\fR\fR
+.ad
+.RS 10n
+.rt
+The reconfiguration interval, in seconds. At each reconfiguration event,
+\fBrcapd\fR checks its configuration file for updates, and scans the project
+databases for new project caps. The default reconfiguration interval is every
+60 seconds. The minimum interval is \fB0\fR. When the interval is set to
+\fB0\fR, no periodic reconfiguration occurs, although the running daemon can
+still be reconfigured by sending it \fBSIGHUP\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImaxvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used in conjunction with the \fB-z\fR option. Specifies a value for
+\fBrcap.max-rss\fR, a dynamically-set cap on the usage of physical memory for
+the zone specified by \fB-z\fR. You can apply a scale (\fBK\fR, \fBM\fR,
+\fBG\fR, \fBT\fR) to the value you specify. \fBK\fR means kilobyte; \fBM\fR,
+megabyte; \fBG\fR, gigabyte; and \fBT\fR, terabyte. For example, \fB100M\fR is
+100 megabytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not affect the running state of the resource capping daemon when enabling or
+disabling it.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIzonename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used in conjunction with the \fB-m\fR option. Specifies the zone for which you
+are dynamically specifying a cap on physical memory usage (using \fB-m\fR).
+.RE
+
+.LP
+Note -
+.sp
+.RS 2
+To set a persistent cap on memory usage within a zone, use \fBzonecfg\fR(1M).
+.RE
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRConfiguring the Resource Capping Daemon with Immediate
+Enforcement
+.sp
+.LP
+# \fBrcapadm -E -i scan=\fI15\fR,sample=\fI5\fR,report=\fI5\fR,config=\fI60\fR
+-c \fI0\fR\fR
+
+.LP
+\fBExample 2 \fRSpecifying a Resource Cap for a Zone
+.sp
+.LP
+The command shown below specifies the maximum amount of memory that can be
+consumed by a specified zone. Note that this value lasts only until the next
+reboot. To set a persistent cap, use \fBzonecfg\fR(1M).
+
+.sp
+.in +2
+.nf
+# \fBrcapadm -z testzone -m 512M\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion. The modifications to the current configuration were
+valid and made successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred. A fatal error occurred either in obtaining or modifying the
+resource capping configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.sp
+.LP
+The \fB-z\fR and \fB-m\fR options are committed interfaces.
+.SH SEE ALSO
+.sp
+.LP
+\fBrcapstat\fR(1), \fBrcapd\fR(1M), \fBzonecfg\fR(1M), \fBproject\fR(4),
+\fBattributes\fR(5), \fBzones\fR(5)
+.sp
+.LP
+"Physical Memory Control Using the Resource Capping Daemon" in \fISystem
+Administration Guide: Solaris Containers-Resource Management, and Solaris
+Zones\fR
diff --git a/usr/src/man/man1m/rcapd.1m b/usr/src/man/man1m/rcapd.1m
new file mode 100644
index 0000000000..fb236506f5
--- /dev/null
+++ b/usr/src/man/man1m/rcapd.1m
@@ -0,0 +1,194 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rcapd 1M "19 Dec 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rcapd \- resource cap enforcement daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBrcapd\fR [\fB-d\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrcapd\fR daemon enforces resource caps on collections of processes.
+Per-project and per-zone physical memory caps are supported. For information
+about projects, see \fBproject\fR(4). For zones information, see \fBzones\fR(5)
+.sp
+.LP
+When the resident set size (RSS) of a collection of processes exceeds its cap,
+\fBrcapd\fR takes action and reduces the RSS of the collection.
+.sp
+.LP
+The virtual memory system divides physical memory into segments known as pages.
+To read data from a file into memory, the virtual memory system reads in
+individual pages. To reduce resource consumption, the daemon can page out, or
+relocate, infrequently used pages to an area outside of physical memory.
+.sp
+.LP
+In the \fBproject\fR file, caps are defined for projects that have positive
+values for the following project attribute:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrcap.max-rss\fR\fR
+.ad
+.RS 16n
+.rt
+The total amount of physical memory, in bytes, that is available to the
+project's member processes
+.RE
+
+.sp
+.LP
+See \fBproject\fR(4) for a description of project attributes.
+.sp
+.LP
+For a system with one or more zones, you can dynamically set the
+\fBrcap.max-rss\fR value for a zone with \fBrcapadm\fR(1M). To set a persistent
+cap on memory usage within a zone, you use \fBzonecfg\fR(1M).
+.sp
+.LP
+You configure \fBrcapd\fR through the use of \fBrcapadm\fR(1M). The daemon can
+be monitored with \fBrcapstat\fR(1). Configuration changes are incorporated
+into \fBrcapd\fR by sending it \fBSIGHUP\fR (see \fBkill\fR(1)), or according
+to the configuration interval (see \fBrcapadm\fR(1M)).
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Enable debug mode. Messages are displayed on the invoking user's terminal.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting Resident Set Size Cap Attribute
+.sp
+.LP
+The following line in the \fB/etc/project\fR database sets an RSS cap of
+1073741824 bytes for a project named \fBfoo\fR.
+
+.sp
+.in +2
+.nf
+foo:100::foo,root::rcap.max-rss=10737418240
+.fi
+.in -2
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.RS 5n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/project\fR\fR
+.ad
+.RS 16n
+.rt
+Project database.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBrcapstat\fR(1), \fBsvcs\fR(1), \fBrcapadm\fR(1M), \fBzonecfg\fR(1M),
+\fBsvcadm\fR(1M), \fBproject\fR(4), \fBattributes\fR(5), \fBsmf\fR(5),
+\fBzones\fR(5)
+.sp
+.LP
+"Physical Memory Control Using the Resource Capping Daemon" in \fISystem
+Administration Guide: Solaris Containers-Resource Management, and Solaris
+Zones\fR
+.SH NOTES
+.sp
+.LP
+If killed with \fBSIGKILL\fR, \fBrcapd\fR can leave processes in a stopped
+state. Use \fBSIGTERM\fR to cause \fBrcapd\fR to terminate properly.
+.sp
+.LP
+A collection's RSS can exceed its cap for some time before the cap is enforced,
+even if sufficient pageable memory is available. This period of time can be
+reduced by shortening the RSS sampling interval with \fBrcapadm\fR.
+.sp
+.LP
+The \fBrcapd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/rcap:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rctladm.1m b/usr/src/man/man1m/rctladm.1m
new file mode 100644
index 0000000000..1f67c60a42
--- /dev/null
+++ b/usr/src/man/man1m/rctladm.1m
@@ -0,0 +1,196 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rctladm 1M "2 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rctladm \- display or modify global state of system resource controls
+.SH SYNOPSIS
+.LP
+.nf
+\fBrctladm\fR [\fB-lu\fR] [\fB-e\fR \fIaction\fR] [\fB-d\fR \fIaction\fR] [\fIname\fR...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrctladm\fR command allows the examination and modification of active
+resource controls on the running system. An instance of a resource control is
+referred to as an \fBrctl\fR. See \fBsetrctl\fR(2) for a description of an
+\fBrctl\fR; see \fBresource_controls\fR(5) for a list of the \fBrctl\fRs
+supported in the current release of the Solaris operating system. Logging of
+\fBrctl\fR violations can be activated or deactivated system-wide and active
+\fBrctl\fRs (and their state) can be listed.
+.sp
+.LP
+An \fBrctladm\fR command without options is the equivalent of an \fBrctladm\fR
+with the \fB-l\fR option. See the description of \fB-l\fR below.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIaction\fR\fR
+.ad
+.br
+.na
+\fB\fB-e\fR \fIaction\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable (\fB-d\fR) or enable (\fB-e\fR) the global action on the specified
+\fBrctl\fRs. If no \fBrctl\fR is specified, no action is taken and an error
+status is returned. You can use the special token \fBall\fR with the disable
+option to deactivate all global actions on a resource control.
+.sp
+You can set the \fBsyslog\fR action to a specific degree by assigning a
+severity level. To do this, specify \fBsyslog=\fIlevel\fR\fR, where \fIlevel\fR
+is one of the string tokens given as valid severity levels in \fBsyslog\fR(3C).
+You can omit the common \fBLOG_\fR prefix on the severity level. Note that not
+all \fBrctl\fRs support the \fBsyslog\fR action. See
+\fBresource_controls\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List information about \fBrctl\fRs. The name, global event actions and
+statuses, and global flags are displayed. If one or more name operands are
+specified, only those \fBrctl\fRs matching the names are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configure resource controls based on the contents of \fB/etc/rctladm.conf\fR.
+Any name operands are ignored.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the \fBrctl\fR to operate on. Multiple \fBrctl\fR names can be
+specified. If no names are specified, and the list action has been specified,
+then all \fBrctl\fRs are listed. If the enable or disable action is specified,
+one or more \fBrctl\fR names must be specified.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRActivating System Logging for Specific Violations
+.sp
+.LP
+The following command activates system logging of all violations of
+\fBtask.max-lwps\fR.
+
+.sp
+.in +2
+.nf
+# rctladm -e syslog task.max-lwps
+#
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRExamining the Current Status of a Specific Resource
+.sp
+.LP
+The following command examines the current status of the \fBtask.max-lwps\fR
+resource.
+
+.sp
+.in +2
+.nf
+$ rctladm -l task.max-lwps
+task.max-lwps syslog=DEBUG
+$
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+A fatal error occurred. A message is written to standard error to indicate each
+resource control for which the operation failed. The operation was successful
+for any other resource controls specified as operands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command line options were specified.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/rctladm.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Each time \fBrctladm\fR is executed, it updates the contents of
+\fBrctladm.conf\fR with the current configuration.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsetrctl\fR(2), \fBgetrctl\fR(2), \fBprctl\fR(1),
+\fBrctlblk_get_global_flags\fR(3C), \fBrctlblk_get_global_action\fR(3C),
+\fBattributes\fR(5), \fBresource_controls\fR(5)
+.SH NOTES
+.sp
+.LP
+By default, there is no global logging of \fBrctl\fR violations.
diff --git a/usr/src/man/man1m/rdate.1m b/usr/src/man/man1m/rdate.1m
new file mode 100644
index 0000000000..ed154cd063
--- /dev/null
+++ b/usr/src/man/man1m/rdate.1m
@@ -0,0 +1,42 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rdate 1M "16 Mar 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rdate \- set system date from a remote host
+.SH SYNOPSIS
+.LP
+.nf
+\fBrdate\fR \fIhostname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrdate\fR sets the local date and time from the \fIhostname\fR given as an
+argument. You must have the authorization \fBsolaris.system.date\fR on the
+local system. Typically, \fBrdate\fR is used in a startup script.
+.sp
+.LP
+\fBrdate\fR requests are responded to by the "time" service on the specified
+host. To enable the "time" service, use the following commands:
+.sp
+.in +2
+.nf
+svcadm enable time:stream
+svcadm enable time:dgram
+.fi
+.in -2
+.sp
+
+.SH USAGE
+.sp
+.LP
+The \fBrdate\fR command is IPv6-enabled. See \fBip6\fR(7P).
+.SH SEE ALSO
+.sp
+.LP
+\fBinetd\fR(1M), \fBinetd.conf\fR(4), \fBattributes\fR(5), \fBip6\fR(7P)
diff --git a/usr/src/man/man1m/reboot.1m b/usr/src/man/man1m/reboot.1m
new file mode 100644
index 0000000000..50a4014d0f
--- /dev/null
+++ b/usr/src/man/man1m/reboot.1m
@@ -0,0 +1,386 @@
+'\" te
+.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright (c) 1983 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH reboot 1M "24 Aug 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+reboot \- restart the operating system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/reboot\fR [\fB-dlnq\fR] [\fIboot_arguments\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/reboot\fR [\fB-f\fR [\fB-e\fR \fIenvironment\fR] | \fB-p\fR] [\fB-dlnq\fR] [\fIboot_arguments\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBreboot\fR utility restarts the kernel. The kernel is loaded into memory
+by the PROM monitor, which transfers control to the loaded kernel.
+.sp
+.LP
+On x86 systems, when the \fB-f\fR flag is specified, the running kernel will
+load the next kernel into memory, then transfer control to the newly loaded
+kernel. This form of \fBreboot\fR is shown in the second synopsis, above.
+.sp
+.LP
+Although \fBreboot\fR can be run by the super-user at any time,
+\fBshutdown\fR(1M) is normally used first to warn all users logged in of the
+impending loss of service. See \fBshutdown\fR(1M) for details.
+.sp
+.LP
+The \fBreboot\fR utility performs a \fBsync\fR(1M) operation on the disks, and
+then a multi-user reboot is initiated. See \fBinit\fR(1M) for details. On x86
+systems, reboot may also update the boot archive as needed to ensure a
+successful reboot.
+.sp
+.LP
+The \fBreboot\fR utility normally logs the reboot to the system log daemon,
+\fBsyslogd\fR(1M), and places a shutdown record in the login accounting file
+\fB/var/adm/wtmpx\fR. These actions are inhibited if the \fB-n\fR or \fB-q\fR
+options are present.
+.sp
+.LP
+Normally, the system reboots itself at power-up or after crashes.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force a system crash dump before rebooting. See \fBdumpadm\fR(1M) for
+information on configuring system crash dumps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fB-f\fR is present, reboot to the specified boot environment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Fast reboot, bypassing firmware and boot loader. The new kernel will be loaded
+into memory by the running kernel, and control will be transferred to the newly
+loaded kernel. If disk or kernel arguments are specified, they must be
+specified before other boot arguments.
+.sp
+This option is currently available only on x86 systems.
+.sp
+Service \fBsvc:/system/boot-config:default\fR is enabled by default. It
+requires \fBsolaris.system.shutdown\fR as \fBaction_authorization\fR and
+\fBvalue_authorization\fR. When the \fBconfig/fastreboot_default\fR property is
+set to \fBtrue\fR, \fBreboot\fR will behave as \fBreboot\fR \fB-f\fR. The value
+of this property can be changed using \fBsvccfg\fR(1M) and \fBsvcadm\fR(1M), to
+control the default reboot behavior.
+.sp
+See \fBEXAMPLES\fR for details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress sending a message to the system log daemon, \fBsyslogd\fR(1M) about
+who executed \fBreboot\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Avoid calling \fBsync\fR(2) and do not log the reboot to \fBsyslogd\fR(1M) or
+to \fB/var/adm/wtmpx\fR. The kernel still attempts to sync filesystems prior to
+reboot, except if the \fB-d\fR option is also present. If \fB-d\fR is used with
+\fB-n\fR, the kernel does not attempt to sync file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reboot to prom. This flag can be used to reboot the system through firmware
+without changing the default reboot behavior as denoted by the
+\fBconfig/fastreboot_default\fR property setting in \fBsystem/boot-config\fR
+service.
+.sp
+This option is currently available only on x86 systems. The \fB-p\fR and
+\fB-f\fR options are mutually exclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quick. Reboot quickly and ungracefully, without shutting down running processes
+first.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIboot_arguments\fR\fR
+.ad
+.sp .6
+.RS 4n
+An optional \fIboot_arguments\fR specifies arguments to the \fBuadmin\fR(2)
+function that are passed to the boot program and kernel upon restart. The form
+and list of arguments is described in the \fBboot\fR(1M) and \fBkernel\fR(1M)
+man pages.. If the arguments are specified, whitespace between them is replaced
+by single spaces unless the whitespace is quoted for the shell. If the
+\fIboot_arguments\fR begin with a hyphen, they must be preceded by the \fB--\fR
+delimiter (two hyphens) to denote the end of the \fBreboot\fR argument list.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRPassing the \fB-r\fR and \fB-v\fR Arguments to \fBboot\fR
+.sp
+.LP
+In the following example, the delimiter \fB--\fR (two hyphens) must be used to
+separate the options of \fBreboot\fR from the arguments of \fBboot\fR(1M).
+
+.sp
+.in +2
+.nf
+example# \fBreboot -dl -- -rv\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRebooting Using a Specific Disk and Kernel
+.sp
+.LP
+The following example reboots using a specific disk and kernel.
+
+.sp
+.in +2
+.nf
+example# \fBreboot disk1 kernel.test/unix\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRFast Rebooting
+.sp
+.LP
+The following examples use the \fB-f\fR option to perform fast reboots.
+
+.sp
+.LP
+If service \fBsvc:/system/boot-config:default\fR is enabled and property
+\fBconfig/fastreboot_default\fR is set to \fBtrue\fR, the \fB-f\fR option can
+be omitted.
+
+.sp
+.LP
+The following command reboots to the default entry in the GRUB (see
+\fBgrub\fR(5)) menu file \fBmenu.lst\fR.
+
+.sp
+.in +2
+.nf
+example# \fBreboot -f\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command reboots to another UFS root disk.
+
+.sp
+.in +2
+.nf
+example# \fBreboot -f -- '/dev/dsk/c1d0s0'\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command reboots to another ZFS root pool.
+
+.sp
+.in +2
+.nf
+example# \fBreboot -f -- 'rpool/ROOT/root2'\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command reboots to \fBmykernel\fR on the same disk with \fB-k\fR
+option.
+
+.sp
+.in +2
+.nf
+example# \fBreboot -f -- '/platform/i86pc/mykernel/amd64/unix -k'\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command reboots to \fBmykernel\fR off another root disk mounted
+on \fB/mnt\fR.
+
+.sp
+.in +2
+.nf
+example# \fBreboot -f -- '/mnt/platform/i86pc/mykernel/amd64/unix -k'\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command reboots to \fB/platform/i86pc/kernel/$ISADIR/unix\fR on
+another boot environment named \fBsecond_root\fR.
+
+.sp
+.in +2
+.nf
+example# \fBreboot -f -e second_root\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command reboots to the same kernel with \fB-kv\fR options.
+
+.sp
+.in +2
+.nf
+example# \fBreboot -f -- '-kv'\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following commands disable the fast-reboot-by-default behavior.
+
+.sp
+.in +2
+.nf
+example# \fBsvccfg -s "system/boot-config:default" \e\fR
+\fBsetprop config/fastreboot_default=false\fR
+example# \fBsvcadm refresh svc:/system/boot-config:default\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following commands re-enable the fast-reboot-by-default behavior.
+
+.sp
+.in +2
+.nf
+example# \fBsvccfg -s "system/boot-config:default" \e\fR
+\fBsetprop config/fastreboot_default=true\fR
+example# \fBsvcadm refresh svc:/system/boot-config:default\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRRebooting to a Particular GRUB Menu
+.sp
+.LP
+The following commands will reboot to entry \fB2\fR in the GRUB menu.
+
+.sp
+.in +2
+.nf
+example# \fBbootadm list-menu\fR
+ the location for the active GRUB menu is: /rpool/boot/grub/menu.lst
+ default 0
+ timeout 10
+ 0 zfsbe1
+ 1 zfsbe1 failsafe
+ 2 zfsbe2
+ 3 zfsbe2 Solaris xVM
+ 4 zfsbe2 failsafe
+example# \fBreboot 2\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.sp .6
+.RS 4n
+login accounting file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmdb\fR(1), \fBboot\fR(1M), \fBdumpadm\fR(1M), \fBfsck\fR(1M),
+\fBhalt\fR(1M), \fBinit\fR(1M), \fBkernel\fR(1M), \fBshutdown\fR(1M),
+\fBsvcadm\fR(1M), \fBsvccfg\fR(1M), \fBsync\fR(1M), \fBsyslogd\fR(1M),
+\fBsync\fR(2), \fBuadmin\fR(2), \fBreboot\fR(3C), \fBattributes\fR(5),
+\fBgrub\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBreboot\fR utility does not execute the scripts in
+\fB/etc/rc\fInum\fR.d\fR or execute shutdown actions in \fBinittab\fR(4). To
+ensure a complete shutdown of system services, use \fBshutdown\fR(1M) or
+\fBinit\fR(1M) to reboot a Solaris system.
diff --git a/usr/src/man/man1m/rem_drv.1m b/usr/src/man/man1m/rem_drv.1m
new file mode 100644
index 0000000000..a7539a6d2f
--- /dev/null
+++ b/usr/src/man/man1m/rem_drv.1m
@@ -0,0 +1,106 @@
+'\" te
+.\" Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rem_drv 1M "13 Aug 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rem_drv \- remove a device driver from the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBrem_drv\fR [\fB-b\fR \fIbasedir\fR] \fIdevice_driver\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrem_drv\fR command informs the system that the device driver
+\fIdevice_driver\fR is no longer valid. If possible, \fBrem_drv\fR unloads
+\fIdevice_driver\fR from memory. \fBrem_drv\fR also updates the system driver
+configuration files.
+.sp
+.LP
+If \fBrem_drv\fR has been executed, the next time the system is rebooted it
+automatically performs a reconfiguration boot (see \fBkernel\fR(1M)).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbasedir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the path to the root directory of the diskless client. Used on the server
+to execute \fBrem_drv\fR for a client. The client machine must be rebooted to
+unload the driver.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-b\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove dangling device attribute nodes bound to the driver being removed. This
+causes any device ownership or permissions customizations made to any node not
+to be preserved if the driver is added back. Recommended for use when
+reprovisioning a machine from one configuration or use to another where past
+administrative customizations might not be desired.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRemoving the \fBsd\fR Driver
+.sp
+.LP
+The following example removes the \fBsd\fR driver from use:
+
+.sp
+.in +2
+.nf
+example% rem_drv sd
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRemoving a Diskless Client
+.sp
+.LP
+The following example removes the driver from the \fBsun1\fR diskless client.
+The driver is not uninstalled or unloaded until the client machine is rebooted.
+
+.sp
+.in +2
+.nf
+example% rem_drv \fB-b\fR /export/root/sun1 sd
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note the caveat on the use of the \fB-b\fR option in the description of that
+option, above.
+
+.SH SEE ALSO
+.sp
+.LP
+\fBadd_drv\fR(1M), \fBkernel\fR(1M), \fBupdate_drv\fR(1M), \fBattributes\fR(5),
+\fBzones\fR(5), \fBdevfs\fR(7FS)
diff --git a/usr/src/man/man1m/remove_allocatable.1m b/usr/src/man/man1m/remove_allocatable.1m
new file mode 100644
index 0000000000..6393bdce56
--- /dev/null
+++ b/usr/src/man/man1m/remove_allocatable.1m
@@ -0,0 +1,159 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH remove_allocatable 1M "20 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+remove_allocatable \- remove entries from allocation databases
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/remove_allocatable\fR [\fB-f\fR] \fB-n\fR \fIname\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/remove_allocatable\fR [\fB-f\fR] [\fB-d\fR] \fB-t\fR \fIdev-type\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBremove_allocatable\fR removes entries of user allocatable devices from the
+device allocation mechanism. \fBremove_allocatable\fR also removes entries of
+some non-allocatable devices, such as printers, whose label range is managed by
+the mechanism.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 15n
+.rt
+Removes system-supplied default attributes of the device type that is
+specified with \fB-t\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 15n
+.rt
+Force the removal of an entry. \fBremove_allocatable\fR exits with an error if
+this option is not specified when an entry with the specified device name no
+longer exists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIname\fR\fR
+.ad
+.RS 15n
+.rt
+Removes the entry for the device \fIname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIdev-type\fR\fR
+.ad
+.RS 15n
+.rt
+Removes devices of type \fIdev-type\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+When successful, \fBremove_allocatable\fR returns an exit status of \fB0\fR
+(true). \fBremove_allocatable\fR returns a nonzero exit status in the event of
+an error. The exit codes are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Invocation syntax error
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Unknown system error
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Device \fIname\fR or \fIdev-type\fR not found. This error occurs only when the
+\fB-f\fR option is not specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+Permission denied. User does not have DAC or MAC access to database.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.82i) |cw(2.68i)
+lw(2.82i) |lw(2.68i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The invocation is Uncommitted. The options are Uncommitted. The output is
+Not-an-Interface.
+.SH SEE ALSO
+.sp
+.LP
+\fBallocate\fR(1), \fBdeallocate\fR(1), \fBadd_allocatable\fR(1M),
+\fBattributes\fR(5), \fBdevice_clean\fR(5)
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
diff --git a/usr/src/man/man1m/removef.1m b/usr/src/man/man1m/removef.1m
new file mode 100644
index 0000000000..2bcc6989df
--- /dev/null
+++ b/usr/src/man/man1m/removef.1m
@@ -0,0 +1,207 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH removef 1M "30 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+removef \- remove a file from software database
+.SH SYNOPSIS
+.LP
+.nf
+\fBremovef\fR [ [\fB-M\fR] \fB-R\fR \fIroot_path\fR] [\fB-V\fR \fIfs_file\fR] \fIpkginst\fR \fIpath\fR...
+.fi
+
+.LP
+.nf
+\fBremovef\fR [ [\fB-M\fR] \fB-R\fR \fIroot_path\fR] [\fB-V\fR \fIfs_file\fR] \fB-f\fR \fIpkginst\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBremovef\fR informs the system that the user, or software, intends to remove
+a pathname. Output from \fBremovef\fR is the list of input pathnames that may
+be safely removed (no other packages have a dependency on them).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+After all files have been processed, \fBremovef\fR should be invoked with the
+\fB-f\fR option to indicate that the removal phase is complete.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fR
+.ad
+.sp .6
+.RS 4n
+Instruct \fBremovef\fR not to use the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file for determining the client's mount points. This option assumes the mount
+points are correct on the server and it behaves consistently with Solaris 2.5
+and earlier releases.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-R\fR \fIroot_path\fR\fR
+.ad
+.sp .6
+.RS 4n
+Define the full path name of a directory to use as the \fIroot_path\fR. All
+files, including package system information files, are relocated to a directory
+tree starting in the specified \fIroot_path\fR. The \fIroot_path\fR may be
+specified when installing to a client from a server (for example,
+\fB/export/root/client1\fR).
+.sp
+\fBremovef\fR inherits the value of the \fBPKG_INSTALL_ROOT\fR environment
+variable. (See ENVIRONMENT VARIABLES, below.) If \fBPKG_INSTALL_ROOT\fR is set,
+such as when the \fB-R\fR option is used with \fBpkgadd\fR(1M) or
+\fBpkgrm\fR(1M), there is no need to use the \fBremovef\fR \fB-R\fR option.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fIfs_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternative \fIfs_file\fR to map the client's file systems. For
+example, used in situations where the \fB$\fR\fIroot_path\fR\fB/etc/vfstab\fR
+file is non-existent or unreliable.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+The pathname to be removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkginst\fR\fR
+.ad
+.sp .6
+.RS 4n
+The package instance from which the pathname is being removed.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBremovef\fR
+.sp
+.LP
+The following example uses the \fBremovef\fR command in an optional pre-install
+script:
+
+.sp
+.in +2
+.nf
+echo "The following files are no longer part of this package
+ and are being removed."
+removef $PKGINST /myapp/file1 /myapp/file2 |
+while read pathname
+do
+ echo "$pathname"
+ rm \fB-f\fR $pathname
+done
+removef \fB-f\fR $PKGINST || exit 2
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+\fBremovef\fR inherits the value of the following environment variable. This
+variable is set when \fBpkgadd\fR(1M) or \fBpkgrm\fR(1M) is invoked with the
+\fB-R\fR option.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPKG_INSTALL_ROOT\fR\fR
+.ad
+.sp .6
+.RS 4n
+If present, defines the full path name of a directory to use as the system's
+\fBPKG_INSTALL_ROOT\fR path. All product and package information files are then
+looked for in the directory tree, starting with the specified
+\fBPKG_INSTALL_ROOT\fR path. If not present, the default system path of \fB/\fR
+is used.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkginfo\fR(1), \fBpkgmk\fR(1), \fBpkgparam\fR(1), \fBpkgproto\fR(1),
+\fBpkgtrans\fR(1), \fBinstallf\fR(1M), \fBpkgadd\fR(1M), \fBpkgask\fR(1M),
+\fBpkgchk\fR(1M), \fBpkgrm\fR(1M), \fBattributes\fR(5), \fBlargefile\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+Package commands are \fBlargefile\fR(5)-aware. They handle files larger than 2
+GB in the same way they handle smaller files. In their current implementations,
+\fBpkgadd\fR(1M), \fBpkgtrans\fR(1) and other package commands can process a
+datastream of up to 4 GB.
diff --git a/usr/src/man/man1m/repquota.1m b/usr/src/man/man1m/repquota.1m
new file mode 100644
index 0000000000..cbe494067b
--- /dev/null
+++ b/usr/src/man/man1m/repquota.1m
@@ -0,0 +1,69 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH repquota 1M "16 Sep 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+repquota \- summarize quotas for a ufs file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBrepquota\fR [\fB-v\fR] \fIfilesystem\fR...
+.fi
+
+.LP
+.nf
+\fBrepquota\fR \fB-a\fR [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrepquota\fR prints a summary of the disk usage and quotas for the specified
+ufs file systems. The current number of files and amount of space (in
+kilobytes) is printed for each user along with any quotas created with
+\fBedquota\fR(1M).
+.sp
+.LP
+The \fIfilesystem\fR must have the file \fBquotas\fR in its root directory.
+.sp
+.LP
+Only the super-user may view quotas which are not their own.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Report on all mounted ufs file systems that have \fBrq\fR in the \fBmntopts\fR
+field of the \fB/etc/vfstab\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Report quotas for all users, even those who do not consume resources.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBrepquota\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH SEE ALSO
+.sp
+.LP
+\fBedquota\fR(1M), \fBquota\fR(1M), \fBquotacheck\fR(1M), \fBquotaon\fR(1M),
+\fBattributes\fR(5), \fBlargefile\fR(5), \fBquotactl\fR(7I)
diff --git a/usr/src/man/man1m/rmmount.1m b/usr/src/man/man1m/rmmount.1m
new file mode 100644
index 0000000000..49eb322328
--- /dev/null
+++ b/usr/src/man/man1m/rmmount.1m
@@ -0,0 +1,322 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rmmount 1M "1 Mar 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rmmount \- removable media mounter for CD-ROM, floppy, Jaz drive, and others
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rmmount\fR [\fB-D\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrmmount\fR utility is a removable media mounter that is executed by
+volume management whenever a removable medium, such as a \fBCD-ROM\fR or a
+floppy, is inserted. Removable media is managed by an application or a volume
+manager. \fBrmmount\fR can also be called by using \fBvolrmmount\fR(1).
+.sp
+.LP
+Upon insertion of a medium and following invocation of the \fBvolcheck\fR(1)
+command, \fBrmmount\fR determines what type of file system (if any) is on that
+medium. If a file system is present, \fBrmmount\fR mounts the file system in
+one of the locations listed below.
+.sp
+.LP
+For a diskette (floppy):
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/floppy/floppy0\fR\fR
+.ad
+.RS 26n
+.rt
+symbolic link to mounted floppy in local floppy drive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/floppy/floppy_name\fR\fR
+.ad
+.RS 26n
+.rt
+mounted named floppy
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/floppy/unnamed_floppy\fR\fR
+.ad
+.RS 26n
+.rt
+mounted unnamed floppy
+.RE
+
+.sp
+.LP
+For a CD-ROM or a DVD-ROM:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/cdrom/cdrom0\fR\fR
+.ad
+.sp .6
+.RS 4n
+symbolic link to mounted \fBCD-ROM\fR in local \fBCD-ROM\fR drive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/cdrom/CD-ROM_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+mounted named \fBCD-ROM\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/cdrom/CD-ROM_name/partition\fR\fR
+.ad
+.sp .6
+.RS 4n
+mounted named \fBCD-ROM\fR with partitioned file system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/cdrom/unnamed_cdrom\fR\fR
+.ad
+.sp .6
+.RS 4n
+mounted unnamed \fBCD-ROM\fR
+.RE
+
+.sp
+.LP
+For a Zip drive:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/zip0\fR\fR
+.ad
+.RS 30n
+.rt
+symbolic link to mounted Zip medium in local Zip drive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/\fIZip_name\fR\fR\fR
+.ad
+.RS 30n
+.rt
+mounted named Zip medium
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/\fIZip_name\fR/partition\fR\fR
+.ad
+.RS 30n
+.rt
+mounted named Zip medium with partitioned file system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/unnamed_zip\fR\fR
+.ad
+.RS 30n
+.rt
+mounted unnamed Zip medium
+.RE
+
+.sp
+.LP
+For a Jaz drive:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/jaz0\fR\fR
+.ad
+.RS 30n
+.rt
+symbolic link to mounted Jaz medium in local Jaz drive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/\fIJaz_name\fR\fR\fR
+.ad
+.RS 30n
+.rt
+mounted named Jaz medium
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/\fIJaz_name\fR/partition\fR\fR
+.ad
+.RS 30n
+.rt
+mounted named Jaz medium with partitioned file system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/unnamed_Jaz\fR\fR
+.ad
+.RS 30n
+.rt
+mounted unnamed Jaz medium
+.RE
+
+.sp
+.LP
+For a generic "rmdisk" drive:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/rmdisk0\fR\fR
+.ad
+.sp .6
+.RS 4n
+symbolic link to mounted removable medium in local removable medium drive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/\fIrmdisk_name\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+mounted named removable medium
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/\fIrmdisk_name\fR/partition\fR\fR
+.ad
+.sp .6
+.RS 4n
+mounted named removable medium with partitioned file system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/rmdisk/unnamed_rmdisk\fR\fR
+.ad
+.sp .6
+.RS 4n
+mounted unnamed removable medium
+.RE
+
+.sp
+.LP
+If the media is read-only (for example, a \fBCD-ROM\fR or a floppy with
+write-protect tab set), the file system is mounted read-only.
+.sp
+.LP
+If a file system is not identified, \fBrmmount\fR does not mount a file system.
+See the \fI\fR for more information on the location of \fBCD-ROM\fR, floppy,
+and other media without file systems.
+.sp
+.LP
+If a file system type has been determined, it is then checked to see that it is
+"clean." If the file system is "dirty," \fBfsck\fR \fB-p\fR (see
+\fBfsck\fR(1M)) is run in an attempt to clean it. If \fBfsck\fR fails, the file
+system is mounted read-only.
+.sp
+.LP
+After the mount is complete, "actions" associated with the media type are
+executed. These actions allow for the notification to other programs that new
+media are available.
+.sp
+.LP
+Actions are executed in the order in which they appear in the configuration
+file. The action function can return either \fB1\fR or \fB0\fR. If it returns
+\fB0\fR, no further actions will be executed. This allows the function to
+control which applications are executed.
+.sp
+.LP
+In order to execute an action, \fBrmmount\fR performs a \fBdlopen\fR(3C) on the
+shared object and calls the action function defined within it. The definition
+of the interface to actions can be found in \fB/usr/include/rmmount.h\fR.
+.sp
+.LP
+File systems mounted by \fBrmmount\fR are always mounted with the \fBnosuid\fR
+flag set, thereby disabling setuid programs and access to block or character
+devices in that file system. Upon ejection, \fBrmmount\fR unmounts mounted file
+systems and executes actions associated with the media type. If a file system
+is "busy" (that is, it contains the current working directory of a live
+process), the ejection will fail.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 6n
+.rt
+Turn on the debugging output from the \fBrmmount\fR \fBdprintf\fR calls.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/rmmount/*.so.1\fR\fR
+.ad
+.RS 27n
+.rt
+shared objects used by \fBrmmount\fR.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBvolcheck\fR(1), \fBvolrmmount\fR(1), \fBfsck\fR(1M), \fBdlopen\fR(3C),
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/rmt.1m b/usr/src/man/man1m/rmt.1m
new file mode 100644
index 0000000000..9737b33ddf
--- /dev/null
+++ b/usr/src/man/man1m/rmt.1m
@@ -0,0 +1,176 @@
+'\" te
+.\" Copyright (c) 1983 Regents of the University
+.\" of California. All rights reserved. The Berkeley software License Agreement
+.\" specifies the terms and conditions for redistribution. Copyright (c) 1995
+.\" Sun Microsystems, Inc. All Rights Reserved.
+.\" from UCB 4.3
+.TH rmt 1M "6 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rmt \- remote magtape protocol module
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rmt\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrmt\fR is a program used by the remote dump and restore programs in
+manipulating a magnetic tape drive through an interprocess communication
+connection. \fBrmt\fR is normally started up with an \fBrexec\fR(3SOCKET) or
+\fBrcmd\fR(3SOCKET) call.
+.sp
+.LP
+The \fBrmt\fR program accepts requests that are specific to the manipulation of
+magnetic tapes, performs the commands, then responds with a status indication.
+All responses are in \fBASCII\fR and in one of two forms. Successful commands
+have responses of:
+.sp
+.in +2
+.nf
+
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBA\fR\fInumber\fR\fB\en\fR\fR
+.ad
+.RS 14n
+.rt
+where \fInumber\fR is an \fBASCII\fR representation of a decimal number.
+.RE
+
+.sp
+.LP
+Unsuccessful commands are responded to with:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE\fR\fIerror-number\fR\fB\en\fR\fIerror-message\fR\fB\en\fR\fR
+.ad
+.sp .6
+.RS 4n
+where \fIerror-number\fR is one of the possible error numbers described in
+\fBintro\fR(3), and \fIerror-message\fR is the corresponding error string as
+printed from a call to \fBperror\fR(3C).
+.RE
+
+.sp
+.LP
+ The protocol consists of the following commands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\en\fR\fR
+.ad
+.RS 25n
+.rt
+Return the status of the open device, as obtained with a \fBMTIOCGET\fR
+\fBioctl\fR call. If the operation was successful, an "ack" is sent with the
+size of the status buffer, then the status buffer is sent (in binary).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBC\fR\fIdevice\fR\fB\en\fR\fR
+.ad
+.RS 25n
+.rt
+Close the currently open device. The \fIdevice\fR specified is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBI\fR\fIoperation\fR\fB\en\fR\fIcount\fR\fB\en\fR\fR
+.ad
+.RS 25n
+.rt
+Perform a \fBMTIOCOP\fR \fBioctl\fR(2) command using the specified parameters.
+The parameters are interpreted as the \fBASCII\fR representations of the
+decimal values to place in the \fImt_op\fR and \fImt_count\fR fields of the
+structure used in the \fBioctl\fR call. When the operation is successful the
+return value is the \fIcount\fR parameter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBL\fR\fIoffset\fR\fB\en\fR\fBwhence\fR\fB\en\fR\fR
+.ad
+.RS 25n
+.rt
+Perform an \fBlseek\fR(2) operation using the specified parameters. The
+response value is returned from the \fBlseek\fR call.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBO\fR\fIdevice\fR\fB\en\fR\fImode\fR\fB\en\fR\fR
+.ad
+.RS 25n
+.rt
+Open the specified \fIdevice\fR using the indicated \fImode\fR. \fIdevice\fR is
+a full pathname, and \fImode\fR is an \fBASCII\fR representation of a decimal
+number suitable for passing to \fBopen\fR(9E). If a device is already open, it
+is closed before a new open is performed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBR\fR\fIcount\fR\fB\en\fR\fR
+.ad
+.RS 25n
+.rt
+Read \fIcount\fR bytes of data from the open device. \fBrmt\fR performs the
+requested \fBread\fR(9E) and responds with \fBA\fR\fIcount-read\en\fR if the
+read was successful; otherwise an error in standard format is returned. If the
+read was successful, the data read is sent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBW\fR\fIcount\fR\fB\en\fR\fR
+.ad
+.RS 25n
+.rt
+Write data onto the open device. \fBrmt\fR reads \fIcount\fR bytes from the
+connection, aborting if a premature \fBEOF\fR is encountered. The response
+value is returned from the \fBwrite\fR(9E) call.
+.RE
+
+.sp
+.LP
+Any other command causes \fBrmt\fR to exit.
+.SH SEE ALSO
+.sp
+.LP
+\fBufsdump\fR(1M), \fBufsrestore\fR(1M), \fBintro\fR(3), \fBioctl\fR(2),
+\fBlseek\fR(2), \fBperror \fR(3C), \fBrcmd\fR(3SOCKET), \fBrexec\fR(3SOCKET),
+\fBattributes\fR(5), \fBmtio\fR(7I), \fBopen\fR(9E), \fBread\fR(9E),
+\fBwrite\fR(9E)
+.SH DIAGNOSTICS
+.sp
+.LP
+All responses are of the form described above.
+.SH BUGS
+.sp
+.LP
+Do not use this for a remote file access protocol.
diff --git a/usr/src/man/man1m/rmvolmgr.1m b/usr/src/man/man1m/rmvolmgr.1m
new file mode 100644
index 0000000000..e98a4b2e2c
--- /dev/null
+++ b/usr/src/man/man1m/rmvolmgr.1m
@@ -0,0 +1,155 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rmvolmgr 1M "28 Nov 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rmvolmgr \- HAL-aware removable volume manager
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rmvolmgr\fR [\fB-chns\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrmvolmgr\fR command is a volume manager that can automatically mount and
+unmount removable media and hot-pluggable storage. The default mount point is
+\fB/media\fR.
+.sp
+.LP
+\fBrmvolmgr\fR is one of a number of Hardware Abstraction Layer (HAL)-aware
+tools that are shipped with the Solaris operating system. See \fBhald\fR(1M).
+.sp
+.LP
+Multiple instances of \fBrmvolmgr\fR can be run simultaneously. A system
+instance of \fBrmvolmgr\fR runs by default as a service management facility
+(SMF) service (see \fBsmf\fR(5)). Its fault management resource identifier
+(FMRI) is:
+.sp
+.in +2
+.nf
+svc:/system/filesystem/rmvolmgr
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+You can run your own instance of \fBrmvolmgr\fR by adding it to the
+\fB\&.xinitrc\fR file or a similar session startup script. In such a case, the
+\fBsystem\fR \fBrmvolmgr\fR instance will not manage volumes that belong to
+you, the owner of the startup script. For example, a user logged on to the
+workstation console (\fB/dev/console\fR) who invokes his own instance of
+\fBrmvolmgr\fR will own locally connected devices, such as CD-ROM drives and
+devices connected to the local USB or FireWire ports.
+.sp
+.LP
+In addition to mounting volumes under \fB/media\fR, \fBrmvolmgr\fR also creates
+legacy symbolic links under \fB/cdrom\fR, \fB/floppy\fR, and \fB/rmdisk\fR.
+.sp
+.LP
+\fBrmvolmgr\fR also provides backwards compatibility with CDE removable media
+interfaces by maintaining notification files under \fB/tmp/.removable\fR. This
+functionality can be disabled by using the \fB-c\fR option.
+.sp
+.LP
+The \fB-c\fR and \fB-n\fR options can also be specified as SMF properties. See
+"Examples."
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Disable CDE compatibility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 6n
+.rt
+Display help information and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Do not create legacy mountpoint symbolic links.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Invoke in system instance mode.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing SMF Properties to Set Options
+.sp
+.LP
+The following \fBsvccfg\fR(1M) command and subcommands use SMF properties to
+set the \fB-c\fR and \fB-n\fR options.
+
+.sp
+.in +2
+.nf
+example# \fBsvccfg\fR
+svc:> \fBselect rmvolmgr\fR
+svc:/system/filesystem/rmvolmgr> \fBlistprop rmvolmgr/*\fR
+rmvolmgr/legacy_mountpoints boolean true
+rmvolmgr/cde_compatible boolean true
+svc:/system/filesystem/rmvolmgr> \fBsetprop \e
+ rmvolmgr/legacy_mountpoints=false\fR
+svc:/system/filesystem/rmvolmgr> \fBsetprop rmvolmgr/cde_compatible=false\fR
+svc:/system/filesystem/rmvolmgr> \fBexit\fR
+example#
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhald\fR(1M), \fBsvccfg\fR(1M), \fBattributes\fR(5), \fBhal\fR(5),
+\fBsmf\fR(5)
diff --git a/usr/src/man/man1m/roleadd.1m b/usr/src/man/man1m/roleadd.1m
new file mode 100644
index 0000000000..aa2c7efc4c
--- /dev/null
+++ b/usr/src/man/man1m/roleadd.1m
@@ -0,0 +1,515 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH roleadd 1M "21 Feb 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+roleadd \- administer a new role account on the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBroleadd\fR [\fB-c\fR \fIcomment\fR] [\fB-d\fR \fIdir\fR] [\fB-e\fR \fIexpire\fR] [\fB-f\fR \fIinactive\fR]
+ [\fB-g\fR \fIgroup\fR] [\fB-G\fR \fIgroup\fR [, \fIgroup\fR...]] [\fB-m\fR [\fB-k\fR \fIskel_dir\fR]]
+ [\fB-u\fR \fIuid\fR [\fB-o\fR]] [\fB-s\fR \fIshell\fR]
+ [\fB-A\fR \fIauthorization\fR [,\fIauthorization...\fR]] [\fB-K\fR \fIkey=value\fR] \fIrole\fR
+.fi
+
+.LP
+.nf
+\fBroleadd\fR \fB-D\fR [\fB-b\fR \fIbase_dir\fR] [\fB-e\fR \fIexpire\fR] [\fB-f\fR \fIinactive\fR]
+ [\fB-g\fR \fIgroup\fR] [\fB-A\fR \fIauthorization\fR [,\fIauthorization...\fR]]
+ [\fB-P\fR \fIprofile\fR [,\fIprofile...\fR] [\fB-K\fR \fIkey=value\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBroleadd\fR adds a role entry to the \fB/etc/passwd\fR and \fB/etc/shadow\fR
+and \fB/etc/user_attr\fR files. The \fB-A\fR and \fB-P\fR options respectively
+assign authorizations and profiles to the role. Roles cannot be assigned to
+other roles. The \fB-K\fR option adds a \fIkey=value\fR pair to
+\fB/etc/user_attr\fR for a role. Multiple \fIkey=value\fR pairs can be added
+with multiple \fB-K\fR options.
+.sp
+.LP
+\fBroleadd\fR also creates supplementary group memberships for the role
+(\fB-G\fR option) and creates the home directory (\fB-m\fR option) for the role
+if requested. The new role account remains locked until the \fBpasswd\fR(1)
+command is executed.
+.sp
+.LP
+Specifying \fBroleadd\fR \fB-D\fR with the \fB-g\fR, \fB-b\fR, \fB-f\fR,
+\fB-e\fR, or \fB-K\fR option (or any combination of these option) sets the
+default values for the respective fields. See the \fB-D\fR option. Subsequent
+\fBroleadd\fR commands without the \fB-D\fR option use these arguments.
+.sp
+.LP
+The system file entries created with this command have a limit of 512
+characters per line. Specifying long arguments to several options can exceed
+this limit.
+.sp
+.LP
+The role (\fBrole\fR) field accepts a string of no more than eight bytes
+consisting of characters from the set of alphabetic characters, numeric
+characters, period (\fB\&.\fR), underscore (\fB_\fR), and hyphen (\fB-\fR). The
+first character should be alphabetic and the field should contain at least one
+lower case alphabetic character. A warning message is written if these
+restrictions are not met. A future Solaris release might refuse to accept role
+fields that do not meet these requirements.
+.sp
+.LP
+The \fBrole\fR field must contain at least one character and must not contain a
+colon (\fB:\fR) or a newline (\fB\en\fR).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIauthorization\fR\fR
+.ad
+.RS 20n
+.rt
+One or more comma separated authorizations defined in \fBauth_attr\fR(4). Only
+a user or role who has grant rights to the authorization can assign it to an
+account
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbase_dir\fR\fR
+.ad
+.RS 20n
+.rt
+The default base directory for the system if \fB-d\fR\fI dir\fR is not
+specified. \fIbase_dir\fR is concatenated with the account name to define the
+home directory. If the \fB-m\fR option is not used, \fIbase_dir\fR must exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.RS 20n
+.rt
+Any text string. It is generally a short description of the role. This
+information is stored in the role's \fB/etc/passwd\fR entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir\fR\fR
+.ad
+.RS 20n
+.rt
+The home directory of the new role. It defaults to
+\fIbase_dir\fR/\fIaccount_name\fR, where \fIbase_dir\fR is the base directory
+for new login home directories and \fIaccount_name\fR is the new role name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 20n
+.rt
+Display the default values for \fIgroup\fR, \fIbase_dir\fR, \fIskel_dir\fR,
+\fIshell\fR, \fIinactive\fR, \fIexpire\fR and \fIkey=value\fR pairs. When used
+with the \fB-g\fR, \fB-b\fR, \fB-f\fR, or \fB-K\fR, options, the \fB-D\fR
+option sets the default values for the specified fields. The default values
+are:
+.sp
+.ne 2
+.mk
+.na
+\fBgroup\fR
+.ad
+.sp .6
+.RS 4n
+\fBother\fR (\fBGID\fR of 1)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbase_dir\fR
+.ad
+.sp .6
+.RS 4n
+\fB/home\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBskel_dir\fR
+.ad
+.sp .6
+.RS 4n
+\fB/etc/skel\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBshell\fR
+.ad
+.sp .6
+.RS 4n
+\fB/bin/pfsh\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinactive\fR
+.ad
+.sp .6
+.RS 4n
+\fB0\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBexpire\fR
+.ad
+.sp .6
+.RS 4n
+Null
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBauths\fR
+.ad
+.sp .6
+.RS 4n
+Null
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprofiles\fR
+.ad
+.sp .6
+.RS 4n
+Null
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBkey=value (pairs defined in \fBuser_attr\fR(4)\fR
+.ad
+.sp .6
+.RS 4n
+not present
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIexpire\fR\fR
+.ad
+.RS 20n
+.rt
+Specify the expiration date for a role. After this date, no user is able to
+access this role. The expire option argument is a date entered using one of the
+date formats included in the template file \fB/etc/datemsk\fR. See
+\fBgetdate\fR(3C).
+.sp
+If the date format that you choose includes spaces, it must be quoted. For
+example, you can enter \fB10/6/90\fR or \fBOctober 6, 1990\fR. A null value
+(\fB" "\fR) defeats the status of the expired date. This option is useful for
+creating temporary roles.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIinactive\fR\fR
+.ad
+.RS 20n
+.rt
+The maximum number of days allowed between uses of a role ID before that ID is
+declared invalid. Normal values are positive integers. A value of \fB 0\fR
+defeats the status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgroup\fR\fR
+.ad
+.RS 20n
+.rt
+An existing group's integer ID or character-string name. Without the \fB-D\fR
+option, it defines the new role's primary group membership and defaults to the
+default group. You can reset this default value by invoking \fBroleadd
+\fR\fB-D\fR\fB \fR\fB-g\fR\fB \fR\fIgroup.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR \fIgroup\fR\fR
+.ad
+.RS 20n
+.rt
+An existing group's integer \fBID\fR or character-string name. It defines the
+new role's supplementary group membership. Duplicates between \fIgroup\fR with
+the \fB-g\fR and \fB-G\fR options are ignored. No more than \fBNGROUPS_MAX\fR
+groups can be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIskel_dir\fR\fR
+.ad
+.RS 20n
+.rt
+A directory that contains skeleton information (such as \fB\&.profile\fR) that
+can be copied into a new role's home directory. This directory must already
+exist. The system provides the \fB/etc/skel\fR directory that can be used for
+this purpose.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR \fIkey=value\fR\fR
+.ad
+.RS 20n
+.rt
+A \fIkey=value\fR pair to add to the role's attributes. Multiple \fB-K\fR
+options can be used to add multiple \fIkey=value\fR pairs. The generic \fB-K\fR
+option with the appropriate key can be used instead of the specific implied key
+options (\fB-A\fR and \fB-P\fR). See \fBuser_attr\fR(4) for a list of valid
+\fIkey=value\fR pairs. The "type" key is not a valid key for this option. Keys
+can not be repeated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 20n
+.rt
+Create the new role's home directory if it does not already exist. If the
+directory already exists, it must have read, write, and execute permissions by
+\fIgroup\fR, where \fIgroup\fR is the role's primary group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 20n
+.rt
+This option allows a \fBUID\fR to be duplicated (non-unique).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprofile\fR\fR
+.ad
+.RS 20n
+.rt
+One or more comma-separated execution profiles defined in \fBprof_attr\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIshell\fR\fR
+.ad
+.RS 20n
+.rt
+Full pathname of the program used as the user's shell on login. It defaults to
+an empty field causing the system to use \fB/bin/pfsh\fR as the default. The
+value of \fIshell\fR must be a valid executable file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuid\fR\fR
+.ad
+.RS 20n
+.rt
+The \fBUID\fR of the new role. This \fBUID\fR must be a non-negative decimal
+integer below \fBMAXUID\fR as defined in \fB<sys/param.h>\fR\&. The \fBUID\fR
+defaults to the next available (unique) number above the highest number
+currently assigned. For example, if \fBUID\fRs 100, 105, and 200 are assigned,
+the next default \fBUID\fR number is 201. (\fBUID\fRs from \fB0\fR-\fB99\fR are
+reserved for possible use in future applications.)
+.RE
+
+.SH FILES
+.sp
+.LP
+\fB/etc/datemsk\fR
+.sp
+.LP
+\fB/etc/passwd\fR
+.sp
+.LP
+\fB/etc/shadow\fR
+.sp
+.LP
+\fB/etc/group\fR
+.sp
+.LP
+\fB/etc/skel\fR
+.sp
+.LP
+\fB/usr/include/limits.h\fR
+.sp
+.LP
+\fB/etc/user_attr\fR
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpasswd\fR(1), \fBpfsh\fR(1), \fBprofiles\fR(1), \fBroles\fR(1),
+\fBusers\fR(1B), \fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M),
+\fBgrpck\fR(1M), \fBlogins\fR(1M), \fBpwck\fR(1M), \fBuserdel\fR(1M),
+\fBusermod\fR(1M), \fBgetdate\fR(3C), \fBauth_attr\fR(4), \fBpasswd\fR(4),
+\fBprof_attr\fR(4), \fBuser_attr\fR(4), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+In case of an error, \fBroleadd\fR prints an error message and exits with a
+non-zero status.
+.sp
+.LP
+The following indicates that \fBlogin\fR specified is already in use:
+.sp
+.in +2
+.nf
+UX: roleadd: ERROR: login is already in use. Choose another.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fIuid\fR specified with the \fB-u\fR option
+is not unique:
+.sp
+.in +2
+.nf
+UX: roleadd: ERROR: uid \fIuid\fR is already in use. Choose another.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fIgroup\fR specified with the \fB-g\fR option
+is already in use:
+.sp
+.in +2
+.nf
+UX: roleadd: ERROR: group \fIgroup\fR does not exist. Choose another.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fIuid\fR specified with the \fB-u\fR option
+is in the range of reserved \fBUID\fRs (from \fB0\fR-\fB99\fR):
+.sp
+.in +2
+.nf
+UX: roleadd: WARNING: uid \fIuid\fR is reserved.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fIuid\fR specified with the \fB-u\fR option
+exceeds \fBMAXUID\fR as defined in \fB<sys/param.h>\fR:
+.sp
+.in +2
+.nf
+UX: roleadd: ERROR: uid \fIuid\fR is too big. Choose another.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fB/etc/passwd\fR or \fB/etc/shadow\fR files
+do not exist:
+.sp
+.in +2
+.nf
+UX: roleadd: ERROR: Cannot update system files - login cannot be created.
+.fi
+.in -2
+.sp
+
+.SH NOTES
+.sp
+.LP
+If a network nameservice such as \fBNIS\fR or \fBNIS+\fR is being used to
+supplement the local \fB/etc/passwd\fR file with additional entries,
+\fBroleadd\fR cannot change information supplied by the network nameservice.
diff --git a/usr/src/man/man1m/roledel.1m b/usr/src/man/man1m/roledel.1m
new file mode 100644
index 0000000000..82e6cd0096
--- /dev/null
+++ b/usr/src/man/man1m/roledel.1m
@@ -0,0 +1,186 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH roledel 1M "8 Sep 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+roledel \- delete a role's login from the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBroledel\fR [\fB-r\fR] \fIrole\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBroledel\fR utility deletes a role account from the system and makes the
+appropriate account-related changes to the system file and file system.
+\fBroledel\fR also removes the role from each user's list of assumable roles.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Remove the role's home directory from the system. This directory must exist.
+The files and directories under the home directory will no longer be accessible
+following successful execution of the command.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrole\fR\fR
+.ad
+.RS 8n
+.rt
+An existing role name to be deleted.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Invalid command syntax. A usage message for the \fBroledel\fR command is
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 6n
+.rt
+The account to be removed does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB8\fR\fR
+.ad
+.RS 6n
+.rt
+The account to be removed is in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot update the \fB/etc/group\fR or \fB/etc/user_attr\fR file but the login
+is removed from the \fB/etc/passwd\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB12\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot remove or otherwise modify the home directory.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 18n
+.rt
+system password file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/shadow\fR\fR
+.ad
+.RS 18n
+.rt
+system file containing roles' encrypted passwords and related information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.RS 18n
+.rt
+system file containing group definitions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/user_attr\fR\fR
+.ad
+.RS 18n
+.rt
+system file containing additional role attributes
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBauths\fR(1), \fBpasswd\fR(1), \fBprofiles\fR(1), \fBroles\fR(1),
+\fBusers\fR(1B), \fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M),
+\fBlogins\fR(1M), \fBroleadd\fR(1M), \fBrolemod\fR(1M), \fBuseradd\fR(1M),
+\fBuserdel\fR(1M), \fBusermod\fR(1M), \fBpasswd\fR(4), \fBprof_attr\fR(4),
+\fBuser_attr\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBroledel\fR utility only deletes an account definition that is in the
+local \fB/etc/group\fR, \fB/etc/passwd\fR, \fB/etc/shadow\fR, and
+\fB/etc/user_attr\fR file. file. If a network name service such as \fBNIS\fR or
+\fBNIS+\fR is being used to supplement the local \fB/etc/passwd\fR file with
+additional entries, \fBroledel\fR cannot change information supplied by the
+network name service.
diff --git a/usr/src/man/man1m/rolemod.1m b/usr/src/man/man1m/rolemod.1m
new file mode 100644
index 0000000000..f4e2712ab6
--- /dev/null
+++ b/usr/src/man/man1m/rolemod.1m
@@ -0,0 +1,452 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rolemod 1M "10 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rolemod \- modify a role's login information on the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBrolemod\fR [\fB-u\fR \fIuid\fR [\fB-o\fR]] [\fB-g\fR \fIgroup\fR] [\fB-G\fR \fIgroup\fR [, \fIgroup\fR...]]
+ [\fB-d\fR \fIdir\fR [\fB-m\fR]] [\fB-s\fR \fIshell\fR] [\fB-c\fR \fIcomment\fR] [\fB-l\fR \fInew_name\fR]
+ [\fB-f\fR \fIinactive\fR] [\fB-e\fR \fIexpire\fR]
+ [\fB-A\fR \fIauthorization\fR [, \fIauthorization\fR]]
+ [\fB-P\fR \fIprofile\fR [, \fIprofile\fR]] [\fB-K\fR \fIkey=value\fR] \fIrole\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrolemod\fR utility modifies a role's login information on the system. It
+changes the definition of the specified login and makes the appropriate
+login-related system file and file system changes.
+.sp
+.LP
+The system file entries created with this command have a limit of 512
+characters per line. Specifying long arguments to several options may exceed
+this limit.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIauthorization\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more comma separated authorizations as deined in \fBauth_attr\fR(4).
+Only role with \fBgrant\fR rights to the \fBauthorization\fR can assign it to
+an account. This replaces any existing authorization setting. If no
+authorization list is specified, the existing setting is removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a comment string. \fIcomment\fR can be any text string. It is generally
+a short description of the login, and is currently used as the field for the
+user's full name. This information is stored in the user's \fB/etc/passwd\fR
+entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the new home directory of the role. It defaults to
+\fIbase_dir/login\fR, where \fIbase_dir\fR is the base directory for new login
+home directories, and \fBlogin\fR is the new login.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIexpire\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the expiration date for a role. After this date, no role will be able
+to access this login. The expire option argument is a date entered using one of
+the date formats included in the template file \fB/etc/datemsk\fR. See
+\fBgetdate\fR(3C).
+.sp
+For example, you may enter \fB10/6/90\fR or \fBOctober 6, 1990\fR. A value of
+\fB`` ''\fR defeats the status of the expired date.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIinactive\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the maximum number of days allowed between uses of a login \fBID\fR
+before that login \fBID\fR is declared invalid. Normal values are positive
+integers. A value of \fB0\fR defeats the status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an existing group's integer \fBID\fR or character-string name. It
+redefines the role's primary group membership.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an existing group's integer ID or character string name. It redefines
+the role's supplementary group membership. Duplicates between \fIgroup\fR with
+the \fB-g\fR and \fB-G\fR options are ignored. No more than \fBNGROUPS_UMAX\fR
+groups may be specified as defined in \fB<param.h>\fR\&.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR \fIkey=value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Replace existing or add to a role's \fIkey=value\fR pair attributes. Multiple
+\fB-K\fR options can be used to replace or add multiple \fIkey=value\fR pairs.
+However, keys must not be repeated. The generic \fB-K\fR option with the
+appropriate key may be used instead of the specific implied key options
+(\fB-A\fR and \fB-P\fR). See \fBuser_attr\fR(4) for a list of valid
+\fIkey=value\fR pairs.
+.sp
+The keyword \fBtype\fR can be specified with the value \fBrole\fR or the value
+\fBnormal\fR. When using the value \fBnormal\fR, the account changes from a
+role user to a normal user; using the value \fBrole\fR keeps the account a role
+user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fInew_logname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the new login name for the role. The \fInew_logname\fR argument is a
+string no more than eight bytes consisting of characters from the set of
+alphabetic characters, numeric characters, period (\fB\&.\fR), underline
+(\fB_\fR), and hypen (\fB\(mi\fR). The first character should be alphabetic and
+the field should contain at least one lower case alphabetic character. A
+warning message will be written if these restrictions are not met. A future
+Solaris release may refuse to accept login fields that do not meet these
+requirements. The \fInew_logname\fR argument must contain at least one
+character and must not contain a colon (\fB:\fR) or \fBNEWLINE\fR (\fB\en\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Move the role's home directory to the new directory specified with the \fB-d\fR
+option. If the directory already exists, it must have permissions
+read/write/execute by \fIgroup\fR, where \fIgroup\fR is the role's primary
+group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option allows the specified \fBUID\fR to be duplicated (non-unique).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprofile\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more comma-separated execution profiles defined in \fBauth_attr\fR(4).
+This replaces any existing profile setting. If no profile list is specified,
+the existing setting is removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIshell\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the full pathname of the program that is used as the role's shell on
+login. The value of \fIshell\fR must be a valid executable file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a new \fBUID\fR for the role. It must be a non-negative decimal integer
+less than \fBMAXUID\fR as defined in \fB<param.h>\fR\&. The \fBUID\fR
+associated with the role's home directory is not modified with this option; a
+role will not have access to their home directory until the \fBUID\fR is
+manually reassigned using \fBchown\fR(1).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogin\fR\fR
+.ad
+.sp .6
+.RS 4n
+An existing login name to be modified.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+In case of an error, \fBrolemod\fR prints an error message and exits with one
+of the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+The command syntax was invalid. A usage message for the \fBrolemod\fR command
+is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.sp .6
+.RS 4n
+An invalid argument was provided to an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIuid\fR given with the \fB-u\fR option is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.sp .6
+.RS 4n
+The password files contain an error. \fBpwconv\fR(1M) can be used to correct
+possible errors. See \fBpasswd\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.sp .6
+.RS 4n
+The login to be modified does not exist, the \fIgroup\fR does not exist, or the
+login shell does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB8\fR\fR
+.ad
+.sp .6
+.RS 4n
+The login to be modified is in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fInew_logname\fR is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cannot update the \fB/etc/group\fR or \fB/etc/user_attr\fR file. Other update
+requests will be implemented.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB11\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insufficient space to move the home directory (\fB-m\fR option). Other update
+requests will be implemented.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB12\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unable to complete the move of the home directory to the new home directory.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.sp .6
+.RS 4n
+system file containing group definitions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/datemsk\fR\fR
+.ad
+.sp .6
+.RS 4n
+system file of date formats
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.sp .6
+.RS 4n
+system password file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/shadow\fR\fR
+.ad
+.sp .6
+.RS 4n
+system file containing users' and roles' encrypted passwords and related
+information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/user_attr\fR\fR
+.ad
+.sp .6
+.RS 4n
+system file containing additional user and role attributes
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchown\fR(1), \fBpasswd\fR(1), \fBusers\fR(1B), \fBgroupadd\fR(1M),
+\fBgroupdel\fR(1M), \fBgroupmod\fR(1M), \fBlogins\fR(1M), \fBpwconv\fR(1M),
+\fBroleadd\fR(1M), \fBroledel\fR(1M), \fBuseradd\fR(1M), \fBuserdel\fR(1M),
+\fBusermod\fR(1M), \fBgetdate\fR(3C), \fBauth_attr\fR(4), \fBpasswd\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/root_archive.1m b/usr/src/man/man1m/root_archive.1m
new file mode 100644
index 0000000000..7339e33827
--- /dev/null
+++ b/usr/src/man/man1m/root_archive.1m
@@ -0,0 +1,193 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH root_archive 1M "9 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+root_archive \- manage bootable miniroot archives
+.SH SYNOPSIS
+.LP
+.nf
+\fB/boot/solaris/bin/root_archive\fR pack \fIarchive\fR \fIroot\fR
+.fi
+
+.LP
+.nf
+\fB/boot/solaris/bin/root_archive\fR unpack \fIarchive\fR \fIroot\fR
+.fi
+
+.LP
+.nf
+\fB/boot/solaris/bin/root_archive\fR packmedia \fIsolaris_image\fR \fIroot\fR
+.fi
+
+.LP
+.nf
+\fB/boot/solaris/bin/root_archive\fR unpackmedia \fIsolaris_image\fR \fIroot\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBroot_archive\fR utility is used to manipulate boot archives and the
+bootable miniroot(s) in a Solaris install image. The utility can pack and
+unpack boot archives and image miniroots. Both \fBufs\fR and \fBhsfs\fR
+(\fBiso9660\fR) format archives can be unpacked, although only \fBufs\fR format
+is generated when packing.
+.sp
+.LP
+For normal, boot-related system administration, \fBbootadm\fR(1M) is
+recommended. \fBroot_archive\fR's primary purpose is to enable OEMs to add or
+update a driver or other component on the Solaris install media.
+.sp
+.LP
+A miniroot and a boot archive is closely associated with the release it is
+intended to boot. To ensure that the tools and system services used to
+construct the miniroot match, miniroot manipulation must be performed only on a
+system running the same release for which the miniroot is intended to install.
+.SH SUBCOMMANDS
+.sp
+.LP
+The \fBroot_archive\fR command has the following subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpack\fR \fIarchive\fR \fIroot\fR\fR
+.ad
+.RS 21n
+.rt
+Pack the contents of the root directory into the boot archive \fIarchive\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunpack\fR \fIarchive\fR \fIroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unpack the contents of the boot archive named \fIarchive\fR to the directory
+named \fIroot\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpackmedia\fR \fIsolaris_image\fR \fIroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create and pack the miniroot(s) in \fIsolaris_image\fR from the contents of the
+directory named \fIroot\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunpackmedia\fR \fIsolaris_image\fR \fIroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unpack the contents of the miniroot(s) in \fIsolaris_image\fR to the directory
+named \fIroot\fR.
+.RE
+
+.sp
+.LP
+The contents of a miniroot are constructed to need the requirements of the
+release. When unpacking a miniroot, all the contents of the miniroot(s) are
+unpacked. When packing a miniroot, the source directory must contain all the
+necessary components with which to construct a miniroot. In general, this can
+only be achieved by first unpacking an existing miniroot.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUnpacking the Miniroots in a Solaris x86 Install Image
+.sp
+.LP
+The following command unpacks the miniroots in a Solaris image to the root
+directory in \fB/export/release/latest\fR.
+
+.sp
+.in +2
+.nf
+# \fBroot_archive unpackmedia \e\fR
+\fB/export/nv/solarisdvd.nvx_dvd/latest /export/release/latest/root\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the preceding, \fB/export/nv/solarisdvd.nvx_dvd/latest\fR represents a path
+to a Solaris x86 install image and \fB/export/release/latest/root\fR is a
+directory that will be purged or created, as necessary.
+
+.LP
+\fBExample 2 \fRPacking the Miniroots in a Solaris x86 Install Image
+.sp
+.LP
+The following command creates and packs the miniroot(s) in a Solaris image from
+the contents of the directory \fB/export/release/latest/root\fR.
+
+.sp
+.in +2
+.nf
+# \fBroot_archive packmedia \e\fR
+\fB/export/nv/solarisdvd.nvx_dvd/latest /export/release/latest/root\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+The command completed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+The command exited due to an error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcpio\fR(1), \fBbootadm\fR(1M), \fBmount\fR(1M), \fBattributes\fR(5),
+\fBlofi\fR(7D)
diff --git a/usr/src/man/man1m/route.1m b/usr/src/man/man1m/route.1m
new file mode 100644
index 0000000000..2bff52cd89
--- /dev/null
+++ b/usr/src/man/man1m/route.1m
@@ -0,0 +1,850 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH route 1M "3 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+route \- manually manipulate the routing tables
+.SH SYNOPSIS
+.LP
+.nf
+\fBroute\fR [\fB-fnvq\fR] \fIsub-command\fR [ [\fImodifiers\fR] \fIargs\fR]
+.fi
+
+.LP
+.nf
+\fBroute\fR [\fB-fnvq\fR] [\fB-p\fR [\fB-R\fR \fIroot-dir\fR]] add | delete [\fImodifiers\fR] \fIdestination\fR \fIgateway\fR
+ [\fIargs\fR]
+.fi
+
+.LP
+.nf
+\fBroute\fR [\fB-fnvq\fR] change | get [\fImodifiers\fR] \fIdestination\fR
+ [\fIgateway\fR [\fIargs\fR]]
+.fi
+
+.LP
+.nf
+\fBroute\fR [\fB-fn\fR] monitor [\fImodifiers\fR]
+.fi
+
+.LP
+.nf
+\fBroute\fR [\fB-fnvq\fR] flush [\fImodifiers\fR]
+.fi
+
+.LP
+.nf
+\fBroute\fR \fB-p\fR [\fB-R\fR \fIroot-dir\fR] show
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBroute\fR manually manipulates the network routing tables. These tables are
+normally maintained by the system routing daemon, such as \fBin.routed\fR(1M)
+and \fBin.ripngd\fR(1M).
+.sp
+.LP
+\fBroute\fR supports a limited number of general options, but a rich command
+language. Users can specify an arbitrary request that can be delivered by means
+of the programmatic interface discussed in \fBroute\fR(7P).
+.sp
+.LP
+\fBroute\fR uses a routing socket and the new message types \fBRTM_ADD\fR,
+\fBRTM_DELETE\fR, \fBRTM_GET\fR, and \fBRTM_CHANGE\fR. While only superusers
+can modify routing tables, the \fBRTM_GET\fR operation is allowed for
+non-privileged users.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 15n
+.rt
+Flush the routing tables of all gateway entries. If you use the \fB-f\fR option
+in conjunction with any of the \fBroute\fR sub-commands, \fBroute\fR flushes
+the gateways before performing the sub-command. Specify the table to flush by
+placing the \fBinet\fR or \fBinet6\fR modifier immediately after the \fB-f\fR
+option. If unspecified, flushing IPv4 (\fBinet\fR) routes is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 15n
+.rt
+Prevent attempts to print host and network names symbolically when reporting
+actions. This option is useful when name servers are unavailable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 15n
+.rt
+Make changes to the network route tables persistent across system restarts. The
+operation is applied to the network routing tables first and, if successful, is
+then applied to the list of saved routes used at system startup. In determining
+whether an operation was successful, a failure to add a route that already
+exists or to delete a route that is not in the routing table is ignored.
+Particular care should be taken when using host or network names in persistent
+routes, as network-based name resolution services are not available at the time
+routes are added at startup.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 15n
+.rt
+Suppress all output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR\fR
+.ad
+.RS 15n
+.rt
+Specify an alternate root directory where \fBroute\fR applies changes. This
+option is ignored unless used in conjunction with the \fB-p\fR option. When
+\fB-R\fR is specified, route changes are applied only to the list of saved
+routes to be used at startup, \fBnot\fR to the network routing tables. In
+addition, certain checks, such as the existence of network interfaces used with
+\fB-ifp\fR, are skipped. This can be useful from within JumpStart scripts,
+where the root directory of the system being modified is in a location other
+than \fB/\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 15n
+.rt
+Print additional details in verbose mode.
+.RE
+
+.SS "Subcommands"
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR\fR
+.ad
+.RS 11n
+.rt
+Add a route.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchange\fR\fR
+.ad
+.RS 11n
+.rt
+Change aspects of a route (such as its gateway).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR\fR
+.ad
+.RS 11n
+.rt
+Delete a specific route.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflush\fR\fR
+.ad
+.RS 11n
+.rt
+Remove all gateway entries from the routing table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget\fR\fR
+.ad
+.RS 11n
+.rt
+Look up and display the route for a destination.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmonitor\fR\fR
+.ad
+.RS 11n
+.rt
+Continuously report any changes to the routing information base, routing lookup
+misses, or suspected network partitionings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow\fR\fR
+.ad
+.RS 11n
+.rt
+Display the list of routes to be applied at system startup. Can be used only in
+conjunction with the \fB-p\fR option.
+.RE
+
+.sp
+.LP
+The \fBadd\fR and \fBdelete\fR sub-commands have the following syntax:
+.sp
+.in +2
+.nf
+route [ -fnvq ] cmd \fIdestination\fR \fIgateway\fR [metric/netmask]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fIcmd\fR is \fBadd\fR or \fBdelete\fR, \fIdestination\fR is the
+destination host or network, and \fIgateway\fR is the next-hop intermediary
+through which packets should be routed. Modifiers described in \fBOPERANDS\fR
+can be placed anywhere on the command line.
+.sp
+.LP
+The \fBget\fR and \fBchange\fR sub-commands have the following syntax:
+.sp
+.in +2
+.nf
+route [ -fnvq ] \fIcmd\fR \fIdestination\fR [\fIgateway\fR [metric/netmask]]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where \fIcmd\fR is \fBget\fR or \fBchange\fR, \fIdestination\fR is the
+destination host or network, and \fIgateway\fR is the next-hop intermediary
+through which packets should be routed. Modifiers described in \fBOPERANDS\fR
+can be placed anywhere on the command line.
+.sp
+.LP
+The \fBmonitor\fR sub-command has the following syntax:
+.sp
+.in +2
+.nf
+route monitor [ -inet | -inet6 ]
+.fi
+.in -2
+.sp
+
+.SH OPERANDS
+.sp
+.LP
+\fBroute\fR executes its sub-commands on routes to destinations by way of
+gateways.
+.SS "Destinations and Gateways"
+.sp
+.LP
+By default, destination and gateway addresses are interpreted as IPv4
+addresses. All symbolic names are tried first as a host name, using
+\fBgetipnodebyname\fR(3SOCKET). If this lookup fails in the AF_INET case,
+\fBgetnetbyname\fR(3SOCKET) interprets the name as that of a network.
+.sp
+.LP
+Including an optional modifier on the command line before the address changes
+how the \fBroute\fR sub-command interprets it.
+.sp
+.LP
+The following modifiers are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-inet\fR\fR
+.ad
+.RS 10n
+.rt
+Force the address to be interpreted as an IPv4 address, that is, under the
+\fBAF_INET\fR address family.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-inet6\fR\fR
+.ad
+.RS 10n
+.rt
+Force the address to be interpreted as an IPv6 address, that is, under the
+\fBAF_INET6\fR address family.
+.RE
+
+.sp
+.LP
+For IPv4 addresses, routes to a particular host are by default distinguished
+from those to a network by interpreting the Internet address specified as the
+destination. If the destination has a \fBlocal address part\fR (that is, the
+portion not covered by the netmask) of \fB0\fR, or if the destination is
+resolved as the symbolic name of a network, then the route is assumed to be to
+a network; otherwise, it is presumed to be a route to a host.
+.sp
+.LP
+You can force this selection by using one of the following modifiers:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-host\fR\fR
+.ad
+.RS 9n
+.rt
+Force the destination to be interpreted as a host.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-net\fR\fR
+.ad
+.RS 9n
+.rt
+Force the destination to be interpreted as a network.
+.RE
+
+.sp
+.LP
+For example:
+.sp
+
+.sp
+.TS
+tab();
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+DestinationDestination Equivalent
+_
+\fB128.32\fR\fB-host\fR \fB128.0.0.32\fR
+\fB128.32.130\fR\fB-host\fR \fB128.32.0.130\fR
+\fB-net\fR \fB128.32\fR\fB128.32.0.0\fR
+\fB-net\fR \fB128.32.130\fR\fB\fR\fB128.32.130.0\fR
+.TE
+
+.sp
+.LP
+Two modifiers avoid confusion between addresses and keywords (for example.,
+\fBhost\fR used as a symbolic host name). You can distinguish a
+\fIdestination\fR by preceding it with the \fB-dst\fR modifier. You can
+distinguish a gateway address by using the \fB-gateway\fR modifier. If the
+destination is directly reachable by way of an interface requiring no
+intermediary IP router to act as a gateway, this can be indicated by using the
+\fB-interface\fR or \fB-iface\fR modifier.
+.sp
+.LP
+In the following example, the route does not refer to an external gateway
+(router), but rather to one of the machine's interfaces. Packets with IP
+destination addresses matching the destination and mask on such a route are
+sent out on the interface identified by the gateway address. For interfaces
+using the ARP protocol, this type of route is used to specify that all matching
+destinations are local to the physical link. That is, a host could be
+configured to ARP for all addresses, without regard to the configured interface
+netmask, by adding a default route using this command. For example:
+.sp
+.in +2
+.nf
+example# route add default \fIhostname\fR -interface
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where gateway address \fIhostname\fR is the name or IP address associated with
+the network interface over which all matching packets should be sent. On a host
+with a single network interface, \fIhostname\fR is usually the same as the
+\fInodename\fR returned by the \fBuname -n\fR command. See \fBuname\fR(1).
+.sp
+.LP
+For backward compatibility with older systems, directly reachable routes can
+also be specified by placing a \fB0\fR after the gateway address:
+.sp
+.in +2
+.nf
+example# route add default \fIhostname\fR 0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This value was once a route metric, but this metric is no longer used. If the
+value is specified as \fB0\fR, then the destination is directly reachable
+(equivalent to specifying \fB-\fR\fBinterface\fR). If it is non-zero but cannot
+be interpreted as a subnet mask, then a gateway is used (default).
+.sp
+.LP
+With the \fBAF_INET\fR address family or an IPv4 address, a separate subnet
+mask can be specified. This can be specified in one of the following ways:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+IP address following the gateway address . This is typically specified in
+\fIdecimal dot\fR notation as for \fBinet_addr\fR(3SOCKET) rather than in
+symbolic form.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+IP address following the \fB-netmask\fR qualifier.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Slash character and a decimal length appended to the destination address.
+.RE
+.sp
+.LP
+If a subnet mask is not specified, the mask used is the subnet mask of the
+output interface selected by the gateway address, if the classful network of
+the destination is the same as the classful network of the interface.
+Otherwise, the classful network mask for the destination address is used.
+.sp
+.LP
+Each of the following examples creates an IPv4 route to the destination
+\fB192.0.2.32\fR subnet with a subnet mask of \fB255.255.255.224\fR:
+.sp
+.in +2
+.nf
+example# route add 192.0.2.32/27 somegateway
+example# route add 192.0.2.32 -netmask 255.255.255.224 somegateway
+example# route add 192.0.2.32 somegateway 255.255.255.224
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For IPv6, only the slash format is accepted. The following example creates an
+IPv6 route to the destination \fB33fe::\fR with a netmask of \fB16\fR one-bits
+followed by 112 zero-bits.
+.sp
+.in +2
+.nf
+example# route add -inet6 3ffe::/16 somegateway
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In cases where the gateway does not uniquely identify the output interface (for
+example, when several interfaces have the same address), you can use the
+\fB-ifp\fR \fIifname\fR modifier to specify the interface by name. For
+example, \fB\fR\fB-ifp\fR \fBlo0\fR associates the route with the \fBlo0\fR
+interface. If the named interface is an underlying interface in an IPMP (IP
+multipathing) group, then requests to add a route will automatically be
+translated to the corresponding IPMP IP interface, and requests to delete or
+change a route on an underlying interface will fail.
+.SS "Routing Flags"
+.sp
+.LP
+Routes have associated flags that influence operation of the protocols when
+sending to destinations matched by the routes. These flags can be set (and in
+some cases cleared, indicated by \fB~\fR) by including the following modifiers
+on the command line:
+.sp
+
+.sp
+.TS
+tab();
+cw(1.32i) cw(1.24i) cw(2.94i)
+lw(1.32i) lw(1.24i) lw(2.94i)
+.
+ModifierFlagDescription
+_
+\fB-interface\fR\fB~RTF_GATEWAY\fRDestination is directly reachable
+\fB-iface\fR\fB~RTF_GATEWAY\fRAlias for interface modifier
+\fB-static\fR\fBRTF_STATIC\fRManually added route
+\fB-nostatic\fR\fB~RTF_STATIC\fRT{
+Pretend route was added by kernel or routing daemon
+T}
+\fB-reject\fR\fBRTF_REJECT\fREmit an ICMP unreachable when matched
+\fB-blackhole\fR\fBRTF_BLACKHOLE\fRSilently discard packets duing updates
+\fB-proto1\fR\fBRTF_PROTO1\fRSet protocol specific routing flag #1
+\fB-proto2\fR\fBRTF_PROTO2\fRSet protocol specific routing flag #2
+\fB-private\fR\fBRTF_PRIVATE\fRDo not advertise this route
+\fB-multirt\fR\fBRTF_MULTIRT\fRCreates the specified redundant route
+\fB-setsrc\fR\fBRTF_SETSRC\fRAssigns the default source address
+.TE
+
+.sp
+.LP
+The optional modifiers \fB-rtt\fR, \fB-rttvar\fR, \fB-sendpipe\fR,
+\fB-recvpipe\fR, \fB-mtu\fR, \fB-hopcount\fR, \fB-expire\fR, and
+\fB-ssthresh\fR provide initial values to quantities maintained in the routing
+entry by transport level protocols, such as \fBTCP\fR. These can be
+individually locked either by preceding each modifier to be locked by the
+\fB-lock\fR meta-modifier, or by specifying that all ensuing metrics can be
+locked by the \fB-lockrest\fR meta-modifier.
+.sp
+.LP
+Some transport layer protocols can support only some of these metrics. The
+following optional modifiers are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-expire\fR\fR
+.ad
+.RS 13n
+.rt
+Lifetime for the entry. This optional modifier is not currently supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-hopcount\fR\fR
+.ad
+.RS 13n
+.rt
+Maximum hop count. This optional modifier is not currently supported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-mtu\fR\fR
+.ad
+.RS 13n
+.rt
+Maximum MTU in bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-recvpipe\fR\fR
+.ad
+.RS 13n
+.rt
+Receive pipe size in bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-rtt\fR\fR
+.ad
+.RS 13n
+.rt
+Round trip time in microseconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-rttvar\fR\fR
+.ad
+.RS 13n
+.rt
+Round trip time variance in microseconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-sendpipe\fR\fR
+.ad
+.RS 13n
+.rt
+Send pipe size in bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ssthresh\fR\fR
+.ad
+.RS 13n
+.rt
+Send pipe size threshold in bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-secattr\fR\fR
+.ad
+.RS 13n
+.rt
+Security attributes of the route. This modifier is available only if the system
+is configured with the Solaris Trusted Extensions feature.
+.sp
+The \fB-secattr\fR modifier has the following format:
+.sp
+.in +2
+.nf
+min_sl=\fIval\fR,max_sl=\fIval\fR,doi=\fIval\fR,cipso
+.fi
+.in -2
+
+or:
+.sp
+.in +2
+.nf
+sl=VAL,doi=VAL,cipso
+.fi
+.in -2
+
+In the first form, above, the \fIval\fR for \fBmin_sl\fR and \fBmax_sl\fR is a
+sensitivity label in either hex or string form. The \fIval\fR for \fBdoi\fR is
+a non-negative integer. The route will apply only for packets with the same
+domain of interpretation as defined by the \fBdoi\fR value and within the
+accreditation range defined by the \fBmin_sl\fR and \fBmax_sl\fR values. The
+\fBcipso\fR keyword is optional and set by default. Valid \fBmin_sl\fR,
+\fBmax_sl\fR and \fBdoi\fR keyword/value pairs are mandatory. Note that if
+\fIval\fR contains a space, it must be protected by double quotes.
+.sp
+The second form, above, is equivalent to specifying the first form with the
+same \fBVAL\fR for \fBmin_sl\fR and \fBmax_sl\fR. The second form should be
+used for the \fBget\fR command, because \fBget\fR uses only a single
+sensitivity label.
+.RE
+
+.SS "Compatibility"
+.sp
+.LP
+The modifiers \fBhost\fR and \fBnet\fR are taken to be equivalent to
+\fB-\fR\fBhost\fR and \fB-net\fR\fB\fR. To specify a symbolic address that
+matches one of these names, use the \fBdst\fR or \fBgateway\fR keyword to
+distinguish it. For example: \fB\fR\fB-dst\fR \fBhost\fR
+.sp
+.LP
+The following two flags are also accepted for compatibility with older systems,
+but have no effect.
+.sp
+
+.sp
+.TS
+tab();
+cw(2.84i) cw(2.66i)
+lw(2.84i) lw(2.66i)
+.
+ModifierFlag
+_
+\fB-cloning\fRRTF_CLONING
+\fB-xresolve\fRRTF_XRESOLVE
+.TE
+
+.sp
+.LP
+The \fB\fR\fB-ifa\fR \fBhostname\fR modifier is also accepted, but has no
+effect.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/defaultrouter\fR\fR
+.ad
+.RS 22n
+.rt
+List of default routers
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/hosts\fR\fR
+.ad
+.RS 22n
+.rt
+List of host names and net addresses
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/networks\fR\fR
+.ad
+.RS 22n
+.rt
+List of network names and addresses
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuname\fR(1), \fBin.ripngd\fR(1M), \fBin.routed\fR(1M), \fBnetstat\fR(1M),
+\fBrouted\fR(1M), \fBioctl\fR(2), \fBgetipnodebyname\fR(3SOCKET),
+\fBgetnetbyname\fR(3SOCKET), \fBinet_addr\fR(3SOCKET), \fBdefaultrouter\fR(4),
+\fBhosts\fR(4), \fBnetworks\fR(4), \fBattributes\fR(5), \fBARP\fR(7P),
+\fBip\fR(7P), \fBroute\fR(7P), \fBrouting\fR(7P)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR [ \fBhost\fR\||\ \fBnetwork\|]\fR \fIdestination\fR:\fIgateway\fR
+\fIflags\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified route is being added to the tables. The values printed are from
+the routing table entry supplied in the \fBioctl\fR(2) call. If the gateway
+address used was not the primary address of the gateway (the first one returned
+by \fBgetipnodebyname\fR(3SOCKET)) the gateway address is printed numerically
+as well as symbolically.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR [ \fBhost\fR\||\ \fBnetwork\fR\|]
+\fIdestination\fR:\fIgateway\fR \fIflags\fR\fR
+.ad
+.br
+.na
+\fB\fBchange\fR [ \fBhost\fR\||\ \fBnetwork\fR\|]
+\fIdestination\fR:\fIgateway\fR \fIflags\fR\fR
+.ad
+.sp .6
+.RS 4n
+As \fBadd\fR, but when deleting or changing an entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdestination\fR \fBdone\fR\fR
+.ad
+.sp .6
+.RS 4n
+When the \fB-f\fR flag is specified, or the \fBflush\fR sub-command is used,
+each routing table entry deleted is indicated with a message of this form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNetwork is unreachable\fR\fR
+.ad
+.sp .6
+.RS 4n
+An attempt to add a route failed because the gateway listed was not on a
+directly-connected network. Give the next-hop gateway instead.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnot in table\fR\fR
+.ad
+.sp .6
+.RS 4n
+A \fBdelete\fR operation was attempted for an entry that is not in the table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBentry exists\fR\fR
+.ad
+.sp .6
+.RS 4n
+An \fBadd\fR operation was attempted for a route that already exists in the
+kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrouting table overflow\fR\fR
+.ad
+.sp .6
+.RS 4n
+An operation was attempted, but the system was unable to allocate memory to
+create the new entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinsufficient privileges\fR\fR
+.ad
+.sp .6
+.RS 4n
+An attempt to add, delete, change, or flush a route failed because the calling
+process does not have appropriate privileges.
+.RE
+
+.SH NOTES
+.sp
+.LP
+Specifying that destinations are local (with the \fB-interface\fRmodifier)
+assumes that the routers implement \fBproxy ARP\fR, meaning that they respond
+to ARP queries for all reachable destinations. Normally, using either router
+discovery or RIP is more reliable and scalable than using proxy ARP. See
+\fBin.routed\fR(1M) for information related to RIP.
+.sp
+.LP
+Combining the all destinations are local route with subnet or network routes
+can lead to unpredictable results. The search order as it relates to the all
+destinations are local route are undefined and can vary from release to
+release.
diff --git a/usr/src/man/man1m/routeadm.1m b/usr/src/man/man1m/routeadm.1m
new file mode 100644
index 0000000000..06a6591f5e
--- /dev/null
+++ b/usr/src/man/man1m/routeadm.1m
@@ -0,0 +1,582 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH routeadm 1M "18 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+routeadm \- IP forwarding and routing configuration
+.SH SYNOPSIS
+.LP
+.nf
+\fBrouteadm\fR [\fB-p\fR [\fIoption\fR]]
+.fi
+
+.LP
+.nf
+\fBrouteadm\fR [\fB-R\fR \fIroot-dir\fR] [\fB-e\fR \fIoption\fR ...] [\fB-d\fR \fIoption\fR...]
+ [\fB-r\fR \fIoption\fR...] [\fB-s\fR \fIvar\fR=\fIvalue\fR]
+.fi
+
+.LP
+.nf
+\fBrouteadm\fR [\fB-l\fR \fIfmri\fR]
+.fi
+
+.LP
+.nf
+\fBrouteadm\fR [\fB-m\fR \fIfmri\fR \fIkey\fR=\fIvalue\fR [\fIkey\fR=\fIvalue\fR]...]
+.fi
+
+.LP
+.nf
+\fBrouteadm\fR [\fB-u\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrouteadm\fR command is used to administer system-wide configuration for
+IP forwarding and routing. IP forwarding is the passing of IP packets from one
+network to another; IP routing is the use of a routing protocol to determine
+routes.
+.sp
+.LP
+IP forwarding and routing functions are also represented as services within the
+service management facility (SMF), and can be administered by means of
+\fBsvcadm\fR(1M) also, using the following fault management resource
+identifiers (FMRIs):
+.sp
+.in +2
+.nf
+svc:/network/ipv4-forwarding:default
+svc:/network/ipv6-forwarding:default
+svc:/network/routing/route:default
+svc:/network/routing/ripng:default
+.fi
+.in -2
+
+.sp
+.LP
+See EXAMPLES for relevant examples.
+.sp
+.LP
+In addition to enabling and disabling routing and forwarding, \fBrouteadm\fR is
+used to interact with SMF-based routing daemon services. Routing daemon
+services are identified by the presence of a \fBrouteadm\fR application
+property group, which \fBrouteadm\fR uses in administering the given service.
+Routing daemon services can also specify properties relating to their operation
+in the \fBrouting\fR application property group; these can be modified by means
+of routeadm -m. If an FMRI for a service without such a property group is
+specified, an error is issued and the operation is not carried out. If a
+routing daemon has not been converted to SMF, the \fBipv4\fI[or
+6]\fR-routing-daemon\fR, \fBipv4\fI[or 6]\fR-routing-daemon-args\fR, and
+\fBipv4\fI[or 6]\fR-routing-stop-cmd\fR variables can be used to specify the
+appropriate daemon for IPv4 or IPv6 routing. \fBrouteadm\fR will then run that
+daemon using the \fBsvc:/network/routing/legacy-routing:ipv4\fR\fI[or 6]\fR
+service as appropriate. This conversion process occurs when you issue an enable
+(\fB-e\fR), disable (\fB-d\fR) or an update (\fB-u\fR) command.
+.sp
+.LP
+The first usage, in the SYNOPSIS above, reports the current configuration.
+.SH OPTIONS
+.sp
+.LP
+The following command-line options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR [\fIoption\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Print the configuration in parseable format. If \fIoption\fR is specified, only
+the configuration for the specified option or variable is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternate root directory where \fBrouteadm\fR applies changes. This
+can be useful from within JumpStart scripts, where the root directory of the
+system being modified is mounted elsewhere.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIoption\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Enable the specified option. The effect is to prepare the associated services
+(\fBsvc:/network/ipv4-forwarding:default\fR in the case of
+\fBipv4-forwarding\fR) for enabling. By means of the \fBrouting-svcs\fR
+variable, the routing daemons are specified to be enabled on subsequent boot or
+when \fBrouteadm\fR \fB-u\fR is run.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIoption\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Disable the specified option. The effect is to prepare the associated services
+(\fBsvc:/network/ipv4-forwarding:default\fR in the case of
+\fBipv4-forwarding\fR) for enabling. By means of the \fBrouting-svcs\fR
+variable, the routing daemons are specified to be disabled on subsequent boot
+or when \fBrouteadm\fR \fB-u\fR is run.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIfmri\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all properties in the routing application property group for the SMF
+routing daemon service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIfmri\fR\ \fIkey\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change property value of property \fIkey\fR to \fIvalue\fR in routing
+application property group for the SMF routing daemon service. For multi-valued
+properties, the property name can be used multiple times in the modify
+operation, and each associated value will be added.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIoption...\fR\fR
+.ad
+.sp .6
+.RS 4n
+Revert the specified option to the system default. The system defaults are
+specified in the description of each \fIoption\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Apply the currently configured options to the running system. These options
+might include enabling or disabling IP forwarding and launching or killing
+routing daemons, if any are specified. It does not alter the state of the
+system for those settings that have been set to default. This option is meant
+to be used by administrators who do not want to reboot to apply their changes.
+In addition, this option upgrades non-SMF configurations from the invocations
+of daemon stop commands, which might include a set of arguments, to a simple
+enabling of the appropriate service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIkey\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify string values for specific variables in a comma-separated list with no
+intervening spaces. If invalid options are specified, a warning message is
+displayed and the program exits. The following variables can be specified:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrouting-svcs=\fR\fIfmrilist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the routing daemon services to be enabled. Routing daemon services
+are determined to be IPv4 or IPv6 (and so enabled or disabled when
+\fBrouteadm\fR \fB-e\fR/\fB-d\fR \fBipv4\fR\fI(6)\fR\fB-routing\fR is run) on
+the basis of property values in the \fBrouteadm\fR application property group.
+Default: \fBroute:default ripng:default\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv4-routing-daemon=\fI<full_path_to_routing_daemon>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the routing daemon to be started when \fBipv4-routing\fR is enabled.
+The routing daemon specified must be an executable binary or shell-script. If
+the specified program maps to an SMF service, the service will be used, and
+daemon arguments to the program will be transferred to the properties of the
+service at enable time. Default: \fB""\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv4-routing-daemon-args=\fI<args>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the startup arguments to be passed to the \fBipv4-routing-daemon\fR
+when \fBipv4-routing\fR is enabled. Default: no arguments
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv4-routing-stop-cmd=\fI<command>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the command to be executed to stop the routing daemon when
+\fBipv4-routing\fR is disabled. \fI<command>\fR can be an executable binary or
+shell-script, or a string that can be parsed by \fBsystem\fR(3C). Default:
+\fB""\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6-routing-daemon=\fI<full_path_to_routing_daemon>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the routing daemon to be started when \fBipv6-routing\fR is enabled.
+The routing daemon specified must be an executable binary or shell-script. If
+the specified program maps to an SMF service, the service will be used, and
+daemon arguments to the program will be transferred to the properties of the
+service at enable time. Default: \fB""\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6-routing-daemon-args=\fI<args>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the startup arguments to be passed to the \fBipv6-routing-daemon\fR
+when \fBipv6-routing\fR is enabled. Default: \fB""\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6-routing-stop-cmd=\fI<command>\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the command to be executed to stop the routing daemon when
+\fBipv6-routing\fR is disabled. \fI<command>\fR can be an executable binary or
+shell-script, or a string that can be parsed by \fBsystem\fR(3C). Default:
+\fB""\fR
+.RE
+
+.RE
+
+.sp
+.LP
+Multiple \fB-e\fR, \fB-d\fR, and \fB-r\fR options can be specified on the
+command line. Changes made by \fB-e\fR, \fB-d\fR, and \fB-r\fR are persistent,
+but are not applied to the running system unless \fBrouteadm\fR is called later
+with the \fB-u\fR option.
+.sp
+.LP
+Use the following options as arguments to the \fB-e\fR, \fB-d\fR, and \fB-r\fR
+options (shown above as \fIoption...\fR).
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv4-forwarding\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls the global forwarding configuration for all IPv4 interfaces. The
+system default is \fBdisabled\fR. If enabled, IP will forward IPv4 packets to
+and from interfaces when appropriate. If disabled, IP will not forward IPv4
+packets to and from interfaces when appropriate. The SMF service associated
+with this configuration variable is \fBsvc:/network/routing/ipv4-forwarding\fR.
+This service will be enabled or disabled as appropriate when \fBrouteadm\fR is
+called with the \fBu\fR option. As an alternative, you can use
+\fBsvcadm\fR(1M). Services that require \fBipv4-forwarding\fR to be enabled
+should specify a dependency on this service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv4-routing\fR\fR
+.ad
+.sp .6
+.RS 4n
+Determines whether an IPv4 routing daemon is run. The system default is
+\fBenabled\fR unless the \fB/etc/defaultrouter\fR file exists (see
+\fBdefaultrouter\fR(4)), in which case the default is \fBdisabled\fR. The value
+of this option reflects the state of all IPv4 routing services, such that if
+any IPv4 routing service is enabled, \fBipv4-routing\fR is enabled. This allows
+users to interact with routing services using \fBsvcadm\fR(1M), as well as
+through \fBrouteadm\fR. IPv4 routing services, specified by means of the
+\fBrouting-svcs\fR variable, will be prepared for enable on next boot when the
+user explicitly enables \fBipv4-routing\fR. The SMF routing daemon service for
+\fBin.routed\fR (\fBsvc:/network/routing/route:default\fR) is specified by
+default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6-forwarding\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls the global forwarding configuration for all IPv6 interfaces. The
+system default is \fBdisabled\fR. If enabled, IP will forward IPv6 packets to
+and from interfaces when appropriate. If disabled, IP will not forward IPv6
+packets to and from interfaces when appropriate. The SMF service associated
+with this configuration variable is \fBsvc:/network/routing/ipv6-forwarding\fR.
+This service will be enabled or disabled as appropriate when \fBrouteadm\fR is
+called with the \fB-u\fR option, or \fBsvcadm\fR(1M) is used. Services that
+require \fBipv6-forwarding\fR to be enabled should specify a dependency on this
+service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBipv6-routing\fR\fR
+.ad
+.sp .6
+.RS 4n
+Determines whether an IPv6 routing daemon is run. The system default is
+\fBdisabled\fR. The value of this option reflects the state of all IPv6 routing
+services, such that, if any IPv6 routing service is enabled, \fBipv6-routing\fR
+is enabled. This allows users to interact with routing services via
+\fBsvcadm\fR(1M) as well as through \fBrouteadm\fR. IPv6 routing services,
+specified by means of the \fBrouting-svcs\fR variable, will be prepared for
+enable on next boot when the user explicitly enables \fBipv6-routing\fR. The
+SMF routing daemon service for \fBin.ripngd\fR
+(\fBsvc:/network/routing/ripng:default\fR) is specified by default.
+.RE
+
+.sp
+.LP
+The forwarding and routing settings are related but not mutually dependent. For
+example, a router typically forwards IP packets and uses a routing protocol,
+but nothing would prevent an administrator from configuring a router that
+forwards packets and does not use a routing protocol. In that case, the
+administrator would enable forwarding, disable routing, and populate the
+router's routing table with static routes.
+.sp
+.LP
+The forwarding settings are global settings. Each interface also has an
+\fBIFF_ROUTER\fR forwarding flag that determines whether packets can be
+forwarded to or from a particular interface. That flag can be independently
+controlled by means of \fBifconfig\fR(1M)'s router option. When the global
+forwarding setting is changed (that is, \fB-u\fR is issued to change the value
+from \fBenabled\fR to \fBdisabled\fR or vice-versa), all interface flags in the
+system are changed simultaneously to reflect the new global policy. Interfaces
+configured by means of DHCP automatically have their interface-specific
+\fBIFF_ROUTER\fR flag cleared.
+.sp
+.LP
+When a new interface is plumbed by means of \fBifconfig\fR, the value of the
+interface-specific forwarding flag is set according to the current global
+forwarding value. Thus, the forwarding value forms the "default" for all new
+interfaces.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREnabling IPv4 Forwarding
+.sp
+.LP
+IPv4 forwarding is disabled by default. The following command enables IPv4
+forwarding:
+
+.sp
+.in +2
+.nf
+example# \fBrouteadm -e ipv4-forwarding\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRApply Configured Settings to the Running System
+.sp
+.LP
+In the previous example, a system setting was changed, but will not take effect
+until the next reboot unless a command such as the following is used:
+
+.sp
+.in +2
+.nf
+example# \fBrouteadm -u\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+An alternative to the above two steps is to simply enable the equivalent SMF
+service:
+
+.sp
+.in +2
+.nf
+example# \fBsvcadm enable svc:/network/ipv4-forwarding\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...or, using the abbreviated FMRI:
+
+.sp
+.in +2
+.nf
+example# \fBsvcadm enable ipv4-forwarding\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRMaking a Setting Revert to its Default
+.sp
+.LP
+To make the setting changed in the first example revert to its default, enter
+the following:
+
+.sp
+.in +2
+.nf
+example# \fBrouteadm -r ipv4-forwarding\fR
+example# \fBrouteadm -u\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRStarting \fBin.routed\fR with the \fB-q\fR Flag
+.sp
+.LP
+Setting the \fB-q\fR flag is represented in the SMF service by setting the
+\fBquiet_mode\fR property to true. The following sequence of commands starts
+\fBin.routed\fR with the \fB-q\fR flag:
+
+.sp
+.in +2
+.nf
+example# \fBrouteadm -m route:default quiet_mode=true\fR
+example# \fBrouteadm -e ipv4-routing -u\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBin.routed\fR(1M) for details of property names and how they relate to
+daemon behavior.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 7n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!=0\fR\fR
+.ad
+.RS 7n
+.rt
+An error occurred while obtaining or modifying the system configuration.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/routing.conf\fR\fR
+.ad
+.RS 26n
+.rt
+Parameters for IP forwarding and routing. (Not to be edited.)
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBifconfig\fR(1M), \fBin.routed\fR(1M), \fBsvcadm\fR(1M), \fBgateways\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/rpc.bootparamd.1m b/usr/src/man/man1m/rpc.bootparamd.1m
new file mode 100644
index 0000000000..0be6c4bfba
--- /dev/null
+++ b/usr/src/man/man1m/rpc.bootparamd.1m
@@ -0,0 +1,98 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.bootparamd 1M "1 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.bootparamd, bootparamd \- boot parameter server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rpc.bootparamd\fR [\fB-d\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.bootparamd\fR is a server process that provides information from a
+\fBbootparams\fR database to diskless clients at boot time. See
+\fBbootparams\fR(4)
+.sp
+.LP
+The source for the \fBbootparams\fR database is determined by the
+\fBnsswitch.conf\fR(4) file (on the machine running the \fBrpc.bootparamd\fR
+process).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Display debugging information.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/bootparams\fR\fR
+.ad
+.RS 22n
+.rt
+boot parameter data base
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.conf\fR\fR
+.ad
+.RS 22n
+.rt
+configuration file for the name-service switch
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1),\fBsvcadm\fR(1M), \fBbootparams\fR(4), \fBnsswitch.conf\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+A diskless client requires service from at least one \fBrpc.bootparamd\fR
+process running on a server that is on the same IP subnetwork as the diskless
+client.
+.sp
+.LP
+Some routines that compare hostnames use case-sensitive string comparisons;
+some do not. If an incoming request fails, verify that the case of the
+hostname in the file to be parsed matches the case of the hostname called for,
+and attempt the request again.
+.sp
+.LP
+The \fBrpc.bootparamd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/bootparams
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.mdcommd.1m b/usr/src/man/man1m/rpc.mdcommd.1m
new file mode 100644
index 0000000000..0b502f4bd6
--- /dev/null
+++ b/usr/src/man/man1m/rpc.mdcommd.1m
@@ -0,0 +1,96 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.mdcommd 1M "29 Oct 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.mdcommd \- multi-node disk set services
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rpc.mdcommd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.mdcommd\fR is an \fBrpc\fR(4) daemon that functions as a server process.
+\fBrpc.mdcommd\fR manages communication among hosts participating in a
+multi-node disk set configuration.
+.sp
+.LP
+\fBrpc.mdcommd\fR is invoked by \fBinetd\fR(1M).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBmetaset\fR(1M),
+\fBsvcadm\fR(1M), \fBrpc\fR(3NSL), \fBrpc\fR(4), \fBservices\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBrpc.mdcommd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/mdcomm
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.metad.1m b/usr/src/man/man1m/rpc.metad.1m
new file mode 100644
index 0000000000..f76b732ccf
--- /dev/null
+++ b/usr/src/man/man1m/rpc.metad.1m
@@ -0,0 +1,76 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.metad 1M "4 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.metad \- remote metaset services
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rpc.metad\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.metad\fR is an \fBrpc\fR(4) daemon (functioning as a server process)
+that is used to manage local copies of metadevice diskset information. The
+\fBrpc.metad\fR daemon is controlled by \fBinetadm\fR(1M).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBmetaset\fR(1M),
+\fBrpc.metamhd\fR(1M), \fBsvcadm\fR(1M), \fBrpc\fR(3NSL), \fBservices\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBrpc.metad\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/meta:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.metamedd.1m b/usr/src/man/man1m/rpc.metamedd.1m
new file mode 100644
index 0000000000..2f2bd26298
--- /dev/null
+++ b/usr/src/man/man1m/rpc.metamedd.1m
@@ -0,0 +1,91 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.metamedd 1M "4 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.metamedd \- remote mediator services
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rpc.metamedd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.metamedd\fR is an \fBrpc\fR(4) server which is used to manage mediator
+information for use in 2-string HA configurations. The \fBrpc.metamedd\fR
+daemon is controlled by \fBinetadm\fR(1M).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBATTRIBUTE TYPE\fR\fBATTRIBUTE VALUE\fR
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBsvcadm\fR(1M),
+\fBrpc\fR(4), \fBservices\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+Sun Cluster documentation, \fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBrpc.metamedd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/metamed:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.metamhd.1m b/usr/src/man/man1m/rpc.metamhd.1m
new file mode 100644
index 0000000000..438cc127d6
--- /dev/null
+++ b/usr/src/man/man1m/rpc.metamhd.1m
@@ -0,0 +1,76 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.metamhd 1M "4 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.metamhd \- remote multihost disk services
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rpc.metamhd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.metamhd\fR is an \fBrpc\fR(4) daemon (functioning as a server process)
+that is used to manage multi-hosted disks. The \fBrpc.metamhd\fR daemon is
+controlled by \fBinetadm\fR(1M).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBmetaset\fR(1M),
+\fBrpc.metad\fR(1M), \fBsvcadm\fR(1M), \fBrpc\fR(3NSL), \fBservices\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBrpc.metamhd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/metamh:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.rexd.1m b/usr/src/man/man1m/rpc.rexd.1m
new file mode 100644
index 0000000000..9d902ae191
--- /dev/null
+++ b/usr/src/man/man1m/rpc.rexd.1m
@@ -0,0 +1,159 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.rexd 1M "5 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.rexd, rexd \- RPC-based remote execution server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rpc.rexd\fR [\fB-s\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.rexd\fR is the Sun \fBRPC\fR server for remote program execution. This
+daemon is started by \fBinetd\fR(1M) whenever a remote execution request is
+made.
+.sp
+.LP
+For non-interactive programs, the standard file descriptors are connected
+directly to \fBTCP\fR connections. Interactive programs involve
+pseudo-terminals, in a fashion that is similar to the login sessions provided
+by \fBrlogin\fR(1). This daemon may use \fBNFS\fR to mount file systems
+specified in the remote execution request.
+.sp
+.LP
+There is a \fB10240\fR byte limit for arguments to be encoded and passed from
+the sending to the receiving system.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Secure. When specified, requests must have valid \fBDES\fR credentials. If the
+request does not have a \fBDES\fR credential it is rejected. The default
+publickey credential is rejected. Only newer \fBon\fR(1) commands send
+\fBDES\fR credentials.
+.sp
+If access is denied with an authentication error, you may have to set your
+publickey with the \fBchkey\fR(1) command.
+.sp
+Specifying the \fB-s\fR option without presenting secure credentials will
+result in an error message: \fBUnix too weak auth (DesONly)!\fR
+.RE
+
+.SH SECURITY
+.sp
+.LP
+\fBrpc.rexd\fR uses \fBpam\fR(3PAM) for account and session management. The
+\fBPAM\fR configuration policy, listed through \fB/etc/pam.conf\fR, specifies
+the modules to be used for \fBrpc.rexd\fR. Here is a partial \fBpam.conf\fR
+file with \fBrpc.rexd\fR entries for account and session management using the
+UNIX module.
+.sp
+.in +2
+.nf
+rpc.rexd account requisite pam_roles.so.1
+rpc.rexd account required pam_projects.so.1
+rpc.rexd account required pam_unix_account.so.1
+
+rpc.rexd session required pam_unix_session.so.1
+.fi
+.in -2
+
+.sp
+.LP
+If there are no entries for the \fBrpc.rexd\fR service, the entries for the
+"other" service will be used. \fBrpc.rexd\fR uses the \fBgetpwuid()\fR call to
+determine whether the given user is a legal user.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/pts\fIn\fR\fR\fR
+.ad
+.RS 23n
+.rt
+Pseudo-terminals used for interactive mode
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 23n
+.rt
+Authorized users
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/tmp_rex/rexd??????\fR\fR
+.ad
+.RS 23n
+.rt
+Temporary mount points for remote file systems
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchkey\fR(1), \fBon\fR(1), \fBrlogin\fR(1), \fBsvcs\fR(1), \fBinetadm\fR(1M),
+\fBinetd\fR(1M), \fBsvcadm\fR(1M), \fBpam\fR(3PAM), \fBpam.conf\fR(4),
+\fBpublickey\fR(4), \fBattributes\fR(5), \fBpam_authtok_check\fR(5),
+\fBpam_authtok_get\fR(5), \fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5),
+\fBpam_passwd_auth\fR(5), \fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5),
+\fBpam_unix_session\fR(5), \fBsmf\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+Diagnostic messages are normally printed on the console, and returned to the
+requestor.
+.SH NOTES
+.sp
+.LP
+Root cannot execute commands using \fBrexd\fR client programs such as
+\fBon\fR(1).
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported. Similar functionality is
+provided by \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), and
+\fBpam_unix_session\fR(5).
+.sp
+.LP
+The \fBrpc.rexd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/rex:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.rstatd.1m b/usr/src/man/man1m/rpc.rstatd.1m
new file mode 100644
index 0000000000..4d6d6888e1
--- /dev/null
+++ b/usr/src/man/man1m/rpc.rstatd.1m
@@ -0,0 +1,49 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.rstatd 1M "4 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.rstatd, rstatd \- kernel statistics server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/rstat/rpc.rstatd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.rstatd\fR is a server which returns performance statistics obtained from
+the kernel. \fBrup\fR(1) uses \fBrpc.rstatd\fR to collect the \fBuptime\fR
+information that it displays.
+.sp
+.LP
+\fBrpc.rstatd\fR is an RPC service.
+.SH SEE ALSO
+.sp
+.LP
+\fBrup\fR(1), \fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M),
+\fBsvcadm\fR(1M), \fBservices\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBrpc.rstatd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/rstat:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.rusersd.1m b/usr/src/man/man1m/rpc.rusersd.1m
new file mode 100644
index 0000000000..e49047c9f8
--- /dev/null
+++ b/usr/src/man/man1m/rpc.rusersd.1m
@@ -0,0 +1,46 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004 Sun Microsystems, Inc. - All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.rusersd 1M "4 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.rusersd, rusersd \- network username server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/rusers/rpc.rusersd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.rusersd\fR is a server that returns a list of users on the host. The
+\fBrpc.rusersd\fR daemon may be started by \fBinetd\fR(1M) or \fBlisten\fR(1M).
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBlisten\fR(1M),
+\fBpmadm\fR(1M), \fBsacadm\fR(1M), \fBsvcadm\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBrpc.rusersd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/rusers:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.rwalld.1m b/usr/src/man/man1m/rpc.rwalld.1m
new file mode 100644
index 0000000000..15df5e5802
--- /dev/null
+++ b/usr/src/man/man1m/rpc.rwalld.1m
@@ -0,0 +1,48 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004 Sun Microsystems, Inc. - All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.rwalld 1M "4 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.rwalld, rwalld \- network rwall server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/rwall/rpc.rwalld\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.rwalld\fR is a server that handles \fBrwall\fR(1M) requests. It is
+implemented by calling \fBwall\fR(1M) on all the appropriate network machines.
+The \fBrpc.rwalld\fR daemon may be started by \fBinetd\fR(1M) or
+\fBlisten\fR(1M).
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBlisten\fR(1M),
+\fBrwall\fR(1M), \fBsvcadm\fR(1M), \fBwall\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBrpc.rwalld\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/wall:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.smserverd.1m b/usr/src/man/man1m/rpc.smserverd.1m
new file mode 100644
index 0000000000..bdd201d876
--- /dev/null
+++ b/usr/src/man/man1m/rpc.smserverd.1m
@@ -0,0 +1,57 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.smserverd 1M "1 Mar 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.smserverd \- removable media device server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/smedia/rpc.smserverd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.smserverd\fR is a server that handles requests from client
+applications, such as volume management software, for access to removable media
+devices. In addition to volume management software, \fBrmformat\fR(1) and the
+CDE Filemanager (when performing removable media operations) are
+\fBrpc.smserverd\fR clients. The \fBrpc.smserverd\fR daemon is started by
+\fBinetd\fR(1M) when a client makes a call to a Solaris-internal library to
+access a SCSI, IDE, or USB device. The daemon is not started if a client
+attempts to access a floppy or PCMCIA device. Once started, the daemon remains
+active until such time as it is idle for three minutes or more.
+.sp
+.LP
+The \fBrpc.smserverd\fR daemon is provided for the exclusive use of the client
+applications mentioned above. It has no external, customer-accessible
+interfaces, including no configuration file.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBsvcadm\fR(1M),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBrpc.smserverd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/smserver
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.sprayd.1m b/usr/src/man/man1m/rpc.sprayd.1m
new file mode 100644
index 0000000000..b4addedf78
--- /dev/null
+++ b/usr/src/man/man1m/rpc.sprayd.1m
@@ -0,0 +1,54 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004 Sun Microsystems, Inc. - All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.sprayd 1M "4 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.sprayd, sprayd \- spray server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/spray/rpc.sprayd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.sprayd\fR is a server that records the packets sent by \fBspray\fR(1M).
+The \fBrpc.sprayd\fR daemon may be started by \fBinetd\fR(1M) or
+\fBlisten\fR(1M).
+.sp
+.LP
+The service provided by \fBrpc.sprayd\fR is not useful as a networking
+benchmark as it uses unreliable connectionless transports, (udp for example).
+It can report a large number of packets dropped when the drops were caused by
+the program sending packets faster than they can be buffered locally (before
+the packets get to the network medium).
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinetadm\fR(1M), \fBinetd\fR(1M) \fBlisten\fR(1M),
+\fBpmadm\fR(1M), \fBsacadm\fR(1M), \fBspray\fR(1M), \fBsvcadm\fR(1M),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBrpc.sprayd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/spray:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.yppasswdd.1m b/usr/src/man/man1m/rpc.yppasswdd.1m
new file mode 100644
index 0000000000..ef07b71fee
--- /dev/null
+++ b/usr/src/man/man1m/rpc.yppasswdd.1m
@@ -0,0 +1,167 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.yppasswdd 1M "24 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.yppasswdd, yppasswdd \- server for modifying NIS password file
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/rpc.yppasswdd\fR [\fB-D\fR \fIdirectory\fR]
+ [\fB-nogecos\fR] [\fB-noshell\fR] [\fB-nopw\fR]
+ [\fB-m\fR \fIargument1\fR \fIargument2\fR...]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/rpc.yppasswdd\fR
+ [\fIpasswordfile\fR [\fIadjunctfile\fR]]
+ [\fB-nogecos\fR] [\fB-noshell\fR] [\fB-nopw\fR]
+ [\fB-m\fR \fIargument1\fR \fIargument2\fR...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpc.yppasswdd\fR is a server that handles password change requests from
+\fByppasswd\fR(1). It changes a password entry in the \fBpasswd\fR,
+\fBshadow\fR, and \fBsecurity/passwd.adjunct\fR files. The \fBpasswd\fR and
+\fBshadow\fR files provide the basis for the \fBpasswd.byname\fR and
+\fBpasswd.byuid\fR maps. The \fBpasswd.adjunct\fR file provides the basis for
+the \fBpasswd.adjunct.byname\fR and \fBpasswd.adjunct.byuid\fR maps. Entries in
+the \fBpasswd\fR, \fBshadow\fR or \fBpasswd.adjunct\fR files are changed only
+if the password presented by \fByppasswd\fR(1) matches the encrypted password
+of the entry. All password files are located in the \fBPWDIR\fR directory.
+.sp
+.LP
+If the \fB-D\fR option is given, the \fBpasswd\fR, \fBshadow,\fR or
+\fBpasswd.adjunct\fR files are placed under the directory path that is the
+argument to \fB-D\fR.
+.sp
+.LP
+If the \fB-noshell\fR, \fB-nogecos\fR or \fB-nopw\fR options are given, these
+fields cannot be changed remotely using \fBchfn\fR, \fBchsh\fR, or
+\fBpasswd\fR(1).
+.sp
+.LP
+If the \fB-m\fR option is given, a \fBmake\fR(1S) is performed in \fB/var/yp\fR
+after any of the \fBpasswd\fR, \fBshadow\fR, or \fBpasswd.adjunct\fR files are
+modified. All arguments following the flag are passed to \fBmake\fR.
+.sp
+.LP
+The second of the listed syntaxes is provided only for backward compatibility.
+If the second syntax is used, the \fBpasswordfile\fR is the full pathname of
+the password file and \fBadjunctfile\fR is the full pathname of the optional
+\fBpasswd.adjunct\fR file. If a shadow file is found in the same directory as
+\fBpasswordfile\fR, the \fBshadowfile\fR is used as described above. Use of
+this syntax and the discovery of a \fBshadowfile\fR file generates diagnostic
+output. The daemon, however, starts normally.
+.sp
+.LP
+The first and second syntaxes are mutually exclusive. You cannot specify the
+full pathname of the \fBpasswd\fR, \fBpasswd.adjunct\fR files and use the
+\fB-D\fR option at the same time.
+.sp
+.LP
+The daemon is started automatically on the master server of the passwd map by
+\fBypstart\fR(1M), which is invoked at boot time by the
+\fBsvcs:/network/nis/server:default\fR service.
+.sp
+.LP
+The server does not insist on the presence of a \fBshadow\fR file unless there
+is no \fB-D\fR option present or the directory named with the \fB-D\fR option
+is \fB/etc\fR. In addition, a \fBpasswd.adjunct\fR file is not necessary. If
+the \fB-D\fR option is given, the server attempts to find a
+\fBpasswd.adjunct\fR file in the \fBsecurity\fR subdirectory of the named
+directory. For example, in the presence of \fB-D\fR \fB/var/yp\fR the server
+checks for a \fB/var/yp/security/passwd.adjunct\fR file.
+.sp
+.LP
+If only a \fBpasswd\fR file exists, then the encrypted password is expected in
+the second field. If both a \fBpasswd\fR and a \fBpasswd.adjunct\fR file exist,
+the encrypted password is expected in the second field of the adjunct file with
+\fI##username\fR in the second field of the \fBpasswd\fR file. If all three
+files are in use, the encrypted password is expected in the \fBshadow\fR file.
+Any deviation causes a password update to fail.
+.sp
+.LP
+If you remove or add a \fBshadow\fR or \fBpasswd.adjunct\fR file after
+\fBrpc.yppasswdd\fR has started, you must stop and restart the daemon to enable
+it to recognize the change. See \fBypstart\fR(1m) for information on restarting
+the daemon.
+.sp
+.LP
+The \fBrpc.yppasswdd\fR daemon considers a shell that has a name that begins
+with 'r' to be a restricted shell. By default, the daemon does not check
+whether a shell begins with an '\fBr\fR'. However, you can tell it to do so by
+uncommenting the \fBcheck_restricted_shell_name=1\fR line in
+\fB/etc/default/yppasswdd\fR. The result will be to restrict a user's ability
+to change from his default shell. See \fByppasswdd\fR(4).
+.sp
+.LP
+On start up, \fByppasswdd\fR checks for the existence of a NIS to LDAP (N2L)
+configuration file, \fB/var/yp/NISLDAPmapping\fR. If the configuration file is
+present, the daemon runs in N2L mode. If the file is not present,
+\fByppasswdd\fR runs in traditional, non-N2L mode.
+.sp
+.LP
+In N2L mode, changes are written directly to the Directory Information Tree
+(DIT). If the changes are written successfully, the NIS map is updated. The NIS
+source files, \fBpasswd\fR, \fBshadow\fR, and \fBpasswd.adjunct\fR, for
+example, are not updated. Thus, in N2L mode, the \fB-D\fR option is
+meaningless. In N2L mode, \fByppasswdd\fR propagates changes by calling
+\fByppush\fR(1M) instead of \fBypmake\fR(1M). The \fB-m\fR option is thus
+unused.
+.sp
+.LP
+During an NIS-to-LDAP transition, the \fByppasswdd\fR daemon uses the
+N2L-specific map, \fBageing.byname\fR, to read and write password aging
+information to the DIT. If you are not using password aging, then the
+\fBageing.byname\fR mapping is ignored.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBmake\fR(1S), \fBpasswd\fR(1), \fByppasswd\fR(1),
+\fBinetd\fR(1M), \fBsvcadm\fR(1M), \fBypmake\fR(1M), \fByppush\fR(1M),
+\fBypstart\fR(1M), \fBNISLDAPmapping\fR(4), \fBpasswd\fR(4), \fBshadow\fR(4),
+\fBypfiles\fR(4), \fByppasswdd\fR(4), \fBypserv\fR(4), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+If \fBmake\fR has not been installed and the \fB-m\fR option is given, the
+daemon outputs a warning and proceeds, effectively ignoring the \fB-m\fR flag.
+.sp
+.LP
+When using the \fB-D\fR option, you should make sure that the \fBPWDIR\fR of
+the \fB/var/yp/Makefile\fR is set accordingly.
+.sp
+.LP
+The second listed syntax is supplied only for backward compatibility and might
+be removed in a future release of this daemon.
+.sp
+.LP
+The Network Information Service (\fBNIS\fR) was formerly known as Sun Yellow
+Pages (\fBYP\fR). The functionality of the two remains the same; only the name
+has changed. The name Yellow Pages is a registered trademark in the United
+Kingdom of British Telecommunications PLC, and cannot be used without
+permission.
+.sp
+.LP
+The NIS server service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svcs:/network/nis/server:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/rpc.ypupdated.1m b/usr/src/man/man1m/rpc.ypupdated.1m
new file mode 100644
index 0000000000..0d218e95ae
--- /dev/null
+++ b/usr/src/man/man1m/rpc.ypupdated.1m
@@ -0,0 +1,113 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpc.ypupdated 1M "20 Mar 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpc.ypupdated, ypupdated \- server for changing NIS information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/rpc.ypupdated\fR [\fB-is\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBypupdated\fR is a daemon that updates information in the Network Information
+Service (NIS). \fBypupdated\fR consults the \fBupdaters\fR(4) file in the
+\fB/var/yp\fR directory to determine which \fBNIS\fR maps should be updated and
+how to change them.
+.sp
+.LP
+By default, the daemon requires the most secure method of authentication
+available to it, either \fBDES\fR (secure) or \fBUNIX\fR (insecure).
+.sp
+.LP
+On start up, \fBypupdated\fR checks for the existence of a NIS to LDAP (N2L)
+configuration file, \fB/var/yp/NISLDAPmapping\fR. If the file is present,
+\fBypupdated\fR generates an informational message and exits. \fBypupdated\fR
+is not supported in N2L mode.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Accept \fBRPC\fR calls with the insecure \fBAUTH_UNIX\fR credentials. This
+allows programmatic updating of the \fBNIS\fR maps in all networks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Accept only calls authenticated using the secure \fBRPC\fR mechanism
+(\fBAUTH_DES\fR authentication). This disables programmatic updating of the
+\fBNIS\fR maps unless the network supports these calls.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/updaters\fR\fR
+.ad
+.RS 26n
+.rt
+Configuration file for \fBrpc.updated\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/NISLDAPmapping\fR\fR
+.ad
+.RS 26n
+.rt
+Configuration file for N2L
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkeyserv\fR(1M), \fBupdaters\fR(4), \fBNISLDAPmapping\fR(4),
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The Network Information Service (\fBNIS\fR) was formerly known as Sun Yellow
+Pages (\fBYP\fR). The functionality of the two services remains the same. Only
+the name has changed. The name Yellow Pages is a registered trademark in the
+United Kingdom of British Telecommunications PLC, and it must not be used
+without permission.
diff --git a/usr/src/man/man1m/rpcbind.1m b/usr/src/man/man1m/rpcbind.1m
new file mode 100644
index 0000000000..befd4eb0bf
--- /dev/null
+++ b/usr/src/man/man1m/rpcbind.1m
@@ -0,0 +1,251 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2006, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpcbind 1M "1 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpcbind \- universal addresses to RPC program number mapper
+.SH SYNOPSIS
+.LP
+.nf
+\fBrpcbind\fR [\fB-d\fR] [\fB-w\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpcbind\fR is a server that converts \fBRPC\fR program numbers into
+universal addresses. It must be running on the host to be able to make
+\fBRPC\fR calls on a server on that machine.
+.sp
+.LP
+When an \fBRPC\fR service is started, it tells \fBrpcbind\fR the address at
+which it is listening, and the \fBRPC\fR program numbers it is prepared to
+serve. When a client wishes to make an \fBRPC\fR call to a given program
+number, it first contacts \fBrpcbind\fR on the server machine to determine the
+address where \fBRPC\fR requests should be sent.
+.sp
+.LP
+\fBrpcbind\fR should be started before any other \fBRPC\fR service. Normally,
+standard \fBRPC\fR servers are started by port monitors, so \fBrpcbind\fR must
+be started before port monitors are invoked.
+.sp
+.LP
+When \fBrpcbind\fR is started, it checks that certain name-to-address
+translation-calls function correctly. If they fail, the network configuration
+databases can be corrupt. Since \fBRPC\fR services cannot function correctly in
+this situation, \fBrpcbind\fR reports the condition and terminates.
+.sp
+.LP
+\fBrpcbind\fR maintains an open transport end for each transport that it uses
+for indirect calls. This is the \fBUDP\fR port on most systems.
+.sp
+.LP
+The \fBrpcbind\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/rpc/bind
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). \fBrpcbind\fR can
+only be started by the superuser or someone in the Primary Administrator role.
+.sp
+.LP
+The configuration properties of this service can be modified with
+\fBsvccfg\fR(1M).
+.sp
+.LP
+The following SMF property is used to allow or disallow access to \fBrpcbind\fR
+by remote clients:
+.sp
+.in +2
+.nf
+config/local_only = true
+.fi
+.in -2
+
+.sp
+.LP
+The default value, \fBtrue\fR, shown above, disallows remote access; a value of
+\fBfalse\fR allows remove access. See EXAMPLES.
+.sp
+.LP
+The FMRI \fBsvc:network/rpc/bind\fR property group \fBconfig\fR contains the
+following property settings:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable_tcpwrappers\fR\fR
+.ad
+.RS 22n
+.rt
+Specifies that the TCP wrappers facility is used to control access to TCP
+services. The value \fBtrue\fR enables checking. The default value for
+\fBenable_tcpwrappers\fR is \fBfalse\fR. If the \fBenable_tcpwrappers\fR
+parameter is enabled, then all calls to \fBrpcbind\fR originating from
+non-local addresses are automatically wrapped by the TCP wrappers facility. The
+\fBsyslog\fR facility code daemon is used to log allowed connections (using the
+\fBinfo\fR severity level) and denied traffic (using the \fBwarning\fR severity
+level). See \fBsyslog.conf\fR(4) for a description of \fBsyslog\fR codes and
+severity levels. The stability level of the TCP wrappers facility and its
+configuration files is External. As the TCP wrappers facility is not controlled
+by Sun, intrarelease incompatibilities are not uncommon. See
+\fBattributes\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBverbose_logging\fR\fR
+.ad
+.RS 22n
+.rt
+Specifies whether the TCP wrappers facility logs all calls orjust the denied
+calls. The default is \fBfalse\fR. This option has no effect if TCP wrappers
+are not enabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBallow_indirect\fR\fR
+.ad
+.RS 22n
+.rt
+Specifies whether \fBrpcbind\fR allows indirect calls at all. By default,
+\fBrpcbind\fR allows most indirect calls, except to a number of standard
+services(\fBkeyserv\fR, \fBautomount\fR, \fBmount\fR, \fBnfs\fR, \fBrquota\fR,
+and selected NIS and \fBrpcbind\fR procedures). Setting \fBallow_indirect\fR to
+\fBfalse\fR causes all indirect calls to be dropped. The default is \fBtrue\fR.
+NIS broadcast clients rely on this functionality on NIS servers.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Run in debug mode. In this mode, \fBrpcbind\fR does not fork when it starts. It
+prints additional information during operation, and aborts on certain errors.
+With this option, the name-to-address translation consistency checks are shown
+in detail.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.RS 6n
+.rt
+Do a warm start. If \fBrpcbind\fR aborts or terminates on \fBSIGINT\fR or
+\fB\fR\fBSIGTERM\fR, it writes the current list of registered services to
+\fB/var/run/portmap.file\fR and \fB/var/run/rpcbind.file\fR. Starting
+\fBrpcbind\fR with the \fB-w\fR option instructs it to look for these files and
+start operation with the registrations found in them. This allows \fBrpcbind\fR
+to resume operation without requiring all \fBRPC\fR services to be restarted.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAllowing Remote Access
+.sp
+.LP
+The following sequence of commands allows remote access to \fBrpcbind\fR.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg -s svc:/network/rpc/bind setprop config/local_only = false\fR
+# \fBsvcadm refresh svc:/network/rpc/bind\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/portmap.file\fR\fR
+.ad
+.RS 25n
+.rt
+Stores the information for \fBRPC\fR services registered over IP based
+transports for warm start purposes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/rpcbind.file\fR\fR
+.ad
+.RS 25n
+.rt
+Stores the information for all registered \fBRPC\fR services for warm start
+purposes.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+TCP wrappers is External.
+.SH SEE ALSO
+.sp
+.LP
+\fBsmf\fR(5), \fBrpcinfo\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBrpcbind\fR(3NSL), \fBsyslog.conf\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+For information on the TCP wrappers facility, see the \fBhosts_access(4)\fR man
+page, delivered as part of the Solaris operating environment in
+\fB/usr/sfw/man\fR and available in the \fBSUNWtcpd\fR package.
+.SH NOTES
+.sp
+.LP
+Terminating \fBrpcbind\fR with \fBSIGKILL\fR prevents the warm-start files from
+being written.
+.sp
+.LP
+All \fBRPC\fR servers are restarted if the following occurs: \fBrpcbind\fR
+crashes (or is killed with \fBSIGKILL)\fR and is unable to to write the
+warm-start files; \fBrpcbind\fR is started without the \fB-w\fR option after a
+graceful termination. Otherwise, the warm start files are not found by
+\fBrpcbind\fR.
diff --git a/usr/src/man/man1m/rpcinfo.1m b/usr/src/man/man1m/rpcinfo.1m
new file mode 100644
index 0000000000..4f62c70058
--- /dev/null
+++ b/usr/src/man/man1m/rpcinfo.1m
@@ -0,0 +1,377 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rpcinfo 1M "13 Jul 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rpcinfo \- report RPC information
+.SH SYNOPSIS
+.LP
+.nf
+\fBrpcinfo\fR [\fB-m\fR | \fB-s\fR] [\fIhost\fR]
+.fi
+
+.LP
+.nf
+\fBrpcinfo\fR \fB-p\fR [\fIhost\fR]
+.fi
+
+.LP
+.nf
+\fBrpcinfo\fR \fB-T\fR \fItransport\fR \fIhost\fR \fIprognum\fR [\fIversnum\fR]
+.fi
+
+.LP
+.nf
+\fBrpcinfo\fR \fB-l\fR [\fB-T\fR \fItransport\fR] \fIhost\fR \fIprognum\fR \fIversnum\fR
+.fi
+
+.LP
+.nf
+\fBrpcinfo\fR [\fB-n\fR \fIportnum\fR] \fB-u\fR \fIhost\fR \fIprognum\fR [\fIversnum\fR]
+.fi
+
+.LP
+.nf
+\fBrpcinfo\fR [\fB-n\fR \fIportnum\fR] \fB-t\fR \fIhost\fR \fIprognum\fR [\fIversnum\fR]
+.fi
+
+.LP
+.nf
+\fBrpcinfo\fR \fB-a\fR \fIserv_address\fR \fB-T\fR \fItransport\fR \fIprognum\fR [\fIversnum\fR]
+.fi
+
+.LP
+.nf
+\fBrpcinfo\fR \fB-b\fR [\fB-T\fR \fItransport\fR] \fIprognum\fR \fIversnum\fR
+.fi
+
+.LP
+.nf
+\fBrpcinfo\fR \fB-d\fR [\fB-T\fR \fItransport\fR] \fIprognum\fR \fIversnum\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrpcinfo\fR makes an \fBRPC\fR call to an \fBRPC\fR server and reports what
+it finds.
+.sp
+.LP
+In the first synopsis, \fBrpcinfo\fR lists all the registered \fBRPC\fR
+services with \fBrpcbind\fR on \fIhost\fR. If \fIhost\fR is not specified, the
+local host is the default. If \fB-s\fR is used, the information is displayed in
+a concise format.
+.sp
+.LP
+In the second synopsis, \fBrpcinfo\fR lists all the \fBRPC\fR services
+registered with \fBrpcbind\fR, version 2. Note that the format of the
+information is different in the first and the second synopsis. This is because
+the second synopsis is an older protocol used to collect the information
+displayed (version 2 of the \fBrpcbind\fR protocol).
+.sp
+.LP
+The third synopsis makes an \fBRPC\fR call to procedure 0 of \fIprognum\fR and
+\fIversnum\fR on the specified \fIhost\fR and reports whether a response was
+received. \fItransport\fR is the transport which has to be used for contacting
+the given service. The remote address of the service is obtained by making a
+call to the remote \fBrpcbind\fR.
+.sp
+.LP
+The \fIprognum\fR argument is a number that represents an \fBRPC\fR program
+number (see \fBrpc\fR(4)).
+.sp
+.LP
+If a \fIversnum\fR is specified, \fBrpcinfo\fR attempts to call that version of
+the specified \fIprognum\fR. Otherwise, \fBrpcinfo\fR attempts to find all the
+registered version numbers for the specified \fIprognum\fR by calling version
+0, which is presumed not to exist; if it does exist, \fBrpcinfo\fR attempts to
+obtain this information by calling an extremely high version number instead,
+and attempts to call each registered version. Note that the version number is
+required for \fB-b\fR and \fB-d\fR options.
+.sp
+.LP
+The \fBEXAMPLES\fR section describe other ways of using \fBrpcinfo\fR.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fI transport\fR\fR
+.ad
+.RS 19n
+.rt
+Specify the transport on which the service is required. If this option is not
+specified, \fBrpcinfo\fR uses the transport specified in the \fBNETPATH\fR
+environment variable, or if that is unset or \fINULL,\fR the transport in the
+\fBnetconfig\fR(4) database is used. This is a generic option, and can be used
+in conjunction with other options as shown in the \fBSYNOPSIS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIserv_address\fR\fR
+.ad
+.RS 19n
+.rt
+Use \fIserv_address\fR as the (universal) address for the service on
+\fItransport\fR to \fBping\fR procedure 0 of the specified \fIprognum\fR and
+report whether a response was received. The \fB-T\fR option is required with
+the \fB-a\fR option. If \fIversnum\fR is not specified, \fBrpcinfo\fR tries to
+ping all available version numbers for that program number. This option avoids
+calls to remote \fBrpcbind\fR to find the address of the service. The
+\fIserv_address\fR is specified in universal address format of the given
+transport.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 19n
+.rt
+Make an \fBRPC\fR broadcast to procedure 0 of the specified \fIprognum\fR and
+\fIversnum\fR and report all hosts that respond. If \fItransport\fR is
+specified, it broadcasts its request only on the specified transport. If
+broadcasting is not supported by any transport, an error message is printed.
+Use of broadcasting should be limited because of the potential for adverse
+effect on other systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 19n
+.rt
+Delete registration for the \fBRPC\fR service of the specified \fIprognum\fR
+and \fIversnum\fR. If \fItransport\fR is specified, unregister the service on
+only that transport, otherwise unregister the service on all the transports on
+which it was registered. Only the owner of a service can delete a registration,
+except the superuser, who can delete any service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 19n
+.rt
+Display a list of entries with a given \fIprognum\fR and \fIversnum\fR on the
+specified \fIhost\fR. Entries are returned for all transports in the same
+protocol family as that used to contact the remote \fBrpcbind\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 19n
+.rt
+Display a table of statistics of \fBrpcbind\fR operations on the given
+\fIhost\fR. The table shows statistics for each version of \fBrpcbind\fR
+(versions 2, 3 and 4), giving the number of times each procedure was requested
+and successfully serviced, the number and type of remote call requests that
+were made, and information about \fBRPC\fR address lookups that were handled.
+This is useful for monitoring \fBRPC\fR activities on \fIhost\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fI portnum\fR\fR
+.ad
+.RS 19n
+.rt
+Use \fIportnum\fR as the port number for the \fB-t\fR and \fB-u\fR options
+instead of the port number given by \fBrpcbind\fR. Use of this option avoids a
+call to the remote \fBrpcbind\fR to find out the address of the service. This
+option is made obsolete by the \fB-a\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 19n
+.rt
+Probe \fBrpcbind\fR on \fIhost\fR using version 2 of the \fBrpcbind\fR
+protocol, and display a list of all registered \fBRPC\fR programs. If
+\fIhost\fR is not specified, it defaults to the local host. This option is not
+useful for IPv6; use \fB-s\fR (see below) instead. Note that version 2 of the
+\fBrpcbind\fR protocol was previously known as the portmapper protocol.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 19n
+.rt
+Display a concise list of all registered \fBRPC\fR programs on \fIhost\fR. If
+\fIhost\fR is not specified, it defaults to the local host.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 19n
+.rt
+Make an \fBRPC\fR call to procedure 0 of \fIprognum\fR on the specified
+\fIhost\fR using \fBTCP,\fR and report whether a response was received. This
+option is made obsolete by the \fB-T\fR option as shown in the third synopsis.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 19n
+.rt
+Make an \fBRPC\fR call to procedure 0 of \fIprognum\fR on the specified
+\fIhost\fR using \fBUDP,\fR and report whether a response was received. This
+option is made obsolete by the \fB-T\fR option as shown in the third synopsis.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fR\fBRPC\fR services.
+.sp
+.LP
+To show all of the \fBRPC\fR services registered on the local machine use:
+
+.sp
+.in +2
+.nf
+\fBexample%\fR \fBrpcinfo\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To show all of the \fBRPC\fR services registered with \fBrpcbind\fR on the
+machine named \fBklaxon\fR use:
+
+.sp
+.in +2
+.nf
+\fBexample%\fR \fBrpcinfo\fR \fBklaxon\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The information displayed by the above commands can be quite lengthy. Use the
+\fB-s\fR option to display a more concise list:
+
+.sp
+.in +2
+.nf
+\fBexample%\fR \fBrpcinfo\fR \fB-s\fR \fBklaxon\fR
+.fi
+.in -2
+.sp
+
+.sp
+
+.sp
+.TS
+tab();
+lw(.7i) lw(.47i) lw(2.82i) lw(.7i) lw(.81i)
+lw(.7i) lw(.47i) lw(2.82i) lw(.7i) lw(.81i)
+.
+\fBprogram\fR\fBvrsn\fR\fBnetid(s)\fR\fBservice\fR\fBowner\fR
+\fB100000\fR\fB2,3,4\fR\fBtcp,udp,ticlts,ticots,ticotsord\fR\fBrpcbind\fR\fBsuperuser\fR
+\fB100008\fR\fB1\fR\fBticotsord,ticots,ticlts,udp,tcp\fR\fBwalld\fR\fBsuperuser\fR
+\fB100002\fR\fB2,1\fR\fBticotsord,ticots,ticlts,udp,tcp\fR\fBrusersd\fR\fBsuperuser\fR
+\fB100001\fR\fB2,3,4\fR\fBticotsord,ticots,tcp,ticlts,udp\fR\fBrstatd\fR\fBsuperuser\fR
+\fB100012\fR\fB1\fR\fBticotsord,ticots,ticlts,udp,tcp\fR\fBsprayd\fR\fBsuperuser\fR
+\fB100007\fR\fB3\fR\fBticotsord,ticots,ticlts,udp,tcp\fR\fBypbind\fR\fBsuperuser\fR
+\fB100029\fR\fB1\fR\fBticotsord,ticots,ticlts\fR\fBkeyserv\fR\fBsuperuser\fR
+\fB100078\fR\fB4\fR\fBticotsord,ticots,ticlts\fR\fB-\fRsuperuser
+\fB100024\fR\fB1\fR\fBticotsord,ticots,ticlts,udp,tcp\fR\fBstatus\fR\fBsuperuser\fR
+\fB100021\fR\fB2,1\fR\fBticotsord,ticots,ticlts,udp,tcp\fR\fBnlockmgr\fR\fBsuperuser\fR
+\fB100020\fR\fB1\fR\fBticotsord,ticots,ticlts,udp,tcp\fR\fBllockmgr\fR\fBsuperuser\fR
+.TE
+
+.sp
+.LP
+To show whether the \fBRPC\fR service with program number \fIprognum\fR and
+version \fIversnum\fR is registered on the machine named \fBklaxon\fR for the
+transport \fBTCP\fR use:
+
+.sp
+.in +2
+.nf
+\fBexample% rpcinfo \fR\fB-T\fR\fB tcp klaxon \fR\fIprognum versnum\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To show all \fBRPC\fR services registered with version 2 of the \fBrpcbind\fR
+protocol on the local machine use:
+
+.sp
+.in +2
+.nf
+\fBexample%\fR \fBrpcinfo\fR \fB-p\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To delete the registration for version 1 of the \fBwalld\fR (program number
+\fB100008\fR) service for all transports use:
+
+.sp
+.in +2
+.nf
+\fBexample# rpcinfo \fR\fB-d\fR\fB 100008 1\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+or
+
+.sp
+.in +2
+.nf
+\fBexample# rpcinfo \fR\fB-d\fR\fB walld 1\fR
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBrpcbind\fR(1M), \fBrpc\fR(3NSL), \fBnetconfig\fR(4), \fBrpc\fR(4),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/rquotad.1m b/usr/src/man/man1m/rquotad.1m
new file mode 100644
index 0000000000..71a42f3258
--- /dev/null
+++ b/usr/src/man/man1m/rquotad.1m
@@ -0,0 +1,74 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rquotad 1M "30 Apr 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rquotad \- remote quota server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/nfs/rquotad\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrquotad\fR is an \fBrpc\fR(4) server which returns quotas for a user of a
+local file system which is mounted by a remote machine over the \fBNFS.\fR The
+results are used by \fBquota\fR(1M) to display user quotas for remote file
+systems. The \fBrquotad\fR daemon is normally invoked by \fBinetd\fR(1M).
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBrquotad\fR
+when encountering files greater than or equal to 2 Gbyte (2^31 bytes).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquotas\fR\fR
+.ad
+.RS 10n
+.rt
+quota file at a UFS file system root
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBautomountd\fR(1M), \fBinetadm\fR(1M), \fBinetd\fR(1M),
+\fBmount_nfs\fR(1M), \fBquota\fR(1M), \fBshare_nfs\fR(1M), \fBsvcadm\fR(1M),
+\fBrpc\fR(4), \fBservices\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5),
+\fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBrquotad\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nfs/rquota
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
+initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
+\fBinetadm\fR(1M) to make configuration changes and to view configuration
+information for this service. The service's status can be queried using the
+\fBsvcs\fR(1) command.
+.sp
+.LP
+If it is disabled, it will be enabled by \fBmount_nfs\fR(1M),
+\fBshare_nfs\fR(1M), and \fBautomountd\fR(1M) unless its
+\fBapplication/auto_enable\fR property is set to \fBfalse\fR.
diff --git a/usr/src/man/man1m/rsh.1m b/usr/src/man/man1m/rsh.1m
new file mode 100644
index 0000000000..d70ff6d032
--- /dev/null
+++ b/usr/src/man/man1m/rsh.1m
@@ -0,0 +1,118 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1993, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rsh 1M "1 Nov 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rsh, restricted_shell \- restricted shell command interpreter
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/rsh\fR [\fB-acefhiknprstuvx\fR] [\fIargument\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrsh\fR is a limiting version of the standard command interpreter \fBsh\fR,
+used to restrict logins to execution environments whose capabilities are more
+controlled than those of \fBsh\fR (see \fBsh\fR(1) for complete description and
+usage).
+.sp
+.LP
+When the shell is invoked, it scans the environment for the value of the
+environmental variable, \fBSHELL\fR. If it is found and \fBrsh\fR is the file
+name part of its value, the shell becomes a restricted shell.
+.sp
+.LP
+The actions of \fBrsh\fR are identical to those of \fBsh\fR, except that the
+following are disallowed:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+changing directory (see \fBcd\fR(1)),
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+setting the value of $\fBPATH\fR,
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+pecifying path or command names containing \fB/\fR,
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+redirecting output (\fB>\fR and \fB>>\fR).
+.RE
+.sp
+.LP
+The restrictions above are enforced after \fI\&.profile\fR is interpreted.
+.sp
+.LP
+A restricted shell can be invoked in one of the following ways:
+.RS +4
+.TP
+1.
+\fBrsh\fR is the file name part of the last entry in the \fB/etc/passwd\fR
+file (see \fBpasswd\fR(4));
+.RE
+.RS +4
+.TP
+2.
+the environment variable \fBSHELL\fR exists and \fBrsh\fR is the file name
+part of its value; the environment variable \fBSHELL\fR needs to be set in the
+\fB\&.login\fR file;
+.RE
+.RS +4
+.TP
+3.
+the shell is invoked and \fBrsh\fR is the file name part of argument 0;
+.RE
+.RS +4
+.TP
+4.
+the shell is invoke with the \fB-r\fR option.
+.RE
+.sp
+.LP
+When a command to be executed is found to be a shell procedure, \fBrsh\fR
+invokes \fBsh\fR to execute it. Thus, it is possible to provide to the end-user
+shell procedures that have access to the full power of the standard shell,
+while imposing a limited menu of commands; this scheme assumes that the
+end-user does not have write and execute permissions in the same directory.
+.sp
+.LP
+The net effect of these rules is that the writer of the \fI\&.profile\fR (see
+\fBprofile\fR(4)) has complete control over user actions by performing
+guaranteed setup actions and leaving the user in an appropriate directory
+(probably \fInot\fR the login directory).
+.sp
+.LP
+The system administrator often sets up a directory of commands (that is,
+\fB/usr/rbin\fR) that can be safely invoked by a restricted shell. Some systems
+also provide a restricted editor, \fBred\fR.
+.SH EXIT STATUS
+.sp
+.LP
+Errors detected by the shell, such as syntax errors, cause the shell to return
+a non-zero exit status. If the shell is being used non-interactively execution
+of the shell file is abandoned. Otherwise, the shell returns the exit status of
+the last command executed.
+.SH SEE ALSO
+.sp
+.LP
+\fBintro\fR(1), \fBcd\fR(1), \fBlogin\fR(1), \fBrsh\fR(1), \fBsh\fR(1), \fB
+exec\fR(2), \fBpasswd\fR(4), \fBprofile\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The restricted shell, \fB/usr/lib/rsh\fR, should not be confused with the
+remote shell, \fB/usr/bin/rsh\fR, which is documented in \fBrsh\fR(1).
diff --git a/usr/src/man/man1m/rtc.1m b/usr/src/man/man1m/rtc.1m
new file mode 100644
index 0000000000..2301483ff4
--- /dev/null
+++ b/usr/src/man/man1m/rtc.1m
@@ -0,0 +1,97 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rtc 1M "3 Oct 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rtc \- provide all real-time clock and GMT-lag management
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rtc\fR [\fB-c\fR] [\fB-z\fR \fIzone-name\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+On x86 systems, the \fBrtc\fR command reconciles the difference in the way that
+time is established between UNIX and MS-DOS systems. UNIX systems utilize
+Greenwich Mean Time (\fBGMT\fR), while \fBMS-DOS\fR systems utilize local time.
+.sp
+.LP
+Without arguments, \fBrtc\fR displays the currently configured time zone
+string. The currently configured time zone string is based on what was last
+recorded by \fBrtc\fR\fB-z\fR \fIzone-name\fR.
+.sp
+.LP
+The \fBrtc\fR command is not normally run from a shell prompt; it is generally
+invoked by the system. Commands such as \fBdate\fR(1) and \fBrdate\fR(1M),
+which are used to set the time on a system, invoke \fB/usr/sbin/rtc\fR \fB-c\fR
+to ensure that daylight savings time (\fBDST\fR) is corrected for properly.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 16n
+.rt
+This option checks for \fBDST\fR and makes corrections if necessary. It is
+normally run once a day by a \fBcron\fR job.
+.sp
+If there is no \fBRTC\fR time zone or \fB/etc/rtc_config\fR file, this option
+will do nothing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-z\fR\fB \fR\fIzone-name\fR\fR
+.ad
+.RS 16n
+.rt
+This option, which is normally run by the system at software installation time,
+is used to specify the time zone in which the \fBRTC\fR is to be maintained. It
+updates the configuration file \fB/etc/rtc_config\fR with the name of the
+specified zone and the current \fBGMT\fR lag for that zone. If there is an
+existing \fBrtc_config\fR file, this command will update it. If not, this
+command will create it.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/rtc_config\fR\fR
+.ad
+.RS 19n
+.rt
+The data file used to record the time zone and \fBGMT\fR lag. This file is
+completely managed by \fB/usr/sbin/rtc\fR, and it is read by the kernel.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Architecturex86
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdate\fR(1), \fBrdate\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/rtquery.1m b/usr/src/man/man1m/rtquery.1m
new file mode 100644
index 0000000000..cea5e5c377
--- /dev/null
+++ b/usr/src/man/man1m/rtquery.1m
@@ -0,0 +1,215 @@
+'\" te
+.\" Copyright (c) 2002, Sun Microsystems, Inc.
+.\" All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rtquery 1M "24 Apr 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rtquery \- query routing daemons for their routing tables
+.SH SYNOPSIS
+.LP
+.nf
+\fBrtquery\fR [\fB-np1\fR] [\fB-w\fR \fItimeout\fR] [\fB-r\fR \fIaddr\fR] [\fB-a\fR \fIsecret\fR] \fIhost\fR...
+.fi
+
+.LP
+.nf
+\fBrtquery\fR [\fB-t\fR \fIoperation\fR] \fIhost\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrtquery\fR command is used to query a RIP network routing daemon,
+\fBin.routed\fR(1M) or \fBGateD\fR, for its routing table by sending a request
+or poll command. The routing information in any routing response packets
+returned is displayed numerically and symbolically.
+.sp
+.LP
+By default, \fBrtquery\fR uses the request command. When the -p option is
+specified, \fBrtquery\fR uses the poll command, an undocumented extension to
+the RIP protocol supported by \fBGateD\fR. When querying \fBGateD\fR, the poll
+command is preferred over the request command because the response is not
+subject to Split Horizon and/or Poisoned Reverse, and because some versions of
+\fBGateD\fR do not answer the request command. \fBin.routed\fR does not answer
+the poll command, but recognizes requests coming from \fBrtquery\fR and so
+answers completely.
+.sp
+.LP
+The \fBrtquery\fR command is also used to turn tracing on or off in
+\fBin.routed\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fBpasswd=\fR\fIXXX\fR\fR
+.ad
+.br
+.na
+\fB\fB-a\fR \fBmd5_passwd=\fR\fIXXX\fR|\fIKeyID\fR\fR
+.ad
+.RS 27n
+.rt
+Causes the query to be sent with the indicated cleartext or MD5 password.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 27n
+.rt
+Displays only the numeric network and host addresses instead of both numeric
+and symbolic names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 27n
+.rt
+Uses the poll command to request full routing information from \fBGateD\fR.
+This is an undocumented extension RIP protocol supported only by \fBGateD\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIaddr\fR\fR
+.ad
+.RS 27n
+.rt
+Asks about the route to destination \fIaddr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIoperation\fR\fR
+.ad
+.RS 27n
+.rt
+Changes tracing, where \fIoperation\fR is one of the actions listed below.
+Requests from processes not running with UID 0 or on distant networks are
+generally ignored by the daemon except for a message in the system log.
+\fBGateD\fR is likely to ignore these debugging requests.
+.sp
+.ne 2
+.mk
+.na
+\fBon=\fItracefile\fR\fR
+.ad
+.RS 16n
+.rt
+Turns tracing on, directing tracing into the specified file. That file must
+have been specified when the daemon was started or have the name,
+\fB/var/log/in.routed.trace\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmore\fR
+.ad
+.RS 16n
+.rt
+Increases the debugging level.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoff\fR
+.ad
+.RS 16n
+.rt
+Turns off tracing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdump\fR
+.ad
+.RS 16n
+.rt
+Dumps the daemon's routing table to the current trace file.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fItimeout\fR\fR
+.ad
+.RS 27n
+.rt
+Changes the delay for an answer from each host. By default, each host is given
+15 seconds to respond.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-1\fR\fR
+.ad
+.RS 27n
+.rt
+Queries using RIP version 1 instead of RIP version 2.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBin.routed\fR(1M), \fBroute\fR(1M), \fBgateways\fR(4), \fBattributes\fR(5),
+\fBicmp\fR(7P), \fBinet\fR(7P), \fBudp\fR(7P)
+.sp
+.LP
+\fIRouting Information Protocol, RIPv1, RFC 1058\fR
+.sp
+.LP
+\fIRouting Information Protocol, RIPv2, RFC 2453, STD 0056\fR
diff --git a/usr/src/man/man1m/runacct.1m b/usr/src/man/man1m/runacct.1m
new file mode 100644
index 0000000000..97d09af060
--- /dev/null
+++ b/usr/src/man/man1m/runacct.1m
@@ -0,0 +1,352 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH runacct 1M "11 May 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+runacct \- run daily accounting
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/acct/runacct\fR [\fImmdd\fR [\fIstate\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrunacct\fR is the main daily accounting shell procedure. It is normally
+initiated using \fBcron\fR. \fBrunacct\fR processes connect, fee, disk, and
+process accounting files. It also prepares summary files for \fBprdaily\fR or
+billing purposes. \fBrunacct\fR is distributed only to source code licensees.
+.sp
+.LP
+\fBrunacct\fR takes care not to damage active accounting files or summary files
+in the event of errors. It records its progress by writing descriptive
+diagnostic messages into \fBactive\fR. When an error is detected, a message is
+written to \fB/dev/console\fR, mail (see \fBmail\fR(1)) is sent to \fBroot\fR
+and \fBadm\fR, and \fBrunacct\fR terminates. \fBrunacct\fR uses a series of
+lock files to protect against re-invocation. The files \fBlock\fR and
+\fBlock1\fR are used to prevent simultaneous invocation, and \fBlastdate\fR is
+used to prevent more than one invocation per day.
+.sp
+.LP
+\fBrunacct\fR breaks its processing into separate, restartable \fIstates\fR
+using \fBstatefile\fR to remember the last \fIstate\fR completed. It
+accomplishes this by writing the \fIstate\fR name into \fBstatefile\fR.
+\fBrunacct\fR then looks in \fBstatefile\fR to see what it has done and to
+determine what to process next. \fIstates\fR are executed in the following
+order:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSETUP\fR\fR
+.ad
+.RS 14n
+.rt
+Move active accounting files into working files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBWTMPFIX\fR\fR
+.ad
+.RS 14n
+.rt
+Verify integrity of \fBwtmpx\fR file, correcting date changes if necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCONNECT\fR\fR
+.ad
+.RS 14n
+.rt
+Produce connect session records in \fBtacct.h\fR format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPROCESS\fR\fR
+.ad
+.RS 14n
+.rt
+Convert process accounting records into \fBtacct.h\fR format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMERGE\fR\fR
+.ad
+.RS 14n
+.rt
+Merge the connect and process accounting records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFEES\fR\fR
+.ad
+.RS 14n
+.rt
+Convert output of \fBchargefee\fR into \fBtacct.h\fR format, merge with
+connect, and process accounting records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDISK\fR\fR
+.ad
+.RS 14n
+.rt
+Merge disk accounting records with connect, process, and fee accounting
+records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMERGETACCT\fR\fR
+.ad
+.RS 14n
+.rt
+Merge the daily total accounting records in \fBdaytacct\fR with the summary
+total accounting records in \fB/var/adm/acct/sum/tacct\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCMS\fR\fR
+.ad
+.RS 14n
+.rt
+Produce command summaries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUSEREXIT\fR\fR
+.ad
+.RS 14n
+.rt
+Any installation dependent accounting programs can be included here.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCLEANUP\fR\fR
+.ad
+.RS 14n
+.rt
+Clean up temporary files and exit. To restart \fBrunacct\fR after a failure,
+first check the \fBactive\fR file for diagnostics, then fix any corrupted data
+files, such as \fBpacct\fR or \fBwtmpx\fR. The \fBlock\fR, \fBlock1\fR, and
+\fBlastdate\fR files must be removed before \fBrunacct\fR can be restarted.
+The argument \fImmdd\fR is necessary if \fBrunacct\fR is being restarted.
+\fImmdd\fR specifies the month and day for which \fBrunacct\fR will rerun the
+accounting. The entry point for processing is based on the contents of \fB
+statefile\fR; to override this, include the desired \fIstate\fR on the command
+line to designate where processing should begin.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRStarting \fBrunacct\fR
+.sp
+.LP
+The following example starts \fBrunacct\fR:
+
+.sp
+.in +2
+.nf
+example% nohup runacct 2> /var/adm/acct/nite/fd2log &
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRestarting \fBrunacct\fR
+.sp
+.LP
+The following example restarts \fBrunacct\fR:
+
+.sp
+.in +2
+.nf
+example% nohup runacct 0601 2>> /var/adm/acct/nite/fd2log &
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRestarting \fBrunacct\fR at a Specific State
+.sp
+.LP
+The following example restarts \fBrunacct\fR at a specific state:
+
+.sp
+.in +2
+.nf
+example% nohup runacct 0601 MERGE 2>> /var/adm/acct/nite/fd2log &
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/wtmpx\fR\fR
+.ad
+.sp .6
+.RS 4n
+History of user access and administration information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/pacct\fR\fIincr\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/nite/active\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/nite/daytacct\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/nite/lock\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/nite/lock1\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/nite/lastdate\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/acct/nite/statefile\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctcom\fR(1), \fBmail\fR(1), \fBacct\fR(1M), \fBacctcms\fR(1M),
+\fBacctcon\fR(1M), \fBacctmerg\fR(1M), \fBacctprc\fR(1M), \fBacctsh\fR(1M),
+\fBcron\fR(1M), \fBfwtmp\fR(1M), \fBacct\fR(2), \fBacct.h\fR(3HEAD),
+\fButmpx\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+It is not recommended to restart \fBrunacct\fR in the \fBSETUP\fR \fIstate\fR.
+Run \fBSETUP\fR manually and restart using:
+.sp
+.LP
+\fBrunacct\fR \fImmdd\fR \fBWTMPFIX\fR
+.sp
+.LP
+If \fBrunacct\fR failed in the \fBPROCESS\fR \fIstate,\fR remove the last
+\fBptacct\fR file because it will not be complete.
+.sp
+.LP
+The \fBrunacct\fR command can process a maximum of
+.RS +4
+.TP
+.ie t \(bu
+.el o
+6000 distinct sessions
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+1000 distinct terminal lines
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+2000 distinct login names
+.RE
+.sp
+.LP
+during a single invocation of the command. If at some point the actual number
+of any one of these items exceeds the maximum, the command will not succeed.
+.sp
+.LP
+Do not invoke \fBrunacct\fR at the same time as \fBckpacct\fR, as there may be
+a conflict if both scripts attempt to execute \fBturnacct switch\fR
+simultaneously.
diff --git a/usr/src/man/man1m/rwall.1m b/usr/src/man/man1m/rwall.1m
new file mode 100644
index 0000000000..f957957d45
--- /dev/null
+++ b/usr/src/man/man1m/rwall.1m
@@ -0,0 +1,78 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1988 Sun Microsystems, Inc. - All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH rwall 1M "6 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+rwall \- write to all users over a network
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/rwall\fR \fIhostname\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/rwall\fR \fB-n\fR \fInetgroup\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/rwall\fR \fB-h\fR \fIhostname\fR \fB-n\fR \fInetgroup\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBrwall\fR reads a message from standard input until EOF. It then sends this
+message, preceded by the line:
+.sp
+.ne 2
+.mk
+.na
+\fB\fR
+.ad
+.sp .6
+.RS 4n
+\fBBroadcast Message .\|.\|.\fR
+.RE
+
+.sp
+.LP
+to all users logged in on the specified host machines. With the \fB-n\fR
+option, it sends to the specified network groups.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fI netgroup\fR\fR
+.ad
+.RS 15n
+.rt
+Send the broadcast message to the specified network groups.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fI hostname\fR\fR
+.ad
+.RS 15n
+.rt
+Specify the \fBhostname\fR, the name of the host machine.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinetd\fR(1M), \fBlisten\fR(1M), \fBpmadm\fR(1M), \fBsacadm\fR(1M),
+\fBwall\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The timeout is fairly short to allow transmission to a large group of machines
+(some of which may be down) in a reasonable amount of time. Thus the message
+may not get through to a heavily loaded machine.
diff --git a/usr/src/man/man1m/sac.1m b/usr/src/man/man1m/sac.1m
new file mode 100644
index 0000000000..722ea4848c
--- /dev/null
+++ b/usr/src/man/man1m/sac.1m
@@ -0,0 +1,261 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2002, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sac 1M "21 Apr 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sac \- service access controller
+.SH SYNOPSIS
+.LP
+.nf
+\fBsac\fR \fB-t\fR \fIsanity_interval\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/saf/sac\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Service Access Controller (SAC) is the overseer of the server machine. It
+is started when the server machine enters multiuser mode. The \fBSAC\fR
+performs several important functions as explained below.
+.SS "Customizing the SAC Environment"
+.sp
+.LP
+When \fBsac\fR is invoked, it first looks for the per-system configuration
+script \fB/etc/saf/_sysconfig\fR. \fBsac\fR interprets \fB_sysconfig\fR to
+customize its own environment. The modifications made to the \fBSAC\fR
+environment by \fB_sysconfig\fR are inherited by all the children of the
+\fBSAC.\fR This inherited environment may be modified by the children.
+.SS "Starting Port Monitors"
+.sp
+.LP
+After it has interpreted the \fB_sysconfig\fR file, the \fBsac\fR reads its
+administrative file \fB/etc/saf/_sactab\fR. \fB_sactab\fR specifies which port
+monitors are to be started. For each port monitor to be started, \fBsac\fR
+forks a child (see \fBfork\fR(2)) and creates a \fButmpx\fR entry with the
+\fBtype\fR field set to \fBLOGIN_PROCESS\fR. Each child then interprets its
+per-port monitor configuration script \fB/etc/saf/\fR\fIpmtag\fR\fB/_config\fR
+, if the file exists. These modifications to the environment affect the port
+monitor and will be inherited by all its children. Finally, the child process
+\fBexec\fRs the port monitor, using the command found in the \fB_sactab\fR
+entry. (See \fBsacadm\fR; this is the command given with the \fB-c\fR option
+when the port monitor is added to the system.)
+.SS "Polling Port Monitors to Detect Failure"
+.sp
+.LP
+The \fB-t\fR option sets the frequency with which \fBsac\fR polls the port
+monitors on the system. This time may also be thought of as half of the maximum
+latency required to detect that a port monitor has failed and that recovery
+action is necessary.
+.SS "Administrative functions"
+.sp
+.LP
+The Service Access Controller represents the administrative point of control
+for port monitors. Its administrative tasks are explained below.
+.sp
+.LP
+When queried (\fBsacadm\fR with either \fB-l\fR or \fB-L\fR), the Service
+Access Controller returns the status of the port monitors specified, which
+\fBsacadm\fR prints on the standard output. A port monitor may be in one of six
+states:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBENABLED\fR\fR
+.ad
+.RS 14n
+.rt
+The port monitor is currently running and is accepting connections. See
+\fBsacadm\fR(1M) with the \fB-e\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDISABLED\fR\fR
+.ad
+.RS 14n
+.rt
+The port monitor is currently running and is not accepting connections. See
+\fBsacadm\fR with the \fB-d\fR option, and see \fBNOTRUNNING\fR, below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTARTING\fR\fR
+.ad
+.RS 14n
+.rt
+The port monitor is in the process of starting up. \fBSTARTING\fR is an
+intermediate state on the way to \fBENABLED\fR or \fBDISABLED\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFAILED\fR\fR
+.ad
+.RS 14n
+.rt
+The port monitor was unable to start and remain running.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTOPPING\fR\fR
+.ad
+.RS 14n
+.rt
+The port monitor has been manually terminated but has not completed its
+shutdown procedure. \fBSTOPPING\fR is an intermediate state on the way to
+\fBNOTRUNNING\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNOTRUNNING\fR\fR
+.ad
+.RS 14n
+.rt
+The port monitor is not currently running. (See \fBsacadm\fR with \fB-k\fR.)
+This is the normal "not running" state. When a port monitor is killed, all
+ports it was monitoring are inaccessible. It is not possible for an external
+user to tell whether a port is not being monitored or the system is down. If
+the port monitor is not killed but is in the \fBDISABLED\fR state, it may be
+possible (depending on the port monitor being used) to write a message on the
+inaccessible port telling the user who is trying to access the port that it is
+disabled. This is the advantage of having a \fBDISABLED\fR state as well as the
+\fBNOTRUNNING\fR state.
+.RE
+
+.sp
+.LP
+When a port monitor terminates, the \fBSAC\fR removes the \fButmpx\fR entry for
+that port monitor.
+.sp
+.LP
+The \fBSAC\fR receives all requests to enable, disable, start, or stop port
+monitors and takes the appropriate action.
+.sp
+.LP
+The \fBSAC\fR is responsible for restarting port monitors that terminate.
+Whether or not the \fBSAC\fR will restart a given port monitor depends on two
+things:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The restart count specified for the port monitor when the port monitor was
+added by \fBsacadm\fR; this information is included in
+\fB/etc/saf/\fR\fIpmtag\fR\fB/_sactab.\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The number of times the port monitor has already been restarted.
+.RE
+.SH SECURITY
+.sp
+.LP
+\fBsac\fR uses \fBpam\fR(3PAM) for session management. The \fBPAM\fR
+configuration policy, listed through \fB/etc/pam.conf\fR, specifies the session
+management module to be used for \fBsac\fR. Here is a partial \fBpam.conf\fR
+file with entries for \fBsac\fR using the UNIX session management module.
+.sp
+.in +2
+.nf
+sac session required pam_unix_session.so.1
+.fi
+.in -2
+
+.sp
+.LP
+If there are no entries for the \fBsac\fR service, then the entries for the
+"other" service will be used.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIsanity_interval\fR\fR
+.ad
+.RS 22n
+.rt
+Sets the frequency (\fIsanity_interval\fR) with which \fBsac\fR polls the port
+monitors on the system.
+.RE
+
+.SH FILES
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/saf/_sactab\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/saf/_sysconfig\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/adm/utmpx\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/saf/_log\fR
+.RE
+.SH SEE ALSO
+.sp
+.LP
+\fBpmadm\fR(1M), \fBsacadm\fR(1M), \fBfork\fR(2) \fBpam\fR(3PAM),
+\fBpam.conf\fR(4), \fBattributes\fR(5), \fBpam_authtok_check\fR(5),
+\fBpam_authtok_get\fR(5), \fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5),
+\fBpam_passwd_auth\fR(5), \fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5),
+\fBpam_unix_session\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported. Similar functionality is
+provided by \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), and
+\fBpam_unix_session\fR(5).
+.sp
+.LP
+The service access controller service is managed by the service management
+facility, \fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/sac:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/sacadm.1m b/usr/src/man/man1m/sacadm.1m
new file mode 100644
index 0000000000..362b153889
--- /dev/null
+++ b/usr/src/man/man1m/sacadm.1m
@@ -0,0 +1,597 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sacadm 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sacadm \- service access controller administration
+.SH SYNOPSIS
+.LP
+.nf
+\fBsacadm\fR \fB-a\fR \fB-p\fR \fIpmtag\fR \fB-t\fR \fItype\fR \fB-c\fR \fIcmd\fR \fB-v\fR \fIver\fR [\fB-f\fR dx] [\fB-n\fR \fIcount\fR]
+ [\fB-y\fR \fIcomment\fR] [\fB-z\fR \fIscript\fR]
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-r\fR \fB-p\fR \fIpmtag\fR
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-s\fR \fB-p\fR \fIpmtag\fR
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-k\fR \fB-p\fR \fIpmtag\fR
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-e\fR \fB-p\fR \fIpmtag\fR
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-d\fR \fB-p\fR \fIpmtag\fR
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-l\fR [\fB-p\fR \fIpmtag\fR | \fB-t\fR \fItype\fR]
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-L\fR [\fB-p\fR \fIpmtag\fR | \fB-t\fR \fItype\fR]
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-g\fR \fB-p\fR \fIpmtag\fR [\fB-z\fR \fIscript\fR]
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-G\fR [\fB-z\fR \fIscript\fR]
+.fi
+
+.LP
+.nf
+\fBsacadm\fR \fB-x\fR [\fB-p\fR \fIpmtag\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsacadm\fR is the administrative command for the upper level of the Service
+Access Facility hierarchy (port monitor administration). \fBsacadm\fR performs
+the following functions:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+adds or removes a port monitor
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+starts or stops a port monitor
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+enables or disables a port monitor
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+installs or replaces a per-system configuration script
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+installs or replaces a per-port monitor configuration script
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+prints requested port monitor information
+.RE
+.sp
+.LP
+Requests about the status of port monitors (\fB-l\fR and \fB-L\fR) and requests
+to print per-port monitor and per-system configuration scripts (\fB-g\fR and
+\fB-G\fR without the \fB-z\fR option) may be executed by any user on the
+system. Other \fBsacadm\fR commands may be executed only by the super-user.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 14n
+.rt
+Add a port monitor. When adding a port monitor, \fBsacadm\fR creates the
+supporting directory structure in \fB/etc/saf\fR and \fB/var/saf\fR and adds an
+entry for the new port monitor to \fB/etc/saf/_sactab\fR. The file
+\fB_sactab\fR already exists on the delivered system. Initially, it is empty
+except for a single line, which contains the version number of the Service
+Access Controller. Unless the command line that adds the new port monitor
+includes the \fB-f\fR option with the \fB-x\fR argument, the new port monitor
+will be started. Because of the complexity of the options and arguments that
+follow the \fB- a\fR option, it may be convenient to use a command script or
+the menu system to add port monitors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcmd\fR\fR
+.ad
+.RS 14n
+.rt
+Execute the command string \fIcmd\fR to start a port monitor. The \fB-c\fR
+option may be used only with a \fB-a\fR. A \fB-a\fR option requires a \fB-c\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 14n
+.rt
+Disable the port monitor \fIpmtag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 14n
+.rt
+Enable the port monitor \fIpmtag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fBdx\fR\fR
+.ad
+.RS 14n
+.rt
+The \fB-f\fR option specifies one or both of the following two flags which are
+then included in the flags field of the \fB_sactab\fR entry for the new port
+monitor. If the \fB-f\fR option is not included on the command line, no flags
+are set and the default conditions prevail. By default, a port monitor is
+started. A \fB-f\fR option with no following argument is illegal.
+.sp
+.ne 2
+.mk
+.na
+\fBd\fR
+.ad
+.RS 5n
+.rt
+Do not enable the new port monitor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBx\fR
+.ad
+.RS 5n
+.rt
+Do not start the new port monitor.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 14n
+.rt
+The \fB-g\fR option is used to request output or to install or replace the
+per-port monitor configuration script \fB/etc/saf/\fR\fIpmtag\fR\fB/_config\fR.
+\fB-g\fR requires a \fB-p\fR option. The \fB-g\fR option with only a \fB-p\fR
+option prints the per-port monitor configuration script for port monitor
+\fIpmtag\fR. The \fB-g\fR option with a \fB-p\fR option and a \fB-z\fR option
+installs the file \fBscript\fR as the per-port monitor configuration script
+for port monitor \fIpmtag\fR. Other combinations of options with \fB-g\fR are
+invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR\fR
+.ad
+.RS 14n
+.rt
+The \fB-G\fR option is used to request output or to install or replace the
+per-system configuration script \fB/etc/saf/_sysconfig\fR. The \fB-G\fR option
+by itself prints the per-system configuration script. The \fB-G\fR option in
+combination with a \fB-z\fR option installs the file \fBscript\fR as the
+per-system configuration script. Other combinations of options with a \fB-G\fR
+option are invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 14n
+.rt
+Stop port monitor \fIpmtag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 14n
+.rt
+The \fB-l\fR option is used to request port monitor information. The \fB-l\fR
+by itself lists all port monitors on the system. The \fB-l\fR option in
+combination with the \fB-p\fR option lists only the port monitor specified by
+\fIpmtag\fR. A \fB-l\fR in combination with the \fB-t\fR option lists all port
+monitors of type \fBtype\fR. Any other combination of options with the \fB-l\fR
+option is invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 14n
+.rt
+The \fB-L\fR option is identical to the \fB-l\fR option except that the output
+appears in a condensed format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIcount\fR\fR
+.ad
+.RS 14n
+.rt
+Set the restart count to \fIcount\fR. If a restart count is not specified,
+count is set to \fB0\fR. A count of \fB0\fR indicates that the port monitor is
+not to be restarted if it fails.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpmtag\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies the tag associated with a port monitor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 14n
+.rt
+Remove port monitor \fIpmtag\fR. \fBsacadm\fR removes the port monitor entry
+from \fB/etc/saf/_sactab\fR. If the removed port monitor is not running, then
+no further action is taken. If the removed port monitor is running, the Service
+Access Controller (SAC) sends it \fBSIGTERM\fR to indicate that it should shut
+down. Note that the port monitor's directory structure remains intact.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 14n
+.rt
+Start a port monitor. The SAC starts the port monitor \fIpmtag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fBtype\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies the port monitor type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fBver\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies the version number of the port monitor. This version number may be
+given as
+.sp
+.in +2
+.nf
+\fB\fR\fB-v\fR\fB `\fR\fIpmspec\fR \fB-V\fR`
+.fi
+.in -2
+.sp
+
+where \fIpmspec\fR is the special administrative command for port monitor
+\fIpmtag\fR. This special command is \fBttyadm\fR for \fBttymon\fR and
+\fBnlsadmin\fR for \fBlisten\fR. The version stamp of the port monitor is known
+by the command and is returned when \fIpmspec\fR is invoked with a \fB-V\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 14n
+.rt
+The \fB-x\fR option by itself tells the SAC to read its database file
+(\fB_sactab\fR). The \fB-x\fR option with the \fB-p\fR option tells port
+monitor \fIpmtag\fR to read its administrative file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR \fIcomment\fR\fR
+.ad
+.RS 14n
+.rt
+Include \fIcomment\fR in the \fB_sactab\fR entry for port monitor \fIpmtag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fBscript\fR\fR
+.ad
+.RS 14n
+.rt
+Used with the \fB-g\fR and \fB-G\fR options to specify the name of a file that
+contains a configuration script. With the \fB-g\fR option, \fBscript\fR is a
+per-port monitor configuration script; with \fB-G\fR it is a per-system
+configuration script. Modifying a configuration script is a three-step
+procedure. First a copy of the existing script is made (\fB-g\fR or \fB-G\fR).
+Then the copy is edited. Finally, the copy is put in place over the existing
+script (\fB-g\fR or \fB-G\fR with \fB-z\fR).
+.RE
+
+.SH OUTPUT
+.sp
+.LP
+If successful, \fBsacadm\fR will exit with a status of \fB0\fR. If \fBsacadm\fR
+fails for any reason, it will exit with a nonzero status. Options that request
+information will write the information on the standard output. In the condensed
+format (\fB-L\fR), port monitor information is printed as a sequence of
+colon-separated fields; empty fields are indicated by two successive colons.
+The standard format (\fB-l\fR) prints a header identifying the columns, and
+port monitor information is aligned under the appropriate headings. In this
+format, an empty field is indicated by a hyphen. The comment character is
+\fB#\fR.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRA sample output of the \fBsacadm\fR command.
+.sp
+.LP
+The following command line adds a port monitor. The port monitor tag is
+\fBnpack\fR; its type is \fBlisten\fR; if necessary, it will restart three
+times before failing; its administrative command is \fBnlsadmin\fR; and the
+configuration script to be read is in the file \fBscript\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm \fR\fB-a\fR\fB \fR\fB-p\fR\fB npack \fR\fB-t\fR\fB listen \fR\fB-c\fR\fB /usr/lib/saf/listen npack\fR
+\fB\fR\fB-v\fR\fB `nlsadmin \fR\fB-V\fR\fB` \fR\fB-n\fR\fB 3 \fR\fB-z\fR\fB script\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Remove a port monitor whose tag is \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-r\fR \fB-p\fR \fBpmtag\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Start the port monitor whose tag is \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-s\fR \fB-p\fR \fBpmtag\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Stop the port monitor whose tag is \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-k\fR \fB-p\fR \fBpmtag\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Enable the port monitor whose tag is \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-e\fR \fB-p\fR \fBpmtag\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Disable the port monitor whose tag is \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-d\fR \fB-p\fR \fBpmtag\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List status information for all port monitors:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-l\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List status information for the port monitor whose tag is \fBpmtag\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-l\fR \fB-p\fR \fBpmtag\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List the same information in condensed format:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-L\fR \fB-p\fR \fBpmtag\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+List status information for all port monitors whose type is \fBlisten\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-l\fR \fB-t\fR \fBlisten\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Replace the per-port monitor configuration script associated with the port
+monitor whose tag is \fBpmtag\fR with the contents of the file
+\fBfile.config\fR:
+
+.sp
+.in +2
+.nf
+\fBsacadm\fR \fB-g\fR \fB-p\fR \fBpmtag\fR \fB-z\fR \fBfile.config\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/_sactab\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/_sysconfig\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fIpmtag\fR\fR\fB/_config\fR\fR
+.ad
+.RS 26n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpmadm\fR(1M), \fBsac\fR(1M), \fBdoconfig\fR(3NSL), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/saf.1m b/usr/src/man/man1m/saf.1m
new file mode 100644
index 0000000000..7ada8977ab
--- /dev/null
+++ b/usr/src/man/man1m/saf.1m
@@ -0,0 +1,1618 @@
+'\" te
+.\" Copyright (c) 1998, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH saf 1M "30 Jul1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+saf \- Service Access Facility
+.SH DESCRIPTION
+.sp
+.LP
+The \fBSAF\fR generalizes the procedures for service access so that login
+access on the local system and network access to local services are managed in
+similar ways. Under the \fBSAF,\fR systems may access services using a variety
+of port monitors, including ttymon, the listener, and port monitors written
+expressly for a user's application. The manner in which a port monitor observes
+and manages access ports is specific to the port monitor and not to any
+component of the \fBSAF.\fR Users may therefore extend their systems by
+developing and installing their own port monitors. One of the important
+features of the \fBSAF\fR is that it can be extended in this way by users.
+.sp
+.LP
+Relative to the \fBSAF,\fR a service is a process that is started. There are no
+restrictions on the functions a service may provide. The \fBSAF\fR consists of
+a controlling process, the service access controller (SAC), and two
+administrative levels corresponding to two levels in the supporting directory
+structure. The top administrative level is concerned with port monitor
+administration, the lower level with service administration. The \fBSAC\fR is
+documented in the \fBsac\fR(1M) man page. The administrative levels and
+associated utilities are documented in the \fISystem Administration Guide -
+Volume II\fR. The requirements for writing port monitors and the functions a
+port monitor must perform to run under the \fBSAF\fR and the \fBSAC\fR are
+documented here.
+.SS "Port Monitors"
+.sp
+.LP
+A port monitor is a process that is responsible for monitoring a set of
+homogeneous, incoming ports on a machine. A port monitor's major purpose is to
+detect incoming service requests and to dispatch them appropriately.
+.sp
+.LP
+A port is an externally seen access point on a system. A port may be an address
+on a network (TSAP or PSAP), a hardwired terminal line, an incoming phone line,
+etc. The definition of what constitutes a port is strictly a function of the
+port monitor itself.
+.sp
+.LP
+A port monitor performs certain basic functions. Some of these are required to
+conform to the \fBSAF;\fR others may be specified by the requirements and
+design of the port monitor itself. Port monitors have two main functions:
+managing ports and monitoring ports for indications of activity.
+.sp
+.ne 2
+.mk
+.na
+\fBPort Management\fR
+.ad
+.RS 23n
+.rt
+The first function of a port monitor is to manage a port. The actual details of
+how a port is managed are defined by the person who defines the port monitor. A
+port monitor is not restricted to handling a single port; it may handle
+multiple ports simultaneously.
+.sp
+Some examples of port management are setting the line speed on incoming phone
+connections, binding an appropriate network address, reinitializing the port
+when the service terminates, outputting a prompt, etc.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBActivity Monitoring\fR
+.ad
+.RS 23n
+.rt
+The second function of a port monitor is to monitor the port or ports for which
+it is responsible for indications of activity. Two types of activity may be
+detected.
+.sp
+The first is an indication to the port monitor to take some port
+monitor-specific action. Pressing the break key to indicate that the line speed
+should be cycled is an example of a port monitor activity. Not all port
+monitors need to recognize and respond to the same indications. The indication
+used to attract the attention of the port monitor is defined by the person who
+defines the port monitor.
+.sp
+The second is an incoming service request. When a service request is received,
+a port monitor must be able to determine which service is being requested from
+the port on which the request is received. The same service may be available on
+more than one port.
+.RE
+
+.SS "Other Port Monitor Functions"
+.sp
+.LP
+This section briefly describes other port monitor functions.
+.sp
+.ne 2
+.mk
+.na
+\fBRestricting Access to the System\fR
+.ad
+.sp .6
+.RS 4n
+A port monitor must be able to restrict access to the system without disturbing
+services that are still running. In order to do this, a port monitor must
+maintain two internal states: enabled and disabled. The port monitor starts in
+the state indicated by the \fBISTATE\fR environment variable provided by the
+\fBsac.\fR See sac(1M) for details. Enabling or disabling a port monitor
+affects all ports for which the port monitor is responsible. If a port monitor
+is responsible for a single port, only that port will be affected. If a port
+monitor is responsible for multiple ports, the entire collection of ports will
+be affected. Enabling or disabling a port monitor is a dynamic operation: it
+causes the port monitor to change its internal state. The effect does not
+persist across new invocations of the port monitor. Enabling or disabling an
+individual port, however, is a static operation: it causes a change to an
+administrative file. The effect of this change will persist across new
+invocations of the port monitor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBCreating \fButmpx\fR Entries\fR
+.ad
+.sp .6
+.RS 4n
+Port monitors are responsible for creating \fButmpx\fR entries with the type
+field set to USER_PROCESS for services they start. If this action has been
+specified, by using the \fB-fu\fR option in the \fBpmadm\fR command line that
+added the service, these \fButmpx\fR entries may in turn be modified by the
+service. When the service terminates, the \fButmpx\fR entry must be set to
+DEAD_PROCESS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPort Monitor Process IDs and Lock Files\fR
+.ad
+.sp .6
+.RS 4n
+When a port monitor starts, it writes its process id into a file named
+\fB_pid\fR in the current directory and places an advisory lock on the file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBChanging the Service Environment: Running\fR
+.ad
+.sp .6
+.RS 4n
+\fBdoconfig\fR(3NSL) Before invoking the service designated in the port monitor
+administrative file, \fB_pmtab\fR, a port monitor must arrange for the
+per-service configuration script to be run, if one exists, by calling the
+library function \fBdoconfig\fR(3NSL). Because the per-service configuration
+script may specify the execution of restricted commands, as well as for other
+security reasons, port monitors are invoked with root permissions. The details
+of how services are invoked are specified by the person who defines the port
+monitor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBTerminating a Port Monitor\fR
+.ad
+.sp .6
+.RS 4n
+A port monitor must terminate itself gracefully on receipt of the signal
+\fBSIGTERM.\fR The termination sequence is the following:
+.RS +4
+.TP
+1.
+The port monitor enters the stopping state; no further service requests are
+accepted.
+.RE
+.RS +4
+.TP
+2.
+Any attempt to re-enable the port monitor will be ignored.
+.RE
+.RS +4
+.TP
+3.
+The port monitor yields control of all ports for which it is responsible. It
+must be possible for a new instantiation of the port monitor to start correctly
+while a previous instantiation is stopping.
+.RE
+.RS +4
+.TP
+4.
+The advisory lock on the process id file is released. Once this lock is
+released, the contents of the process id file are undefined and a new
+invocation of the port monitor may be started.
+.RE
+.RE
+
+.SS "SAF Files"
+.sp
+.LP
+This section briefly covers the files used by the \fBSAF.\fR
+.sp
+.ne 2
+.mk
+.na
+\fBThe Port Monitor Administrative File\fR
+.ad
+.sp .6
+.RS 4n
+A port monitor's current directory contains an administrative file named
+\fB_pmtab\fR; \fB_pmtab\fR is maintained by the \fBpmadm\fR command in
+conjunction with a port monitor-specific administrative command.
+.sp
+The port monitor administrative command for a listen port monitor is
+\fBnlsadmin\fR(1M); the port monitor administrative command for ttymon is
+\fBttyadm\fR(1M). Any port monitor written by a user must be provided with an
+administrative command specific to that port monitor to perform similar
+functions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPer-Service Configuration Files\fR
+.ad
+.sp .6
+.RS 4n
+A port monitor's current directory also contains the per-service configuration
+scripts, if they exist. The names of the per-service configuration scripts
+correspond to the service tags in the \fB_pmtab\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPrivate Port Monitor Files\fR
+.ad
+.sp .6
+.RS 4n
+A port monitor may create private files in the directory
+\fB/var/saf/\fR\fItag\fR, where \fItag\fR is the name of the port monitor.
+Examples of private files are log files or temporary files.
+.RE
+
+.SS "The SAC/Port Monitor Interface"
+.sp
+.LP
+The \fBSAC\fR creates two environment variables for each port monitor it
+starts:\fBPMTAG\fR and \fBISTATE\fR.
+.sp
+.LP
+This variable is set to a unique port monitor tag by the \fBSAC.\fR The port
+monitor uses this tag to identify itself in response to \fBsac\fR messages.
+\fBISTATE\fR is used to indicate to the port monitor what its initial internal
+state should be. \fBISTATE\fR is set to "enabled" or "disabled" to indicate
+that the port monitor is to start in the enabled or disabled state
+respectively.
+.sp
+.LP
+The \fBSAC\fR performs a periodic sanity poll of the port monitors. The
+\fBSAC\fR communicates with port monitors through FIFOs. A port monitor should
+open _pmpipe, in the current directory, to receive messages from the \fBSAC\fR
+and \fB\&../_sacpipe\fR to send return messages to the \fBSAC.\fR
+.SS "Message Formats"
+.sp
+.LP
+This section describes the messages that may be sent from the \fBSAC\fR to a
+port monitor (\fBsac\fR messages), and from a port monitor to the \fBSAC\fR
+(port monitor messages). These messages are sent through FIFOs and are in the
+form of C structures.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsac\fR Messages\fR
+.ad
+.RS 16n
+.rt
+The format of messages from the \fBSAC\fR is defined by the structure
+\fBsacmsg\fR:
+.sp
+.in +2
+.nf
+struct sacmsg
+{
+ int sc_size; /* size of optional data portion */
+ char sc_type; /* type of message */
+};
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.LP
+The \fBSAC\fR may send four types of messages to port monitors. The type of
+message is indicated by setting the \fBsc_type\fR field of the \fBsacmsg\fR
+structure to one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBSC_STATUS\|\fR
+.ad
+.RS 15n
+.rt
+status request
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSC_ENABLE\|\fR
+.ad
+.RS 15n
+.rt
+enable message
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSC_DISABLE\fR
+.ad
+.RS 15n
+.rt
+disable message
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSC_READDB\|\fR
+.ad
+.RS 15n
+.rt
+message indicating that the port monitor's _pmtab file should be read
+.RE
+
+.sp
+.LP
+The \fBsc_size\fR field indicates the size of the optional data part of the
+message. See "Message Classes." For Solaris, \fBsc_size\fR should always be set
+to 0. A port monitor must respond to every message sent by the \fBsac.\fR
+.SS "Port Monitor Messages"
+.sp
+.LP
+The format of messages from a port monitor to the \fBSAC\fR is defined by the
+structure \fBpmmsg\fR:
+.sp
+.in +2
+.nf
+struct pmmsg {
+ char pm_type; /* type of message */
+ unchar_t pm_state; /* current state of port monitor */
+ char pm_maxclass; /* maximum message class this port
+ monitor understands */
+ char pm_tag[PMTAGSIZE + 1]; /* port monitor's tag */
+ int pm_size; /* size of optional data portion */
+};
+.fi
+.in -2
+
+.sp
+.LP
+Port monitors may send two types of messages to the \fBSAC.\fR The type of
+message is indicated by setting the \fBpm_type\fR field of the \fBpmmsg\fR
+structure to one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBPM_STATUS\fR
+.ad
+.RS 14n
+.rt
+state information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPM_UNKNOWN\fR
+.ad
+.RS 14n
+.rt
+negative acknowledgment
+.RE
+
+.sp
+.LP
+For both types of messages, the \fBpm_tag\fR field is set to the port monitor's
+tag and the \fBpm_state\fR field is set to the port monitor's current state.
+Valid states are:
+.sp
+.ne 2
+.mk
+.na
+\fBPM_STARTING\fR
+.ad
+.RS 15n
+.rt
+starting
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPM_ENABLED\fR
+.ad
+.RS 15n
+.rt
+enabled
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPM_DISABLED\fR
+.ad
+.RS 15n
+.rt
+disabled
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPM_STOPPING\fR
+.ad
+.RS 15n
+.rt
+stopping
+.RE
+
+.sp
+.LP
+The current state reflects any changes caused by the last message from the
+\fBSAC.\fR The status message is the normal return message. The negative
+acknowledgment should be sent only when the message received is not understood.
+\fBpm_size\fR indicates the size of the optional data part of the message.
+\fBpm_maxclass\fR is used to specify a message class. Both are discussed under
+"Message Classes." In Solaris, always set \fBpm_maxclass\fR to 1 and
+\fBsc_size\fR to 0. Port monitors may never initiate messages; they may only
+respond to messages that they receive.
+.SS "Message Classes"
+.sp
+.LP
+The concept of message class has been included to accommodate possible
+\fBSAF\fR extensions. The messages described above are all class 1 messages.
+None of these messages contains a variable data portion; all pertinent
+information is contained in the message header. If new messages are added to
+the protocol, they will be defined as new message classes (for example, class
+2). The first message the \fBSAC\fR sends to a port monitor will always be a
+class 1 message. Since all port monitors, by definition, understand class 1
+messages, the first message the \fBSAC\fR sends is guaranteed to be understood.
+In its response to the \fBSAC,\fR the port monitor sets the \fBpm_maxclass\fR
+field to the maximum message class number for that port monitor. The \fBSAC\fR
+will not send messages to a port monitor from a class with a larger number than
+the value of \fBpm_maxclass\fR. Requests that require messages of a higher
+class than the port monitor can understand will fail. For Solaris, always set
+\fBpm_maxclass\fR to 1.
+.sp
+.LP
+For any given port monitor, messages of class \fBpm_maxclass\fR and messages of
+all classes with values lower than \fBpm_maxclass\fR are valid. Thus, if the
+\fBpm_maxclass\fR field is set to 3, the port monitor understands messages of
+classes 1, 2, and 3. Port monitors may not generate messages; they may only
+respond to messages. A port monitor's response must be of the same class as the
+originating message. Since only the \fBSAC\fR can generate messages, this
+protocol will function even if the port monitor is capable of dealing with
+messages of a higher class than the \fBSAC\fR can generate. \fBpm_size\fR (an
+element of the pmmsg structure) and \fBsc_size\fR (an element of the
+\fBsacmsg\fR structure) indicate the size of the optional data part of the
+message. The format of this part of the message is undefined. Its definition is
+inherent in the type of message. For Solaris, always set both \fBsc_size\fR and
+\fBpm_size\fR to \fB0\fR.
+.SS "Administrative Interface"
+.sp
+.LP
+This section discusses the port monitor administrative files available under
+the \fBSAC.\fR
+.SS "The SAC Administrative File _sactab"
+.sp
+.LP
+The service access controller's administrative file contains information about
+all the port monitors for which the \fBSAC\fR is responsible. This file exists
+on the delivered system. Initially, it is empty except for a single comment
+line that contains the version number of the \fBSAC.\fR Port monitors are added
+to the system by making entries in the \fBSAC's\fR administrative file. These
+entries should be made using the administrative command \fBsacadm\fR(1M) with a
+\fB-a\fR option. \fBsacadm\fR(1M) is also used to remove entries from the
+\fBSAC's\fR administrative file. Each entry in the \fBSAC's\fR administrative
+file contains the following information.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPMTAG\fR\fR
+.ad
+.RS 11n
+.rt
+A unique tag that identifies a particular port monitor. The system
+administrator is responsible for naming a port monitor. This tag is then used
+by the \fBSAC\fR to identify the port monitor for all administrative purposes.
+\fBPMTAG\fR may consist of up to 14 alphanumeric characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPMTYPE\fR\fR
+.ad
+.RS 11n
+.rt
+The type of the port monitor. In addition to its unique tag, each port monitor
+has a type designator. The type designator identifies a group of port monitors
+that are different invocations of the same entity. ttymon and listen are
+examples of valid port monitor types. The type designator is used to facilitate
+the administration of groups of related port monitors. Without a type
+designator, the system administrator has no way of knowing which port monitor
+tags correspond to port monitors of the same type. \fBPMTYPE\fR may consist of
+up to 14 alphanumeric characters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLGS\fR\fR
+.ad
+.RS 11n
+.rt
+The flags that are currently defined are:
+.sp
+.ne 2
+.mk
+.na
+\fBd\fR
+.ad
+.RS 5n
+.rt
+When started, do not enable the port monitor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBx\fR
+.ad
+.RS 5n
+.rt
+Do not start the port monitor.
+.RE
+
+If no flag is specified, the default action is taken. By default a port monitor
+is started and enabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRCNT\fR\fR
+.ad
+.RS 11n
+.rt
+The number of times a port monitor may fail before being placed in a failed
+state. Once a port monitor enters the failed state, the \fBSAC\fR will not try
+to restart it. If a count is not specified when the entry is created, this
+field is set to 0. A restart count of 0 indicates that the port monitor is not
+to be restarted when it fails.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOMMAND\fR\fR
+.ad
+.RS 11n
+.rt
+A string representing the command that will start the port monitor. The first
+component of the string, the command itself, must be a full path name.
+.RE
+
+.SS "The Port Monitor Administrative File _pmtab"
+.sp
+.LP
+Each port monitor will have two directories for its exclusive use. The current
+directory will contain files defined by the \fBSAF\fR (\fB_pmtab\fR,
+\fB_pid\fR) and the per-service configuration scripts, if they exist. The
+directory \fB/var/saf/\fR\fIpmtag,\fR where \fIpmtag\fR is the tag of the port
+monitor, is available for the port monitor's private files. Each port monitor
+has its own administrative file. The \fBpmadm\fR(1M) command should be used to
+add, remove, or modify service entries in this file. Each time a change is made
+using \fBpmadm\fR(1M), the corresponding port monitor rereads its
+administrative file. Each entry in a port monitor's administrative file defines
+how the port monitor treats a specific port and what service is to be invoked
+on that port. Some fields must be present for all types of port monitors. Each
+entry must include a service tag to identify the service uniquely and an
+identity to be assigned to the service when it is started (for example, root).
+.sp
+.LP
+The combination of a service tag and a port monitor tag uniquely define an
+instance of a service. The same service tag may be used to identify a service
+under a different port monitor. The record must also contain port monitor
+specific data (for example, for a ttymon port monitor, this will include the
+prompt string which is meaningful to ttymon). Each type of port monitor must
+provide a command that takes the necessary port monitor-specific data as
+arguments and outputs these data in a form suitable for storage in the file.
+The \fBttyadm\fR(1M) command does this for ttymon and \fBnlsadmin\fR(1M) does
+it for listen. For a user-defined port monitor, a similar administrative
+command must also be supplied. Each service entry in the port monitor
+administrative file must have the following format and contain the information
+listed below:
+.sp
+.in +2
+.nf
+svctag:flgs:id:reserved:reserved:reserved:pmspecific# comment
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBSVCTAG\fR is a unique tag that identifies a service. This tag is unique only
+for the port monitor through which the service is available. Other port
+monitors may offer the same or other services with the same tag. A service
+requires both a port monitor tag and a service tag to identify it uniquely.
+\fBSVCTAG\fR may consist of up to 14 alphanumeric characters. The service
+entries are defined as:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFLGS\fR\fR
+.ad
+.RS 14n
+.rt
+Flags with the following meanings may currently be included in this field:
+.sp
+.ne 2
+.mk
+.na
+\fBx\fR
+.ad
+.RS 5n
+.rt
+Do not enable this port. By default the port is enabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBu\fR
+.ad
+.RS 5n
+.rt
+Create a utmpx entry for this service. By default no utmpx entry is created
+for the service.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBID\fR\fR
+.ad
+.RS 14n
+.rt
+The identity under which the service is to be started. The identity has the
+form of a login name as it appears in \fB/etc/passwd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPMSPECIFIC\fR\fR
+.ad
+.RS 14n
+.rt
+Examples of port monitor information are addresses, the name of a process to
+execute, or the name of a STREAMS-based pipe to pass a connection through. This
+information will vary to meet the needs of each different type of port monitor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOMMENT\fR\fR
+.ad
+.RS 14n
+.rt
+A comment associated with the service entry. Port monitors may ignore the
+\fIu\fR flag if creating a utmpx entry for the service is not appropriate to
+the manner in which the service is to be invoked. Some services may not start
+properly unless utmpx entries have been created for them (for example, login).
+Each port monitor administrative file must contain one special comment of the
+form:
+.sp
+# VERSION=value
+.sp
+where \fIvalue\fR is an integer that represents the port monitor's version
+number. The version number defines the format of the port monitor
+administrative file. This comment line is created automatically when a port
+monitor is added to the system. It appears on a line by itself, before the
+service entries.
+.RE
+
+.SS "Monitor-Specific Administrative Command"
+.sp
+.LP
+Previously, two pieces of information included in the \fB_pmtab\fR file were
+described: the port monitor's version number and the port monitor part of the
+service entries in the port monitor's \fB_pmtab\fR file. When a new port
+monitor is added, the version number must be known so that the \fB_pmtab\fR
+file can be correctly initialized. When a new service is added, the port
+monitor part of the \fB_pmtab\fR entry must be formatted correctly. Each port
+monitor must have an administrative command to perform these two tasks. The
+person who defines the port monitor must also define such an administrative
+command and its input options. When the command is invoked with these options,
+the information required for the port monitor part of the service entry must be
+correctly formatted for inclusion in the port monitor's \fB_pmtab\fR file and
+must be written to the standard output. To request the version number the
+command must be invoked with a \fB-V\fR option; when it is invoked in this way,
+the port monitor's current version number must be written to the standard
+output. If the command fails for any reason during the execution of either of
+these tasks, no data should be written to standard output.
+.SS "The Port Monitor/Service Interface"
+.sp
+.LP
+The interface between a port monitor and a service is determined solely by the
+service. Two mechanisms for invoking a service are presented here as examples.
+.sp
+.ne 2
+.mk
+.na
+\fBNew Service Invocations\fR
+.ad
+.sp .6
+.RS 4n
+The first interface is for services that are started anew with each request.
+This interface requires the port monitor to first \fBfork\fR(2) a child
+process. The child will eventually become the designated service by performing
+an \fBexec\fR(1). Before the \fBexec\fR(1) happens, the port monitor may take
+some port monitor-specific action; however, one action that must occur is the
+interpretation of the per-service configuration script, if one is present. This
+is done by calling the library routine \fBdoconfig\fR(3NSL).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBStanding Service Invocations\fR
+.ad
+.sp .6
+.RS 4n
+The second interface is for invocations of services that are actively running.
+To use this interface, a service must have one end of a stream pipe open and be
+prepared to receive connections through it.
+.RE
+
+.SS "Port Monitor Requirements"
+.sp
+.LP
+To implement a port monitor, several generic requirements must be met. This
+section summarizes these requirements. In addition to the port monitor itself,
+an administrative command must be supplied.
+.sp
+.ne 2
+.mk
+.na
+\fBInitial Environment\fR
+.ad
+.RS 23n
+.rt
+When a port monitor is started, it expects an initial execution environment in
+which:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+It has no file descriptors open
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+It cannot be a process group leader
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+It has an entry in \fB/etc/utmpx\fR of type LOGIN_PROCESS
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+An environment variable, \fBISTATE,\fR is set to "enabled" or "disabled" to
+indicate the port monitor's correct initial state
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+An environment variable, \fBPMTAG,\fR is set to the port monitor's assigned tag
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The directory that contains the port monitor's administrative files is its
+current directory
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+pThe port monitor is able to create private files in the directory
+\fB/var/saf/\fR\fItag\fR, where \fItag\fR is the port monitor's tag
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The port monitor is running with user id 0 (root)
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBImportant Files\fR
+.ad
+.RS 23n
+.rt
+Relative to its current directory, the following key files exist for a port
+monitor.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB_config\fR\fR
+.ad
+.RS 17n
+.rt
+The port monitor's configuration script. The port monitor configuration script
+is run by the SAC. The \fBSAC\fR is started by \fBinit\fR(1M) as a result of an
+entry in \fB/etc/inittab\fR that calls \fBsac\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB_pid\fR\fR
+.ad
+.RS 17n
+.rt
+The file into which the port monitor writes its process id.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB_pmtab\fR\fR
+.ad
+.RS 17n
+.rt
+The port monitor's administrative file. This file contains information about
+the ports and services for which the port monitor is responsible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB_pmpipe\fR\fR
+.ad
+.RS 17n
+.rt
+The\fB FIFO\fR through which the port monitor will receive messages from the
+\fBSAC.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsvctag\fR\fR
+.ad
+.RS 17n
+.rt
+The per-service configuration script for the service with the tag \fIsvctag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&../_sacpipe\fR\fR
+.ad
+.RS 17n
+.rt
+The \fBFIFO\fR through which the port monitor will send messages to
+\fBsac\fR(1M).
+.RE
+
+.RE
+
+.SS "Port Monitor Responsibilities"
+.sp
+.LP
+A port monitor is responsible for performing the following tasks in addition to
+its port monitor function:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Write its process id into the file \fB_pid\fR and place an advisory lock on the
+file
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Terminate gracefully on receipt of the signal SIGTERM
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Follow the protocol for message exchange with the \fBSAC\fR
+.RE
+.sp
+.LP
+A port monitor must perform the following tasks during service invocation:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Create a \fButmpx\fR entry if the requested service has the \fBu\fR flag set in
+\fB_pmtab\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Port monitors may ignore this flag if creating a \fButmpx\fR entry for the
+service does not make sense because of the manner in which the service is to be
+invoked. On the other hand, some services may not start properly unless utmpx
+entries have been created for them.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Interpret the per-service configuration script for the requested service, if it
+exists, by calling the \fBdoconfig\fR(3NSL) library routine
+.RE
+.SS "Configuration Files and Scripts"
+.sp
+.LP
+The library routine \fBdoconfig\fR(3NSL), defined in \fBlibnsl.so\fR,
+interprets the configuration scripts contained in the files
+\fB/etc/saf/_sysconfig\fR (the per-system configuration file), and
+\fB/etc/saf/\fR\fIpmtag\fR\fB/_config\fR (per-port monitor configuration
+files); and in \fB/etc/saf/\fR\fIpmtag\fR\fB/svctag\fR (per-service
+configuration files). Its syntax is:
+.sp
+.in +2
+.nf
+#include <sac.h>
+ int doconfig (int fd, char *script, long rflag);
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBscript\fR is the name of the configuration script; \fIfd\fR is a file
+descriptor that designates the stream to which stream manipulation operations
+are to be applied; \fIrflag\fR is a bitmask that indicates the mode in which
+script is to be interpreted. \fIrflag\fR may take two values, \fBNORUN\fR and
+\fBNOASSIGN,\fR which may be or'd. If \fIrflag\fR is zero, all commands in the
+configuration script are eligible to be interpreted. If \fIrflag\fR has the
+\fBNOASSIGN\fR bit set, the assign command is considered illegal and will
+generate an error return. If \fIrflag\fR has the \fBNORUN\fR bit set, the run
+and runwait commands are considered illegal and will generate error returns. If
+a command in the script fails, the interpretation of the script ceases at that
+point and a positive integer is returned; this number indicates which line in
+the script failed. If a system error occurs, a value of \(mi1 is returned. If a
+script fails, the process whose environment was being established should not be
+started. In the example, \fBdoconfig\fR(3NSL) is used to interpret a
+per-service configuration script.
+.sp
+.in +2
+.nf
+\|.\|.\|.
+ if ((i = doconfig (fd, svctag, 0)) != 0){
+ error ("doconfig failed on line %d of script %s",i,svctag);
+ }
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fBThe Per-System Configuration File\fR
+.ad
+.sp .6
+.RS 4n
+The per-system configuration file, \fB/etc/saf/_sysconfig\fR, is delivered
+empty. It may be used to customize the environment for all services on the
+system by writing a command script in the interpreted language described in
+this chapter and on the \fBdoconfig\fR(3NSL) manpage. When the \fBSAC\fR is
+started, it calls the \fBdoconfig\fR(3NSL) function to interpret the per-system
+configuration script. The \fBSAC\fR is started when the system enters multiuser
+mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPer-Port Monitor Configuration Files\fR
+.ad
+.sp .6
+.RS 4n
+Per-port monitor configuration scripts
+(\fB/etc/saf/\fR\fIpmtag\fR\fB/_config)\fR are optional. They allow the user to
+customize the environment for any given port monitor and for the services that
+are available through the ports for which that port monitor is responsible.
+Per-port monitor configuration scripts are written in the same language used
+for per-system configuration scripts. The per-port monitor configuration script
+is interpreted when the port monitor is started. The port monitor is started by
+the \fBSAC\fR after the \fBSAC\fR has itself been started and after it has run
+its own configuration script, \fB/etc/saf/_sysconfig\fR. The per-port monitor
+configuration script may override defaults provided by the per-system
+configuration script.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPer-Service Configuration Files\fR
+.ad
+.sp .6
+.RS 4n
+Per-service configuration files allow the user to customize the environment for
+a specific service. For example, a service may require special privileges that
+are not available to the general user. Using the language described in the
+\fBdoconfig\fR(3NSL) manpage, you can write a script that will grant or limit
+such special privileges to a particular service offered through a particular
+port monitor. The per-service configuration may override defaults provided by
+higher-level configuration scripts. For example, the per-service configuration
+script may specify a set of STREAMS modules other than the default set.
+.RE
+
+.SS "The Configuration Language"
+.sp
+.LP
+The language in which configuration scripts are written consists of a sequence
+of commands, each of which is interpreted separately. The following reserved
+keywords are defined: \fBassign\fR, \fBpush\fR, \fBpop\fR, \fBrunwait\fR, and
+\fBrun\fR. The comment character is #. Blank lines are not significant. No line
+in a command script may exceed 1024 characters.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBassign\fR \fIvariable\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used to define environment variables; \fIvariable\fR is the name of the
+environment variable and \fIvalue\fR is the value to be assigned to it. The
+value assigned must be a string constant; no form of parameter substitution is
+available. \fIvalue\fR may be quoted. The quoting rules are those used by the
+shell for defining environment variables. \fBassign\fR will fail if space
+cannot be allocated for the new variable or if any part of the specification is
+invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpush\fR \fImodule1\fR[,\fImodule2, module3\fR, . . .]\fR
+.ad
+.sp .6
+.RS 4n
+Used to push STREAMS modules onto the stream designated by \fBfd\fR;
+\fImodule1\fR is the name of the first module to be pushed, \fImodule2\fR is
+the name of the second module to be pushed, and so on. The command will fail if
+any of the named modules cannot be pushed. If a module cannot be pushed, the
+subsequent modules on the same command line will be ignored and modules that
+have already been pushed will be popped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpop\fR [\fImodule\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Used to pop STREAMS modules off the designated stream. If \fBpop\fR is invoked
+with no arguments, the top module on the stream is popped. If an argument is
+given, modules will be popped one at a time until the named module is at the
+top of the stream. If the named module is not on the designated stream, the
+stream is left as it was and the command fails. If \fImodule\fR is the special
+keyword \fBALL\fR, then all modules on the stream will be popped. Only modules
+above the topmost driver are affected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrunwait\fR \fBcommand\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBrunwait\fR command runs a command and waits for it to complete;
+\fBcommand\fR is the path name of the command to be run. The command is run
+with \fB/bin/sh\fR \fB-c\fR prepended to it; shell scripts may thus be executed
+from configuration scripts. The \fBrunwait\fR command will fail if command
+cannot be found or cannot be executed, or if \fBcommand\fR exits with a nonzero
+status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrun\fR \fBcommand\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBrun\fR command is identical to \fBrunwait\fR except that it does not
+wait for command to complete; \fBcommand\fR is the path name of the command to
+be run. \fBrun\fR will not fail unless it is unable to create achild process
+to execute the command. Although they are syntactically indistinguishable, some
+of the commands available to \fBrun\fR and \fBrunwait\fR are interpreter
+built-in commands. Interpreter built-ins are used when it is necessary to alter
+the state of a process within the context of that process. The \fBdoconfig\fR
+interpreter built-in commands are similar to the shell special commands and,
+like these, they do not spawn another process for execution. See the
+\fBsh\fR(1) man page. The initial set of built-in commands is: \fBcd\fR,
+\fBulimit\fR, \fBumask\fR.
+.RE
+
+.SS "Sample Port Monitor Code"
+.sp
+.LP
+This example shows an example of a "null" port monitor that simply responds to
+messages from the \fBSAC.\fR
+.sp
+.in +2
+.nf
+># include <stdlib.h>
+# include <stdio.h>
+# include <unistd.h>
+# include <fcntl.h>
+# include <signal.h>
+# include <sac.h>
+
+char Scratch[BUFSIZ]; /* scratch buffer */
+char Tag[PMTAGSIZE + 1]; /* port monitor's tag */
+FILE *Fp; /* file pointer for log file */
+FILE *Tfp; /* file pointer for pid file */
+char State; /* portmonitor's current state*/
+
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+ char *istate;
+ strcpy(Tag, getenv("PMTAG"));
+/*
+ * open up a log file in port monitor's private directory
+ */
+ sprintf(Scratch, "/var/saf/%s/log", Tag);
+ Fp = fopen(Scratch, "a+");
+ if (Fp == (FILE *)NULL)
+ exit(1);
+ log(Fp, "starting");
+/*
+ * retrieve initial state (either "enabled" or "disabled") and set
+ * State accordingly
+ */
+ istate = getenv("ISTATE");
+ sprintf(Scratch, "ISTATE is %s", istate);
+ log(Fp, Scratch);
+ if (!strcmp(istate, "enabled"))
+ State = PM_ENABLED;
+ else if (!strcmp(istate, "disabled"))
+ State = PM_DISABLED;
+ else {
+ log(Fp, "invalid initial state");
+ exit(1);
+ }
+ sprintf(Scratch, "PMTAG is %s", Tag);
+ log(Fp, Scratch);
+/*
+ * set up pid file and lock it to indicate that we are active
+ */
+ Tfp = fopen("_pid", "w");
+ if (Tfp == (FILE *)NULL) {
+ log(Fp, "couldn't open pid file");
+ exit(1);
+ }
+ if (lockf(fileno(Tfp), F_TEST, 0) < 0) {
+ log(Fp, "pid file already locked");
+ exit(1);
+ }
+
+ log(Fp, "locking file");
+ if (lockf(fileno(Tfp), F_LOCK, 0) < 0) {
+ log(Fp, "lock failed");
+ exit(1);
+ }
+ fprintf(Tfp, "%d", getpid());
+ fflush(Tfp);
+
+/*
+ * handle poll messages from the sac ... this function never returns
+ */
+ handlepoll();
+ pause();
+ fclose(Tfp);
+ fclose(Fp);
+}
+
+handlepoll()
+{
+ int pfd; /* file descriptor for incoming pipe */
+ int sfd; /* file descriptor for outgoing pipe */
+ struct sacmsg sacmsg; /* incoming message */
+ struct pmmsg pmmsg; /* outgoing message */
+/*
+ * open pipe for incoming messages from the sac
+ */
+ pfd = open("_pmpipe", O_RDONLY|O_NONBLOCK);
+ if (pfd < 0) {
+ log(Fp, "_pmpipe open failed");
+ exit(1);
+ }
+/*
+ * open pipe for outgoing messages to the sac
+ */
+ sfd = open("../_sacpipe", O_WRONLY);
+ if (sfd < 0) {
+ log(Fp, "_sacpipe open failed");
+ exit(1);
+ }
+/*
+ * start to build a return message; we only support class 1 messages
+ */
+ strcpy(pmmsg.pm_tag, Tag);
+ pmmsg.pm_size = 0;
+ pmmsg.pm_maxclass = 1;
+/*
+ * keep responding to messages from the sac
+ */
+ for (;;) {
+ if (read(pfd, &sacmsg, sizeof(sacmsg)) != sizeof(sacmsg)) {
+ log(Fp, "_pmpipe read failed");
+ exit(1);
+ }
+/*
+ * determine the message type and respond appropriately
+ */
+ switch (sacmsg.sc_type) {
+ case SC_STATUS:
+ log(Fp, "Got SC_STATUS message");
+ pmmsg.pm_type = PM_STATUS;
+ pmmsg.pm_state = State;
+ break;
+ case SC_ENABLE:
+ /*note internal state change below*/
+ log(Fp, "Got SC_ENABLE message");
+ pmmsg.pm_type = PM_STATUS;
+ State = PM_ENABLED;
+ pmmsg.pm_state = State;
+ break;
+ case SC_DISABLE:
+ /*note internal state change below*/
+ log(Fp, "Got SC_DISABLE message");
+ pmmsg.pm_type = PM_STATUS;
+ State = PM_DISABLED;
+ pmmsg.pm_state = State;
+ break;
+ case SC_READDB:
+ /*
+ * if this were a fully functional port
+ * monitor it would read _pmtab here
+ * and take appropriate action
+ */
+ log(Fp, "Got SC_READDB message");
+ pmmsg.pm_type = PM_STATUS;
+ pmmsg.pm_state = State;
+ break;
+ default:
+ sprintf(Scratch, "Got unknown message <%d>",
+ sacmsg.sc_type);
+ log(Fp, Scratch);
+ pmmsg.pm_type = PM_UNKNOWN;
+ pmmsg.pm_state = State;
+ break;
+ }
+/*
+ * send back a response to the poll
+ * indicating current state
+ */
+ if (write(sfd, &pmmsg, sizeof(pmmsg)) != sizeof(pmmsg))
+ log(Fp, "sanity response failed");
+ }
+}
+/*
+ * general logging function
+ */
+log(fp, msg)
+ FILE *fp;
+ char *msg;
+{
+ fprintf(fp, "%d; %s\en", getpid(), msg);
+ fflush(fp);
+}
+.fi
+.in -2
+.sp
+
+.SS "The sac.h Header File"
+.sp
+.LP
+The following example shows the sac.h header file.
+.sp
+.in +2
+.nf
+/* length in bytes of a utmpx id */
+# define IDLEN 4
+/* wild character for utmpx ids */
+# define SC_WILDC 0xff
+/* max len in bytes for port monitor tag */
+# define PMTAGSIZE 14
+/*
+ * values for rflag in doconfig()
+ */
+/* don't allow assign operations */
+# define NOASSIGN 0x1
+/* don't allow run or runwait operations */
+# define NORUN 0x2
+/*
+ * message to SAC (header only). This header is forever fixed. The
+ * size field (pm_size) defines the size of the data portion of the
+ * message, which follows the header. The form of this optional data
+ * portion is defined strictly by the message type (pm_type).
+ */
+struct pmmsg {
+ char pm_type; /* type of message */
+ unchar_t pm_state; /* current state of pm */
+ char pm_maxclass; /* max message class this port monitor
+ understands */
+ char pm_tag[PMTAGSIZE + 1]; /* pm's tag */
+ int pm_size; /* size of opt data portion */
+};
+/*
+ * pm_type values
+ */
+# define PM_STATUS 1 /* status response */
+# define PM_UNKNOWN 2 /* unknown message was received */
+/*
+ * pm_state values
+ */
+/*
+ * Class 1 responses
+ */
+# define PM_STARTING 1 /* monitor in starting state */
+# define PM_ENABLED 2 /* monitor in enabled state */
+# define PM_DISABLED 3 /* monitor in disabled state */
+# define PM_STOPPING 4 /* monitor in stopping state */
+/*
+ * message to port monitor
+ */
+struct sacmsg {
+ int sc_size; /* size of optional data portion */
+ char sc_type; /* type of message */
+};
+/*
+ * sc_type values
+ * These represent commands that the SAC sends to a port monitor.
+ * These commands are divided into "classes" for extensibility. Each
+ * subsequent "class" is a superset of the previous "classes" plus
+ * the new commands defined within that "class". The header for all
+ * commands is identical; however, a command may be defined such that
+ * an optional data portion may be sent in addition to the header.
+ * The format of this optional data piece is self-defining based on
+ * the command. The first message sent by the SAC
+ * will always be a class 1 message. The port monitor response
+ * indicates the maximum class that it is able to understand. Another
+ * note is that port monitors should only respond to a message with
+ * an equivalent class response (i.e. a class 1 command causes a
+ * class 1 response).
+ */
+/*
+ * Class 1 commands (currently, there are only class 1 commands)
+ */
+# define SC_STATUS 1 /* status request *
+# define SC_ENABLE 2 /* enable request */
+# define SC_DISABLE 3 /* disable request */
+# define SC_READDB 4 /* read pmtab request */
+/*
+ * `errno' values for Saferrno, note that Saferrno is used by both
+ * pmadm and sacadm and these values are shared between them
+ */
+# define E_BADARGS 1 /* bad args/ill-formed cmd line */
+# define E_NOPRIV 2 /* user not priv for operation */
+# define E_SAFERR 3 /* generic SAF error */
+# define E_SYSERR 4 /* system error */
+# define E_NOEXIST 5 /* invalid specification */
+# define E_DUP 6 /* entry already exists */
+# define E_PMRUN 7 /* port monitor is running */
+# define E_PMNOTRUN 8 /* port monitor is not running */
+# define E_RECOVER 9
+ /* in recovery */
+.fi
+.in -2
+.sp
+
+.SS "Directory Structure"
+.sp
+.LP
+This section gives a description of the \fBSAF\fR files and directories.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/_sysconfig\fR\fR
+.ad
+.RS 28n
+.rt
+The per-system configuration script.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/_sactab\fR\fR
+.ad
+.RS 28n
+.rt
+The \fBSAC's\fR administrative file. Contains information about the port
+monitors for which the SAC is responsible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fR\fIpmtag\fR\fR
+.ad
+.RS 28n
+.rt
+The home directory for port monitor \fIpmtag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fR\fIpmtag\fR\fB/_config\fR\fR
+.ad
+.RS 28n
+.rt
+The per-port monitor configuration script for port monitor pmtag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fR\fIpmtag\fR\fB/_pmtab\fR\fR
+.ad
+.RS 28n
+.rt
+Port monitor pmtag's administrative file. Contains information about the
+services for which \fIpmtag\fR is responsible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fR\fIpmtag\fR\fB/\fR\fIsvctag\fR\fR
+.ad
+.RS 28n
+.rt
+The file in which the per-service configuration script for service \fIsvctag\fR
+(available through port monitor \fBpmtag\fR) is placed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fR\fIpmtag\fR\fB/_pid\fR\fR
+.ad
+.RS 28n
+.rt
+The file in which a port monitor writes its process id in the current directory
+and places an advisory lock on the file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/saf/\fR \fBpmtag\fR \fB/_pmpipe\fR\fR
+.ad
+.RS 28n
+.rt
+The file in which the port monitor receives messages from the \fBSAC\fR and
+\fB\&../_sacpipe\fR and sends return messages to the \fBSAC.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/saf/_log\fR\fR
+.ad
+.RS 28n
+.rt
+The \fBSAC's\fR log file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/saf/\fR\fIpmtag\fR\fR
+.ad
+.RS 28n
+.rt
+The directory for files created by port monitor \fIpmtag,\fR for example its
+log file.
+.RE
+
+.SH LIST OF COMMANDS
+.sp
+.LP
+The following administrative commands relate to \fBSAF.\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsacadm\fR(1M)\fR
+.ad
+.RS 14n
+.rt
+port monitor administrative command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpmadm\fR(1M)\fR
+.ad
+.RS 14n
+.rt
+service administration command
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBexec\fR(1), \fBsh\fR(1), \fBinit\fR(1M), \fBnlsadmin\fR(1M),
+\fBpmadm\fR(1M), \fBsac\fR(1M), \fBsacadm\fR(1M), \fBttyadm\fR(1M),
+\fBfork\fR(2), \fBdoconfig\fR(3NSL), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/sar.1m b/usr/src/man/man1m/sar.1m
new file mode 100644
index 0000000000..2131804c56
--- /dev/null
+++ b/usr/src/man/man1m/sar.1m
@@ -0,0 +1,166 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sar 1M "20 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sar, sa1, sa2, sadc \- system activity report package
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/sa/sadc\fR [\fIt\fR \fIn\fR] [\fIofile\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/sa/sa1\fR [\fIt\fR \fIn\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/sa/sa2\fR [\fB-aAbcdgkmpqruvwy\fR] [\fB-e\fR \fItime\fR] [\fB-f\fR \fIfilename\fR]
+ [\fB-i\fR \fIsec\fR] [\fB-s\fR \fItime\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+System activity data can be accessed at the special request of a user (see
+\fBsar\fR(1)) and automatically, on a routine basis, as described here. The
+operating system contains several counters that are incremented as various
+system actions occur. These include counters for \fBCPU\fR utilization, buffer
+usage, disk and tape \fBI/O\fR activity, \fBTTY\fR device activity, switching
+and system-call activity, file-access, queue activity, inter-process
+communications, and paging. For more general system statistics, use
+\fBiostat\fR(1M), \fBsar\fR(1), or \fBvmstat\fR(1M).
+.sp
+.LP
+\fBsadc\fR and two shell procedures, \fBsa1\fR and \fBsa2\fR, are used to
+sample, save, and process this data.
+.sp
+.LP
+\fBsadc\fR, the data collector, samples system data \fIn\fR times, with an
+interval of \fIt\fR seconds between samples, and writes in binary format to
+\fIofile\fR or to standard output. The sampling interval \fIt\fR should be
+greater than 5 seconds; otherwise, the activity of \fBsadc\fR itself may affect
+the sample. If \fIt\fR and \fIn\fR are omitted, a special record is written.
+This facility can be used at system boot time, when booting to a multi-user
+state, to mark the time at which the counters restart from zero. For example,
+when accounting is enabled, the \fBsvc:/system/sar:default\fR service writes
+the restart mark to the daily data file using the command entry:
+.sp
+.in +2
+.nf
+su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa\&'date +%d\&'"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The shell script \fBsa1\fR, a variant of \fBsadc\fR, is used to collect and
+store data in the binary file \fB/var/adm/sa/sa\fR\fIdd,\fR where \fBdd\fR is
+the current day. The arguments \fIt\fR and \fIn\fR cause records to be written
+\fIn\fR times at an interval of \fIt\fR seconds, or once if omitted. The
+following entries in \fB/var/spool/cron/crontabs/sys\fR will produce records
+every 20 minutes during working hours and hourly otherwise:
+.sp
+.in +2
+.nf
+0 * * * 0-6 /usr/lib/sa/sa1
+20,40 8\(mi17 * * 1\(mi5 /usr/lib/sa/sa1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBcrontab\fR(1) for details.
+.sp
+.LP
+The shell script \fBsa2\fR, a variant of \fBsar\fR, writes a daily report in
+the file \fB/var/adm/sa/sar\fR\fIdd.\fR See the \fBOPTIONS\fR section in
+\fBsar\fR(1) for an explanation of the various options. The following entry in
+\fB/var/spool/cron/crontabs/sys\fR will report important activities hourly
+during the working day:
+.sp
+.in +2
+.nf
+5 18 * * 1\(mi5 /usr/lib/sa/sa2 \fB-s\fR 8:00 \fB-e\fR 18:01 \fB-i\fR 1200 \fB-A\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/tmp/sa.adrfl\fR\fR
+.ad
+.sp .6
+.RS 4n
+address file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/sa/sa\fR\fBdd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Daily data file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/sa/sar\fR\fBdd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Daily report file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/cron/crontabs/sys\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcrontab\fR(1), \fBsag\fR(1), \fBsar\fR(1), \fBsvcs\fR(1), \fBtimex\fR(1),
+\fBiostat\fR(1M), \fBsvcadm\fR(1M), \fBvmstat\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBsar\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/sar
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/sasinfo.1m b/usr/src/man/man1m/sasinfo.1m
new file mode 100644
index 0000000000..8ec61f6c69
--- /dev/null
+++ b/usr/src/man/man1m/sasinfo.1m
@@ -0,0 +1,752 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sasinfo 1M "10 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sasinfo \- Serial Attached SCSI HBA port command line interface
+.SH SYNOPSIS
+.LP
+.nf
+\fBsasinfo\fR hba [\fB-v\fR] [\fIHBA_Name\fR]...
+.fi
+
+.LP
+.nf
+\fBsasinfo\fR hba-port [\fB-lvy\fR] [\fB-a\fR \fIHBA_Name\fR] [\fIHBA_port_nam\fR]...
+.fi
+
+.LP
+.nf
+\fBsasinfo\fR expander [\fB-vt\fR] [\fB-p\fR \fIHBA_port_Name\fR] [\fIExpander_SAS_Addr\fR]...
+.fi
+
+.LP
+.nf
+\fBsasinfo\fR target-port [\fB-s\fR | \fB-v\fR] [\fITarget_port_SAS_Addr\fR]...
+.fi
+
+.LP
+.nf
+\fBsasinfo\fR logical-unit | lu [\fB-v\fR] [\fIdevice_path\fR]...
+.fi
+
+.LP
+.nf
+\fBsasinfo\fR [\fB-V\fR]
+.fi
+
+.LP
+.nf
+\fBsasinfo\fR [\fB-?\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsasinfo\fR utility is a command line interface that collects
+administrative information on Serial Attached SCSI-2 (SAS-2) host bus adapter
+(HBA) that supports the Storage Management HBA API (SM-HBA). The utility
+reports attributes of HBA ports and of expander devices and SCSI target devices
+that might be connected to those HBA ports.
+.sp
+.LP
+\fBsasinfo\fR is implemented as a set of subcommands, described below.
+.SH SUB-COMMANDS
+.sp
+.LP
+The following subcommands are supported by \fBsasinfo\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhba\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the HBA referenced by the specified \fIHBA_name\fR. If
+\fIHBA_name\fR is not specified, all HBAs on the host will be listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhba-port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the HBA port referenced by the specified
+\fIHBA_port_Name\fR. If \fIHBA_port_Name\fR is not specified, all HBA ports on
+the host will be listed. Note that HBA ports can be dynamically
+configured/unconfigured so that the number of HBA ports on an HBA can change as
+connections to target devices are established. With no connections to a storage
+device, no HBA port is configured.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexpander\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists hierarchical view of the expander referenced by the specified
+\fIExpander_SAS_Addr\fR. If no argument is specified, all expanders that are
+visible across all HBA ports on the host will be listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget-port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for those target ports referenced by
+\fITarget_port_SAS_Addr\fR address. If no argument is specified, all target
+ports that are visible on the host will be listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogical-unit\fR | \fBlu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the logical unit referenced by the specified \fIdevice_path\fR. If
+\fIdevice_path\fR is not specified, all SAS logical units will be listed,
+including the SAS Management Protocol (SMP) target port.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-?\fR, \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays usage information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR, \fB--hba\fR \fIHBA_Name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Retrieve HBA port information from the \fIHBA_Name\fR of an HBA on the host.
+The \fB-a\fR option can only be used with the \fBhba-port\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR, \fB--phy-linkstat\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the link error statistics information for the \fBphy\fRs on the HBA port
+referenced by the specified \fIHBA_port_Name\fR or all HBA ports if no HBA port
+is specified. This option is used only with the \fBhba-port\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIHBA_port_SAS_Addr\fR, \fB--port\fR \fIHBA_port_SAS_Addr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Retrieve remote port information from the \fIHBA_port_SAS_Addr\fR of the local
+HBA port on the host. The \fB-p\fR option can be used only with the
+\fBexpander\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR, \fB--scsi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists SCSI attributes for target ports that are requested for display. This
+option is only used for the \fBtarget-port\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR, \fB--verbose\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display details on hardware information, such as SAS address, topology device,
+and so forth, based on which subcommand is invoked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR, \fB--version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the version information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR, \fB--phy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the \fBphy\fR information on the HBA port specified by
+\fIHBA_port_Name\fR or all HBA ports if no HBA port is specified. This option
+is used only with the \fBhba-port\fR subcommand.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRListing All HBAs
+.sp
+.LP
+The following command lists all HBAs on the host.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo hba\fR
+HBA Name: SUNW-pmcs-0
+HBA Name: SUNW-pmcs-1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRListing All HBAs with Details
+.sp
+.LP
+The following command lists all HBAs on the host, along with related details.
+Note that each HBA has two HBA ports configured, with each HBA port connected
+to a storage device.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo hba -v\fR
+HBA Name: SUNW-pmcs-0
+ Manufacturer: sun
+ Model: SAS Gen-2
+ Firmware Version: 1.1
+ FCode/BIOS Version: 1.1
+ Serial Number: 111-11111
+ Driver Name: smvsl
+ Driver Version: 1.1
+ Number of HBA Ports: 2
+HBA Name: SUNW-pmcs-1
+ Manufacturer: sun
+ Model: SAS Gen-2
+ Firmware Version: 1.1
+ FCode/BIOS Version: 1.1
+ Serial Number: 111-11111
+ Driver Name: smvsl
+ Driver Version: 1.1
+ Number of HBA Ports: 2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing All HBA Ports
+.sp
+.LP
+The following command lists all HBA ports on the host.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo hba-port\fR
+HBA Name: SUNW-pmcs-0
+ HBA Port Name: /dev/cfg/c1
+ HBA Port Name: /dev/cfg/c2
+HBA Name: SUNW-pmcs-1
+ HBA Port Name: /dev/cfg/c3
+ HBA Port Name: /dev/cfg/c4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRListing all HBA Ports with Details
+.sp
+.LP
+The following command lists all HBA ports, with accompanying details.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo hba-port -v\fR
+HBA Name: SUNW-pmcs-0
+ HBA Port Name: /dev/cfg/c1
+ Type: sas-device
+ State: online
+ Local SAS Address: 5000c50000d756aa
+ Attached Port SAS Address: 50800201a5a502bf
+ Number of Phys: 4
+ HBA Port Name: /dev/cfg/c25000c50000d756cc
+ Type: sas-device
+ State: online
+ Local SAS Address: 5000c50000d756aa
+ Attached Port SAS Address: 50800201a5a503bf
+ Number of Phys: 4
+HBA Name: SUNW-pmcs-1
+ HBA Port Name: /dev/cfg/c3
+ Type: sas-device
+ State: online
+ Local SAS Address: 5000c50000d756cc
+ Attached Port SAS Address: 50800201a5a504bf
+ Number of Phys: 4
+ HBA Port Name: /dev/cfg/c4
+ Type: sas-device
+ State: online
+ Local SAS Address: 5000c50000d756cc
+ Attached Port SAS Address: 50800201a5a505bf
+ Number of Phys: 4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRListing \fBphy\fR Information for All HBA Ports
+.sp
+.LP
+The following command lists \fBphy\fR information for all HBA ports.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo hba-port -y\fR
+HBA Name: SUNW-pmcs-0
+ HBA Port Name: /dev/cfg/c1
+ Phy Information:
+ Identifier: 0
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 1
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 2
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 3
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ HBA Port Name: /dev/cfg/c2
+ Phy Information:
+ Identifier: 4
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 5
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 6
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 7
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+HBA Name: SUNW-pmcs-1
+ HBA Port Name: /dev/cfg/c3
+ Phy Information:
+ Identifier: 0
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 1
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 2
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 3
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ HBA Port Name: /dev/cfg/c4
+ Phy Information:
+ Identifier: 4
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 5
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 6
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Identifier: 7
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRListing \fBphy\fR Link Error Statistics for a Specific HBA Port
+.sp
+.LP
+The following command lists \fBphy\fR link error statistics for a particular
+port.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo hba-port -ly /dev/cfg/c1\fR
+HBA Name: SUNW-pmcs-0
+ HBA Port Name: /dev/cfg/c1
+ Phy Information:
+ Identifier: 0
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Link Error Statistics:
+ Invalid Dword: 0
+ Running Disparity Error: 0
+ Loss of Dword Sync: 0
+ Reset Problem: 0
+ Identifier: 1
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Link Error Statistics:
+ Invalid Dword: 0
+ Running Disparity Error: 0
+ Loss of Dword Sync: 0
+ Reset Problem: 0
+ Identifier: 2
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Link Error Statistics:
+ Invalid Dword: 0
+ Running Disparity Error: 0
+ Loss of Dword Sync: 0
+ Reset Problem: 0
+ Identifier: 3
+ State: enabled
+ HardwareLinkRate(Min/Max): 1.5Gbit/3Gbit
+ ProgrammedLinkRate(Min/Max): 1.5Gbit/3Gbit
+ NegotiatedLinkRate: 3Gbit
+ Link Error Statistics:
+ Invalid Dword: 0
+ Running Disparity Error: 0
+ Loss of Dword Sync: 0
+ Reset Problem: 0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRListing Expanders Connected to an HBA Port
+.sp
+.LP
+The following command lists all expanders that are visible through the
+specified HBA port.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo expander -p /dev/cfg/c1\fR
+HBA Name: SUNW-pmcs-0
+ HBA Port Name: /dev/cfg/c1
+ Expander SAS Address(Tier 1): 50800201a5a502bf
+ Expander SAS Address(Tier 2): 50800201a5a50233
+ Expander SAS Address(Tier 2); 5000c5000d2da812
+ Expander SAS Address(Tier 1): 50800201a5a503bf
+ Expander SAS Address(Tier 2): 50800201a5a502d2
+ Expander SAS Address(Tier 2); 5000c5000d2da823
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRListing Detailed Information on Expanders
+.sp
+.LP
+The following command lists detailed information on all expanders that are
+visible through the specified HBA port.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo expander -v -p /dev/cfg/c1\fR
+HBA Name: SUNW-pmcs-0
+ HBA Port Name: /dev/cfg/c1
+ Expander SAS Address(Tier 1): 50800201a5a502bf
+ OS Device Name: /dev/smp/expd0
+ State: online
+ Expander SAS Address(Tier 2): 50800201a5a50233
+ OS Device Name: /dev/smp/expd2
+ State: online
+ Expander SAS Address(Tier 2); 5000c5000d2da812
+ OS Device Name: /dev/smp/expd3
+ State: online
+ Expander SAS Address(Tier 1): 50800201a5a503bf
+ OS Device Name: /dev/smp/expd1
+ State: online
+ Expander SAS Address(Tier 2): 50800201a5a502d2
+ OS Device Name: /dev/smp/expd3
+ State: online
+ Expander SAS Address(Tier 2); 5000c5000d2da823
+ OS Device Name: /dev/smp/expd4
+ State: online
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRListing Target Ports Attached to Expanders
+.sp
+.LP
+The following command lists all target ports that are attached to expanders
+connected to a specified HBA port.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo expander -t -p /dev/cfg/c1\fR
+HBA Name: SUNW-pmcs-0
+ HBA Port Name: /dev/cfg/c1
+ Expander SAS Address(Tier 1): 50800201a5a502bf
+ Target Port SAS Address: 50800201a5a504f1
+ Expander SAS Address(Tier 2): 50800201a5a50233
+ Target Port SAS Address: 50800201a5a502be
+ Target Port SAS Address: 5000c5000d2da8b2
+ Expander SAS Address(Tier 2); 5000c5000d2da812
+ Target Port SAS Address: 50800201a5a502be
+ Target Port SAS Address: 50800201a5a508b2
+ Expander SAS Address(Tier 1): 50800201a5a503bf
+ Target Port SAS Address: 50800201a5a50421
+ Expander SAS Address(Tier 2): 50800201a5a502d2
+ Target Port SAS Address: 50800201a5a503be
+ Target Port SAS Address: 5000c5000d2da7be
+ Expander SAS Address(Tier 2); 5000c5000d2da823
+ Target Port SAS Address: 50800201a5a503be
+ Target Port SAS Address: 5000c5000d2da7be
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRListing Target Port Information
+.sp
+.LP
+The following command lists all target ports discovered on the host.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo target-port\fR
+Target Port SAS Address: 5000c5000bae4009
+Target Port SAS Address: 5000c5000baef4b1
+Target Port SAS Address: 5000c5000bae3fe1
+Target Port SAS Address: 5000c5000bae49d9
+Target Port SAS Address: 5000c5000bae36c5
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRListing Target Port Information with Topology Details
+.sp
+.LP
+The following command lists all target ports with the HBA port and expander
+that they are connected to.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo target-port -v\fR
+Target Port SAS Address: 5000c5000bae4009
+ Type: SAS Device
+ HBA Port Name: /dev/cfg/c7
+ Expander Device SAS Address: 500e004aaaaaaa3f
+ HBA Port Name: /dev/cfg/c5
+ Expander Device SAS Address: 500e004aaaaaaa3f
+Target Port SAS Address: 5000c5000baef4b1
+ Type: SAS Device
+ HBA Port Name: /dev/cfg/c7
+ Expander Device SAS Address: 500e004aaaaaaa3f
+ HBA Port Name: /dev/cfg/c5
+ Expander Device SAS Address: 500e004aaaaaaa3f
+Target Port SAS Address: 5000c5000bae3fe1
+ Type: SAS Device
+ HBA Port Name: /dev/cfg/c7
+ Expander Device SAS Address: 500e004aaaaaaa3f
+ HBA Port Name: /dev/cfg/c5
+ Expander Device SAS Address: 500e004aaaaaaa3f
+Target Port SAS Address: 5000c5000bae49d9
+ Type: SAS Device
+ HBA Port Name: /dev/cfg/c7
+ Expander Device SAS Address: 500e004aaaaaaa3f
+ HBA Port Name: /dev/cfg/c5
+ Expander Device SAS Address: 500e004aaaaaaa3f
+Target Port SAS Address: 5000c5000bae36c5
+ Type: SAS Device
+ HBA Port Name: /dev/cfg/c7
+ Expander Device SAS Address: 500e004aaaaaaa3f
+ HBA Port Name: /dev/cfg/c5
+ Expander Device SAS Address: 500e004aaaaaaa3f
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRListing Target Ports with SCSI Information
+.sp
+.LP
+The following command lists all target port details, including SCSI information
+for each target port.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo target-port -s 5000c5000bae4009\fR
+Target Port SAS Address: 5000c5000bae4009
+ Type: SAS Device
+ HBA Port Name: /dev/cfg/c7
+ Expander Device SAS Address: 500e004aaaaaaa3f
+ LUN : 0
+ OS Device Name : /dev/rdsk/c6t5000C5000BAE400Bd0s2
+ Vendor: Sun
+ Product: J4400
+ Device Type: Disk
+ HBA Port Name: /dev/cfg/c5
+ Expander Device SAS Address: 500e004aaaaaaa3f
+ LUN : 0
+ OS Device Name : /dev/rdsk/c6t5000C5000BAE400Bd0s2
+ Vendor: Sun
+ Product: J4400
+ Device Type: Disk
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRListing the Logical Units
+.sp
+.LP
+The following command lists the logical units on a host.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo logical-unit\fR
+OS Device Name: /dev/rdsk/c4t50020F2300B4904Ed0s2
+OS Device Name: /dev/rdsk/c4t50020F230000B4AFd0s2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRListing Additional Information on Logical Units
+.sp
+.LP
+The following command displays additional logical unit information using the
+\fB-v\fR option for device \fB/dev/rmt/On\fR.
+
+.sp
+.in +2
+.nf
+# \fBsasinfo lu -v\fR
+OS Device Name: /dev/rdsk/c4t50020F2300B4904Ed0s2
+ HBA Port Name: /dev/cfg/c1
+ Target Port SAS Address: 50020f2300b4904e
+ LUN: 0
+ Vendor: Sun
+ Product: J4400
+ Device Type: Disk
+OS Device Name: /dev/rdsk/c4t50020F230000B4AFd0s2
+ HBA Port Name: /dev/cfg/c1
+ Target Port SAS Address: 50020f230063100b
+ LUN: 0
+ Vendor: Sun
+ Product: J4400
+ Device Type: Disk
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/savecore.1m b/usr/src/man/man1m/savecore.1m
new file mode 100644
index 0000000000..02d9b71a6a
--- /dev/null
+++ b/usr/src/man/man1m/savecore.1m
@@ -0,0 +1,203 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright (c) 1983 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution.
+.TH savecore 1M "25 Sep 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+savecore \- save a crash dump of the operating system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/savecore\fR [\fB-Lvd\fR] [\fB-f\fR \fIdumpfile\fR] [\fIdirectory\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsavecore\fR utility saves a crash dump of the kernel (assuming that one
+was made) and writes a reboot message in the shutdown log. It is invoked by the
+\fBdumpadm\fR service each time the system boots.
+.sp
+.LP
+\fBsavecore\fR saves the crash dump data in the file
+\fIdirectory\fR\fB/vmcore.\fR\fIn\fR and the kernel's namelist in
+\fIdirectory\fR\fB/unix.\fR\fIn.\fR The trailing \fB\&.\fR\fIn\fR in the
+pathnames is replaced by a number which grows every time \fBsavecore\fR is run
+in that directory.
+.sp
+.LP
+Before writing out a crash dump, \fBsavecore\fR reads a number from the file
+\fIdirectory\fR\fB/minfree\fR. This is the minimum number of kilobytes that
+must remain free on the file system containing \fIdirectory\fR. If after saving
+the crash dump the file system containing \fIdirectory\fR would have less free
+space the number of kilobytes specified in \fBminfree\fR, the crash dump is not
+saved. if the \fBminfree\fR file does not exist, \fBsavecore\fR assumes a
+\fBminfree\fR value of 1 megabyte.
+.sp
+.LP
+The \fBsavecore\fR utility also logs a reboot message using facility
+\fBLOG_AUTH\fR (see \fBsyslog\fR(3C)). If the system crashed as a result of a
+panic, \fBsavecore\fR logs the panic string too.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 15n
+.rt
+Disregard dump header valid flag. Force \fBsavecore\fR to attempt to save a
+crash dump even if the header information stored on the dump device indicates
+the dump has already been saved.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIdumpfile\fR\fR
+.ad
+.RS 15n
+.rt
+Attempt to save a crash dump from the specified file instead of from the
+system's current dump device. This option may be useful if the information
+stored on the dump device has been copied to an on-disk file by means of the
+\fBdd\fR(1M) command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 15n
+.rt
+Save a crash dump of the live running Solaris system, without actually
+rebooting or altering the system in any way. This option forces \fBsavecore\fR
+to save a live snapshot of the system to the dump device, and then immediately
+to retrieve the data and to write it out to a new set of crash dump files in
+the specified directory. Live system crash dumps can only be performed if you
+have configured your system to have a dedicated dump device using
+\fBdumpadm\fR(1M).
+.sp
+\fBsavecore\fR \fB-L\fR does not suspend the system, so the contents of memory
+continue to change while the dump is saved. This means that live crash dumps
+are not fully self-consistent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 15n
+.rt
+Verbose. Enables verbose error messages from \fBsavecore\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdirectory\fR\fR
+.ad
+.RS 13n
+.rt
+Save the crash dump files to the specified directory. If \fIdirectory\fR is not
+specified, \fBsavecore\fR saves the crash dump files to the default
+\fBsavecore\fR \fIdirectory\fR, configured by \fBdumpadm\fR(1M).
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdirectory\fR\fB/vmcore.\fR\fIn\fR\fR
+.ad
+.RS 29n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdirectory\fR\fB/unix.\fR\fIn\fR\fR
+.ad
+.RS 29n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdirectory\fR\fB/bounds\fR\fR
+.ad
+.RS 29n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdirectory\fR\fB/minfree\fR\fR
+.ad
+.RS 29n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/crash/\&'uname \fR\fB-n\fR\fB\&'\fR\fR
+.ad
+.RS 29n
+.rt
+default crash dump directory
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBadb\fR(1), \fBmdb\fR(1), \fBsvcs\fR(1), \fBdd\fR(1M), \fBdumpadm\fR(1M),
+\fBsvcadm\fR(1M), \fBsyslog\fR(3C), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The system crash dump service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/dumpadm:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+If the dump device is also being used as a swap device, you must run
+\fBsavecore\fR very soon after booting, before the swap space containing the
+crash dump is overwritten by programs currently running.
diff --git a/usr/src/man/man1m/sbdadm.1m b/usr/src/man/man1m/sbdadm.1m
new file mode 100644
index 0000000000..76902300db
--- /dev/null
+++ b/usr/src/man/man1m/sbdadm.1m
@@ -0,0 +1,294 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sbdadm 1M "20 Aug 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sbdadm \- SCSI Block Disk command line interface
+.SH SYNOPSIS
+.LP
+.nf
+\fBsbdadm\fR \fBcreate-lu\fR [\fB-s\fR, \fB--size\fR \fIsize\fR] \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fBsbdadm\fR \fBdelete-lu\fR \fIlu_name\fR
+.fi
+
+.LP
+.nf
+\fBsbdadm\fR \fBimport-lu\fR \fIlu_name\fR
+.fi
+
+.LP
+.nf
+\fBsbdadm\fR \fBlist-lu\fR \fIlu_name\fR
+.fi
+
+.LP
+.nf
+\fBsbdadm\fR \fBmodify-lu\fR [\fB-s\fR, \fB--size\fR \fIsize\fR] \fIlu_name\fR | \fIfilename\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsbdadm\fR command creates and manages SCSI-block-device-based logical
+units that are registered with the SCSI Target Mode Framework (STMF).
+.SH SUB-COMMANDS
+.sp
+.LP
+The \fBsbdadm\fR command supports the subcommands listed below. Note that if
+you enter a question mark as an argument to the command (\fBsbdadm ?\fR),
+\fBsbdadm\fR responds with a help display.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate-lu\fR [\fB-s\fR, \fB--size\fR \fIsize\fR] \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a logical unit that can be registered with the STMF. For the \fB-s\fR
+option, \fIsize\fR is an integer followed by one of the following letters, to
+indicate a unit of size:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBk\fR\fR
+.ad
+.RS 5n
+.rt
+kilobyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+.rt
+megabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBg\fR\fR
+.ad
+.RS 5n
+.rt
+gigabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+.rt
+terabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+petabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBe\fR\fR
+.ad
+.RS 5n
+.rt
+exabyte
+.RE
+
+If you do not specify \fIsize\fR, the size defaults to the size of
+\fIfilename\fR.
+.sp
+The size specified can exceed the size of the file or device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete-lu\fR \fIlu_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes an existing logical unit that was created using \fBsbdadm create-lu\fR.
+This effectively unloads the logical unit from the STMF framework. Any existing
+data on the logical unit remains intact.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBimport-lu\fR \fIlu_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Imports and loads a logical unit into the STMF that was previously created
+using \fBsbdadm create-lu\fR and was since deleted from the STMF using
+\fBsbdadm delete-lu\fR. On success, the logical unit is again made available to
+the STMF. \fIfilename\fR is the filename used in the \fBsbdadm create-lu\fR
+command for this logical unit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-lu\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all logical units that were created using the \fBsbdadm create-lu\fR
+command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodify-lu\fR [\fB-s\fR, \fB--size\fR \fIsize\fR] \fIlu_name\fR |
+\fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies attributes of an logical unit created using the \fBsbdadm create-lu\fR
+command. For the \fB-s\fR option, \fIsize\fR is an integer value followed by a
+unit specifier. The unit specifiers are as described above under
+\fBcreate-lu\fR. When this option is specified, the existing size of the
+logical unit is changed to the new size.
+.sp
+The size specified can exceed the size of the file or device represented by
+\fIlu_name\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+\fBsbdadm\fR use the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of an existing file or a fully qualified path to a raw block device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIlu_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+The 32-byte hexadecimal representation of the logical unit.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Logical Unit
+.sp
+.LP
+The following series of commands creates a 10-gigabyte logical unit.
+
+.sp
+.in +2
+.nf
+# \fBtouch /export/lun/0\fR
+# \fBsbdadm create-lu -s 10g /export/lun/0\fR
+# \fBsbdadm create-lu /dev/rdsk/c1t1d0s0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRListing Logical Units
+.sp
+.LP
+The following command lists all logical units.
+
+.sp
+.in +2
+.nf
+# \fBsbdadm list-lu\fR
+Found 2 LU(s)
+
+ GUID DATA SIZE SOURCE
+-------------------------------- ----------- ------
+6000ae4000144f21d92c47b0dd650002 10737352704 /export/lun/0
+6000ae4000144f21d92c47b0de300032 134283264 /dev/rdsk/c1t1d0s0
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete Committed
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBstmfadm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/scadm.1m b/usr/src/man/man1m/scadm.1m
new file mode 100644
index 0000000000..02b0acdc6a
--- /dev/null
+++ b/usr/src/man/man1m/scadm.1m
@@ -0,0 +1,1115 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH scadm 1M "20 Dec 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+scadm \- administer System Controller (SC)
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/platform/\fIplatform-name\fR/sbin/scadm\fR \fIsubcommand\fR [\fIoption\fR]
+ [\fIargument\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBscadm\fR utility administers the System Controller (\fBSC\fR). This
+utility allows the host server to interact with the \fBSC\fR.
+.sp
+.LP
+The \fBscadm\fR utility \fBmust\fR be run as root.
+.sp
+.LP
+The interface, output, and location in the directory hierarchy for \fBscadm\fR
+are uncommitted and might change.
+.sp
+.LP
+\fIplatform-name\fR is the name of the platform implementation. Use the
+\fBuname\fR \fB-i\fR command to identify the platform implementation. See
+\fBuname\fR(1).
+.sp
+.LP
+The \fBscadm\fR utility has a number of subcommands. Some subcommands have
+specific options and arguments associated with them. See \fBSUBCOMMANDS\fR,
+\fBOPTIONS\fR, \fBOPERANDS\fR, and \fBUSAGE\fR.
+.SS "SUBCOMMANDS"
+.sp
+.LP
+Subcommands immediately follow the \fBscadm\fR command on the command line, and
+are separated from the command by a SPACE.
+.sp
+.LP
+The following subcommands are supported
+.sp
+.ne 2
+.mk
+.na
+\fBconsolehistory\fR
+.ad
+.sp .6
+.RS 4n
+Display the \fBSC\fR's console log. The \fBSC\fR maintains a running log which
+captures all console output. This log is maintained as a first-in, first-out
+buffer: New console output may displace old console output if the buffer is
+full. By default, only the last eight kilobytes of the console log file are
+displayed.
+.sp
+The optional \fB-a\fR argument specifies that the entire console log file be
+displayed.
+.sp
+It is possible for the \fBSC\fR to fill this log more quickly than the
+\fBconsolehistory\fR subcommand can read it. This means that it is possible for
+some log data to be lost before it can be displayed. If this happens, the
+\fBconsolehistory\fR subcommand displays "scadm: lost <number> bytes of console
+log data" in the log output, to indicate that some data was lost.
+.sp
+The format for the \fBconsolehistory\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm consolehistory [-a]
+.fi
+.in -2
+.sp
+
+The \fBconsolehistory\fR subcommand is not available on all platforms. If this
+command is used on a platform that does not support it, \fBscadm\fR prints this
+message:
+.sp
+.in +2
+.nf
+scadm: command/option not supported
+.fi
+.in -2
+.sp
+
+and exit with non-zero status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdate\fR
+.ad
+.sp .6
+.RS 4n
+Display the \fBSC\fR's time and date
+.sp
+The format for the \fBdate\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm date
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdownload\fR
+.ad
+.sp .6
+.RS 4n
+Program the \fBSC\fR's firmware.
+.sp
+There are two parts to the firmware, the boot monitor and the main image.
+.sp
+By default, The \fBscadm\fR command's download programs the main firmware
+image. The \fBboot\fR argument selects programming of the boot monitor.
+.sp
+The format for the \fBdownload\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm download [boot] \fIfile\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfruhistory\fR
+.ad
+.sp .6
+.RS 4n
+Display the contents of the "field replacable unit" log maintained by the
+\fBSC\fR. By default, only the last eight kilobytes of the fru history log file
+are displayed. The data in contained this log contains snapshots of the
+\fBSC\fR's "showfru" command, taken whenever the system is reset, or a hot-plug
+event is detected by the \fBSC\fR.
+.sp
+The optional \fB-a\fR argument specifies that the entire fru log file be
+displayed.
+.sp
+It is possible for the \fBSC\fR to fill this log more quickly than the
+\fBfruhistory\fR subcommand can read it. This means that it is possible for
+some log data to be lost before it can be displayed. If this happens, the
+\fBfruhistory\fR subcommand displays "scadm: lost <number> bytes of fru log
+data" in the log output, to indicate that some data was lost.
+.sp
+The format for the fruhistory subcommand is:
+.sp
+.in +2
+.nf
+scadm fruhistory [-a]
+.fi
+.in -2
+.sp
+
+The \fBfruhistory\fR subcommand is not available on all platforms. If this
+command is used on a platform which does not support it, \fBscadm\fR prints
+this message:
+.sp
+.in +2
+.nf
+scadm: command/option not supported
+.fi
+.in -2
+.sp
+
+and exit with non-zero status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhelp\fR
+.ad
+.sp .6
+.RS 4n
+Display a list of commands.
+.sp
+The format for the \fBhelp\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm help
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBloghistory\fR
+.ad
+.sp .6
+.RS 4n
+Display the most recent entries in the \fBSC\fR event log. The optional
+\fB-a\fR argument causes the entire event log history to be displayed. The
+\fB-a\fR argument is available only on platforms which support large log files.
+On platforms which do not support large log files, this flag has no additional
+effect.
+.sp
+It is possible for the \fBSC\fR to fill this log more quickly than the
+\fBloghistory\fR subcommand can read it. This means that it is possible for
+some log data to be lost before it can be displayed. If this happens, the
+\fBloghistory\fR subcommand displays "scadm: lost <number> events" in the log
+output, to indicate that some data was lost.
+.sp
+The format for the \fBloghistory\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm loghistory [-a]
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBresetrsc\fR
+.ad
+.sp .6
+.RS 4n
+Reset the \fBSC\fR. There are two types of resets allowed, a \fBhard\fR reset
+and a \fBsoft\fR reset.The \fBhard\fR reset is done by default. The \fBsoft\fR
+reset can be selected by using the \fB-s\fR option.
+.sp
+The format for the \fBresetrsc\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm resetrsc [\fB-s\fR]
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsend_event\fR
+.ad
+.sp .6
+.RS 4n
+Manually send a text based event. The \fBSC\fR can forward the event to the
+\fBSC\fR event log. You can configure the \fB-c\fR option to send a critical
+warning to email, alert to logged in SC users, and \fBsyslog\fR. Critical
+events are logged to \fBsyslog\fR(3C). There is an \fB80\fR character limit to
+the length of the associated text message.
+.sp
+The format for the \fBsend_event\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm send_event [\fB-c\fR] "\fImessage\fR"
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset\fR
+.ad
+.sp .6
+.RS 4n
+Set SC configuration variables to a value.
+.sp
+Examples of SC configuration variables include: SC IP address
+\fBnetsc_ipaddr\fR and SC Customer Information \fBsc_customerinfo\fR. See the
+output from the \fBscadm help\fR command for a complete list of SC
+configuration variables.
+.sp
+The format for the \fBset\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm set \fIvariable value\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBshow\fR
+.ad
+.sp .6
+.RS 4n
+Display the current SC configuration variable settings. If no variable is
+specified, \fBscadm\fR shows all variable settings.
+.sp
+The format for the \fBshow\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm show [\fIvariable\fR]
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBshownetwork\fR
+.ad
+.sp .6
+.RS 4n
+Display the current network configuration parameters for SC.
+.sp
+The format for the \fBshownetwork\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm shownetwork
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuseradd\fR
+.ad
+.sp .6
+.RS 4n
+Add user accounts to the \fBSC\fR. The \fBSC\fR supports up to sixteen separate
+users.
+.sp
+The format for the \fBuseradd\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm useradd \fIusername\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuserdel\fR
+.ad
+.sp .6
+.RS 4n
+Delete a user account from \fBSC\fR.
+.sp
+The format for the \fBuserdel\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm userdel \fIusername\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuserpassword\fR
+.ad
+.sp .6
+.RS 4n
+Set a password for the user account specified. This password overrides any
+existing password currently set. There is no verification of the old password
+before setting the new password.
+.sp
+The format for the \fBuserpassword\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm userpassword \fIusername\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuserperm\fR
+.ad
+.sp .6
+.RS 4n
+Set the permission level for the user.
+.sp
+The format for the \fBuserperm\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm userperm \fIusername\fR [aucr]
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBusershow\fR
+.ad
+.sp .6
+.RS 4n
+Display details on the specified user account. If a username is not specified,
+all user accounts are displayed.
+.sp
+The format for the \fBusershow\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm usershow \fIusername\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBversion\fR
+.ad
+.sp .6
+.RS 4n
+Display the version numbers of the \fBSC\fR and its components.
+.sp
+The format for the \fBversion\fR subcommand is:
+.sp
+.in +2
+.nf
+scadm version [\fB-v\fR]
+.fi
+.in -2
+.sp
+
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBresetrsc\fR, \fBsend_event\fR, and \fBversion\fR subcommands have
+associated options. Options follow subcommands on the command line and are
+separated from the subcommand by a SPACE.
+.sp
+.LP
+The \fBresetrsc\fR subcommand supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform a soft reset instead of a hard reset. A hard reset physically resets
+the SC hardware. The SC software jumps to the boot firmware, simulating a
+reset, for a soft reset.
+.RE
+
+.sp
+.LP
+The \fBsend_event\fR subcommand supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Send a critical event. Without the \fB-c\fR, \fB-send_event\fR sends a warning.
+.RE
+
+.sp
+.LP
+The \fBversion\fR subcommand supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a verbose output of version numbers and associated information.
+.RE
+
+.sp
+.LP
+The \fBconsolehistory\fR, \fBfruhistory\fR, and \fBloghistory\fR subcommands
+support the following option:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the entire log. These subcommands normally display only the most recent
+log data. This flag causes them to display the entire log.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBdownload\fR, \fBsend_event\fR, \fBset\fR, \fBshow\fR, \fBuseradd\fR,
+\fBuserdel\fR, \fBuserperm\fR, \fBusershow\fR, \fBuserpassword\fR, and
+\fBuserperm\fR subcommands have associated arguments (operands).
+.sp
+.LP
+If the subcommand has an option, the arguments follow the option on the command
+line and is separated from the option by a SPACE. If the subcommand does not
+have an option, the arguments follow the subcommand on the command line and are
+separated from the subcommand by a SPACE. If there are more than one arguments,
+they are separated from each other by a SPACE.
+.sp
+.LP
+The \fBdownload\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fBboot\fR
+.ad
+.sp .6
+.RS 4n
+Program the boot monitor portion of the flash. The main portion of the flash is
+programmed without any arguments
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fIfile\fR as the path to where the boot or main firmware image resides
+for download.
+.sp
+Examples of \fIfile\fR are:
+.sp
+.in +2
+.nf
+\fB/usr/platform/\fIplatform_type\fR/lib/image/alommainfw\fR
+.fi
+.in -2
+.sp
+
+or
+.sp
+.in +2
+.nf
+/usr/platform/\fIplatform_type\fR/lib/image/alombootfw
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.LP
+The \fBsend_event\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB"\fImessage\fR"\fR
+.ad
+.sp .6
+.RS 4n
+Describe event using the test contained in \fImessage\fR. Enclose \fImessage\fR
+in quotation marks.
+.RE
+
+.sp
+.LP
+The \fBset\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvariable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set SC configuration \fIvariable\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set SC configuration variable to \fIvalue\fR.
+.RE
+
+.sp
+.LP
+The \fBshow\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvariable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the value of that particular variable.
+.RE
+
+.sp
+.LP
+The \fBuseradd\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add new SC account \fIusername\fR.
+.RE
+
+.sp
+.LP
+The \fBuserdel\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove SC account \fIusername\fR.
+.RE
+
+.sp
+.LP
+The \fBuserperm\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-aucr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set permissions for SC user accounts. If no permissions are specified, all four
+permissions are disabled and read only access is assigned.
+.sp
+The following are the definitions for permissions:
+.sp
+.ne 2
+.mk
+.na
+\fBa\fR
+.ad
+.sp .6
+.RS 4n
+Allow user to administer or change the SC configuration variables
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBu\fR
+.ad
+.sp .6
+.RS 4n
+Allow user to use the user commands to modify SC accounts
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBc\fR
+.ad
+.sp .6
+.RS 4n
+Allow user to connect to console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBr\fR
+.ad
+.sp .6
+.RS 4n
+Allow user to reset SC and to power on and off the host.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change permissions on SC account \fIusername\fR.
+.RE
+
+.sp
+.LP
+The \fB-usershow\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display information on SC account \fIusername\fR. If \fIusername\fRis not
+specified, all accounts are displayed.
+.RE
+
+.sp
+.LP
+The \fBuserpassword\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set SC password for \fIusername\fR.
+.RE
+
+.sp
+.LP
+The \fBuserperm\fR subcommand supports the following arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change SC permissions for \fIusername\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying the SC's Date and Time
+.sp
+.LP
+The following command displays the SC's date and time.
+
+.sp
+.in +2
+.nf
+scadm date
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSetting the SC's Configuration Variables
+.sp
+.LP
+The following command sets the SC's configuration variable \fBnetsc_ipaddr\fR
+to \fB192.168.1.2\fR:
+
+.sp
+.in +2
+.nf
+scadm set netsc_ipaddr 192.168.1.2
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying the Current SC's Configuration Settings:
+.sp
+.LP
+The following command displays the current SC configuration settings:
+
+.sp
+.in +2
+.nf
+scadm show
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisplaying the Current Settings for a Variable
+.sp
+.LP
+The following command displays the current settings for the \fBsys_hostname\fR
+variable:
+
+.sp
+.in +2
+.nf
+scadm show sys_hostname
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRSending a Text-Based Critical Event
+.sp
+.LP
+The following command sends a critical event to the SC logs, alerts the current
+SC users, and sends an event to \fBsyslog\fR(3C):
+
+.sp
+.in +2
+.nf
+scadm send_event \fB-c\fR "The UPS signaled a loss in power"
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRSending an Informational Text-Based Event
+.sp
+.LP
+The following command sends an non-critical informational text based event to
+the SC event log:
+
+.sp
+.in +2
+.nf
+scadm send_event "The disk is close to full capacity"
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRAdding a User To the SC
+.sp
+.LP
+The following command adds user \fBrscroot\fR to the SC:
+
+.sp
+.in +2
+.nf
+scadm useradd rscroot
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRDeleting a User From the SC
+.sp
+.LP
+The following command deletes user \fBolduser\fR from the SC:
+
+.sp
+.in +2
+.nf
+scadm userdel olduser
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRDisplaying User Details
+.sp
+.LP
+The following command displays details of all user accounts:
+
+.sp
+.in +2
+.nf
+scadm usershow
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRDisplaying Details for a Specific User
+.sp
+.LP
+The following command displays details of user account \fBrscroot\fR:
+
+.sp
+.in +2
+.nf
+scadm usershow rscroot
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRSetting the User Permission Level
+.sp
+.LP
+The following command sets the full permission level for user \fBrscroot\fR to
+\fBaucr\fR:
+
+.sp
+.in +2
+.nf
+scadm userperm rscroot aucr
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRSetting the User Permission Level
+.sp
+.LP
+The following command sets only console access for user \fBnewuser\fR to
+\fBc\fR:
+
+.sp
+.in +2
+.nf
+scadm userperm newuser c
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRSetting the User Permission Level
+.sp
+.LP
+The following command sets the permission level for user \fBnewuser\fR to read
+only access:
+
+.sp
+.in +2
+.nf
+scadm userperm newuser
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRDisplaying the Current Network Parameters
+.sp
+.LP
+The following command displays the current network configuation parameters for
+the SC:
+
+.sp
+.in +2
+.nf
+scadm shownetwork
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 15 \fRViewing the Consolehistory
+.sp
+.LP
+The following command displays the content console in the \fBSC\fR event log:
+
+.sp
+.in +2
+.nf
+scadm consolehistory [-a]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 16 \fRViewing the Fruhistory
+.sp
+.LP
+The following command displays the content of the "field replacable unit" in
+the \fBSC\fR event log:
+
+.sp
+.in +2
+.nf
+scadm fruhistory [-a]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 17 \fRViewing the Loghistory
+.sp
+.LP
+The following command displays the most recent entries in the SC event log:
+
+.sp
+.in +2
+.nf
+scadm loghistory [-a]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 18 \fRDisplaying Verbose Information
+.sp
+.LP
+The following command displays verbose version information on the SC and its
+components:
+
+.sp
+.in +2
+.nf
+scadm version \fB-v\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuname\fR(1), \fBsyslog\fR(3C), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/sckmd.1m b/usr/src/man/man1m/sckmd.1m
new file mode 100644
index 0000000000..5eed9afdfa
--- /dev/null
+++ b/usr/src/man/man1m/sckmd.1m
@@ -0,0 +1,83 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sckmd 1M "25 Apr 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sckmd \- Sun cryptographic key management daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/platform/sun4u/lib/sckmd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsckmd\fR is a server process that resides on a high-end system domain to
+maintain the Internet Protocol Security (\fBIPsec\fR) Security Associations
+(\fBSAs\fR) needed to secure communications between a Service Processor or
+System Controller (SC) and platform management software running within a
+domain. The \fBcvcd\fR(1M) and \fBdcs\fR(1M) daemons use these Security
+Associations. See \fBipsec\fR(7P) for a description of Security Associations.
+.sp
+.LP
+The \fBsckmd\fR daemon receives \fBSA\fRs from the Service Processor or
+\fBSC\fR and installs these \fBSA\fRs in a domain's Security Association
+Database (\fBSADB\fR) using \fBpf_key\fR(7P).
+.sp
+.LP
+\fBsckmd\fR starts up at system boot time as an \fBSMF\fR service. The
+\fBFMRI\fR for the \fBsckmd\fR service is:
+.sp
+.in +2
+.nf
+svc:/platform/sun4u/sckmd:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A domain supports only one running \fBsckmd\fR process at a time.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcvcd\fR(1M), \fBdcs\fR(1M), \fBipsecconf\fR(1M), \fBipsecalgs\fR(1M),
+\fBattributes\fR(5), \fBipsec\fR(7P), \fBipsecah\fR(7P), \fBipsecesp\fR(7P),
+\fBpf_key\fR(7P)
+.SH NOTES
+.sp
+.LP
+The \fBsckmd\fR service is used only on Sun Fire high-end systems and the
+\fBSPARC\fR Enterprise Server family. It provides a mechanism for exchanging
+\fBIPsec\fR keys between a domain and its System Controller (\fBSC\fR) or
+Service Processor. These platforms use \fBIPsec\fR to secure the communications
+between the \fBSC\fR or Service Processor and certain platform-specific daemons
+in the domain. Such daemons currently include \fBcvcd\fR(1M) and \fBdcs\fR(1M).
+.sp
+.LP
+The documentation for each platform that supports \fBsckmd\fR describes how to
+configure its use of \fBIPsec\fR for such communications. Also, the
+documentation for each specific application describes how to configure its
+security policies and \fBIPsec\fR options in a manner appropriate for the
+target platform. Refer to the platform- and application-specific documentation
+for detailed information.
diff --git a/usr/src/man/man1m/scmadm.1m b/usr/src/man/man1m/scmadm.1m
new file mode 100644
index 0000000000..221bb1b456
--- /dev/null
+++ b/usr/src/man/man1m/scmadm.1m
@@ -0,0 +1,213 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH scmadm 1M "3 August 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+scmadm \- storage cache manager administration utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBscmadm\fR
+.fi
+
+.LP
+.nf
+\fBscmadm\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fBscmadm\fR \fB-e\fR
+.fi
+
+.LP
+.nf
+\fBscmadm\fR \fB-d\fR
+.fi
+
+.LP
+.nf
+\fBscmadm\fR \fB-v\fR
+.fi
+
+.LP
+.nf
+\fBscmadm\fR \fB-C\fR [\fIparameter\fR [= [\fIvalue\fR]]...]
+.fi
+
+.LP
+.nf
+\fBscmadm\fR \fB-o\fR {system | \fIcd\fR | \fIdevice\fR} [\fIoption\fR]
+.fi
+
+.LP
+.nf
+\fBscmadm\fR \fB-m\fR {\fIcd\fR | \fIdiskname\fR | all}
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBscmadm\fR command provides various options for controlling and gathering
+information about a storage device cache.
+.SH OPTIONS
+.sp
+.LP
+If no options are specified, \fBscmadm\fR displays a list of configured cache
+descriptors with disknames, options, and global options. The \fBscmadm\fR
+command supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays usage information for the \fBscmadm\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reads the configuration and enables the storage device cache with those
+parameters. See \fBdscfg\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shuts down the storage device cache.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the cache version number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR [\fIparameter\fR[=[\fIvalue\fR]] ...]\fR
+.ad
+.sp .6
+.RS 4n
+Sets or displays the configuration parameters. If the \fB-C\fR option is
+specified with no arguments the current cache configuration parameters are
+displayed. If \fIparameter\fR is specified, the current value of
+\fIparameter\fR is displayed. If \fIparameter=value\fR is specified, the
+current value of \fIparameter\fR is displayed and the parameter is changed to
+\fIvalue\fR. If \fIvalue\fR is omitted, or if \fIvalue\fR is specified as the
+null string, " ", or as "-", the parameter is deleted from the configuration
+and the system uses the default value. Multiple parameters can be specified in
+a single invocation of the \fBscmadm\fR command. A change in a configuration
+parameter takes effect only when the cache is next restarted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR { \fBsystem\fR | \fBcd\fR | \fIdiskname\fR } [\fIoption\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Sets or displays the options for the system or for the cache device specified
+by \fBcd\fR or \fIdiskname\fR. If the \fIoption\fR \fBrdcache\fR or
+\fBnordcache\fR is specified, the system or specified cache device is set to
+that option. The option is saved as part of the configuration so that the
+option persists. See \fBdscfg\fR(1M). To notify the system to "forget" about a
+saved option, use the \fBforget\fR option. This does not change the option; it
+just removes the option from the saved configuration. If no option is
+specified, current options are displayed. The \fBrdcache\fR option is set as
+the default. The \fIoption\fRs are defined as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrdcache\fR\fR
+.ad
+.sp .6
+.RS 4n
+Data blocks are likely to be referenced again and should remain in cache.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnordcache\fR\fR
+.ad
+.sp .6
+.RS 4n
+Data blocks are unlikely to be referenced again and should be treated as least
+recently used, so that other blocks can remain in the cache longer.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR { \fBcd\fR | \fIdiskname\fR | \fBall\fR }\fR
+.ad
+.sp .6
+.RS 4n
+Displays the cache descriptor and diskname map for the device specified by
+\fBcd\fR or \fIdiskname\fR or, if you specify \fBall\fR, displays the cache
+descriptors and diskname map for all storage devices on the system.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The \fBscmadm\fR command returns 0 for success, non-zero for error.
+.SH FILES
+.sp
+.LP
+\fB/dev/sdbc\fR
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdscfg\fR(1M), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBscmadm\fR fails if there is insufficient contiguous memory.
diff --git a/usr/src/man/man1m/sconadm.1m b/usr/src/man/man1m/sconadm.1m
new file mode 100644
index 0000000000..75ba1db835
--- /dev/null
+++ b/usr/src/man/man1m/sconadm.1m
@@ -0,0 +1,496 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sconadm 1M "27 Feb 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sconadm \- register system information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/sconadm\fR register \fB-a\fR
+ [\fB-e\fR softwareUpdate | \fB-E\fR softwareUpdate]
+ [\fB-h\fR \fIhostname\fR] [\fB-l\fR \fIlogfile\fR] [\fB-N\fR]
+ [\fB-p\fR \fIproxy_host\fR[:\fIproxy_port\fR]]
+ [\fB-r\fR \fIregistration_profile\fR] [\fB-u\fR \fIusername\fR]
+ [\fB-x\fR \fIproxy_username\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/sconadm\fR proxy [\fB-l\fR \fIlogfile\fR]
+ [\fB-p\fR \fIproxy_host\fR[:\fIproxy_port\fR]]
+ [\fB-r\fR \fIregistration_profile\fR] [\fB-x\fR \fIproxy_username\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsconadm\fR utility is a command-line version of the Basic Registration
+GUI. In the first form of the command in the SYNOPSIS, \fBsconadm\fR uses the
+\fBregister\fR subcommand to register a host with a registration server. In the
+second form, \fBsconadm\fR uses the \fBproxy\fR subcommand to configure all of
+the components for software update to use an HTTP web proxy.
+.sp
+.LP
+The parameters specified with \fB-u\fR, \fB-e\fR (or \fB-E\fR), \fB-h\fR,
+\fB-p\fR, and \fB-x\fR override values specified in your registration profile.
+A template for this profile, owned by root, with read-only permissions, is
+stored in \fB/usr/lib/breg/data/RegistrationProfile.properties\fR. See
+\fBregistration_profile\fR(4).
+.sp
+.LP
+For the \fBproxy\fR subcommand, the proxy password is stored in the
+\fBRegistrationProfile.properties\fR file, available if proxy authentication is
+needed. Storage in the profile prevents proxy passwords from being exposed as
+part of a listing of processes on a system.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 30n
+.rt
+Accept "Terms of Use and Binary Code License". Absence of this option means
+that you do not accept the license.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR softwareUpdate\fR
+.ad
+.RS 30n
+.rt
+Enable client to be managed at the Sun-hosted Update Connection Service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR softwareUpdate\fR
+.ad
+.RS 30n
+.rt
+Disable client's ability to be managed at the Sun-hosted Update Connection
+Service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhostname\fR\fR
+.ad
+.RS 30n
+.rt
+Hostname of the machine you want to register.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlogfile\fR\fR
+.ad
+.RS 30n
+.rt
+Pathname of log file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.RS 30n
+.rt
+Never register.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIproxy_host\fR[:\fIproxy_port\fR]\fR
+.ad
+.RS 30n
+.rt
+Proxy host name and optional proxy port number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIregistration_profile\fR\fR
+.ad
+.RS 30n
+.rt
+Pathname to a registration profile.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIusername\fR\fR
+.ad
+.RS 30n
+.rt
+User name (a Sun Online Account).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIproxy_username\fR\fR
+.ad
+.RS 30n
+.rt
+User name on the proxy host.
+.RE
+
+.SH EXAMPLES
+.sp
+.LP
+Unless specified otherwise, the commands below require root privileges or
+privileges equivalent to root. See \fBprivileges\fR(5).
+.LP
+\fBExample 1 \fRRegistering a New System
+.sp
+.LP
+Assume a file \fBregistrationprofile.properties\fR in \fB/tmp\fR that contains
+the following:
+
+.sp
+.in +2
+.nf
+userName=\fIuser123\fR
+password=\fIabc123\fR
+hostName=
+subscriptionKey=
+portalEnabled=false
+proxyHostName=
+proxyPort=
+proxyUserName=
+proxyPassword=
+.fi
+.in -2
+
+.sp
+.LP
+To register a new system using the profile above, you enter:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm register -a -r /tmp/registrationprofile.properties\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRReregistering a System with a Different User
+.sp
+.LP
+Assume a file \fBregistrationprofile.properties\fR in \fB/tmp\fR with the
+contents shown below. Note the changed specification for \fBuserName\fR and
+\fBpassword\fR.
+
+.sp
+.in +2
+.nf
+userName=\fInewuser\fR
+password=\fInewpassword\fR
+hostName=
+subscriptionKey=
+portalEnabled=false
+proxyHostName=
+proxyPort=
+proxyUserName=
+proxyPassword=
+.fi
+.in -2
+
+.sp
+.LP
+To reregister a new system using the profile above, you enter the same command
+you entered to register the system:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm register -a -r /tmp/registrationprofile.properties\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRReregistering a System, Adding a Sun Subscription Key
+.sp
+.LP
+Modify \fBregistrationprofile.properties\fR as follows:
+
+.sp
+.in +2
+.nf
+userName=\fInewuser\fR
+password=\fInewpassword\fR
+hostName=
+subscriptionKey=\fIabc12345678\fR
+portalEnabled=false
+proxyHostName=
+proxyPort=
+proxyUserName=
+proxyPassword=
+.fi
+.in -2
+
+.sp
+.LP
+Run the command:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm register -a -r /tmp/registrationprofile.properties\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRReregistering and Enabling Access to all Update Connection
+Services
+.sp
+.LP
+Modify \fBregistrationprofile.properties\fR as follows:
+
+.sp
+.in +2
+.nf
+userName=\fInewuser\fR
+password=\fInewpassword\fR
+hostName=
+subscriptionKey=\fIabc12345678\fR
+portalEnabled=false
+proxyHostName=
+proxyPort=
+proxyUserName=
+proxyPassword=
+.fi
+.in -2
+
+.sp
+.LP
+Note that \fBportalEnabled\fR is set to \fBfalse\fR. Run the command:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm register -a -r /tmp/registrationprofile.properties \e
+-e softwareUpdate\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRNever Registering
+.sp
+.LP
+To never register a system, enter:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm register -N\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRUsing a Proxy Server With Proxy Authentication
+.sp
+.LP
+Edit \fBregistrationprofile.properties\fR as follows:
+
+.sp
+.in +2
+.nf
+userName=
+password=
+hostName=
+subscriptionKey=
+portalEnabled=
+proxyHostName=webcache.mycompany.com
+proxyPort=8080
+proxyUserName=\fImyCompanyProxyUserName\fR
+proxyPassword=\fImyCompanyProxyPassword\fR
+.fi
+.in -2
+
+.sp
+.LP
+Run the command:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm proxy -r /tmp/registrationprofile.properties\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRChanging Proxy Host Settings
+.sp
+.LP
+Edit \fBregistrationprofile.properties\fR as follows:
+
+.sp
+.in +2
+.nf
+userName=
+password=
+hostName=
+subscriptionKey=
+portalEnabled=
+proxyHostName=webcache.mycompany.com
+proxyPort=8080
+proxyUserName=\fImyCompanyProxyUserName\fR
+proxyPassword=\fImyCompanyProxyPassword\fR
+.fi
+.in -2
+
+.sp
+.LP
+Run the command:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm proxy -r /tmp/registrationprofile.properties\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Then, change the \fBproxyHostName\fR value by running the following command:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm proxy -r /tmp/registrationprofile.properties \e
+-p newproxy.mycompany.com\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+After the preceding command all proxies use \fBnewproxy.mycompany.com\fR.
+
+.LP
+\fBExample 8 \fRResetting a System Not to Use a Proxy
+.sp
+.LP
+Edit \fBregistrationprofile.properties\fR as follows:
+
+.sp
+.in +2
+.nf
+userName=
+password=
+hostName=
+subscriptionKey=
+portalEnabled=
+proxyHostName=
+proxyPort=
+proxyUserName=
+proxyPassword=
+.fi
+.in -2
+
+.sp
+.LP
+Note that values for all proxy fields are null.
+
+.sp
+.LP
+Run the command:
+
+.sp
+.in +2
+.nf
+\fB/usr/sbin/sconadm proxy -r /tmp/registrationprofile.properties\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Success.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/breg/data/RegistrationProfile.properties\fR\fR
+.ad
+.sp .6
+.RS 4n
+Registration profile template.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBregistration_profile\fR(4), \fBattributes\fR(5), \fBprivileges\fR(5)
diff --git a/usr/src/man/man1m/sdpadm.1m b/usr/src/man/man1m/sdpadm.1m
new file mode 100644
index 0000000000..727c8de526
--- /dev/null
+++ b/usr/src/man/man1m/sdpadm.1m
@@ -0,0 +1,92 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sdpadm 1M "22 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sdpadm \- SDP system configuration administration
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/sdpadm\fR status | enable | disable
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsdpadm\fR command is used to display the system state of the Sockets
+Direct Protocol (SDP) protocol. The \fBsdpadm\fR command can optionally be used
+to set the state of the SDP protocol. See \fBsdp\fR(7D).
+.sp
+.LP
+By default the SDP protocol is disabled on the system. It can be enabled by
+using \fBsdpadm\fR \fBenable\fR.
+.SH OPTIONS
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstatus\fR\fR
+.ad
+.RS 11n
+.rt
+Displays the system status of the SDP protocol
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable\fR\fR
+.ad
+.RS 11n
+.rt
+Enables the SDP protocol
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable\fR\fR
+.ad
+.RS 11n
+.rt
+Disables the SDP protocol
+.RE
+
+.SH USAGE
+.sp
+.LP
+The required privileges to change the state of the SDP protocol are controlled
+by the network configuration policy. If a user does not have the correct
+privileges to set the SDP policy, \fBsdpadm\fR returns the current state of SDP
+without having changed the state.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBsdp\fR(7D)
+.sp
+.LP
+Infiniband Specification Volume 1 (\fBhttp://www.infinibandta.org\fR)
diff --git a/usr/src/man/man1m/sendmail.1m b/usr/src/man/man1m/sendmail.1m
new file mode 100644
index 0000000000..52ecb08dc9
--- /dev/null
+++ b/usr/src/man/man1m/sendmail.1m
@@ -0,0 +1,3790 @@
+'\" te
+.\" Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
+.\" Copyright (c) 1988, 1991, 1993 The Regents of the University of California. All rights reserved.
+.\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sendmail 1M "25 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sendmail \- send mail over the internet
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/sendmail\fR [\fB-Ac\fR] [\fB-Am\fR] [\fB-ba\fR] [\fB-bD\fR] [\fB-bd\fR] [\fB-bi\fR] [\fB-bl\fR]
+ [\fB-bm\fR] [\fB-bp\fR] [\fB-bP\fR] [\fB-bs\fR] [\fB-bt\fR] [\fB-bv\fR] [\fB-B\fR \fItype\fR] [\fB-C\fR \fIfile\fR]
+ [\fB-D\fR \fIlogfile\fR] [\fB-d\fR \fIX\fR] [\fB-F\fR \fIfullname\fR] [\fB-f\fR \fIname\fR] [\fB-G\fR]
+ [\fB-h\fR \fIN\fR] [\fB-L \fItag\fR\fR] [\fB-M\fR x\fIvalue\fR] [\fB-N\fR \fInotifications\fR] [\fB-n\fR]
+ [\fB-O\fR\fIoption\fR =\fIvalue\fR] [\fB-o\fR x\fIvalue\fR] [\fB-p\fR \fIprotocol\fR]
+ [\fB-Q\fR [\fIreason\fR]] [\fB-q\fR [\fItime\fR]] [\fB-q\fR \fIXstring\fR] [\fB-R\fR \fIret\fR]
+ [\fB-r\fR \fIname\fR] [\fB-t\fR] [\fB-V\fR \fIenvid\fR] [\fB-v\fR] [\fB-X\fR \fIlogfile\fR]
+ [\fIaddress\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsendmail\fR utility sends a message to one or more people, routing the
+message over whatever networks are necessary. \fBsendmail\fR does internetwork
+forwarding as necessary to deliver the message to the correct place.
+.sp
+.LP
+\fBsendmail\fR is not intended as a user interface routine. Other programs
+provide user-friendly front ends. \fBsendmail\fR is used only to deliver
+pre-formatted messages.
+.sp
+.LP
+With no flags, \fBsendmail\fR reads its standard input up to an EOF, or a line
+with a single dot, and sends a copy of the letter found there to all of the
+addresses listed. It determines the network to use based on the syntax and
+contents of the addresses.
+.sp
+.LP
+Local addresses are looked up in the local \fBaliases\fR(4) file, or in a name
+service as defined by the \fBnsswitch.conf\fR(4) file, and aliased
+appropriately. In addition, if there is a \fB\&.forward\fR file in a
+recipient's home directory, \fBsendmail\fR forwards a copy of each message to
+the list of recipients that file contains. Refer to the \fBNOTES\fR section for
+more information about \fB\&.forward\fR files. Aliasing can be prevented by
+preceding the address with a backslash.
+.sp
+.LP
+There are several conditions under which the expected behavior is for the alias
+database to be either built or rebuilt. This cannot occur under any
+circumstances unless root owns \fBand\fR has exclusive write permission to the
+\fB/etc/mail/aliases*\fR files.
+.sp
+.LP
+If a message is found to be undeliverable, it is returned to the sender with
+diagnostics that indicate the location and nature of the failure; or, the
+message is placed in a \fBdead.letter\fR file in the sender's home directory.
+.SS "Service Management"
+.sp
+.LP
+The \fBsendmail\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifiers:
+.sp
+.in +2
+.nf
+svc:/network/smtp:sendmail
+svc:/network/sendmail-client:default
+
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on these services, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The services'
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+These are separate services rather than instances of the same service so that
+other services can properly express any dependencies. In particular, here are
+some guidelines about which service/instance should be depended on for which
+purposes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For a service that uses \fBsendmail\fR to send mail, an optional dependency on
+the service \fBsvc:/network/sendmail-client\fR might be in order.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For a service that needs to receive mail in general, but does not depend on
+\fBsendmail\fR being the particular SMTP receiver, a dependency on the service
+\fBsvc:/network/smtp\fR might be in order.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+For a service that needs to interact with sendmail in particular, such as a
+\fBMilter\fR, a dependency on the instance \fBsvc:/network/smtp:sendmail\fR
+might be in order.
+.RE
+.sp
+.LP
+For the last two, note the difference, as the latter has the \fB":sendmail"\fR
+instance specification, whereas the former does not, thus representing the more
+general service.
+.SS "Enabling Access to Remote Clients"
+.sp
+.LP
+On an unmodified system, access to \fBsendmail\fR by remote clients is enabled
+and disabled through the service management facility (see \fBsmf\fR(5)). In
+particular, remote access is determined by the value of the \fBlocal_only\fR
+SMF property:
+.sp
+.in +2
+.nf
+svc:/network/smtp:sendmail/config/local_only = true
+.fi
+.in -2
+
+.sp
+.LP
+A setting of \fBtrue\fR, as above, disallows remote access; \fBfalse\fR allows
+remote access. The default value is \fBtrue\fR.
+.sp
+.LP
+The following example shows the sequence of SMF commands used to enable
+\fBsendmail\fR to allow access to remote systems:
+.sp
+.in +2
+.nf
+# \fBsvccfg -s svc:/network/smtp:sendmail setprop config/local_only = false\fR
+# \fBsvcadm refresh svc:/network/smtp:sendmail\fR
+# \fBsvcadm restart svc:/network/smtp:sendmail\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBsvcadm\fR(1M) and \fBsvccfg\fR(1M).
+.sp
+.LP
+Note, however, on a system where any of the \fBsendmail\fR(4) files have been
+customized, setting this property might not have the intended effect. See
+\fBsendmail\fR(4) for details.
+.SS "Automated Rebuilding of Configuration Files"
+.sp
+.LP
+See \fBsendmail\fR(4) for details on which service properties can be set to
+automate (re)building of configuration files when the service is started.
+.SS "Restricting Host Access"
+.sp
+.LP
+\fBsendmail\fR uses TCP Wrappers to restrict access to hosts. It uses the
+service name of \fBsendmail\fR for \fBhosts_access()\fR. For more information
+on TCP Wrappers, see \fBtcpd\fR(1M) and \fBhosts_access\fR(4) in the
+\fBSUNWtcpd\fR package. \fBtcpd\fR(1M) and \fBhosts_access\fR(4) are not part
+of the Solaris man pages.
+.SS "Startup Options"
+.sp
+.LP
+The \fB/etc/default/sendmail\fR file stores startup options for \fBsendmail\fR
+so that the options are not removed when a host is upgraded. See also
+\fBsendmail\fR(4) for details on which service properties can be set to
+automate (re)building of configuration files when the service is started.
+.sp
+.LP
+You can use the following variables in the \fB/etc/default/sendmail\fR startup
+file:
+.sp
+.ne 2
+.mk
+.na
+\fBCLIENTOPTIONS=\fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Selects additional options to be used with the client daemon, which looks in
+the client-only queue (\fB/var/spool/clientmqueue\fR) and acts as a client
+queue runner. No syntax checking is done, so be careful when making changes to
+this variable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBCLIENTQUEUEINTERVAL=\fI#\fR\fR
+.ad
+.sp .6
+.RS 4n
+Similar to the \fBQUEUEINTERVAL\fR option, \fBCLIENTQUEUEINTERVAL\fR sets the
+time interval for mail queue runs. However, the \fBCLIENTQUEUEINTERVAL\fR
+option controls the functions of the client daemon, instead of the functions of
+the master daemon. Typically, the master daemon is able to deliver all messages
+to the SMTP port. However, if the message load is too high or the master daemon
+is not running, then messages go into the client-only queue,
+\fB/var/spool/clientmqueue\fR. The client daemon, which checks in the
+client-only queue, then acts as a client queue processor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBETRN_HOSTS=\fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables an SMTP client and server to interact immediately without waiting for
+the queue run intervals, which are periodic. The server can immediately deliver
+the portion of its queue that goes to the specified hosts. For more
+information, refer to the \fBetrn\fR(1M) man page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBMODE=-bd\fR
+.ad
+.sp .6
+.RS 4n
+Selects the mode to start \fBsendmail\fR with. Use the \fB-bd\fR option or
+leave it undefined.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBOPTIONS=\fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Selects additional options to be used with the master daemon. No syntax
+checking is done, so be careful when making changes to this variable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBQUEUEINTERVAL=\fI#\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the interval for mail queue runs on the master daemon. \fI#\fR can be a
+positive integer that is followed by either \fBs\fR for seconds, \fBm\fR for
+minutes, \fBh\fR for hours, \fBd\fR for days, or \fBw\fR for weeks. The syntax
+is checked before \fBsendmail\fR is started. If the interval is negative or if
+the entry does not end with an appropriate letter, the interval is ignored and
+\fBsendmail\fR starts with a queue interval of 15 minutes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBQUEUEOPTIONS=p\fR
+.ad
+.sp .6
+.RS 4n
+Enables one persistent queue runner that sleeps between queue run intervals,
+instead of a new queue runner for each queue run interval. You can set this
+option to \fBp\fR, which is the only setting available. Otherwise, this option
+is not set.
+.RE
+
+.SS "Mail Filter API"
+.sp
+.LP
+\fBsendmail\fR supports a mail filter API called "milter". For more
+information, see \fB/usr/include/libmilter/README\fR and http://www.milter.org
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Ac\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses \fBsubmit.cf\fR even if the operation mode does not indicate an initial
+mail submission.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Am\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses \fBsendmail.cf\fR even if the operation mode indicates an initial mail
+submission.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ba\fR\fR
+.ad
+.sp .6
+.RS 4n
+Goes into \fBARPANET\fR mode. All input lines must end with a RETURN-LINEFEED,
+and all messages are generated with a RETURN-LINEFEED at the end. Also, the
+\fBFrom:\fR and \fBSender:\fR fields are examined for the name of the sender.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Runs as a daemon in the background, waiting for incoming SMTP connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bD\fR\fR
+.ad
+.sp .6
+.RS 4n
+Runs as a daemon in the foreground, waiting for incoming SMTP connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Initializes the \fBaliases\fR(4) database. Root must own \fIand\fR have
+exclusive write permission to the \fB/etc/mail/aliases*\fR files for successful
+use of this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Runs as a daemon (like \fB-bd\fR) but accepts only loopback SMTP connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delivers mail in the usual way (default).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints a summary of the mail queues.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bP\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the number of entries in the queues. This option is only available with
+shared memory support.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses the SMTP protocol as described in RFC 2821. This flag implies all the
+operations of the \fB-ba\fR flag that are compatible with \fBSMTP\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Runs in address test mode. This mode reads addresses and shows the steps in
+parsing; it is used for debugging configuration tables.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-bv\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verifies names only. Does not try to collect or deliver a message. Verify mode
+is normally used for validating users or mailing lists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR \fItype\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates body \fItype\fR (\fB7BIT\fR or \fB8BITMIME\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses alternate configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIlogfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Send debugging output to the indicated log file instead of \fBstdout\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIX\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets debugging value to \fIX\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the name of the "from" person (that is, the sender of the mail).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIfullname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the full name of the sender.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR\fR
+.ad
+.sp .6
+.RS 4n
+When accepting messages by way of the command line, indicates that they are for
+relay (gateway) submission. When this flag is set, \fBsendmail\fR might
+complain about syntactically invalid messages, for example, unqualified host
+names, rather than fixing them. \fBsendmail\fR does not do any canonicalization
+in this mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the hop count to \fIN\fR. The hop count is incremented every time the mail
+is processed. When it reaches a limit, the mail is returned with an error
+message, the victim of an aliasing loop.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR \fItag\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the identifier used in \fBsyslog\fR messages to the supplied \fItag\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-M\fR\fIxvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets macro \fIx\fR to the specified \fIvalue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Does not do aliasing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR \fInotifications\fR\fR
+.ad
+.sp .6
+.RS 4n
+Tags all addresses being sent as wanting the indicated \fInotifications\fR,
+which consists of the word "NEVER" or a comma-separated list of "SUCCESS",
+"FAILURE", and "DELAY" for successful delivery, failure and a message that is
+stuck in a queue somwhere. The default is "FAILURE,DELAY".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fIxvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets option \fIx\fR to the specified \fIvalue\fR. \fBProcessing\fR
+\fBOptions\fR are described below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fIoption=value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets \fIoption\fR to the specified \fIvalue\fR (for long from names).
+\fBProcessing\fR \fBOptions\fR are described below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprotocol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the sending protocol. The \fIprotocol\fR field can be in form
+\fIprotocol\fR\fB:\fR\fIhost\fR to set both the sending protocol and the
+sending host. For example: \fB-pUUCP:uunet\fR sets the sending \fIprotocol\fR
+to \fBUUCP\fR and the sending host to \fBuunet\fR. Some existing programs use
+\fB-oM\fR to set the \fIr\fR and \fIs\fR macros; this is equivalent to using
+\fB-p\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR[\fItime\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Processes saved messages in the queue at given intervals. If \fItime\fR is
+omitted, processes the queue once. \fItime\fR is given as a tagged number,
+where \fIs\fR is seconds, \fIm\fR is minutes, \fIh\fR is hours, \fId\fR is
+days, and \fIw\fR is weeks. For example, \fB-q1h30m\fR or \fB-q90m\fR would
+both set the timeout to one hour thirty minutes.
+.sp
+By default, sendmail runs in the background. This option can be used safely
+with \fB-bd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-qp[\fR\fItime\fR\fB-]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Similar to \fB-q\fR[\fItime\fR], except that instead of periodically forking a
+child to process the queue, \fBsendmail\fR forks a single persistent child for
+each queue that alternates between processing the queue and sleeping. The sleep
+time (\fItime\fR) is specified as the argument; it defaults to \fB1\fR second.
+The process always sleeps at least \fB5\fR seconds if the queue was empty in
+the previous queue run.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-qf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Processes saved messages in the queue once and does not \fBfork\fR(2), but runs
+in the foreground.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-qG\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Processes jobs in queue group called \fIname\fR only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q[!]I\fR \fIsubstr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits processed jobs to those containing \fIsubstr\fR as a substring of the
+queue \fBID\fR or not when \fB!\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q[!]Q\fR \fIsubstr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits processed jobs to those quarantined jobs containing \fIsubstr\fR as a
+substring of the quarantine \fIreason\fR or not when \fB!\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q[!]R\fR \fIsubstr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits processed jobs to those containing \fIsubstr\fR as a substring of one of
+the recipients or not when \fB!\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q[!]S\fR \fIsubstr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits processed jobs to those containing \fIsubstr\fR as a substring of the
+sender or not when \fB!\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR[\fIreason\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Quarantines a normal queue item with the given reason or unquarantines a
+quarantined queue item if no reason is given. This should only be used with
+some sort of item matching as described above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+An alternate and obsolete form of the \fB-f\fR flag.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIret\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the information you want returned if the message bounces. \fIret\fR
+can be \fBHDRS\fR for headers only or \fBFULL\fR for headers plus body.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reads message for recipients. \fBTo:\fR,\fBCc:\fR, and \fBBcc:\fR lines are
+scanned for people to send to. The \fBBcc:\fR line is deleted before
+transmission. Any addresses in the argument list is suppressed. The
+\fBNoRecipientAction\fR Processing Option can be used to change the behavior
+when no legal recipients are included in the message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Goes into verbose mode. Alias expansions are announced, and so forth.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fIenvid\fR\fR
+.ad
+.sp .6
+.RS 4n
+The indicated \fIenvid\fR is passed with the envelope of the message and
+returned if the message bounces.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR \fIlogfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Logs all traffic in and out of \fBsendmail\fR in the indicated \fIlogfile\fR
+for debugging mailer problems. This produces a lot of data very quickly and
+should be used sparingly.
+.RE
+
+.SS "Processing Options"
+.sp
+.LP
+There are a number of "random" options that can be set from a configuration
+file. Options are represented by a single character or by multiple character
+names. The syntax for the single character names of is:
+.sp
+.in +2
+.nf
+\fBO\fR\fIxvalue\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This sets option \fIx\fR to be \fIvalue\fR. Depending on the option,
+\fIvalue\fR may be a string, an integer, a boolean (with legal values \fBt\fR,
+\fBT\fR, \fBf\fR, or \fBF\fR; the default is \fBTRUE\fR), or a time interval.
+.sp
+.LP
+The multiple character or long names use this syntax:
+.sp
+.in +2
+.nf
+\fBO\fR \fILongname=argument\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This sets the option \fILongname\fR to be \fIargument\fR. The long names are
+beneficial because they are easier to interpret than the single character
+names.
+.sp
+.LP
+Not all processing options have single character names associated with them. In
+the list below, the multiple character name is presented first followed by the
+single character syntax enclosed in parentheses.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAliasFile (A\fR\fIfile\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies possible alias files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAliasWait (a\fR \fIN\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, waits up to \fIN\fR minutes for an "@:@" entry to exist in the
+\fBaliases\fR(4) database before starting up. If it does not appear in \fIN\fR
+minutes, issues a warning. Defaults to 10 minutes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAllowBogusHELO\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows a \fBHELO SMTP\fR command that does not include a host name. By default
+this option is disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBadRcptThrottle=\fR\fIN\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set and more than the specified number of recipients in a single \fBSMTP\fR
+envelope are rejected, sleeps for one second after each rejected RCPT command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBlankSub (B\fR\fIc\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the blank substitution character to \fIc\fR. Unquoted spaces in addresses
+are replaced by this character. Defaults to SPACE (that is, no change is made).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCACertFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing one CA cert.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCACertPath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path to directory with certs of CAs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCheckAliases (n)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Validates the RHS of aliases when rebuilding the \fBaliases\fR(4) database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCheckpointInterval (C\fR\fIN\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Checkpoints the queue every \fIN\fR (default \fB10\fR) addresses sent. If your
+system crashes during delivery to a large list, this prevents retransmission to
+any but the last \fIN\fR recipients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBClassFactor (z\fR\fIfact\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+The indicated factor \fIfact\fR is multiplied by the message class (determined
+by the \fBPrecedence:\fR field in the user header and the \fBP\fR lines in the
+configuration file) and subtracted from the priority. Thus, messages with a
+higher \fBPriority:\fR are favored. Defaults to \fB1800\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBClientCertFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing the cert of the client, that is, this cert is used when
+\fBsendmail\fR acts as client.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBClientKeyFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing the private key belonging to the client cert.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBClientPortOptions\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets client \fBSMTP\fR options. The options are key=value pairs. Known keys
+are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAddr\fR \fIAddress Mask\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIAddress Mask\fR defaults to \fBINADDR_ANY\fR. The address mask can be a
+numeric address in dot notation or a network name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFamily\fR\fR
+.ad
+.sp .6
+.RS 4n
+Address family (defaults to INET).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBListen\fR\fR
+.ad
+.sp .6
+.RS 4n
+Size of listen queue (defaults to 10).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPort\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name/number of listening port (defaults to \fBsmtp\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRcvBufSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The size of the TCP/IP receive buffer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSndBufSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The size of the TCP/IP send buffer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBModifier\fR\fR
+.ad
+.sp .6
+.RS 4n
+Options (flags) for the daemon. Can be:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBh\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses name of interface for \fBHELO\fR command.
+.RE
+
+If \fBh\fR is set, the name corresponding to the outgoing interface address
+(whether chosen by means of the \fBConnection\fR parameter or the default) is
+used for the \fBHELO\fR/\fBEHLO\fR command.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBColonOkInAddr\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, colons are treated as a regular character in addresses. If not set,
+they are treated as the introducer to the RFC 822 "group" syntax. This option
+is on for version 5 and lower configuration files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBConnectionCacheSize (k\fR\fIN\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of open connections that are to be cached at a time. The
+default is \fB1\fR. This delays closing the current connection until either
+this invocation of \fBsendmail\fR needs to connect to another host or it
+terminates. Setting it to \fB0\fR defaults to the old behavior, that is,
+connections are closed immediately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBConnectionCacheTimeout (K\fR\fItimeout\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum amount of time a cached connection is permitted to idle without
+activity. If this time is exceeded, the connection is immediately closed. This
+value should be small (on the order of ten minutes). Before \fBsendmail\fR uses
+a cached connection, it always sends a \fBNOOP\fR (no operation) command to
+check the connection. If the \fBNOOP\fR command fails, it reopens the
+connection. This keeps your end from failing if the other end times out. The
+point of this option is to be a good network neighbor and avoid using up
+excessive resources on the other end. The default is five minutes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBConnectionRateThrottle\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of connections permitted per second. After this many
+connections are accepted, further connections are delayed. If not set or <= 0,
+there is no limit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBConnectionRateWindowSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Define the length of the interval for which the number of incoming connections
+is maintained. The default is 60 seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBControlSocketName\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of the control socket for daemon management. A running \fBsendmail\fR
+daemon can be controlled through this Unix domain socket. Available commands
+are: \fBhelp\fR, \fBrestart\fR, \fBshutdown\fR, and \fBstatus\fR. The
+\fBstatus\fR command returns the current number of daemon children, the free
+disk space (in blocks) of the queue directory, and the load average of the
+machine expressed as an integer. If not set, no control socket is available.
+For the sake of security, this Unix domain socket must be in a directory which
+is accessible only by root; \fB/var/spool/mqueue/.smcontrol\fR is recommended
+for the socket name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCRLFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing certificate revocation status, useful for X.509v3
+authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDaemonPortOptions (O\fR\fIoptions\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets server SMTP options. The options are \fIkey=value\fR pairs. Known keys
+are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBName\fR\fR
+.ad
+.sp .6
+.RS 4n
+User-definable name for the daemon (defaults to "\fBDaemon#\fR"). Used for
+error messages and logging.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAddr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Address mask (defaults \fBINADDR_ANY)\fR.
+.sp
+The address mask may be a numeric address in dot notation or a network name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFamily\fR\fR
+.ad
+.sp .6
+.RS 4n
+Address family (defaults to \fBINET).\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBInputMailFilters\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of input mail filters for the daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBListen\fR\fR
+.ad
+.sp .6
+.RS 4n
+Size of listen queue (defaults to \fB10\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBModifier\fR\fR
+.ad
+.sp .6
+.RS 4n
+Options (flags) for the daemon; can be a sequence (without any delimiters) of:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBa\fR\fR
+.ad
+.sp .6
+.RS 4n
+Requires authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Binds to interface through which mail has been received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Performs hostname canonification (\fB\&.cf\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Requires fully qualified hostname (\fB\&.cf\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBh\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses name of interface for \fBHELO\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows unqualified addresses (\fB\&.cf\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBC\fR\fR
+.ad
+.sp .6
+.RS 4n
+Does not perform hostname canonification.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disallows \fBETRN\fR (see \fBRFC\fR 2476).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBName\fR\fR
+.ad
+.sp .6
+.RS 4n
+User-definable name for the daemon (defaults to \fBDaemon#\fR). Used for error
+messages and logging.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPort\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name/number of listening port (defaults to \fBsmtp\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBReceiveSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The size of the TCP/IP receive buffer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSendSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The size of the TCP/IP send buffer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchildren\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum number of children per daemon. See \fBMaxDaemonChildren\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDeliveryMode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delivery mode per daemon. See \fBDeliveryMode\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefuseLA\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBRefuseLA\fR per daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelayLA\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBDelayLA\fR per daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqueueLA\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBQueueLA\fR per daemon.
+.RE
+
+\fBsendmail\fR listens on a new socket for each occurrence of the
+\fBDaemonPortOptions\fR option in a configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDataFileBufferSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the threshold, in bytes, before a memory-bases queue data file becomes
+disk-based. The default is 4096 bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDeadLetterDrop\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the location of the system-wide dead.letter file, formerly hard-coded
+to \fB/var/tmp/dead.letter\fR. If this option is not set (the default),
+\fBsendmail\fR does not attempt to save to a system-wide \fBdead.letter\fR file
+in the event it cannot bounce the mail to the user or postmaster. Instead, it
+renames the \fBqf\fR file as it has in the past when the \fBdead.letter\fR file
+could not be opened.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDefaultCharSet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the default character set to use when converting unlabeled 8 bit input to
+MIME.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDefaultUser (g\fR\fIgid\fR\fB) or (u\fR\fIuid\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the default group ID for mailers to run in to \fIgid\fR or set the default
+userid for mailers to \fIuid\fR. Defaults to \fB1\fR. The value can also be
+given as a symbolic group or user name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDelayLA=\fR\fILA\fR\fR
+.ad
+.sp .6
+.RS 4n
+When the system load average exceeds \fILA\fR, \fBsendmail\fR sleeps for one
+second on most SMTP commands and before accepting connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDeliverByMin=\fR\fItime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets minimum time for \fBDeliver By SMTP Service Extension\fR (RFC 2852). If
+\fB0\fR, no time is listed, if less than \fB0\fR, the extension is not offered,
+if greater than \fB0\fR, it is listed as minimum time for the \fBEHLO\fR
+keyword \fBDELIVERBY\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDeliveryMode (d\fR\fIx\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delivers in mode \fIx\fR. Legal modes are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delivers interactively (synchronously).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delivers in background (asynchronously).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deferred mode. Database lookups are deferred until the actual queue run.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBq\fR\fR
+.ad
+.sp .6
+.RS 4n
+Just queues the message (delivers during queue run).
+.RE
+
+Defaults to \fBb\fR if no option is specified, \fBi\fR if it is specified but
+given no argument (that is, \fBOd\fR is equivalent to \fBOdi\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDHParameters\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing the DH parameters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDialDelay\fR\fR
+.ad
+.sp .6
+.RS 4n
+If a connection fails, waits this many seconds and tries again. Zero means "do
+not retry".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDontBlameSendmail\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, overrides the file safety checks. This compromises system security and
+should not be used. See http://www.sendmail.org/tips/DontBlameSendmail.html for
+more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDontExpandCnames\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, $[ ... $] lookups that do DNS-based lookups do not expand CNAME
+records.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDontInitGroups\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, the \fBinitgroups\fR(3C) routine is never invoked. If you set this,
+agents run on behalf of users only have their primary (\fB/etc/passwd\fR) group
+permissions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDontProbeInterfaces\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, \fBsendmail\fR does not insert the names and addresses of any local
+interfaces into the \fB$=w class\fR. If set, you must also include support for
+these addresses, otherwise mail to addresses in this list bounces with a
+configuration error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDontPruneRoutes (R)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, does not prune route-addr syntax addresses to the minimum possible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDoubleBounceAddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+If an error occurs when sending an error message, sends that "double bounce"
+error message to this address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEightBitMode (8)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses 8-bit data handling. This option requires one of the following keys. The
+key can selected by using just the first character, but using the full word is
+better for clarity.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmimify\fR\fR
+.ad
+.sp .6
+.RS 4n
+Does any necessary conversion of \fB8BITMIME\fR to 7-bit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpass\fR\fR
+.ad
+.sp .6
+.RS 4n
+Passes unlabeled 8-bit input through as is.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstrict\fR\fR
+.ad
+.sp .6
+.RS 4n
+Rejects unlabeled 8-bit input.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBErrorHeader (E\fR\fIfile/message\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Appends error messages with the indicated message. If it begins with a slash,
+it is assumed to be the pathname of a file containing a message (this is the
+recommended setting). Otherwise, it is a literal message. The error file might
+contain the name, email address, and/or phone number of a local postmaster who
+could provide assistance to end users. If the option is missing or \fINULL\fR,
+or if it names a file which does not exist or which is not readable, no message
+is printed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBErrorMode (e\fR\fIx\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disposes of errors using mode \fIx\fR. The values for \fIx\fR are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBe\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mails back errors and gives \fB0\fR exit status always.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mails back errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints error messages (default).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBq\fR\fR
+.ad
+.sp .6
+.RS 4n
+No messages, just gives exit status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Writes back errors (mail if user not logged in).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFallbackMXhost (V\fR\fIfallbackhost\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If specified, the \fIfallbackhost\fR acts like a very low priority MX on every
+host. This is intended to be used by sites with poor network connectivity.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFallBackSmartHost\fR\fR
+.ad
+.sp .6
+.RS 4n
+If specified, the \fIfallBackSmartHost\fR is used in a last-ditch effort for
+each host. This is intended to be used by sites with "fake internal DNS". That
+is, a company whose DNS accurately reflects the world inside that company's
+domain but not outside.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFastSplit\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set to a value greater than zero (the default is one), it suppresses the MX
+lookups on addresses when they are initially sorted, that is, for the first
+delivery attempt. This usually results in faster envelope splitting unless the
+MX records are readily available in a local DNS cache. To enforce initial
+sorting based on MX records set \fBFastSplit\fR to zero. If the mail is
+submitted directly from the command line, then the value also limits the number
+of processes to deliver the envelopes; if more envelopes are created they are
+only queued up and must be taken care of by a queue run. Since the default
+submission method is by way of SMTP (either from a MUA or by way of the Message
+Submission Program [MSP]), the value of \fBFastSplit\fR is seldom used to limit
+the number of processes to deliver the envelopes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBForkEachJob (Y)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, delivers each job that is run from the queue in a separate process. Use
+this option if you are short of memory, since the default tends to consume
+considerable amounts of memory while the queue is being processed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBForwardPath (J\fR\fIpath\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the path for searching for users' \fB\&.forward\fR files. The default is
+\fB$z/.forward\fR. Some sites that use the automounter may prefer to change
+this to \fB/var/forward/$u\fR to search a file with the same name as the user
+in a system directory. It can also be set to a sequence of paths separated by
+colons; \fBsendmail\fR stops at the first file it can successfully and safely
+open. For example, \fB/var/forward/$u:$z/.forward\fR searches first in
+\fB/var/forward/\fR \fIusername\fR and then in
+\fB~\fR\fIusername\fR\fB/.forward\fR (but only if the first file does not
+exist). Refer to the NOTES section for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHeloName=\fIname\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the name to be used for \fBHELO\fR/\fBEHLO\fR (instead of \fB$j\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHelpFile (H\fR\fIfile\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the help file for SMTP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHoldExpensive (c)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If an outgoing mailer is marked as being expensive, does not connect
+immediately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHostsFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the file to use when doing "file" type access of host names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHostStatusDirectory\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, host status is kept on disk between \fBsendmail\fR runs in the named
+directory tree. If a full path is not used, then the path is interpreted
+relative to the queue directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIgnoreDots (i)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Ignores dots in incoming messages. This is always disabled (that is, dots are
+always accepted) when reading \fBSMTP\fR mail.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLogLevel (L\fR\fIn\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the default log level to \fIn\fR. Defaults to \fB9\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB(M\fR\fIx\|value\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the macro \fIx\fR to \fIvalue\fR. This is intended only for use from the
+command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMailboxDatabase\fR\fR
+.ad
+.sp .6
+.RS 4n
+Type of lookup to find information about local mail boxes, defaults to \fBpw\fR
+which uses \fBgetpwnam\fR(3C). Other types can be introduced by adding them to
+the source code, see \fBlibsm/mbdb.c\fR for details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMatchGECOS (G)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Tries to match recipient names using the GECOS field. This allows for mail to
+be delivered using names defined in the GECOS field in \fB/etc/passwd\fR as
+well as the login name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxDaemonChildren\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of children the daemon permits. After this number,
+connections are rejected. If not set or <=0, there is no limit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxHopCount (h\fR\fIN\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum hop count. Messages that have been processed more than \fIN\fR
+times are assumed to be in a loop and are rejected. Defaults to \fB25\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxMessageSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum size of messages that are accepted (in bytes).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxMimeHeaderLength=\fR\fIM\fR\fB[/\fR\fIN\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the maximum length of certain MIME header field values to \fIM\fR
+characters. For some of these headers which take parameters, the maximum length
+of each parameter is set to \fIN\fR if specified. If \fB/\fR\fIN\fR is not
+specified, one half of \fIM\fR is used. By default, these values are \fB0\fR,
+meaning no checks are done.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxNOOPCommands=\fR\fIN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Overrides the default of 20 for the number of useless commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxQueueChildren=\fR\fIN\fR\fR
+.ad
+.sp .6
+.RS 4n
+When set, this limits the number of concurrent queue runner processes to
+\fIN\fR. This helps to control the amount of system resources used when
+processing the queue. When there are multiple queue groups defined and the
+total number of queue runners for these queue groups would exceed
+\fBMaxQueueChildren\fR then the queue groups are not all run concurrently. That
+is, some portion of the queue groups run concurrently such that
+\fBMaxQueueChildren\fR is not be exceeded, while the remaining queue groups are
+run later (in round robin order). See \fBMaxRunnersPerQueue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxQueueRunSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, limits the maximum size of any given queue run to this number of
+entries. This stops reading the queue directory after this number of entries is
+reached; job priority is not used. If not set, there is no limit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxRunnersPerQueue=\fR\fIN\fR\fR
+.ad
+.sp .6
+.RS 4n
+This sets the default maximum number of queue runners for queue groups. Up to
+\fIN\fR queue runners work in parallel on a queue group's messages. This is
+useful where the processing of a message in the queue might delay the
+processing of subsequent messages. Such a delay can be the result of
+non-erroneous situations such as a low bandwidth connection. The can be
+overridden on a per queue group basis by setting the \fBRunners\fR option. The
+default is \fB1\fR when not set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMeToo (M)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sends to me too, even if I am in an alias expansion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMaxRecipientsPerMessage\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, allows no more than the specified number of recipients in an SMTP
+envelope. Further recipients receive a 452 error code and are deferred for the
+next delivery attempt.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMinFreeBlocks (b\fR\fIN/M\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insists on at least \fIN\fR blocks free on the file system that holds the queue
+files before accepting email by way of SMTP. If there is insufficient space,
+\fBsendmail\fR gives a \fB452\fR response to the \fBMAIL\fR command. This
+invites the sender to try again later. The optional \fIM\fR is a maximum
+message size advertised in the \fBESMTP\fR \fBEHLO\fR response. It is currently
+otherwise unused.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMinQueueAge\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the amount of time a job must sit in the queue between queue runs.
+This allows you to set the queue run interval low for better responsiveness
+without trying all jobs in each run. The default value is 0.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMustQuoteChars\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the characters to be quoted in a full name phrase. \fB&,;:\e()[]\fR
+are quoted automatically.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNiceQueueRun\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the priority of queue runners. See \fBnice\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNoRecipientAction\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets action if there are no legal recipient files in the message. The legal
+values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-apparently-to\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds an \fBApparently-to:\fR header with all the known recipients (which may
+expose blind recipients).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-bcc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds an empty \fBBcc:\fR header.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-to\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a \fBTo:\fR header with all the known recipients (which may expose blind
+recipients).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-to-undisclosed\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a \fBTo: undisclosed-recipients:\fR header.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Does nothing, that is, leaves the message as it is.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOldStyleHeaders (o)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Assumes that the headers may be in old format, that is, spaces delimit names.
+This actually turns on an adaptive algorithm: if any recipient address contains
+a comma, parenthesis, or angle bracket, it is assumed that commas already
+exist. If this flag is not on, only commas delimit names. Headers are always
+output with commas between the names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOperatorChars or $o\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the list of characters that can be used to separate the components of
+an address into tokens.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPidFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the filename of the \fBpid\fR file. The default is
+\fB/var/run/sendmail.pid\fR. The filename is macro-expanded before it is
+opened, and unlinked when \fBsendmail\fR exits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPostmasterCopy (P\fR\fIpostmaster\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, copies of error messages are sent to the named \fIpostmaster\fR. Only
+the header of the failed message is sent. Since most errors are user problems,
+this is probably not a good idea on large sites, and arguably contains all
+sorts of privacy violations, but it seems to be popular with certain operating
+systems vendors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPrivacyOptions (p\fR\fIopt,opt,...\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets privacy options. Privacy is really a misnomer; many of these options are
+just a way of insisting on stricter adherence to the SMTP protocol.
+.sp
+The \fBgoaway\fR pseudo-flag sets all flags except \fBnoreceipts\fR,
+\fBrestrictmailq\fR, \fBrestrictqrun\fR, \fBrestrictexpand\fR, \fBnoetrn\fR,
+and \fBnobodyreturn\fR. If \fBmailq\fR is restricted, only people in the same
+group as the queue directory can print the queue. If queue runs are restricted,
+only root and the owner of the queue directory can run the queue. The
+\fBrestrict-expand\fR pseudo-flag instructs sendmail to drop privileges when
+the -bv option is given by users who are neither root nor the \fBTrustedUser\fR
+so users cannot read private aliases, forwards, or \fB:include:\fR files. It
+adds the \fBNonRootSafeAddr\fR to the "DontBlame-Sendmail" option to prevent
+misleading unsafe address warnings. It also overrides the \fB-v\fR (verbose)
+command line option to prevent information leakage. Authentication Warnings add
+warnings about various conditions that may indicate attempts to fool the mail
+system, such as using an non-standard queue directory.
+.sp
+The options can be selected from:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauthwarnings\fR\fR
+.ad
+.sp .6
+.RS 4n
+Puts \fBX-Authentication-Warning:\fR headers in messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgoaway\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disallows essentially all SMTP status queries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBneedexpnhelo\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insists on \fBHELO\fR or \fBEHLO\fR command before \fBEXPN\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBneedmailhelo\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insists on \fBHELO\fR or \fBEHLO\fR command before \fBMAIL\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBneedvrfyhelo\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insists on \fBHELO\fR or \fBEHLO\fR command before \fBVRFY\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoactualrecipient\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not put an X-Actual-Recipient line in a DNS that reveals the actual account
+to which an address is mapped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoetrn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disallows \fBETRN\fR entirely.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoexpn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disallows \fBEXPN\fR entirely.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnoreceipts\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevents return receipts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnobodyreturn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Does not return the body of a message with DSNs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnovrfy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disallows \fBVRFY\fR entirely.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpublic\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows open access.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBre\fR\fB\fR\fBstrictexpand\fR\fR
+.ad
+.sp .6
+.RS 4n
+Restricts \fB-bv\fR and \fB-v\fR command line flags.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestrictmailq\fR\fR
+.ad
+.sp .6
+.RS 4n
+Restricts \fBmailq\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestrictqrun\fR\fR
+.ad
+.sp .6
+.RS 4n
+Restricts \fB-q\fR command line flag.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBProcessTitlePrefix \fIstring\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prefixes the process title shown on "\fB/usr/ucb/ps auxww\fR" listings with
+\fIstring\fR. The string is macro processed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQueueDirectory (Q\fR\fIdir\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses the named \fIdir\fR as the queue directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQueueFactor (q\fR\fIfactor\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses \fIfactor\fR as the multiplier in the map function to decide when to just
+queue up jobs rather than run them. This value is divided by the difference
+between the current load average and the load average limit (\fBx\fR flag) to
+determine the maximum message priority to be sent. Defaults to \fB600000\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQueueFileMode=\fR\fImode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defaults permissions for queue files (octal). If not set, \fBsendmail\fR uses
+\fB0600\fR unless its real and effective \fBuid\fR are different in which case
+it uses \fB0644\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQueueLA (x\fR\fILA\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+When the system load average exceeds \fILA\fR, just queues messages (that is,
+does not try to send them). Defaults to eight times the number of processors
+online when \fBsendmail\fR starts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQueueSortOrder=\fR\fIalgorithm\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the algorithm used for sorting the queue. Only the first character of the
+value is used. Legal values are \fBhost\fR (to order by the name of the first
+host name of the first recipient), \fBfilename\fR (to order by the name of the
+queue file name), \fBtime\fR (to order by the submission/creation time),
+\fBrandom\fR (to order randomly), \fBmodification\fR (to order by the
+modification time of the \fBqf\fR file (older entries first)), \fBnone\fR (to
+not order), and \fBpriority\fR (to order by message priority). Host ordering
+makes better use of the connection cache, but may tend to process low priority
+messages that go to a single host over high priority messages that go to
+several hosts; it probably shouldn't be used on slow network links. Filename
+and modification time ordering saves the overhead of reading all of the queued
+items before starting the queue run. Creation (submission) time ordering is
+almost always a bad idea, since it allows large, bulk mail to go out before
+smaller, personal mail, but may have applicability on some hosts with very fast
+connections. Random is useful if several queue runners are started by hand
+which try to drain the same queue since odds are they are working on different
+parts of the queue at the same time. Priority ordering is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBQueueTimeout (T\fR\fIrtime\fR\fB/\fR\fIwtime\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the queue timeout to \fIrtime\fR. After this interval, messages that have
+not been successfully sent are returned to the sender. Defaults to five days
+(\fB5d\fR). The optional \fIwtime\fR is the time after which a warning message
+is sent. If it is missing or \fB0\fR, then no warning messages are sent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRandFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing random data (use prefix \fBfile:\fR) or the name of the UNIX
+socket if EGD is used (use prefix \fBegd:\fR). Note that Solaris supports
+\fBrandom\fR(7D), so this does not need to be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRecipientFactor (y\fR\fIfact\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+The indicated factor \fIfact\fR is added to the priority (thus \fIlowering\fR
+the priority of the job) for each recipient, that is, this value penalizes jobs
+with large numbers of recipients. Defaults to \fB30000\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRefuseLA (X\fR\fILA\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+When the system load average exceeds \fILA\fR, refuses incoming \fBSMTP\fR
+connections. Defaults to 12 times the number of processors online when
+\fBsendmail\fR starts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRejectLogInterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Log interval when refusing connections for this long (default: 3h).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBResolverOptions (I)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Tunes DNS lookups.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRetryFactor (Z\fR\fIfact\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+The indicated factor \fIfact\fR is added to the priority every time a job is
+processed. Thus, each time a job is processed, its priority is decreased by the
+indicated value. In most environments this should be positive, since hosts that
+are down are all too often down for a long time. Defaults to \fB90000\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRrtImpliesDsn\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this option is set, a \fBReturn-Receipt-To\fR: header causes the request of
+a \fBDSN\fR, which is sent to the envelope sender as required by RFC 1891, not
+to the address given in the header.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRunAsUser\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, becomes this user when reading and delivering mail. Intended for use of
+firewalls where users do not have accounts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSafeFileEnvironment\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, \fBsendmail\fR does a \fBchroot\fR into this directory before writing
+files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSaveFromLine (f)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Saves Unix-style \fBFrom\fR lines at the front of headers. Normally they are
+assumed redundant and discarded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSendMimeErrors (j)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, sends error messages in MIME format (see RFC 2045 and RFC 1344 for
+details). If disabled, \fBsendmail\fR does not return the DSN keyword in
+response to an \fBEHLO\fR and does not do Delivery Status Notification
+processing as described in RFC 1891.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBServerCertFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing the cert of the server, that is, this cert is used when
+\fBsendmail\fR acts as server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBServerKeyFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing the private key belonging to the server cert.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBServiceSwitchFile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the path to the service-switch file. Since the service-switch file is
+defined in the Solaris operating environment this option is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSevenBitInput (7)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Strips input to seven bits for compatibility with old systems. This should not
+be necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSharedMemoryKey\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies key to use for shared memory segment. If not set (or \fB0\fR), shared
+memory is not be used. If this option is set, \fBsendmail\fR can share some
+data between different instances. For example, the number of entries in a queue
+directory or the available space in a file system. This allows for more
+efficient program execution, since only one process needs to update the data
+instead of each individual process gathering the data each time it is required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSharedMemoryKeyFile=\fR\fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBSharedMemoryKeyFile\fR is set to \fB-1\fR, the automatically selected
+shared memory key will be stored in the specified file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSingleLineFromHeader\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, \fBFrom:\fR lines that have embedded newlines are unwrapped onto one
+line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSingleThreadDelivery\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this option and the \fBHostStatusDirectory\fR option are both set, uses
+single thread deliveries to other hosts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSmtpGreetingMessage or $e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the initial SMTP greeting message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSoftBounce\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, issue temporary errors (\fB4xy\fR) instead of permanent errors
+(\fB5xy\fR). This can be useful during testing of a new configuration to avoid
+erroneous bouncing of mail.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBStatusFile (S\fR\fIfile\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Logs statistics in the named \fIfile\fR. By default, this is
+\fB/etc/mail/sendmail.st\fR. As root, you must \fBtouch\fR(1) this file to
+enable \fBmailstats\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSuperSafe (s)\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option can be set to \fBTrue\fR, \fBFalse\fR, \fBInteractive\fR, or
+\fBPostMilter\fR. If set to \fBTrue\fR, \fBsendmail\fR is set to super-safe
+when running things, that is, always instantiate the queue file, even if you
+are going to attempt immediate delivery. \fBsendmail\fR always instantiates the
+queue file before returning control to the client under any circumstances. This
+should really always be set to \fBTrue\fR. The \fBInteractive\fR value has been
+introduced in \fB8.12\fR and can be used together with \fBDeliveryMode=i\fR. It
+skips some synchronization calls which are effectively doubled in the code
+execution path for this mode. If set to \fBPostMilter\fR, \fBsendmail\fR defers
+synchronizing the queue file until any milters have signaled acceptance of the
+message. \fBPostMilter\fR is useful only when \fBsendmail\fR is running as an
+SMTP server; in all other situations it acts the same as True.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTempFileMode (F\fR\fImode\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the file mode for queue files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTimeout (r\fR\fItimeouts\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Timeout reads after time interval. The \fItimeouts\fR argument is a list of
+\fIkeyword=value\fR pairs. All but \fIcommand\fR apply to client \fBSMTP\fR.
+For backward compatibility, a timeout with no \fIkeyword\fR= part is set all of
+the longer values. The recognized timeouts and their default values, and their
+minimum values specified in RFC 1123 section 5.3.2 are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaconnect\fR\fR
+.ad
+.sp .6
+.RS 4n
+all connections for a single delivery attempt [0, unspecified]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcommand\fR\fR
+.ad
+.sp .6
+.RS 4n
+command read [1h, 5m]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnect\fR\fR
+.ad
+.sp .6
+.RS 4n
+initial connect [0, unspecified]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcontrol\fR\fR
+.ad
+.sp .6
+.RS 4n
+complete control socket transaction [2m, none]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdatablock\fR\fR
+.ad
+.sp .6
+.RS 4n
+data block read [1h, 3m]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdatafinal\fR\fR
+.ad
+.sp .6
+.RS 4n
+reply to final \fB\&.\fR in data [1h, 10m]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdatainit\fR\fR
+.ad
+.sp .6
+.RS 4n
+reply to \fBDATA\fR command [5m, 2m]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfileopen\fR\fR
+.ad
+.sp .6
+.RS 4n
+file open [60sec, none]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhelo\fR\fR
+.ad
+.sp .6
+.RS 4n
+reply to \fBHELO\fR or \fBEHLO\fR command [5m, none]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhoststatus\fR\fR
+.ad
+.sp .6
+.RS 4n
+host retry [30m, unspecified]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBiconnect\fR\fR
+.ad
+.sp .6
+.RS 4n
+first attempt to connect to a host [0, unspecified]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBident\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBIDENT\fR protocol timeout [5s, none]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinitial\fR\fR
+.ad
+.sp .6
+.RS 4n
+wait for initial greeting message [5m, 5m]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlhlo\fR\fR
+.ad
+.sp .6
+.RS 4n
+wait for reply to an LMTP LHLO command [2m, unspecified]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmail\fR\fR
+.ad
+.sp .6
+.RS 4n
+reply to \fBMAIL\fR command [10m, 5m]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmisc\fR\fR
+.ad
+.sp .6
+.RS 4n
+reply to \fBNOOP\fR and \fBVERB\fR commands [2m, none]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqueuereturn\fR\fR
+.ad
+.sp .6
+.RS 4n
+undeliverable message returned [5d]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqueuewarn\fR\fR
+.ad
+.sp .6
+.RS 4n
+deferred warning [4h]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquit\fR\fR
+.ad
+.sp .6
+.RS 4n
+reply to \fBQUIT\fR command [2m, none]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrcpt\fR\fR
+.ad
+.sp .6
+.RS 4n
+reply to \fBRCPT\fR command [1h, 5m]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBresolver.retrans\fR\fR
+.ad
+.sp .6
+.RS 4n
+Resolver's retransmission time interval (in seconds) [varies]. Sets both
+\fBTimeout.resolver.retrans.first\fR and \fBTimeout.resolver.retrans.normal\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBresolver.retrans.first\fR\fR
+.ad
+.sp .6
+.RS 4n
+Resolver's retransmission time interval (in seconds) for the first attempt to
+deliver a message [varies].
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBresolver.retrans.normal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Resolver's retransmission time interval (in seconds) for all look-ups except
+the first delivery attempt [varies].
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBresolver.retry\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of times to retransmit a resolver query [varies]. Sets both
+\fBTimeout.resolver.retry.first\fR and \fBTimeout.resolver.retry.normal\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBresolver.retry.first\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of times to retransmit a resolver query for the first attempt to deliver
+a message [varies].
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBresolver.retry.normal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of times to retransmit a resolver query for all look-ups except the
+first delivery attempt [varies].
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrset\fR\fR
+.ad
+.sp .6
+.RS 4n
+reply to \fBRSET\fR command [5m, none]
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstarttls\fR\fR
+.ad
+.sp .6
+.RS 4n
+response to an \fBSMTP STARTTLS\fR command [1h]
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTimeZoneSpec (t\fR\fItzinfo\fR\fB)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the local time zone info to \fItzinfo\fR, for example, "PST8PDT".
+Actually, if this is not set, the \fBTZ\fR environment variable is cleared (so
+the system default is used); if set but null, the user's \fBTZ\fR variable is
+used, and if set and non-null, the \fBTZ\fR variable is set to this value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTLSSrvOptions\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this option is '\fBV\fR', then no client verification is performed,that is,
+the server does not ask for a certificate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTrustedUser\fR\fR
+.ad
+.sp .6
+.RS 4n
+The user parameter can be a user name (looked up in the passwd map) or a
+numeric user id. Trusted user for file ownership and starting the daemon. If
+set, generated alias databases and the control socket (if configured) are
+automatically owned by this user.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTryNullMXList (w)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If you are the "best" (that is, lowest preference) \fBMX\fR for a given host,
+you should normally detect this situation and treat that condition specially,
+by forwarding the mail to a \fBUUCP\fR feed, treating it as local, or whatever.
+However, in some cases (such as Internet firewalls) you may want to try to
+connect directly to that host as though it had no \fBMX\fR records at all.
+Setting this option causes \fBsendmail\fR to try this. The downside is that
+errors in your configuration are likely to be diagnosed as "host unknown" or
+"message timed out" instead of something more meaningful. This option is
+deprecated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUnixFromLine or $l\fR\fR
+.ad
+.sp .6
+.RS 4n
+The "From " line used when sending to files or programs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUnsafeGroupWrites\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set, group-writable :include: and .forward files are considered "unsafe",
+that is, programs and files cannot be directly referenced from such files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUseErrorsTo (l)\fR\fR
+.ad
+.sp .6
+.RS 4n
+If there is an \fBErrors-To\fR: header, sends error messages to the addresses
+listed there. They normally go to the envelope sender. Use of this option
+causes \fBsendmail\fR to violate \fBRFC\fR 1123. This option is not recommended
+and deprecated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUseMSP\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses as mail submission program, that is, allows group writable queue files if
+the group is the same as that of a set-group-id \fBsendmail\fR binary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUserDatabaseSpec (U)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the name and location of the file containing User Database information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBVerbose (v)\fR\fR
+.ad
+.sp .6
+.RS 4n
+Runs in verbose mode. If this is set, \fBsendmail\fR adjusts the
+\fBHoldExpensive\fR and \fBDeliveryMode\fR options so that all mail is
+delivered completely in a single job so that you can see the entire delivery
+process. The \fBVerbose\fR option should \fBnever\fR be set in the
+configuration file; it is intended for command line use only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXscriptFileBufferSize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the threshold, in bytes, before a memory-bases queue transcript file
+becomes disk-based. The default is 4096 bytes.
+.RE
+
+.sp
+.LP
+If the first character of the user name is a vertical bar, the rest of the user
+name is used as the name of a program to pipe the mail to. It may be necessary
+to quote the name of the user to keep \fBsendmail\fR from suppressing the
+blanks from between arguments.
+.sp
+.LP
+If invoked as \fBnewaliases\fR, \fBsendmail\fR rebuilds the alias database, so
+long as the \fB/etc/mail/aliases*\fR files are owned by root \fIand\fR root has
+exclusive write permission. If invoked as \fBmailq\fR, \fBsendmail\fR prints
+the contents of the mail queue.
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIaddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+address of an intended recipient of the message being sent.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBsendmail\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXIT STATUS
+.sp
+.LP
+\fBsendmail\fR returns an exit status describing what it did. The codes are
+defined in \fB/usr/include/sysexits.h\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_OK\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion on all addresses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_NOUSER\fR\fR
+.ad
+.sp .6
+.RS 4n
+User name not recognized.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_UNAVAILABLE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Catchall. Necessary resources were not available.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_SYNTAX\fR\fR
+.ad
+.sp .6
+.RS 4n
+Syntax error in address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_SOFTWARE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Internal software error, including bad arguments.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_OSERR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Temporary operating system error, such as "cannot fork".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_NOHOST\fR\fR
+.ad
+.sp .6
+.RS 4n
+Host name not recognized.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEX_TEMPFAIL\fR\fR
+.ad
+.sp .6
+.RS 4n
+Message could not be sent immediately, but was queued.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+No environment variables are used. However, sendmail's start-up script, invoked
+by \fBsvcadm\fR(1M), reads \fB/etc/default/sendmail\fR. In this file, if the
+variable \fBETRN_HOSTS\fR is set, the start-up script parses this variable and
+invokes \fBetrn\fR(1M) appropriately. \fBETRN_HOSTS\fR should be of the form:
+.sp
+.in +2
+.nf
+"s1:c1.1,c1.2 s2:c2.1 s3:c3.1,c3.2,c3.3"
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+That is, white-space separated groups of \fIserver:client\fR where \fIclient\fR
+can be one or more comma-separated names. The \fI:client\fR part is optional.
+\fIserver\fR is the name of the server to prod; a mail queue run is requested
+for each \fIclient\fR name. This is comparable to running:
+.sp
+.in +2
+.nf
+/usr/lib/sendmail -qR \fIclient\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+on the host \fIserver\fR.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdead.letter\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unmailable text
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/sendmail\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains default settings. You can override some of the settings by command
+line options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/aliases\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mail aliases file (ASCII)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/aliases.db\fR\fR
+.ad
+.sp .6
+.RS 4n
+Database of mail aliases (binary)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/aliases.dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Database of mail aliases (binary)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/aliases.pag\fR\fR
+.ad
+.sp .6
+.RS 4n
+Database of mail aliases (binary)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/sendmail.cf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines environment for \fBsendmail\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/submit.cf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines environment for MSP
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/mail/trusted-users\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists users that are "trusted", that is, able to set their envelope from
+address using \fB-f\fR without generating a warning message. Note that this
+file is consulted by the default \fBsendmail.cf\fR, but not by the default
+\fBsubmit.cf\fR, in which the line referring to \fB/etc/mail/trusted-users\fR
+is commented out. See \fBsendmail\fR(4) for instructions on making changes to
+\fBsubmit.cf\fR and \fBsendmail.cf\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/clientmqueue/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Temporary files and queued mail
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/mqueue/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Temporary files and queued mail
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB~/.forward\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of recipients for forwarding messages
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/include/libmilter/README\fR\fR
+.ad
+.sp .6
+.RS 4n
+Describes the steps needed to compile and run a filter
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBbiff\fR(1B), \fBmail\fR(1), \fBmailq\fR(1), \fBmailx\fR(1),
+\fBnice\fR(1), \fBcheck-hostname\fR(1M), \fBcheck-permissions\fR(1M),
+\fBetrn\fR(1M), \fBnewaliases\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBfork\fR(2), \fBgetpwnam\fR(3C), \fBgetusershell\fR(3C),
+\fBresolver\fR(3RESOLV), \fBaliases\fR(4), \fBhosts\fR(4), \fBsendmail\fR(4),
+\fBshells\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5), \fBsmf\fR(5),
+\fBrandom\fR(7D)
+.sp
+.LP
+\fBtcpd\fR(1M), \fBhosts_access\fR(4) in the \fBSUNWtcpd\fR package.
+.sp
+.LP
+\fBRFC\fR 2821 \fISimple Mail Transfer Protocol\fR, John Klensin, April 2001.
+.sp
+.LP
+\fBRFC\fR 2822 \fIInternet Message Format\fR, Pete Resnick, April 2001.
+.sp
+.LP
+\fIsendmail, Third Edition\fR, Bryan Costales with Eric Allman\fB\fR, O'Reilly
+& Associates, Inc., 2003.
+.sp
+.LP
+http://www.sendmail.org
+.sp
+.LP
+http://www.milter.org
+.SH NOTES
+.sp
+.LP
+The \fBsendmail\fR program requires a fully qualified host name when starting.
+A script has been included to help verify if the host name is defined properly
+(see \fBcheck-hostname\fR(1M)).
+.sp
+.LP
+The permissions and the ownership of several directories have been changed in
+order to increase security. In particular, access to \fB/etc/mail\fR and
+\fB/var/spool/mqueue\fR has been restricted.
+.sp
+.LP
+Security restrictions have been placed users using \fB\&.forward\fR files to
+pipe mail to a program or redirect mail to a file. The default shell (as listed
+in \fB/etc/passwd\fR) of these users must be listed in \fB/etc/shells\fR. This
+restriction does not affect mail that is being redirected to another alias.
+.sp
+.LP
+Additional restrictions have been put in place on \fB\&.forward\fR and
+\fB:include:\fR files. These files and the directory structure that they are
+placed in cannot be group- or world-writable. See \fBcheck-permissions\fR(1M).
+.sp
+.LP
+If you have interfaces that map to domains that have MX records that point to
+non-local destinations, you might need to enable the \fBDontProbeInterfaces\fR
+option to enable delivery to those destinations. In its default startup
+behavior, \fBsendmail\fR probes each interface and adds an interface's \fBIP\fR
+addresses, as well as any domains that those addresses map to, to its list of
+domains that are considered local. For domains thus added, being on the list of
+local domains is equivalent to having a 0-preference MX record, with
+\fBlocalhost\fR as the MX value. If this is not the result you want, enable
+\fBDontProbeInterfaces\fR.
diff --git a/usr/src/man/man1m/setuname.1m b/usr/src/man/man1m/setuname.1m
new file mode 100644
index 0000000000..8d574496f8
--- /dev/null
+++ b/usr/src/man/man1m/setuname.1m
@@ -0,0 +1,80 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH setuname 1M "9 Jul 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+setuname \- change machine information
+.SH SYNOPSIS
+.LP
+.nf
+\fBsetuname\fR [\fB-t\fR] [\fB-n\fR \fInode\fR] [\fB-s\fR \fIname\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsetuname\fR utility changes the parameter value for the system name and
+node name. Each parameter can be changed using \fBsetuname\fR and the
+appropriate option.
+.sp
+.LP
+Either or both the \fB-s\fR and \fB-n\fR options must be given when invoking
+\fBsetuname\fR.
+.sp
+.LP
+The system architecture may place requirements on the size of the system and
+network node name. The command will issue a fatal warning message and an error
+message if the name entered is incompatible with the system requirements.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fI node\fR\fR
+.ad
+.RS 11n
+.rt
+Changes the node name. \fInode\fR specifies the new network node name and can
+consist of alphanumeric characters and the special characters dash, underbar,
+and dollar sign.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fI name\fR\fR
+.ad
+.RS 11n
+.rt
+Changes the system name. \fIname\fR specifies new system name and can consist
+of alphanumeric characters and the special characters dash, underbar, and
+dollar sign.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 11n
+.rt
+Temporary change. No attempt will be made to create a permanent change.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBsetuname\fR attempts to change the parameter values in two places: the
+running kernel and, as necessary per implementation, to cross system reboots. A
+temporary change changes only the running kernel.
diff --git a/usr/src/man/man1m/sf880drd.1m b/usr/src/man/man1m/sf880drd.1m
new file mode 100644
index 0000000000..e5de79131c
--- /dev/null
+++ b/usr/src/man/man1m/sf880drd.1m
@@ -0,0 +1,60 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sf880drd 1M "13 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sf880drd \- Sun Fire 880 Dynamic Reconfiguration daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBsf880drd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Sun Fire 880 Dynamic Reconfiguration daemon, \fBsf880drd\fR, is part of the
+\fBPCI\fR and system bus hotplug framework. \fBsf880drd\fR starts at boot time.
+It has no configuration options and does not report any system status.
+.sp
+.LP
+\fBsf880drd\fR implements the Sun Fire \fB880\fR console-less system
+administration (per-slot pushbuttons and \fBLED\fR status indicators). It also
+manages various aspects of \fBCPU\fR/memory hotplug.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/platform/SUNW,Sun-Fire-880/lib/sf880drd\fR \fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBcfgadm\fR(1M), \fBcfgadm_pci\fR(1M), \fBcfgadm_sbd\fR(1M),
+\fBsvcadm\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBsf880drd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/platform/sun4u/sf880drd
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/sftp-server.1m b/usr/src/man/man1m/sftp-server.1m
new file mode 100644
index 0000000000..c0ba05b265
--- /dev/null
+++ b/usr/src/man/man1m/sftp-server.1m
@@ -0,0 +1,140 @@
+'\" te
+.\" To view license terms, attribution, and copyright for OpenSSH, the default path is /var/sadm/pkg/SUNWsshdr/install/copyright. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the
+.\" installed location.
+.\" Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.TH sftp-server 1M "24 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sftp-server \- SFTP server subsystem
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/ssh/sftp-server\fR [\fB-f\fR \fIlog_facility\fR] [\fB-l\fR \fIlog_level\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsftp-server\fR implements the server side of the SSH File Transfer Protocol
+as defined in the IETF \fBdraft-ietf-secsh-filexfer\fR.
+.sp
+.LP
+\fBsftp-server\fR is a subsystem for \fBsshd\fR(1M) and must not be run
+directly. Command-line flags to \fBsftp-server\fR should be specified in the
+Subsystem declaration. See \fBsshd_config\fR(4) for more information.
+.sp
+.LP
+To enable the \fBsftp-server\fR subsystem for \fBsshd\fR add the following to
+\fB/etc/ssh/sshd_config\fR:
+.sp
+.in +2
+.nf
+Subsystem sftp /usr/lib/ssh/sftp-server
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBsshd_config\fR(4) for a description of the format and contents of that
+file.
+.sp
+.LP
+There is no relationship between the protocol used by \fBsftp-server\fR and the
+FTP protocol (RFC 959) provided by \fBin.ftpd\fR.
+.SH OPTIONS
+.sp
+.LP
+Valid options are listed below. As stated above, these are to be specified in
+the Subsystem declation of \fBsshd_config\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIlog_facility\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the facility code that is used when logging messages from
+\fBsftp-server\fR. The possible values are: \fBDAEMON\fR, \fBUSER\fR,
+\fBAUTH\fR, \fBLOCAL0\fR, \fBLOCAL1\fR, \fBLOCAL2\fR, \fBLOCAL3\fR,
+\fBLOCAL4\fR, \fBLOCAL5\fR, \fBLOCAL6\fR, \fBLOCAL7\fR. The default is
+\fBAUTH\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlog_level\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies which messages will be logged by \fBsftp-server\fR. The possible
+values are: \fBQUIET\fR, \fBFATAL\fR, \fBERROR\fR, \fBINFO\fR, \fBVERBOSE\fR,
+\fBDEBUG\fR, \fBDEBUG1\fR, \fBDEBUG2\fR, and \fBDEBUG3\fR. \fBINFO\fR and
+\fBVERBOSE\fR log transactions that \fBsftp-server\fR performs on behalf of the
+client. \fBDEBUG\fR and \fBDEBUG1\fR are equivalent. \fBDEBUG2\fR and
+\fBDEBUG3\fR each specify higher levels of debugging output. The default is
+\fBERROR\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/ssh/sftp-server\fR\fR
+.ad
+.RS 28n
+.rt
+Server-side binary.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsftp\fR(1), \fBssh\fR(1), \fBssh-add\fR(1), \fBssh-keygen\fR(1),
+\fBsshd\fR(1M), \fBsshd_config\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/share.1m b/usr/src/man/man1m/share.1m
new file mode 100644
index 0000000000..91dc4c0be6
--- /dev/null
+++ b/usr/src/man/man1m/share.1m
@@ -0,0 +1,215 @@
+'\" te
+.\" Copyright (c) 2000 Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH share 1M "23 Jan 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+share \- make local resource available for mounting by remote systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBshare\fR [\fB-p\fR] [\fB-F\fR \fIFSType\fR] [\fB-o\fR \fIspecific_options\fR] [\fB-d\fR \fIdescription\fR]
+ [\fIpathname\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBshare\fR command exports, or makes a resource available for mounting,
+through a remote file system of type \fIFSType\fR. If the option \fB-F\fR
+\fIFSType\fR is omitted, the first file system type listed in
+\fB/etc/dfs/fstypes\fR is used as default. For a description of NFS specific
+options, see \fBshare_nfs\fR(1M). \fIpathname\fR is the pathname of the
+directory to be shared. When invoked with no arguments, \fBshare\fR displays
+all shared file systems.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdescription\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fB-d\fR flag may be used to provide a description of the resource being
+shared.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the filesystem type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIspecific_options\fR are used to control access of the shared resource.
+(See \fBshare_nfs\fR(1M) for the NFS specific options.) They may be any of the
+following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrw\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIpathname\fR is shared read/write to all clients. This is also the default
+behavior.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrw=\fR\fIclient\fR[\fI:client\fR]...\fR
+.ad
+.sp .6
+.RS 4n
+\fIpathname\fR is shared read/write only to the listed clients. No other
+systems can access \fIpathname\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBro\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIpathname\fR is shared read-only to all clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBro=\fR\fIclient\fR[\fI:client\fR]...\fR
+.ad
+.sp .6
+.RS 4n
+\fIpathname\fR is shared read-only only to the listed clients. No other systems
+can access \fIpathname\fR.
+.RE
+
+Separate multiple options with commas. Separate multiple operands for an option
+with colons. See EXAMPLES.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Causes the share operation to persist across reboots.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSharing a Read-Only Filesystem
+.sp
+.LP
+This line will share the \fB/disk\fR file system read-only at boot time.
+
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR\fB nfs \fR\fB-o\fR \fBro /disk\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRInvoking Multiple Options
+.sp
+.LP
+The following command shares the filesystem \fB/export/manuals\fR, with members
+of the netgroup having read-only access and users on the specified host having
+read-write access.
+
+.sp
+.in +2
+.nf
+share \fB-F\fR nfs \fB-o\fR ro=\fInetgroup_name\fR,rw=\fIhost1\fR:\fIhost2\fR:\fIhost3\fR /export/manuals
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/dfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of \fBshare\fR commands to be executed at boot time. Note that you can
+invoke \fBshare\fR from a command line and use the \fB-p\fR option, described
+above, as an alternative to editing this file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.sp .6
+.RS 4n
+List of file system types; NFS is the default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/sharetab\fR\fR
+.ad
+.sp .6
+.RS 4n
+System record of shared file systems.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmountd\fR(1M), \fBnfsd\fR(1M), \fBshare_nfs\fR(1M), \fBshareall\fR(1M),
+\fBunshare\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Export (old terminology): file system sharing used to be called exporting on
+SunOS 4.x, so the \fBshare\fR command used to be invoked as \fBexportfs\fR(1B)
+or \fB/usr/sbin/exportfs\fR.
+.sp
+.LP
+If \fBshare\fR commands are invoked multiple times on the same filesystem, the
+last \fBshare\fR invocation supersedes the previous\(emthe options set by the
+last \fBshare\fR command replace the old options. For example, if read-write
+permission was given to \fBusera\fR on \fB/somefs\fR, then to give read-write
+permission also to \fBuserb\fR on \fB/somefs\fR:
+.sp
+.LP
+\fBexample% share -F nfs -o rw=usera:userb /somefs\fR
+.sp
+.LP
+This behavior is not limited to sharing the root filesystem, but applies to all
+filesystems.
diff --git a/usr/src/man/man1m/share_nfs.1m b/usr/src/man/man1m/share_nfs.1m
new file mode 100644
index 0000000000..e0df9e068e
--- /dev/null
+++ b/usr/src/man/man1m/share_nfs.1m
@@ -0,0 +1,823 @@
+'\" te
+.\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH share_nfs 1M "6 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+share_nfs \- make local NFS file systems available for mounting by remote
+systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBshare\fR [\fB-d\fR \fIdescription\fR] [\fB-F\fR nfs] [\fB-o\fR \fIspecific_options\fR] \fIpathname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBshare\fR utility makes local file systems available for mounting by
+remote systems. It starts the \fBnfsd\fR(1M) and \fBmountd\fR(1M) daemons if
+they are not already running.
+.sp
+.LP
+If no argument is specified, then \fBshare\fR displays all file systems
+currently shared, including \fBNFS\fR file systems and file systems shared
+through other distributed file system packages.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdescription\fR\fR
+.ad
+.sp .6
+.RS 4n
+Provide a comment that describes the file system to be shared.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-F\fR \fBnfs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Share \fBNFS\fR file system type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify \fIspecific_options\fR in a comma-separated list of keywords and
+attribute-value-assertions for interpretation by the file-system-type-specific
+command. If \fIspecific_options\fR is not specified, then by default sharing is
+read-write to all clients. \fIspecific_options\fR can be any combination of the
+following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaclok\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows the \fBNFS\fR server to do access control for \fBNFS\fR Version 2
+clients (running SunOS 2.4 or earlier). When \fBaclok\fR is set on the server,
+maximal access is given to all clients. For example, with \fBaclok\fR set, if
+anyone has read permissions, then everyone does. If \fBaclok\fR is not set,
+minimal access is given to all clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBanon=\fR\fIuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set \fIuid\fR to be the effective user \fBID\fR of unknown users. By default,
+unknown users are given the effective user \fBID\fR \fBUID_NOBODY\fR. If
+\fIuid\fR is set to \fB\(mi1\fR, access is denied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcharset\fR=\fIaccess_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Where \fIcharset\fR is one of: \fBeuc-cn\fR, \fBeuc-jp\fR, \fBeuc-jpms\fR,
+\fBeuc-kr\fR, \fBeuc-tw\fR, \fBiso8859-1\fR, \fBiso8859-2\fR, \fBiso8859-5\fR,
+\fBiso8859-6\fR, \fBiso8859-7\fR, \fBiso8859-8\fR, \fBiso8859-9\fR,
+\fBiso8859-13\fR, \fBiso8859-15\fR, \fBkoi8-r\fR.
+.sp
+Clients that match the \fIaccess_list\fR for one of these properties will be
+assumed to be using that character set and file and path names will be
+converted to UTF-8 for the server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBindex=\fR\fBfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Load \fBfile\fR rather than a listing of the directory containing this file
+when the directory is referenced by an \fBNFS URL\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog=tag\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables \fBNFS\fR server logging for the specified file system. The optional
+tag determines the location of the related log files. The \fBtag\fR is defined
+in \fBetc/nfs/nfslog.conf\fR. If no \fBtag\fR is specified, the default values
+associated with the \fBglobal\fR \fBtag\fR in \fBetc/nfs/nfslog.conf\fR is
+used. Support of NFS server logging is only available for NFS Version 2 and
+Version 3 requests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone=\fR\fIaccess_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Access is not allowed to any client that matches the access list. The exception
+is when the access list is an asterisk (\fB*\fR), in which case \fBro\fR or
+\fBrw\fR can override \fBnone\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnosub\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevents clients from mounting subdirectories of shared directories. For
+example, if \fB/export\fR is shared with the \fBnosub\fR option on server
+\fIfooey\fR then a \fBNFS\fR client cannot do:
+.sp
+.in +2
+.nf
+mount -F nfs fooey:/export/home/mnt
+.fi
+.in -2
+.sp
+
+NFS Version 4 does not use the \fBMOUNT\fR protocol. The \fBnosub\fR option
+only applies to NFS Version 2 and Version 3 requests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnosuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, clients are allowed to create files on the shared file system with
+the setuid or setgid mode enabled. Specifying \fBnosuid\fR causes the server
+file system to silently ignore any attempt to enable the setuid or setgid mode
+bits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpublic\fR\fR
+.ad
+.sp .6
+.RS 4n
+Moves the location of the public file handle from \fBroot\fR (\fB/\fR) to the
+exported directory for Web\fBNFS\fR-enabled browsers and clients. This option
+does not enable Web\fBNFS\fR service; Web\fBNFS\fR is always on. Only one file
+system per server may use this option. Any other option, including the
+\fB-ro=list\fR and \fB-rw=list\fR options can be included with the \fBpublic\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBro\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sharing is read-only to all clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBro=\fR\fIaccess_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sharing is read-only to the clients listed in \fIaccess_list\fR; overrides the
+\fBrw\fR suboption for the clients specified. See \fIaccess_list\fR below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBroot=\fR\fIaccess_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only root users from the hosts specified in \fIaccess_list\fR have root access.
+See \fIaccess_list\fR below. By default, no host has root access, so root users
+are mapped to an anonymous user \fBID\fR (see the \fBanon=\fR\fIuid\fR option
+described above). Netgroups can be used if the file system shared is using UNIX
+authentication ( \fBAUTH_SYS\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBroot_mapping=\fIuid\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+For a client that is allowed root access, map the root UID to the specified
+user id.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sharing is read-write to all clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrw=\fR\fIaccess_list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sharing is read-write to the clients listed in \fIaccess_list\fR; overrides the
+\fBro\fR suboption for the clients specified. See \fIaccess_list\fR below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsec=\fR\fImode\fR[\fB:\fR\fImode\fR].\|.\|.\fR
+.ad
+.sp .6
+.RS 4n
+Sharing uses one or more of the specified security modes. The \fImode\fR in the
+\fBsec=\fR\fImode\fR option must be a node name supported on the client. If the
+\fBsec=\fR option is not specified, the default security mode used is
+\fBAUTH_SYS.\fR Multiple \fBsec=\fR options can be specified on the command
+line, although each mode can appear only once. The security modes are defined
+in \fBnfssec\fR(5).
+.sp
+Each \fBsec=\fR option specifies modes that apply to any subsequent \fBwindow=,
+rw, ro, rw=, ro=\fR and \fBroot=\fR options that are provided before another
+\fBsec=\fRoption. Each additional \fBsec=\fR resets the security mode context,
+so that more \fBwindow=,\fR \fBrw,\fR \fBro,\fR \fBrw=,\fR \fBro=\fR and
+\fBroot=\fR options can be supplied for additional modes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsec=\fR\fInone\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the option \fBsec=\fR\fInone\fR is specified when the client uses
+\fBAUTH_NONE,\fR or if the client uses a security mode that is not one that the
+file system is shared with, then the credential of each \fBNFS\fR request is
+treated as unauthenticated. See the \fBanon=\fR\fIuid\fR option for a
+description of how unauthenticated requests are handled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsecure\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option has been deprecated in favor of the \fBsec=\fR\fIdh\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwindow=\fR\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+When sharing with \fBsec=\fR\fIdh\fR, set the maximum life time (in seconds) of
+the \fBRPC\fR request's credential (in the authentication header) that the
+\fBNFS\fR server allows. If a credential arrives with a life time larger than
+what is allowed, the \fBNFS\fR server rejects the request. The default value is
+30000 seconds (8.3 hours).
+.RE
+
+.RE
+
+.SS "\fIaccess_list\fR"
+.sp
+.LP
+The \fIaccess_list\fR argument is a colon-separated list whose components may
+be any number of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBhostname\fR
+.ad
+.sp .6
+.RS 4n
+The name of a host. With a server configured for \fBDNS\fR or \fBLDAP\fR naming
+in the \fBnsswitch\fR "hosts" entry, any hostname must be represented as a
+fully qualified \fBDNS\fR or \fBLDAP\fR name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnetgroup\fR
+.ad
+.sp .6
+.RS 4n
+A netgroup contains a number of hostnames. With a server configured for
+\fBDNS\fR or \fBLDAP\fR naming in the \fBnsswitch\fR "hosts" entry, any
+hostname in a netgroup must be represented as a fully qualified \fBDNS\fR or
+\fBLDAP\fR name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdomain name suffix\fR
+.ad
+.sp .6
+.RS 4n
+To use domain membership the server must use \fBDNS\fR or \fBLDAP\fR to resolve
+hostnames to \fBIP\fR addresses; that is, the "hosts" entry in the
+\fB/etc/nsswitch.conf\fR must specify "dns" or "ldap" ahead of "nis" or
+"nisplus", since only \fBDNS\fR and \fBLDAP\fR return the full domain name of
+the host. Other name services like \fBNIS\fR or \fBNIS+\fR cannot be used to
+resolve hostnames on the server because when mapping an \fBIP\fR address to a
+hostname they do not return domain information. For example,
+.sp
+.in +2
+.nf
+NIS or NIS+ 172.16.45.9 --> "myhost"
+.fi
+.in -2
+.sp
+
+and
+.sp
+.in +2
+.nf
+DNS or LDAP 172.16.45.9 -->
+ "myhost.mydomain.mycompany.com"
+.fi
+.in -2
+.sp
+
+The domain name suffix is distinguished from hostnames and netgroups by a
+prefixed dot. For example,
+.sp
+\fBrw=.mydomain.mycompany.com\fR
+.sp
+A single dot can be used to match a hostname with no suffix. For example,
+.sp
+\fBrw=.\fR
+.sp
+matches "mydomain" but not "mydomain.mycompany.com". This feature can be used
+to match hosts resolved through \fBNIS\fR and \fBNIS+\fR rather than \fBDNS\fR
+and \fBLDAP\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnetwork\fR
+.ad
+.sp .6
+.RS 4n
+The network or subnet component is preceded by an at-sign (\fB@\fR). It can be
+either a name or a dotted address. If a name, it is converted to a dotted
+address by \fBgetnetbyname\fR(3SOCKET). For example,
+.sp
+\fB=@mynet\fR
+.sp
+would be equivalent to:
+.sp
+\fB=@172.16\fR or \fB=@172.16.0.0\fR
+.sp
+The network prefix assumes an octet-aligned netmask determined from the zeroth
+octet in the low-order part of the address up to and including the high-order
+octet, if you want to specify a single IP address (see below). In the case
+where network prefixes are not byte-aligned, the syntax allows a mask length to
+be specified explicitly following a slash (\fB/\fR) delimiter. For example,
+.sp
+\fB=@theothernet/17\fR or \fB=@172.16.132/22\fR
+.sp
+\&...where the mask is the number of leftmost contiguous significant bits in
+the corresponding IP address.
+.sp
+When specifying individual IP addresses, use the same \fB@\fR notation
+described above, without a netmask specification. For example:
+.sp
+.in +2
+.nf
+=@172.16.132.14
+.fi
+.in -2
+.sp
+
+Multiple, individual IP addresses would be specified, for example, as:
+.sp
+.in +2
+.nf
+root=@172.16.132.20:@172.16.134.20
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.LP
+A prefixed minus sign (\fB\(mi\fR) denies access to that component of
+\fIaccess_list\fR. The list is searched sequentially until a match is found
+that either grants or denies access, or until the end of the list is reached.
+For example, if host "terra" is in the "engineering" netgroup, then
+.sp
+.in +2
+.nf
+rw=-terra:engineering
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+denies access to \fBterra\fR but
+.sp
+.in +2
+.nf
+rw=engineering:-terra
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+grants access to \fBterra\fR.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpathname\fR\fR
+.ad
+.sp .6
+.RS 4n
+The pathname of the file system to be shared.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSharing A File System With Logging Enabled
+.sp
+.LP
+The following example shows the \fB/export\fR file system shared with logging
+enabled:
+
+.sp
+.in +2
+.nf
+example% \fBshare -o log /export\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The default global logging parameters are used since no tag identifier is
+specified. The location of the log file, as well as the necessary logging work
+files, is specified by the global entry in \fB/etc/nfs/nfslog.conf\fR. The
+\fBnfslogd\fR(1M) daemon runs only if at least one file system entry in
+\fB/etc/dfs/dfstab\fR is shared with logging enabled upon starting or rebooting
+the system. Simply sharing a file system with logging enabled from the command
+line does not start the \fBnfslogd\fR(1M).
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.sp .6
+.RS 4n
+list of system types, \fBNFS\fR by default
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/sharetab\fR\fR
+.ad
+.sp .6
+.RS 4n
+system record of shared file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nfs/nfslogtab\fR\fR
+.ad
+.sp .6
+.RS 4n
+system record of logged file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nfs/nfslog.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+logging configuration file
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmount\fR(1M), \fBmountd\fR(1M), \fBnfsd\fR(1M), \fBnfslogd\fR(1M),
+\fBshare\fR(1M), \fBunshare\fR(1M), \fBgetnetbyname\fR(3SOCKET),
+\fBnfslog.conf\fR(4), \fBnetgroup\fR(4), \fBattributes\fR(5), \fBnfssec\fR(5)
+.SH NOTES
+.sp
+.LP
+If the \fBsec=\fR option is presented at least once, all uses of the
+\fBwindow=,\fR \fBrw,\fR \fBro,\fR \fBrw=,\fR \fBro=\fR and \fBroot=\fR options
+must come \fBafter\fR the first \fBsec=\fR option. If the \fBsec=\fR option is
+not presented, then \fBsec=\fR\fIsys\fR is implied.
+.sp
+.LP
+If one or more explicit \fBsec=\fR options are presented, \fIsys\fR must appear
+in one of the options mode lists for accessing using the \fBAUTH_SYS\fR
+security mode to be allowed. For example:
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs /var\fR
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBsec=sys /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+grants read-write access to any host using \fBAUTH_SYS,\fR but
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBsec=dh /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+grants no access to clients that use \fBAUTH_SYS.\fR
+.sp
+.LP
+Unlike previous implementations of \fBshare_nfs\fR, access checking for the
+\fBwindow=, rw, ro, rw=,\fR and \fBro=\fR options is done per \fBNFS\fR
+request, instead of per mount request.
+.sp
+.LP
+Combining multiple security modes can be a security hole in situations where
+the \fBro=\fR and \fBrw=\fR options are used to control access to weaker
+security modes. In this example,
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBsec=dh,rw,sec=sys,rw=hosta /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+an intruder can forge the IP address for \fBhosta\fR (albeit on each \fBNFS\fR
+request) to side-step the stronger controls of \fBAUTH_DES.\fR Something like:
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBsec=dh,rw,sec=sys,ro /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+is safer, because any client (intruder or legitimate) that avoids
+\fBAUTH_DES\fR only gets read-only access. In general, multiple security modes
+per \fBshare\fR command should only be used in situations where the clients
+using more secure modes get stronger access than clients using less secure
+modes.
+.sp
+.LP
+If \fBrw=,\fR and \fBro=\fR options are specified in the same \fBsec=\fR
+clause, and a client is in both lists, the order of the two options determines
+the access the client gets. If client \fBhosta\fR is in two netgroups -
+\fBgroup1\fR and \fBgroup2\fR - in this example, the client would get read-only
+access:
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBro=group1,rw=group2 /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In this example \fBhosta\fR would get read-write access:
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBrw=group2,ro=group1 /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If within a \fBsec=\fR clause, both the \fBro\fR and \fBrw=\fR options are
+specified, for compatibility, the order of the options rule is not enforced.
+All hosts would get read-only access, with the exception to those in the
+read-write list. Likewise, if the \fBro=\fR and \fBrw\fR options are specified,
+all hosts get read-write access with the exceptions of those in the read-only
+list.
+.sp
+.LP
+The \fBro=\fR and \fBrw=\fR options are guaranteed to work over \fBUDP\fR and
+\fBTCP\fR but may not work over other transport providers.
+.sp
+.LP
+The \fBroot=\fR option with \fBAUTH_SYS\fR is guaranteed to work over \fBUDP\fR
+and \fBTCP\fR but may not work over other transport providers.
+.sp
+.LP
+The \fBroot=\fR option with \fBAUTH_DES\fR is guaranteed to work over any
+transport provider.
+.sp
+.LP
+There are no interactions between the \fBroot=\fR option and the \fBrw, ro,
+rw=,\fR and \fBro=\fR options. Putting a host in the \fBroot\fR list does not
+override the semantics of the other options. The access the host gets is the
+same as when the \fBroot=\fR options is absent. For example, the following
+\fBshare\fR command denies access to \fBhostb:\fR
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBro=hosta,root=hostb /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following gives read-only permissions to \fBhostb:\fR
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBro=hostb,root=hostb /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following gives read-write permissions to \fBhostb:\fR
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBro=hosta,rw=hostb,root=hostb /var\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the file system being shared is a symbolic link to a valid pathname, the
+canonical path (the path which the symbolic link follows) are shared. For
+example, if \fB/export/foo\fR is a symbolic link to \fB/export/bar\fR
+(\fB/export/foo -> /export/bar\fR), the following \fBshare\fR command results
+in \fB/export/bar\fR as the shared pathname (and not \fB/export/foo\fR).
+.sp
+.in +2
+.nf
+\fBexample# share\fR \fB-F\fR \fBnfs /export/foo\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+An \fBNFS\fR mount of \fBserver:/export/foo\fR results in
+\fBserver:/export/bar\fR really being mounted.
+.sp
+.LP
+This line in the \fB/etc/dfs/dfstab\fR file shares the \fB/disk\fR file system
+read-only at boot time:
+.sp
+.in +2
+.nf
+\fBshare\fR \fB-F\fR \fBnfs\fR \fB-o\fR \fBro /disk\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The same command entered from the command line does not share the \fB/disk\fR
+file system unless there is at least one file system entry in the
+\fB/etc/dfs/dfstab\fR file. The \fBmountd\fR(1M) and \fBnfsd\fR(1M) daemons
+only run if there is a file system entry in \fB/etc/dfs/dfstab\fR when starting
+or rebooting the system.
+.sp
+.LP
+The \fBmountd\fR(1M) process allows the processing of a path name the contains
+a symbolic link. This allows the processing of paths that are not themselves
+explicitly shared with \fBshare_nfs\fR. For example, \fB/export/foo\fR might be
+a symbolic link that refers to \fB/export/bar\fR which has been specifically
+shared. When the client mounts \fB/export/foo\fR the \fBmountd\fR processing
+follows the symbolic link and responds with the \fB/export/bar\fR. The NFS
+Version 4 protocol does not use the \fBmountd\fR processing and the client's
+use of \fB/export/foo\fR does not work as it does with NFS Version 2 and
+Version 3 and the client receives an error when attempting to mount
+\fB/export/foo\fR.
diff --git a/usr/src/man/man1m/shareall.1m b/usr/src/man/man1m/shareall.1m
new file mode 100644
index 0000000000..91996befe3
--- /dev/null
+++ b/usr/src/man/man1m/shareall.1m
@@ -0,0 +1,64 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1995, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH shareall 1M "6 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+shareall, unshareall \- share, unshare multiple resources
+.SH SYNOPSIS
+.LP
+.nf
+\fBshareall\fR [\fB-F\fR \fIFSType\fR [,\fIFSType\fR]...] [\fB-|\fR \fIfile\fR]
+.fi
+
+.LP
+.nf
+\fBunshareall\fR [\fB-F\fR \fIFSType\fR [,\fIFSType\fR]...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+When used with no arguments, \fBshareall\fR shares all resources from
+\fBfile\fR, which contains a list of \fBshare\fR command lines. If the operand
+is a hyphen (\(mi), then the \fBshare\fR command lines are obtained from the
+standard input. Otherwise, if neither a \fBfile\fR nor a hyphen is specified,
+then the file \fB/etc/dfs/dfstab\fR is used as the default.
+.sp
+.LP
+Resources may be shared by specific file system types by specifying the file
+systems in a comma-separated list as an argument to \fB-F\fR.
+.sp
+.LP
+\fBunshareall\fR unshares all currently shared resources. Without a \fB-F\fR
+flag, it unshares resources for all distributed file system types.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fI FSType\fR\fR
+.ad
+.RS 13n
+.rt
+Specify file system type. Defaults to the first entry in
+\fB/etc/dfs/fstypes\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/dfstab\fR\fR
+.ad
+.RS 19n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBshare\fR(1M), \fBunshare\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/sharectl.1m b/usr/src/man/man1m/sharectl.1m
new file mode 100644
index 0000000000..aa060ca959
--- /dev/null
+++ b/usr/src/man/man1m/sharectl.1m
@@ -0,0 +1,301 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sharectl 1M "16 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sharectl \- configure and manage file sharing service
+.SH SYNOPSIS
+.LP
+.nf
+\fBsharectl\fR [\fB-h\fR]
+.fi
+
+.LP
+.nf
+\fBsharectl\fR status [\fB-h\fR] [\fIprotocol\fR]
+.fi
+
+.LP
+.nf
+\fBsharectl\fR get [\fB-h\fR] [\fB-p\fR \fIproperty\fR]... \fIprotocol\fR
+.fi
+
+.LP
+.nf
+\fBsharectl\fR set [\fB-h\fR] [\fB-p\fR \fIproperty\fR=\fIvalue\fR]... \fIprotocol\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsharectl\fR command operates on file-sharing protocols, such as NFS. The
+command sets the client and server operational properties, takes and restores
+configuration snapshots, and gets status of the protocol service.
+.sp
+.LP
+The \fBget\fR and \fBset\fR subcommands (see below) require root privileges or
+that you assume the Primary Administrator role. A non-privileged user can
+change the Solaris CIFS client's persistent settings when granted the SMBFS
+Management rights profile in the \fB/etc/user_attr\fR file. See
+\fBuser_attr\fR(4) and \fBrbac\fR(5). An authorized user can use \fBsharectl\fR
+to set global values for Solaris CIFS server properties in the Solaris server
+management facility. See \fBsmb\fR(4).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIproperty\fR[=\fIvalue\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a property. See "Subcommands," below.
+.RE
+
+.SS "Subcommands"
+.sp
+.LP
+\fBsharectl\fR supports the subcommands described below. The form of a
+\fBsharectl\fR command is:
+.sp
+.in +2
+.nf
+# \fBsharectl \fIsubcommand\fR [\fIoption\fR]\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget\fR [\fB-p\fR\ \fIproperty\fR] \fIprotocol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Get the property values for the specified protocol. If no \fB-p\fR option is
+provided, get all the properties for the specified protocol. For NFS,
+properties correspond to entries in the \fB/etc/default/nfs\fR file. See
+\fBnfs\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR [\fB-p\fR\ \fIproperty\fR=\fIvalue\fR]... \fIprotocol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set properties for the specified file sharing protocol.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstatus\fR [\fIprotocol\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display status of the specified protocol, or, if no protocol is specified, of
+all file-sharing protocols.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting a Property
+.sp
+.LP
+The following command sets the minimum version of the server NFS protocol to
+version 3.
+
+.sp
+.in +2
+.nf
+% \fBsharectl -p server_versmin=3 nfs\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRGetting Properties
+.sp
+.LP
+The following command gets the properties for the NFS protocol.
+
+.sp
+.in +2
+.nf
+% \fBsharectl get nfs\fR
+lockd_listen_backlog=32
+lockd_servers=20
+lockd_retransmit_timeout=5
+grace_period=90
+nfsmapid_domain=sun.com
+servers=16
+server_versmin=2
+server_versmax=4
+max_connections=-1
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command gets the value of the grace_period property for the NFS
+protocol.
+
+.sp
+.in +2
+.nf
+% \fBsharectl get -p grace_period nfs\fR
+grace_period=90
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRObtaining Status
+.sp
+.LP
+The following command obtains the status of all file-sharing protocols on a
+system.
+
+.sp
+.in +2
+.nf
+% \fBsharectl status\fR
+nfs enabled
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRConfiguring Global Settings
+.sp
+.LP
+The following command shows how an authorized user can use \fBsharectl\fR
+commands to configure global settings for the \fBex.com\fR environment in the
+service management facility (SMF). See \fBnsmbrc\fR(4) for a description of the
+example environment, \fBex.com\fR. See \fBsmf\fR(5) for a description of the
+SMF.
+
+.sp
+.in +2
+.nf
+# \fBsharectl set -p section=default -p workgroup=SALES \e
+-p timeout=5 smbfs\fR
+# \fBsharectl set -p section=FSERVER -p addr=fserv.ex.com smbfs\fR
+# \fBsharectl set -p section=RSERVER -p workgroup=REMGROUP \e
+-p addr=rserv.ex.com smbfs\fR
+# \fBsharectl set -p section=RSERVER:george -p timeout=30 smbfs\fR
+# \fBsharectl set -p section="SSERV:*:POKY" -p addr=sserv.ex.com \e
+-p timeout=25 smbfs\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDisplaying Current Settings
+.sp
+.LP
+The following command shows how an authorized user can use the \fBsharectl
+get\fR command to view the global settings for \fBsmbfs\fR in the SMF. The
+values shown are those set by the previous example.
+
+.sp
+.in +2
+.nf
+% # \fBsharectl get smbfs\fR
+[default]
+workgroup=SALES
+timeout=5
+[FSERVER]
+addr=fserv.ex.com
+[RSERVER]
+workgroup=REMGROUP
+addr=rserv.ex.com
+[RSERVER:george]
+timeout=30
+[SSERV:*:POKY]
+addr=sserv.ex.com
+timeout=25
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+Command failed.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/include/libshare.h\fR\fR
+.ad
+.RS 27n
+.rt
+Error codes used for exit status.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsharemgr\fR(1M), \fBnfs\fR(4), \fBnsmbrc\fR(4), \fBuser_attr\fR(4),
+\fBattributes\fR(5), \fBrbac\fR(5), \fBsmb\fR(4), \fBsmf\fR(5),
+\fBstandards\fR(5)
diff --git a/usr/src/man/man1m/sharemgr.1m b/usr/src/man/man1m/sharemgr.1m
new file mode 100644
index 0000000000..6dde83860d
--- /dev/null
+++ b/usr/src/man/man1m/sharemgr.1m
@@ -0,0 +1,1377 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sharemgr 1M "21 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sharemgr \- configure and manage file sharing
+.SH SYNOPSIS
+.LP
+.nf
+\fBsharemgr\fR \fIsubcommand\fR [\fIoptions\fR]
+.fi
+
+.LP
+.nf
+\fBadd-share\fR [\fB-nth\fR] [\fB-r\fR \fIresource-name\fR] [\fB-d\fR "\fIdescription text\fR"]
+ \fB-s\fR \fIsharepath\fR \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBcreate\fR [\fB-nvh\fR] [\fB-P\fR \fIproto\fR [\fB-p\fR \fIproperty\fR=\fIvalue\fR]] \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBdelete\fR [\fB-nvh\fR] [\fB-P\fR \fIproto\fR] [\fB-f\fR] \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBdisable\fR [\fB-nvh\fR] [\fB-a\fR | \fIgroup\fR...]
+.fi
+
+.LP
+.nf
+\fBenable\fR [\fB-nvh\fR] [\fB-a\fR | \fIgroup\fR...]
+.fi
+
+.LP
+.nf
+\fBlist\fR [\fB-vh\fR] [\fB-P\fR \fIproto\fR]
+.fi
+
+.LP
+.nf
+\fBmove-share\fR [\fB-nv\fR] \fB-s\fR \fIsharepath\fR \fIdestination-group\fR
+.fi
+
+.LP
+.nf
+\fBremove-share\fR [\fB-fnvh\fR] \fB-s\fR \fIsharepath\fR \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBset\fR [\fB-nvh\fR] \fB-P\fR \fIproto\fR [\fB-p\fR \fIproperty\fR=\fIvalue\fR]... [\fB-S\fR \fIoptionset\fR]
+ [\fB-s\fR \fIsharepath\fR] \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBset-share\fR [\fB-nh\fR] [\fB-r\fR \fIresource\fR] [\fB-d\fR "\fIdescription text\fR"]
+ \fB-s\fR \fIsharepath\fR \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBshow\fR [\fB-pvxh\fR] [\fB-P\fR \fIproto\fR] [\fIgroup\fR]...
+.fi
+
+.LP
+.nf
+\fBunset\fR [\fB-nvh\fR] \fB-P\fR \fIproto\fR [\fB-S\fR \fIoptionset\fR] [\fB-p\fR \fIproperty\fR]...
+ \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBshare\fR [\fB-F\fR \fIfstype\fR] [\fB-p\fR] [\fB-o\fR \fIoptionlist\fR] [\fB-d\fR \fIdescription\fR]
+ [\fIpathname\fR [\fIresourcename\fR]]
+.fi
+
+.LP
+.nf
+\fBunshare\fR [\fB-F\fR \fIfstype\fR] [\fB-p\fR] [\fB-o\fR \fIoptionlist\fR] \fIsharepath\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsharemgr\fR command configures share groups and the shares contained
+within them.
+.sp
+.LP
+A group name must conform to service management facility (SMF) (see
+\fBsmf\fR(5)) service-naming conventions, thus is limited to starting with an
+alphabetic character, with the rest of the name consisting only of alphanumeric
+characters plus \fB-\fR (hyphen) and \fB_\fR (underbar).
+.sp
+.LP
+Subcommands that result in a configuration change support a dry-run option.
+When dry-run (\fB-n\fR) is specified, the syntax and validity of the command is
+tested but the configuration is not actually updated.
+.sp
+.LP
+For all subcommands, the \fB-h\fR option lists usage and help information.
+.sp
+.LP
+For subcommands with the verbose (\fB-v\fR) option, additional information will
+be provided. For example, in conjunction with the \fB-n\fR option, verbose mode
+will also indicate whether the current user has sufficient permissions to
+accomplish the operation.
+.sp
+.LP
+There are two groups that are created automatically. The \fBdefault\fR group
+always exists and covers legacy NFS shares only. The \fBzfs\fR group will be
+created when ZFS shares are enabled.
+.sp
+.LP
+The options shown in the SYNOPSIS section are described in the context of each
+subcommand. All subcommands except \fBlist\fR and \fBshow\fR require root
+privileges or that you assume the Primary Administrator role.
+.SS "Subcommands"
+.sp
+.LP
+With no subcommand entered, a \fBsharemgr\fR command with the \fB-h\fR option
+displays a usage message for all subcommands.
+.sp
+.LP
+The following subcommands follow \fBsharemgr\fR on a command line. Commands
+take the form:
+.sp
+.in +2
+.nf
+% \fBsharemgr \fI<subcommand>\fR [\fIoptions\fR]\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate\fR \fB[-nvh] [-P \fIproto\fR [-p \fIproperty\fR=\fIvalue\fR]]
+\fIgroup\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a new group with specified name.
+.sp
+If \fB-n\fR is specified, the command checks only the validity of the command
+and that the group does not already exist.
+.sp
+If no protocol is specified, all known protocols are enabled for the specified
+group. If a protocol is specified, only that protocol is enabled. You can
+specify properties for a specified protocol.
+.sp
+If \fIgroup\fR exists, use of \fB-P\fR adds the specified protocol to that
+group.
+.sp
+As an example of the \fBcreate\fR subcommand, the following command creates a
+new group with the name \fBmygroup\fR.
+.sp
+.in +2
+.nf
+# \fBsharemgr create mygroup\fR
+.fi
+.in -2
+.sp
+
+Because no protocol was specified in the preceding command, all defined
+protocols will be enabled on the group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR \fB[-nvh] [-P \fIproto\fR] [-f] \fIgroup\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the specified group. If the group is not empty, you can use the \fB-f\fR
+option to force the deletion, which unshares and removes all shares from the
+group before removing the group itself.
+.sp
+If you specify a protocol, rather than deleting the whole group, this
+subcommand deletes the protocol from the group.
+.sp
+The \fB-n\fR option can be used to test the syntax of the command.
+.sp
+As an example, the following command removes the group \fBmygroup\fR from the
+configuration if it is empty.
+.sp
+.in +2
+.nf
+# \fBsharemgr delete mygroup\fR
+.fi
+.in -2
+.sp
+
+The following command removes any existing shares prior to removing the group.
+.sp
+.in +2
+.nf
+# \fBsharemgr delete -f mygroup\fR
+.fi
+.in -2
+.sp
+
+Note the use of the force (\fB-f\fR) option, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR \fB[-vh] [-P \fIproto\fR]\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the defined groups.
+.sp
+If a protocol is specified, list only those groups that have the specified
+protocol defined.
+.sp
+If the verbose option is specified, the current state of the group and all
+protocols enabled on the group are listed as well. For example:
+.sp
+.in +2
+.nf
+# \fBsharemgr list -v\fR
+mygroup enabled nfs
+rdonlygrp disabled nfs
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow\fR \fB[-pvxh] [-P \fIproto\fR] [\fIgroup\fR...]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shows the contents of the specified group(s).
+.sp
+If the verbose option is specified, the resource name and description of each
+share is displayed if they are defined. Otherwise, only the share paths are
+displayed. Also, when temporary shares are listed, they are prefixed with an
+asterisk (\fB*\fR).
+.sp
+If the \fB-p\fR option is specified, all options defined for the protocols of
+the group are displayed, in addition to the display without options. If the
+\fB-P\fR option is used, the output is limited to those groups that have the
+specified protocol enabled. If the \fB-x\fR option is specified, output is in
+XML format and the \fB-p\fR and \fB-v\fR options are ignored, because all
+information is included in the XML.
+.sp
+The following example illustrates the use of the \fB-p\fR option.
+.sp
+.in +2
+.nf
+# \fBsharemgr show -p mygroup\fR
+default nfs=()
+ * /data/backup
+mygroup nfs=(nosuid=true)
+ /export/home/home0
+ /export/home/home1
+.fi
+.in -2
+.sp
+
+The following example illustrates the use of the \fB-v\fR option.
+.sp
+.in +2
+.nf
+# \fBsharemgr show -v mygroup\fR
+mygroup
+ HOME0=/export/home/home0 "Home directory set 0"
+ HOME1=/export/home/home1 "Home directory set 1"
+.fi
+.in -2
+.sp
+
+ZFS managed shares are handled in a way similar to the way NFS shares are
+handled. These shares appear as subgroups within the parent group \fBzfs\fR.
+The subgroups are always prefixed with \fBzfs/\fR and use the ZFS dataset name
+for the rest of the name. The mount point and any sub-mounts that inherit
+sharing are shown as the shares of the subgroup. For example:
+.sp
+.in +2
+.nf
+# \fBsharemgr show -vp zfs\fR
+zfs nfs=()
+ zfs/ztest
+ /ztest
+ /ztest/backups
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR \fB[-nvh] -P \fIproto\fR [-S \fIoptionset\fR] [-p
+\fIproperty\fR=\fIvalue\fR]* [-s \fIshare path\fR] \fIgroup\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set protocol-specific properties on the specified group.
+.sp
+The \fB-P\fR option is required and must specify a valid protocol.
+.sp
+Optionsets are protocol-specific sets of properties that can be negotiated by
+the protocol client. For NFS, optionsets are equivalent to security modes as
+defined in \fBnfssec\fR(5). If \fB-S\fR \fIoptionset\fR is specified, the
+properties are applied to the selected optionset. Otherwise they are applied to
+the general optionset.
+.sp
+Together, \fB-P\fR and \fB-S\fR select a specific view of the group's options
+on which to work.
+.sp
+Property values are strings. A specified property is set to a new value if the
+property already exists or is added to the protocol if it does not already
+exist.
+.sp
+In the general case, at least one property must be set. If \fB-S\fR is
+specified, properties can be omitted and the specified optionset is enabled for
+the protocol.
+.sp
+The \fB-s\fR option allows setting properties on a per-share basis. While this
+is supported, it should be limited to managing legacy shares and to the
+occasional need for an override of a group-level property or placing an
+additional property on one share within a group.
+.sp
+An example of this subcommand:
+.sp
+.in +2
+.nf
+# \fBsharemgr set -P nfs -p anon=1234 mygroup\fR
+.fi
+.in -2
+.sp
+
+The preceding command adds the property \fBanon=1234\fR to the \fBnfs\fR view
+of group \fBmygroup\fR. If \fBmygroup\fR has existing shares, they will all be
+reshared with the new property value(s).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunset\fR \fB[-nvh] -P proto [-S \fIoptionset\fR] [-p \fIproperty\fR]* [-s
+\fIsharepath\fR ] \fIgroup\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unset the specified properties for the protocol or for the specified
+\fIoptionset\fR of the protocol.
+.sp
+In the general case, at least one property must be set. If \fB-S\fR is
+specified, properties can be omitted and the specified optionset is removed
+from the protocol.
+.sp
+The \fB-s\fR option allows removing a share-specific property.
+.sp
+An example of this subcommand:
+.sp
+.in +2
+.nf
+# \fBsharemgr unset -P nfs -p anon mygroup\fR
+.fi
+.in -2
+.sp
+
+The preceding command removes the \fBanon=\fR property from the \fBnfs\fR view
+of group \fBmygroup\fR. If \fBmygroup\fR has existing shares, they will all be
+reshared with the new property value(s).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-share\fR \fB[-nth] [-r \fIresource-name\fR] [-d "\fIdescription
+text\fR"] -s \fIsharepath\fR \fIgroup\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add a new share to the specified group.
+.sp
+The \fB-s\fR option is mandatory and takes a full directory path.
+.sp
+If either or both of \fB-d\fR and \fB-r\fR are specified, they specify values
+associated with the share. \fB-d\fR provides a description string to document
+the share and \fB-r\fR provides a protocol-independent resource name. Resource
+names are not used by NFS at this time but can be specified. These names
+currently follow the same naming rules as group names.
+.sp
+The temporary option (\fB-t\fR) results in the share being shared but not
+stored in the configuration repository. This option is intended for shares that
+should not survive a reboot or server restart, or for testing purposes.
+Temporary shares are indicated in the \fBshow\fR subcommand output with an
+asterisk (\fB*\fR) preceding the share.
+.sp
+If \fIsharepath\fR is a ZFS path and that path is added to the \fBzfs\fR group,
+\fBsharemgr\fR creates a new ZFS subgroup; the new share is added to that
+subgroup. Any ZFS sub-filesystems under the ZFS filesystem designated by
+\fIsharepath\fR will inherit the shared status of \fIsharepath\fR.
+.sp
+The effect of the \fBadd-share\fR subcommand on a ZFS dataset is determined by
+the values of the \fBsharesmb\fR and \fBsharenfs\fR properties of that dataset.
+.sp
+See \fBzfs\fR(1M) for a description of the \fBsharesmb\fR and \fBsharenfs\fR
+properties.
+.sp
+The following are examples of the \fBadd-share\fR subcommand.
+.sp
+.in +2
+.nf
+# \fBsharemgr add-share -s /export/home/home0 -d "home \e
+directory set 0" -r HOME0 mygroup\fR
+
+# \fBsharemgr add-share -s /export/home/home1 -d "home \e
+directory set 1" -r HOME1 mygroup\fR
+.fi
+.in -2
+.sp
+
+The preceding commands add \fB/export/home/home0\fR and
+\fB/export/home/home1\fR to the group \fBmygroup\fR. A descriptive comment and
+a resource name are included.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmove-share\fR \fB[-nvh] -s \fIsharepath\fR \fIdestination-group\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Move the specified share from the group it is currently in to the specified
+destination group. The \fBmove-share\fR subcommand does not create a group. A
+specified group must exist for the command to succeed.
+.sp
+The following is an example of this subcommand.
+.sp
+.in +2
+.nf
+# \fBsharemgr move-share -s /export/home/home1 newgroup\fR
+.fi
+.in -2
+.sp
+
+Assuming \fB/export/home/home1\fR is in the group \fBmygroup\fR, the preceding
+command moves \fB/export/home/home1\fR to the group \fBnewgroup\fR and unshares
+and then reshares the directory with the properties associated with
+\fBnewgroup\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove-share\fR \fB[-fnvh] -s \fIsharepath\fR \fIgroup\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the specified share from the specified group. The force (\fB-f\fR)
+option forces the share to be removed even if it is busy.
+.sp
+You must specify the full path for \fIsharepath\fR. For group, use the subgroup
+as displayed in the output of the \fBsharemgr show\fR command. Note that if
+there are subshares that were created by inheritance, these will be removed,
+along with the parent shares.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset-share\fR \fB[-nvh] [-r \fIresource\fR] [-d "\fIdescription text\fR"]
+-s \fIsharepath\fR \fIgroup\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set or change the specified share's description and resource values. One use of
+\fBset-share\fR is to rename a resource. The syntax for this use of the
+subcommand is:
+.sp
+.in +2
+.nf
+# \fBsharemgr set-share -r \fIcurrent_name\fR=\fInew_name\fR -s \fIsharepath\fR \fIgroup\fR\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable\fR \fB[-nvh] [\fIgroup\fR... | -a]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable the specified group(s), or (with \fB-a\fR) all groups, and start sharing
+the contained shares. This state persists across reboots.
+.sp
+An enabled group will be shared whenever the corresponding SMF service instance
+is enabled. \fBsharemgr\fR will start the SMF service instance if it is not
+currently online.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable\fR \fB[-nvh] [\fIgroup\fR... | -a]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the specified group(s), or (with \fB-a\fR) all groups, and unshare the
+shares that they contain. This state persists across reboots.
+.sp
+A disabled group will not be shared even if the corresponding SMF service
+instance is online. This feature is useful when you do not want a group of
+shares to be started at boot time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstart\fR \fB[-vh] [-P \fIproto\fR] [\fIgroup\fR... | -a]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start the specified group, or (with \fB-a\fR) all groups. The \fBstart\fR
+subcommand is similar to \fBenable\fR in that all shares are started, but
+\fBstart\fR works only on groups that are enabled. \fBstart\fR is used by the
+SMF to start sharing at system boot.
+.sp
+A group will not start sharing if it is in the \fBsharemgr\fR \fBdisabled\fR
+state. However, the corresponding SMF service instance will be started.
+.sp
+Note that the \fBstart\fR subcommand is similar to the \fBshareall\fR(1M)
+command in that it starts up only the configured shares. That is, the enabled
+shares will start being shared, but the configuration state is left the same.
+The command:
+.sp
+.in +2
+.nf
+# \fBsharemgr start -a\fR
+.fi
+.in -2
+.sp
+
+\&...is equivalent to:
+.sp
+.in +2
+.nf
+# \fBshareall\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstop\fR \fB[-vh] [-P \fIproto\fR] [\fIgroup\fR... | -a]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Stop the specified group, or (with \fB-a\fR) all groups. The \fBstop\fR
+subcommand is similar to \fBdisable\fR in that all shares are no longer shared,
+but it works only on groups that are enabled. \fBstop\fR is used by the SMF to
+stop sharing at system shutdown.
+.sp
+Note that the \fBstop\fR subcommand is similar to the \fBunshareall\fR(1M)
+command in that all active shares are unshared, but the configuration is left
+the same. That is, the shares are stopped but the service instances are left
+enabled. The command:
+.sp
+.in +2
+.nf
+# \fBsharemgr stop -a\fR
+.fi
+.in -2
+.sp
+
+\&...is equivalent to:
+.sp
+.in +2
+.nf
+# \fBunshareall\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshare\fR \fB[-F \fIfstype\fR] [-p] [-o \fIoptionlist\fR] [-d
+\fIdescription\fR] [\fIpathname\fR [\fIresourcename\fR]]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shares the specified path in the \fBdefault\fR share group. This subcommand
+implements the \fBshare\fR(1M) functionality. Shares that are shared in this
+manner will be transient shares. Use of the \fB-p\fR option causes the shares
+to be persistent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunshare\fR \fB[-F \fIfstype\fR] [-p] [-o \fIoptionlist\fR]
+\fIsharepath\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unshares the specified share. This subcommand implements the \fBunshare\fR(1M)
+functionality. By default, the \fBunshare\fR is temporary. The \fB-p\fR option
+is provided to remove the share from the configuration in a way that persists
+across reboots.
+.RE
+
+.SS "Supported Properties"
+.sp
+.LP
+Properties are protocol-specific. Currently, only the NFS and SMB protocols are
+supported. Properties have the following characteristics:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Values of type \fIboolean\fR take either \fBtrue\fR or \fBfalse\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Values of type \fIvalue\fR take a numeric value.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Values of type \fIfile\fR take a file name and not a file path.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Values of type \fIaccess-list\fR are described in detail following the
+descriptions of the NFS properties.
+.RE
+.sp
+.LP
+The general properties supported for NFS are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBabe=\fR\fIboolean\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the access-based enumeration (ABE) policy for a share. When set to
+\fBtrue\fR, ABE filtering is enabled on this share and directory entries to
+which the requesting user has no access will be omitted from directory listings
+returned to the client. When set to \fBfalse\fR or not defined, ABE filtering
+will not be performed on this share. This property is not defined by default.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable ABE for this share.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable ABE for this share.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaclok=\fIboolean\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows the NFS server to do access control for NFS Version 2 clients (running
+SunOS 2.4 or earlier). When \fBaclok\fR is set on the server, maximum access is
+given to all clients. For example, with \fBaclok\fR set, if anyone has read
+permissions, then everyone does. If \fBaclok\fR is not set, minimum access is
+given to all clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBad-container\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the AD container in which to publish shares.
+.sp
+The AD container is specified as a comma-separated list of attribute name-value
+pairs using the LDAP distinguished name (DN) or relative distinguished name
+(RDN) format. The DN or RDN must be specified in LDAP format using the
+\fBcn=\fR, \fBou=\fR, and \fBdc=\fR prefixes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBcn\fR represents the common name
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBou\fR represents the organizational unit
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBdc\fR represents the domain component
+.RE
+\fBcn=\fR, \fBou=\fR and \fBdc=\fR are attribute types. The attribute type used
+to describe an object's RDN is called the naming attribute, which, for ADS,
+includes the following object classes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBcn\fR for the \fBuser\fR object class
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBou\fR for the organizational unit (\fBOU\fR) object class
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBdc\fR for the \fBdomainDns\fR object class
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBanon=\fIuid\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set \fIuid\fR to be the effective user ID of unknown users. By default, unknown
+users are given the effective user ID \fBUID_NOBODY\fR. If uid is set to
+\fB-1\fR, access is denied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcatia=\fIboolean\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+CATIA V4 uses characters in file names that are considered to be invalid by
+Windows. CATIA V5 is available on Windows. A CATIA V4 file could be
+inaccessible to Windows clients if the file name contains any of the characters
+that are considered illegal in Windows. By default, CATIA character
+substitution is not performed.
+.sp
+If the \fBcatia\fR property is set to true, the following character
+substitution is applied to file names.
+.sp
+.in +2
+.nf
+CATIA CATIA
+V4 UNIX V5 Windows
+ " \e250 0x00a8 Dieresis
+ * \e244 0x00a4 Currency Sign
+ / \e370 0x00f8 Latin Small Letter O with Stroke
+ : \e367 0x00f7 Division Sign
+ < \e253 0x00ab Left-Pointing Double Angle Quotation Mark
+ > \e273 0x00bb Right-Pointing Double Angle Quotation Mark
+ ? \e277 0x00bf Inverted Question Mark
+ \e \e377 0x00ff Latin Small Letter Y with Dieresis
+ | \e246 0x00a6 Broken Bar
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcksum=\fIcksumlist\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the share to attempt to use end-to-end checksums. The value \fIcksumlist\fR
+specifies the checksum algorithms that should be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcsc=\fR\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the client-side caching policy for a share. Client-side caching is a client
+feature and offline files are managed entirely by the clients.
+.sp
+.LP
+The following are valid values for the \fBcsc\fR property:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBmanual\fR \fB-\fR Clients are permitted to cache files from the specified
+share for offline use as requested by users. However, automatic file-by-file
+reintegration is not permitted. \fBmanual\fR is the default value.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBauto\fR \fB-\fR Clients are permitted to automatically cache files from the
+specified share for offline use and file-by-file reintegration is permitted.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBvdo\fR \fB-\fR Clients are permitted to automatically cache files from the
+specified share for offline use, file-by-file reintegration is permitted, and
+clients are permitted to work from their local cache even while offline.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBdisabled\fR \fB-\fR Client-side caching is not permitted for this share.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBguestok=\fR\fIboolean\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the guest access policy for the share. When set to \fBtrue\fR guest access
+is allowed on this share. When set to \fBfalse\fR or not defined guest access
+is not allowed on this share. This property is not defined by default.
+.sp
+An \fBidmap\fR(1M) name-based rule can be used to map \fBguest\fR to any local
+username, such as \fBguest\fR or \fBnobody\fR. If the local account has a
+password in \fB/var/smb/smbpasswd\fR the guest connection will be authenticated
+against that password. Any connection made using an account that maps to the
+local guest account will be treated as a guest connection.
+.sp
+Example name-based rule:
+.sp
+.in +2
+.nf
+# \fBidmap add winname:Guest unixuser:guest\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBindex=\fIfile\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Load \fIfile\fR rather than a listing of the directory containing this file
+when the directory is referenced by an NFS URL.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog=\fItag\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables NFS server logging for the specified system. The optional tag
+determines the location of the related log files. The tag is defined in
+\fBetc/nfs/nfslog.conf\fR. If no tag is specified, the default values
+associated with the global tag in \fBetc/nfs/nfslog.conf\fR is used. Support of
+NFS server logging is available only for NFS Version 2 and Version 3 requests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnosub=\fIboolean\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevents clients from mounting subdirectories of shared directories. For
+example, if \fB/export\fR is shared with the \fBnosub\fR option on server
+\fBwool\fR then an NFS client cannot do:
+.sp
+.in +2
+.nf
+# \fBmount -F nfs wool:/export/home/mnt\fR
+.fi
+.in -2
+.sp
+
+NFS Version 4 does not use the MOUNT protocol. The \fBnosub\fR option applies
+only to NFS Version 2 and Version 3 requests.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnosuid=\fIboolean\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+By default, clients are allowed to create files on a shared file system with
+the \fBsetuid\fR or \fBsetgid\fR mode enabled. Specifying \fBnosuid\fR causes
+the server file system to silently ignore any attempt to enable the
+\fBsetuid\fR or \fBsetgid\fR mode bits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpublic=\fIboolean\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Moves the location of the public file handle from root (\fB/\fR) to the
+exported directory for WebNFS-enabled browsers and clients. This option does
+not enable WebNFS service; WebNFS is always on. Only one file system per server
+can have the \fBpublic\fR property. You can apply the \fBpublic\fR property
+only to a share and not to a group.
+.RE
+
+.sp
+.LP
+NFS also supports negotiated optionsets for supported security modes. The
+security modes are documented in \fBnfssec\fR(5). The properties supported for
+these optionsets are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcharset\fR=\fIaccess-list\fR\fR
+.ad
+.sp .6
+.RS 4n
+Where \fIcharset\fR is one of: \fBeuc-cn\fR, \fBeuc-jp\fR, \fBeuc-jpms\fR,
+\fBeuc-kr\fR, \fBeuc-tw\fR, \fBiso8859-1\fR, \fBiso8859-2\fR, \fBiso8859-5\fR,
+\fBiso8859-6\fR, \fBiso8859-7\fR, \fBiso8859-8\fR, \fBiso8859-9\fR,
+\fBiso8859-13\fR, \fBiso8859-15\fR, \fBkoi8-r\fR.
+.sp
+Clients that match the \fIaccess-list\fR for one of these properties will be
+assumed to be using that character set and file and path names will be
+converted to UTF-8 for the server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBro=\fIaccess-list\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sharing is read-only to the clients listed in \fIaccess-list\fR; overrides the
+\fBrw\fR suboption for the clients specified. See the description of
+\fIaccess-list\fR below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrw=\fIaccess-list\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sharing is read-write to the clients listed in \fIaccess-list\fR; overrides the
+\fBro\fR suboption for the clients specified. See the description of
+\fIaccess-list\fR below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone=\fIaccess-list\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Access is not allowed to any client that matches the access list. The exception
+is when the access list is an asterisk (\fB*\fR), in which case \fBro\fR or
+\fBrw\fR can override \fBnone\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBroot=\fIaccess-list\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only root users from the hosts specified in \fIaccess-list\fR have root access.
+See details on \fIaccess-list\fR below. By default, no host has root access, so
+root users are mapped to an anonymous user ID (see the \fBanon=uid\fR option
+described above). Netgroups can be used if the file system shared is using UNIX
+authentication (\fBAUTH_SYS\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBroot_mapping=\fIuid\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+For a client that is allowed root access, map the root UID to the specified
+user id.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwindow=\fIvalue\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+When sharing with \fBsec=dh\fR (see \fBnfssec\fR(5)), set the maximum lifetime
+(in seconds) of the RPC request's credential (in the authentication header)
+that the NFS server allows. If a credential arrives with a lifetime larger than
+what is allowed, the NFS server rejects the request. The default value is 30000
+seconds (8.3 hours). This property is ignored for security modes other than
+\fBdh\fR.
+.RE
+
+.sp
+.LP
+The general properties supported for SMB are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBro=\fIaccess-list\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sharing is read-only to the clients listed in \fIaccess-list\fR; overrides the
+\fBrw\fR suboption for the clients specified. See the description of
+\fIaccess-list\fR below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrw=\fIaccess-list\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sharing is read-write to the clients listed in \fIaccess-list\fR; overrides the
+\fBro\fR suboption for the clients specified. See the description of
+\fIaccess-list\fR below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone=\fIaccess-list\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Access is not allowed to any client that matches the access list. The exception
+is when the access list is an asterisk (\fB*\fR), in which case \fBro\fR or
+\fBrw\fR can override \fBnone\fR.
+.RE
+
+.SS "Access List Argument"
+.sp
+.LP
+The \fIaccess-list\fR argument is either the string \fB"*"\fR to represent all
+hosts or a colon-separated list whose components can be any number of the
+following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhostname\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of a host. With a server configured for DNS or LDAP naming in the
+\fBnsswitch.conf\fR(4) \fBhosts\fR entry, a hostname must be represented as a
+fully qualified DNS or LDAP name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInetgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+A \fInetgroup\fR contains a number of hostnames. With a server configured for
+DNS or LDAP naming in the \fBnsswitch.conf\fR(4) \fBhosts\fR entry, any
+hostname in a netgroup must be represented as a fully qualified DNS or LDAP
+name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdomainname\fR.\fIsuffix\fR\fR
+.ad
+.sp .6
+.RS 4n
+To use domain membership the server must use DNS or LDAP, rather than, for
+example, NIS or NIS+, to resolve hostnames to IP addresses. That is, the
+\fBhosts\fR entry in the \fBnsswitch.conf\fR(4) must specify \fBdns\fR or
+\fBldap\fR ahead of \fBnis\fR or \fBnisplus\fR, because only DNS and LDAP
+return the full domain name of the host. Other name services, such as NIS or
+NIS+, cannot be used to resolve hostnames on the server because, when mapping
+an IP address to a hostname, they do not return domain information. For
+example, for the IP address 172.16.45.9:
+.sp
+.ne 2
+.mk
+.na
+\fBNIS or NIS+\fR
+.ad
+.sp .6
+.RS 4n
+Returns: \fBmyhost\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBDNS or LDAP\fR
+.ad
+.sp .6
+.RS 4n
+Returns: \fBmyhost.mydomain.mycompany.com\fR
+.RE
+
+The domain name suffix is distinguished from hostnames and netgroups by a
+prefixed dot. For example:
+.sp
+.in +2
+.nf
+rw=.mydomain.mycompany.com
+.fi
+.in -2
+
+A single dot can be used to match a hostname with no suffix. For example, the
+specification:
+.sp
+.in +2
+.nf
+rw=.
+.fi
+.in -2
+
+\&...matches \fBmydomain\fR but not \fBmydomain.mycompany.com\fR. This feature
+can be used to match hosts resolved through NIS and NIS+ rather than DNS and
+LDAP.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInetwork\fR\fR
+.ad
+.sp .6
+.RS 4n
+The network or subnet component is preceded by an at-sign (\fB@\fR). It can be
+either a name or a dotted address. If a name, it is converted to a dotted
+address by \fBgetnetbyname\fR(3SOCKET). For example:
+.sp
+.in +2
+.nf
+=@mynet
+.fi
+.in -2
+
+\&...is equivalent to:
+.sp
+.in +2
+.nf
+=@172.16 or =@172.16.0.0
+.fi
+.in -2
+
+The network prefix assumes an octet-aligned netmask determined from the zeroth
+octet in the low-order part of the address up to and including the high-order
+octet, if you want to specify a single IP address. In the case where network
+prefixes are not byte-aligned, the syntax allows a mask length to be specified
+explicitly following a slash (\fB/\fR) delimiter. For example:
+.sp
+.in +2
+.nf
+=@theothernet/17 or =@172.16.132/22
+.fi
+.in -2
+
+\&...where the mask is the number of leftmost contiguous significant bits in
+the corresponding IP address.
+.RE
+
+.sp
+.LP
+A prefixed minus sign (\fB-\fR) denies access to a component of
+\fIaccess-list\fR. The list is searched sequentially until a match is found
+that either grants or denies access, or until the end of the list is reached.
+For example, if host \fBterra\fR is in the netgroup \fBengineering\fR, then:
+.sp
+.in +2
+.nf
+rw=-terra:engineering
+.fi
+.in -2
+
+.sp
+.LP
+\&...denies access to \fBterra\fR, but:
+.sp
+.in +2
+.nf
+rw=engineering:-terra
+.fi
+.in -2
+
+.sp
+.LP
+\&...grants access to \fBterra\fR.
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 18n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB98\fR\fR
+.ad
+.RS 18n
+.rt
+Service is offline and cannot be enabled (start only).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIother non-zero\fR\fR
+.ad
+.RS 18n
+.rt
+Command failed.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/include/libshare.h\fR\fR
+.ad
+.RS 27n
+.rt
+Error codes used for exit status.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBidmap\fR(1M), \fBsharectl\fR(1M), \fBzfs\fR(1M), \fBattributes\fR(5),
+\fBnfssec\fR(5), \fBsmf\fR(5), \fBstandards\fR(5)
diff --git a/usr/src/man/man1m/showmount.1m b/usr/src/man/man1m/showmount.1m
new file mode 100644
index 0000000000..00bdfe165e
--- /dev/null
+++ b/usr/src/man/man1m/showmount.1m
@@ -0,0 +1,88 @@
+'\" te
+.\" Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH showmount 1M "26 Oct 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+showmount \- show remote mounts
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/showmount\fR [\fB-ade\fR] [\fIhostname\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBshowmount\fR lists the clients that have remotely mounted a filesystem from
+\fIhost\fR. This information is maintained by the \fBmountd\fR(1M) server on
+\fIhost\fR, and is saved across crashes in the file \fB/etc/rmtab\fR. The
+default value for \fIhost\fR is the value returned by \fBhostname\fR(1).
+.sp
+.LP
+The \fBshowmount\fR command does not display the names of NFS Version 4
+clients.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Print all remote mounts in the format:
+.sp
+\fBhostname\fR\fB : directory\fR
+.sp
+where \fBhostname\fR is the name of the client, and \fBdirectory\fR is the root
+of the file system that has been mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+List directories that have been remotely mounted by clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Print the list of shared file systems.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/rmtab\fR\fR
+.ad
+.RS 14n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhostname\fR(1), \fBmountd\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH BUGS
+.sp
+.LP
+If a client crashes, its entry will not be removed from the list of remote
+mounts on the server.
diff --git a/usr/src/man/man1m/shutdown.1m b/usr/src/man/man1m/shutdown.1m
new file mode 100644
index 0000000000..eeba070dfa
--- /dev/null
+++ b/usr/src/man/man1m/shutdown.1m
@@ -0,0 +1,201 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH shutdown 1M "9 May 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+shutdown \- shut down system, change system state
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/shutdown\fR [\fB-y\fR] [\fB-g\fR \fIgrace-period\fR] [\fB-i\fR \fIinit-state\fR]
+ [\fImessage\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBshutdown\fR is executed by the super user to change the state of the
+machine. In most cases, it is used to change from the multi-user state (state
+2) to another state.
+.sp
+.LP
+By default, \fBshutdown\fR brings the system to a state where only the console
+has access to the operating system. This state is called single-user.
+.sp
+.LP
+Before starting to shut down daemons and killing processes, \fBshutdown\fR
+sends a warning message and, by default, a final message asking for
+confirmation. \fImessage\fR is a string that is sent out following the standard
+warning message "The system will be shut down in .\|.\|." If the string
+contains more than one word, it should be contained within single (\fB\&'\fR)
+or double (\fB"\fR) quotation marks.
+.sp
+.LP
+The warning message and the user provided \fImessage\fR are output when there
+are 7200, 3600, 1800, 1200, 600, 300, 120, 60, and 30 seconds remaining before
+\fBshutdown\fR begins. See \fBEXAMPLES\fR.
+.sp
+.LP
+System state definitions are:
+.sp
+.ne 2
+.mk
+.na
+\fBstate 0\fR
+.ad
+.RS 14n
+.rt
+Stop the operating system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstate 1\fR
+.ad
+.RS 14n
+.rt
+State 1 is referred to as the administrative state. In state 1 file systems
+required for multi-user operations are mounted, and logins requiring access to
+multi-user file systems can be used. When the system comes up from firmware
+mode into state 1, only the console is active and other multi-user (state 2)
+services are unavailable. Note that not all user processes are stopped when
+transitioning from multi-user state to state 1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstate s, S\fR
+.ad
+.RS 14n
+.rt
+State s (or S) is referred to as the single-user state. All user processes are
+stopped on transitions to this state. In the single-user state, file systems
+required for multi-user logins are unmounted and the system can only be
+accessed through the console. Logins requiring access to multi-user file
+systems cannot be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstate 5\fR
+.ad
+.RS 14n
+.rt
+Shut the machine down so that it is safe to remove the power. Have the machine
+remove power, if possible. The \fBrc0\fR procedure is called to perform this
+task.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstate 6\fR
+.ad
+.RS 14n
+.rt
+Stop the operating system and reboot to the state defined by the
+\fBinitdefault\fR entry in \fB/etc/inittab\fR. The \fBrc6\fR procedure is
+called to perform this task.
+.RE
+
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR\fR
+.ad
+.RS 19n
+.rt
+Pre-answer the confirmation question so the command can be run without user
+intervention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fI grace-period\fR\fR
+.ad
+.RS 19n
+.rt
+Allow the super user to change the number of seconds from the 60-second
+default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI init-state\fR\fR
+.ad
+.RS 19n
+.rt
+If there are warnings, \fIinit-state\fR specifies the state \fBinit\fR is to be
+in. By default, system state `\fBs\fR' is used.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBshutdown\fR
+.sp
+.LP
+In the following example, \fBshutdown\fR is being executed on host \fBfoo\fR
+and is scheduled in 120 seconds. The warning message is output 2 minutes, 1
+minute, and 30 seconds before the final confirmation message.
+
+.sp
+.in +2
+.nf
+example# shutdown -i S -g 120 "===== disk replacement ====="
+Shutdown started. Tue Jun 7 14:51:40 PDT 1994
+
+Broadcast Message from root (pts/1) on foo Tue Jun 7 14:51:41.\|.\|.
+The system will be shut down in 2 minutes
+===== disk replacement =====
+Broadcast Message from root (pts/1) on foo Tue Jun 7 14:52:41.\|.\|.
+The system will be shut down in 1 minutes
+===== disk replacement =====
+Broadcast Message from root (pts/1) on foo Tue Jun 7 14:53:41.\|.\|.
+The system will be shut down in 30 seconds
+===== disk replacement =====
+Do you want to continue? (y or n):
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inittab\fR\fR
+.ad
+.RS 16n
+.rt
+controls process dispatching by \fBinit\fR
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBboot\fR(1M), \fBhalt\fR(1M), \fBinit\fR(1M), \fBkillall\fR(1M),
+\fBreboot\fR(1M), \fBufsdump\fR(1M), \fBinit.d\fR(4), \fBinittab\fR(4),
+\fBnologin\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+When a system transitions down to the \fBS\fR or \fBs\fR state, the
+\fB/etc/nologin\fR file (see \fBnologin\fR(4)) is created. Upon subsequent
+transition to state 2 (multi-user state), this file is removed by a script in
+the \fB/etc/rc2.d\fR directory.
diff --git a/usr/src/man/man1m/slpd.1m b/usr/src/man/man1m/slpd.1m
new file mode 100644
index 0000000000..3c6bd66f9f
--- /dev/null
+++ b/usr/src/man/man1m/slpd.1m
@@ -0,0 +1,210 @@
+'\" te
+.\" Copyright (C) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH slpd 1M "23 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+slpd \- Service Location Protocol Daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/slpd\fR [\fB-f\fR \fIconfiguration-file\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBslpd\fR daemon provides common server functionality for the Service
+Location Protocol ("\fBSLP\fR") versions 1 and 2, as defined by \fBIETF\fR in
+\fIRFC 2165\fR and \fIRFC 2608\fR. \fBSLP\fR provides a scalable framework for
+the discovery and selection of network services.
+.sp
+.LP
+\fBslpd\fR provides the following framework services:
+.sp
+.ne 2
+.mk
+.na
+\fBDirectory Agent\fR
+.ad
+.sp .6
+.RS 4n
+This service automatically caches service advertisements from service agents to
+provide them to user agents, and makes directory agent advertisements of its
+services. This service is optional. \fBslpd\fR does not provide directory agent
+service by default. Directory agents are not databases, and they do not need to
+be maintained.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBService Agent Server\fR
+.ad
+.sp .6
+.RS 4n
+All service agents on the local host register and deregister with this server.
+This service responds to all requests for services, and forwards registrations
+to directory agents. By default, \fBslpd\fR is a service agent server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPassive Directory Agent Discovery \fR
+.ad
+.sp .6
+.RS 4n
+This service listens for directory agent advertisements and maintains a table
+of active directory agents. When a user agent wishes to discover a directory
+agent, it can simply query \fBslpd\fR, obviating the need to perform discovery
+by means of multicast. By default, \fBslpd\fR performs this service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBProxy Registration\fR
+.ad
+.sp .6
+.RS 4n
+This service can act as a proxy service agent for services that cannot register
+themselves. \fBslpd\fR reads the proxy registration file for information on
+services it is to proxy. By default, no services are registered by proxy.
+.RE
+
+.sp
+.LP
+All configuration options are available from the configuration file. \fBslpd\fR
+reads its configuration file upon startup.
+.sp
+.LP
+Stop and start the slpd daemon using \fBsvcadm\fR(1M). Use the command
+\fBsvcadm enable network/slp\fR to start the slpd daemon. Use the command
+\fBsvcadm disable network/slp\fR to stop it.
+.sp
+.LP
+The file \fB/etc/inet/slp.conf\fR must exist before the \fBslp\fR service can
+start the daemon. Only the example file \fB/etc/inet/slp.conf.example\fR is
+present by default. To enable \fBSLP\fR, copy \fB/etc/inet/slp.conf.example\fR
+to \fB/etc/inet/slp.conf\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIconfiguration-file\fR\fR
+.ad
+.RS 25n
+.rt
+Specify an alternate configuration file
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRStopping the \fBslpd\fR daemon
+.sp
+.LP
+The following command stops the \fBslpd\fR daemon:
+
+.sp
+.in +2
+.nf
+example# svcadm disable network/slp
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRestarting the \fBslpd\fR daemon
+.sp
+.LP
+The following command restarts the \fBslpd\fR daemon:
+
+.sp
+.in +2
+.nf
+example# svcadm restart network/slp
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/slp.conf\fR\fR
+.ad
+.RS 22n
+.rt
+The default configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBslpd.reg\fR\fR
+.ad
+.RS 22n
+.rt
+The proxy registration file
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+CSIEnabled
+_
+Interface Stability Evolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBslp_api\fR(3SLP), \fBslp.conf\fR(4),
+\fBslpd.reg\fR(4), \fBattributes\fR(5), \fBsmf\fR(5), \fBslp\fR(7P)
+.sp
+.LP
+\fI\fR
+.sp
+.LP
+Guttman, E., Perkins, C., Veizades, J., and Day, M., \fIRFC 2608, Service
+Location Protocol, Version 2\fR, The Internet Society, June 1999.
+.SH NOTES
+.sp
+.LP
+The \fBslpd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/slp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/smbadm.1m b/usr/src/man/man1m/smbadm.1m
new file mode 100644
index 0000000000..7c8ca0c8f5
--- /dev/null
+++ b/usr/src/man/man1m/smbadm.1m
@@ -0,0 +1,595 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH smbadm 1M "8 Jan 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smbadm \- configure and manage CIFS local groups and users, and manage domain
+membership
+.SH SYNOPSIS
+.LP
+.nf
+\fBsmbadm add-member\fR -m \fImember\fR [[-m \fImember\fR] \&.\|.\|.] \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm create\fR [-d \fIdescription\fR] \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm delete\fR \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm disable-user\fR \fIusername\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm enable-user\fR \fIusername\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm get\fR [[-p \fIproperty\fR] \&.\|.\|.] \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm join\fR -u \fIusername\fR \fIdomain\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm join\fR -w \fIworkgroup\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm list\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm remove-member\fR -m \fImember\fR [[-m \fImember\fR] \&.\|.\|.] \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm rename\fR \fIgroup\fR \fInew-group\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm set\fR -p \fIproperty\fR=\fIvalue\fR [[-p \fIproperty\fR=\fIvalue\fR] \&.\|.\|.] \fIgroup\fR
+.fi
+
+.LP
+.nf
+\fBsmbadm show\fR [-m] [-p] [\fIgroup\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsmbadm\fR command is used to configure \fBCIFS\fR local groups and to
+manage domain membership. You can also use the \fBsmbadm\fR command to enable
+or disable SMB password generation for individual local users.
+.sp
+.LP
+\fBCIFS\fR local groups can be used when Windows accounts must be members of
+some local groups and when Windows style privileges must be granted. Solaris
+local groups cannot provide these functions.
+.sp
+.LP
+There are two types of local groups: user defined and built-in. Built-in local
+groups are predefined local groups to support common administration tasks.
+.sp
+.LP
+In order to provide proper identity mapping between \fBCIFS\fR local groups and
+Solaris groups, a \fBCIFS\fR local group must have a corresponding Solaris
+group. This requirement has two consequences: first, the group name must
+conform to the intersection of the Windows and Solaris group name rules. Thus,
+a \fBCIFS\fR local group name can be up to eight (8) characters long and
+contain only lowercase characters and numbers. Second, a Solaris local group
+has to be created before a \fBCIFS\fR local group can be created.
+.sp
+.LP
+Built-in groups are standard Windows groups and are predefined by the
+\fBCIFS\fR service. The built-in groups cannot be added, removed, or renamed,
+and these groups do not follow the \fBCIFS\fR local group naming conventions.
+.sp
+.LP
+When the \fBCIFS\fR server is started, the following built-in groups are
+available:
+.sp
+.ne 2
+.mk
+.na
+\fBAdministrators\fR
+.ad
+.sp .6
+.RS 4n
+Group members can administer the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBBackup Operators\fR
+.ad
+.sp .6
+.RS 4n
+Group members can bypass file access controls to back up and restore files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPower Users\fR
+.ad
+.sp .6
+.RS 4n
+Group members can share directories.
+.RE
+
+.sp
+.LP
+Solaris local users must have an SMB password for authentication and to gain
+access to CIFS resources. This password is created by using the \fBpasswd\fR(1)
+command when the \fBpam_smb_password\fR module is added to the system's PAM
+configuration. See the \fBpam_smb_passwd\fR(5) man page.
+.sp
+.LP
+The \fBdisable-user\fR and \fBenable-user\fR subcommands control SMB
+password-generation for a specified local user. When disabled, the user is
+prevented from connecting to the Solaris CIFS service. By default, SMB
+password-generation is enabled for all local users.
+.sp
+.LP
+To reenable a disabled user, you must use the \fBenable-user\fR subcommand and
+then reset the user's password by using the \fBpasswd\fR command. The
+\fBpam_smb_passwd.so.1\fR module must be added to the system's PAM
+configuration to generate an SMB password.
+.SS "Escaping Backslash Character"
+.sp
+.LP
+For the \fBadd-member\fR, \fBremove-member\fR, and \fBjoin\fR (with \fB-u\fR)
+subcommands, the backslash character (\fB\e\fR) is a valid separator between
+member or user names and domain names. The backslash character is a shell
+special character and must be quoted. For example, you might escape the
+backslash character with another backslash character:
+\fIdomain\fR\fB\e\e\fR\fIusername\fR. For more information about handling shell
+special characters, see the man page for your shell.
+.SH OPERANDS
+.sp
+.LP
+The \fBsmbadm\fR command uses the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of an existing Windows domain to join.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the \fBCIFS\fR local group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of a Solaris local user.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The \fBsmbadm\fR command includes these subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-member\fR -m \fImember\fR [[-m \fImember\fR] \&.\|.\|.]
+\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds the specified member to the specified \fBCIFS\fR local group. The \fB-m\fR
+\fImember\fR option specifies the name of a \fBCIFS\fR local group member. The
+member name must include an existing user name and an optional domain name.
+.sp
+Specify the member name in either of the following formats:
+.sp
+.in +2
+.nf
+[\fIdomain\fR\e]\fIusername\fR
+[\fIdomain\fR/]\fIusername\fR
+.fi
+.in -2
+.sp
+
+For example, a valid member name might be \fBsales\eterry\fR or
+\fBsales/terry\fR, where \fBsales\fR is the Windows domain name and \fBterry\fR
+is the name of a user in the \fBsales\fR domain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate\fR [\fB-d\fR \fIdescription\fR] \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a \fBCIFS\fR local group with the specified name. You can optionally
+specify a description of the group by using the \fB-d\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the specified \fBCIFS\fR local group. The built-in groups cannot be
+deleted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable\fR \fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disables SMB password-generation capabilities for the specified local user. A
+disabled local user is prevented from accessing the system by means of the CIFS
+service. When a local user account is disabled, you cannot use the \fBpasswd\fR
+command to modify the user's SMB password until the user account is reenabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable\fR \fIusername\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables SMB password-generation capabilities for the specified local user.
+After the password-generation capabilities are reenabled, you must use the
+\fBpasswd\fR command to generate the SMB password for the local user before he
+can connect to the CIFS service.
+.sp
+The \fBpasswd\fR command manages both the Solaris password and SMB password for
+this user if the \fBpam_smb_passwd\fR module has been added to the system's PAM
+configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget\fR [[\fB-p\fR \fIproperty\fR=\fIvalue\fR] \&.\|.\|.] \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Retrieves property values for the specified group. If no property is specified,
+all property values are shown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBjoin\fR \fB-u\fR \fIusername\fR \fIdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Joins a Windows domain or a workgroup.
+.sp
+The default mode for the \fBCIFS\fR service is workgroup mode, which uses the
+default workgroup name, \fBWORKGROUP\fR.
+.sp
+An authenticated user account is required to join a domain, so you must specify
+the Windows administrative user name with the \fB-u\fR option. If the password
+is not specified on the command line, the user is prompted for it. This user
+should be the domain administrator or any user who has administrative
+privileges for the target domain.
+.sp
+\fIusername\fR and \fIdomain\fR can be entered in any of the following formats:
+.sp
+.in +2
+.nf
+\fIusername\fR[+\fIpassword\fR] \fIdomain\fR
+\fIdomain\fR\e\fIusername\fR[+\fIpassword\fR]
+\fIdomain\fR/\fIusername\fR[+\fIpassword\fR]
+\fIusername\fR@\fIdomain\fR
+.fi
+.in -2
+.sp
+
+\&...where \fIdomain\fR can be the NetBIOS or DNS domain name.
+.sp
+If a machine trust account for the system already exists on a domain
+controller, any authenticated user account can be used when joining the domain.
+However, if the machine trust account does \fBnot\fR already exist, an account
+that has administrative privileges on the domain is required to join the
+domain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBjoin\fR \fB-w\fR \fIworkgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Joins a Windows domain or a workgroup.
+.sp
+The \fB-w\fR \fIworkgroup\fR option specifies the name of the workgroup to join
+when using the \fBjoin\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shows information about the current workgroup or domain. The information
+typically includes the workgroup name or the primary domain name. When in
+domain mode, the information includes domain controller names and trusted
+domain names.
+.sp
+Each entry in the ouput is identified by one of the following tags:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB- [*] -\fR\fR
+.ad
+.RS 11n
+.rt
+Primary domain
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB- [.] -\fR\fR
+.ad
+.RS 11n
+.rt
+Local domain
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB- [-] -\fR\fR
+.ad
+.RS 11n
+.rt
+Other domains
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB- [+] -\fR\fR
+.ad
+.RS 11n
+.rt
+Selected domain controller
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove-member\fR -m \fImember\fR [[-m \fImember\fR] \&.\|.\|.]
+\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes the specified member from the specified \fBCIFS\fR local group. The
+\fB-m\fR \fImember\fR option specifies the name of a \fBCIFS\fR local group
+member. The member name must include an existing user name and an optional
+domain name.
+.sp
+Specify the member name in either of the following formats:
+.sp
+.in +2
+.nf
+[\fIdomain\fR\e]\fIusername\fR
+[\fIdomain\fR/]\fIusername\fR
+.fi
+.in -2
+.sp
+
+For example, a valid member name might be \fBsales\eterry\fR or
+\fBsales/terry\fR, where \fBsales\fR is the Windows domain name and \fBterry\fR
+is the name of a user in the \fBsales\fR domain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrename\fR \fIgroup\fR \fInew-group\fR\fR
+.ad
+.sp .6
+.RS 4n
+Renames the specified \fBCIFS\fR local group. The group must already exist. The
+built-in groups cannot be renamed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR \fB-p\fR \fIproperty\fR=\fIvalue\fR [[\fB-p\fR
+\fIproperty\fR=\fIvalue\fR] \&.\|.\|.] \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets configuration properties for a \fBCIFS\fR local group. The description and
+the privileges for the built-in groups cannot be changed.
+.sp
+The \fB-p\fR \fIproperty\fR\fB=\fR\fIvalue\fR option specifies the list of
+properties to be set on the specified group.
+.sp
+The group-related properties are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbackup=[on|off]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether members of the \fBCIFS\fR local group can bypass file access
+controls to back up file system objects.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdescription=\fR\fIdescription-text\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a text description for the \fBCIFS\fR local group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestore=[on|off]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether members of the \fBCIFS\fR local group can bypass file access
+controls to restore file system objects.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtake-ownership=[on|off]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether members of the \fBCIFS\fR local group can take ownership of
+file system objects.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshow\fR [\fB-m\fR] [\fB-p\fR] [\fIgroup\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Shows information about the specified \fBCIFS\fR local group or groups. If no
+group is specified, information is shown for all groups. If the \fB-m\fR option
+is specified, the group members are also shown. If the \fB-p\fR option is
+specified, the group privileges are also shown.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 13n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>0\fR
+.ad
+.RS 13n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See the \fBattributes\fR(5) man page for descriptions of the following
+attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Utility Name and OptionsUncommitted
+_
+Utility Output FormatNot-An-Interface
+_
+\fBsmbadm join\fRObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpasswd\fR(1), \fBgroupadd\fR(1M), \fBidmap\fR(1M), \fBidmapd\fR(1M),
+\fBkclient\fR(1M), \fBshare\fR(1M), \fBsharectl\fR(1M), \fBsharemgr\fR(1M),
+\fBsmbd\fR(1M), \fBsmbstat\fR(1M), \fBsmb\fR(4), \fBsmbautohome\fR(4),
+\fBattributes\fR(5), \fBpam_smb_passwd\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/smbd.1m b/usr/src/man/man1m/smbd.1m
new file mode 100644
index 0000000000..b5f5f4b22a
--- /dev/null
+++ b/usr/src/man/man1m/smbd.1m
@@ -0,0 +1,130 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH smbd 1M "5 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smbd \- CIFS server daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/smbsrv/smbd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsmbd\fR daemon handles \fBCIFS\fR/\fBSMB\fR requests from \fBCIFS\fR
+clients, such as Windows clients. Only processes with \fB{PRIV_SYS_SMB}\fR and
+sufficient privileges to write the \fB/var/run\fR directory can run this
+daemon.
+.sp
+.LP
+The \fBsmbd\fR daemon is automatically invoked by using the \fBsharemgr\fR
+command over all available transports. By default, \fBsmbd\fR starts over the
+NetBIOS-Over-TCP (\fBNBT\fR) and \fBTCP\fR transports.
+.sp
+.LP
+When \fBsmbd\fR is started over \fBNBT\fR, the following services are started:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The NetBIOS name service is started on \fBUDP\fR port 137.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The NetBIOS datagram service is started on \fBUDP\fR port 138.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The NetBIOS session service is started on \fBTCP\fR port 139.
+.RE
+.sp
+.LP
+When the \fBsmbd\fR daemon is started over TCP, the CIFS service is started on
+TCP port 445.
+.sp
+.LP
+Only one instance of \fBsmbd\fR may be running at a time.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 13n
+.rt
+Daemon exited cleanly.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB95\fR
+.ad
+.RS 13n
+.rt
+Daemon exited with a fatal error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB96\fR
+.ad
+.RS 13n
+.rt
+Daemon exited with a configuration error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See the \fBattributes\fR(5) man page for descriptions of the following
+attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBps\fR(1), \fBsvcs\fR(1), \fBsharectl\fR(1M), \fBsharemgr\fR(1M),
+\fBsmbadm\fR(1M), \fBsmbstat\fR(1M), \fBsvcadm\fR(1M), \fBsmb\fR(4),
+\fBsmbautohome\fR(4), \fBsystem\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+Use the \fBsvcadm\fR command to perform administrative actions on the
+\fBsmbd\fR service, such as enabling, disabling, or restarting the service. Use
+the \fBsvcs\fR command to query the service status.
+.sp
+.LP
+The \fBsmbd\fR service is managed by the service management facility under the
+service identifier \fBsvc:/network/smb/server\fR.
+.sp
+.LP
+If the \fBsmbd\fR service is disabled, it will be enabled by the
+\fBsharemgr\fR(1M) command, unless its \fBauto_enable\fR property is set to
+false.
diff --git a/usr/src/man/man1m/smbiod.1m b/usr/src/man/man1m/smbiod.1m
new file mode 100644
index 0000000000..acdb13a99e
--- /dev/null
+++ b/usr/src/man/man1m/smbiod.1m
@@ -0,0 +1,127 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH smbiod 1M "7 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smbiod \- SMB client I/O daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/smbfs/smbiod\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsmbiod\fR is a helper program that initiates an SMB reconnection, when
+needed.
+.sp
+.LP
+When a user runs an \fBsmbutil\fR or \fBmount_smbfs\fR command, an \fBsmbiod\fR
+process is started and continues to run until that user no longer has any SMB
+client connections. Only one \fBsmbiod\fR process runs for each user that has
+SMB client connections.
+.sp
+.LP
+Each \fBsmbiod\fR process instantiates a door service on one of the following
+files:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/tmp/.smbiod-\fIUID\fR\fR file for normal users
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/var/run/smbiod-0\fR file for superuser
+.RE
+.sp
+.LP
+The \fBsmbiod\fR daemon has no external, customer-accessible interfaces.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 13n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>0\fR
+.ad
+.RS 13n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/smbfs/smbiod\fR\fR
+.ad
+.RS 25n
+.rt
+SMB I/O daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/tmp/.smbiod-\fIUID\fR\fR\fR
+.ad
+.RS 25n
+.rt
+File on which to instantiate a door service for user \fIUID\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/smbiod-0\fR\fR
+.ad
+.RS 25n
+.rt
+File on which to instantiate a door service for superuser.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See the \fBattributes\fR(5) man page for descriptions of the following
+attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBps\fR(1), \fBsmbutil\fR(1), \fBmount_smbfs\fR(1M), \fBattributes\fR(5),
+\fBsmbfs\fR(7FS)
diff --git a/usr/src/man/man1m/smbios.1m b/usr/src/man/man1m/smbios.1m
new file mode 100644
index 0000000000..2052503154
--- /dev/null
+++ b/usr/src/man/man1m/smbios.1m
@@ -0,0 +1,252 @@
+'\" te
+.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH smbios 1M "31 Aug 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smbios \- display the contents of a System Management BIOS image
+.SH SYNOPSIS
+.LP
+.nf
+\fBsmbios\fR [\fB-BeOsx\fR] [\fB-i\fR \fIid\fR] [\fB-t\fR \fItype\fR] [\fB-w\fR \fIfile\fR] [\fIfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsmbios\fR utility displays the contents of the System Management BIOS
+(SMBIOS) image exported by the current system or stored in a file. SMBIOS is an
+industry-standard mechanism for low-level system software to export hardware
+configuration information to higher-level system management software. The
+SMBIOS data format itself is defined by the Distributed Management Task Force
+(DMTF). Refer to http://www.dmtf.org for more information about SMBIOS and to
+obtain a copy of the SMBIOS specification and implementation guidelines.
+.sp
+.LP
+The SMBIOS image consists of a table of structures, each describing some aspect
+of the system software or hardware configuration. By default, \fBsmbios\fR
+displays the entire contents of the current SMBIOS image. If the \fB-s\fR
+option is specified, \fBsmbios\fR displays a summary of the structures that are
+present in the image. If the \fB-w\fR option is specified, \fBsmbios\fR writes
+a copy of the SMBIOS image to the specified file. \fBsmbios\fR can then be
+applied to the resulting file to display its content.
+.sp
+.LP
+\fBsmbios\fR attempts to display each structure and its content in a human-
+readable fashion. If \fBsmbios\fR does not recognize a structure's type or
+content, the raw hexadecimal data for the structure is displayed.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-B\fR\fR
+.ad
+.RS 11n
+.rt
+Disable header validation for broken BIOSes.
+.sp
+By default, \fBsmbios\fR attempts to validate the SMBIOS header by verifying
+the anchor strings, header checksums, and version number. This option might be
+necessary when a BIOS has a non-compliant header.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 11n
+.rt
+ Display the contents of the SMBIOS entry point rather than the contents of the
+SMBIOS structure table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIid\fR\fR
+.ad
+.RS 11n
+.rt
+Display only the specified structure, named by its integer id.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.RS 11n
+.rt
+ Display obsolete structure types.
+.sp
+By default, \fBsmbios\fR elides output for structures whose type is marked as
+obsolete in the DMTF SMBIOS specification.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 11n
+.rt
+Display only a summary listing of the structure identifiers and types, instead
+of the content of each selected structure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItype\fR\fR
+.ad
+.RS 11n
+.rt
+Display only those structures whose type matches the specified integer type, as
+defined the DMTF SMBIOS specification.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fIfile\fR\fR
+.ad
+.RS 11n
+.rt
+Write a copy of the SMBIOS image to the specified file and exit.
+.sp
+The SMBIOS entry point is written to the start of the file with its structure
+table address set to the file offset of the structure table, and a new entry
+point checksum is computed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 11n
+.rt
+Display raw hexadecimal data for the selected structures in addition to
+human-readable output.
+.sp
+By default, hexadecimal data is only displayed if \fBsmbios\fR cannot display
+human-readable output for the selected structures.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.RS 8n
+.rt
+Specifies an alternate SMBIOS image to display instead of the current system's
+SMBIOS image.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Successful completion. All structures in the SMBIOS image were examined
+successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt
+A fatal error occurred, such as failure to open the specified file or device,
+or corruption in the image.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Invalid command-line options were specified.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/smbios\fR \fR
+.ad
+.RS 16n
+.rt
+Kernel SMBIOS image device. This device special file is used to export a
+snapshot of the current system SMBIOS image.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command-line options are Evolving. The human-readable output is Unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBprtdiag\fR(1M), \fBattributes\fR(5), \fBsmbios\fR(7D)
+.sp
+.LP
+\fISystem Management BIOS Reference Specification\fR (see http://www.dmtf.org)
+.SH NOTES
+.sp
+.LP
+The implementation of a System Management BIOS image is entirely at the
+discretion of the system and BIOS vendors. Not all systems export an SMBIOS.
+The SMBIOS structure content varies widely between systems and BIOS vendors and
+frequently does not comply with the guidelines included in the specification.
+Some structure fields might not be filled in by the BIOS at all, and others
+might be filled inwith non-conforming values.
diff --git a/usr/src/man/man1m/smbstat.1m b/usr/src/man/man1m/smbstat.1m
new file mode 100644
index 0000000000..68df9e1289
--- /dev/null
+++ b/usr/src/man/man1m/smbstat.1m
@@ -0,0 +1,136 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH smbstat 1M "4 Aug 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smbstat \- show Solaris CIFS file server statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBsmbstat\fR [\fB-di\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsmbstat\fR command shows statistical information for the \fBsmbd\fR
+server. When the \fB-i\fR option is specified, the \fBsmbstat\fR command shows
+general information about the \fBCIFS\fR service. For instance, \fBsmbstat\fR
+\fB-i\fR shows the number of sessions, connections, and open files. The
+\fB-d\fR option shows dispatched \fBCIFS\fR request counters.
+.sp
+.LP
+By default, the \fBsmbstat\fR command shows all statistics.
+.SH OPTIONS
+.sp
+.LP
+The \fBsmbstat\fR command includes the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shows all the dispatched \fBCIFS\fR requests on the \fBCIFS\fR server. This
+option shows count statistics based on request activity.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shows the following information for the \fBCIFS\fR server:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnections\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of \fBCIFS\fR connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBopen_files\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of files open on the \fBCIFS\fR server.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsessions\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of active \fBCIFS\fR sessions.
+.RE
+
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 13n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>0\fR
+.ad
+.RS 13n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See the \fBattributes\fR(5) man page for descriptions of the following
+attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+_
+Utility Output FormatNot-an-Interface
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsharectl\fR(1M), \fBsharemgr\fR(1M), \fBsmbadm\fR(1M), \fBsmbstat\fR(1M),
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/smrsh.1m b/usr/src/man/man1m/smrsh.1m
new file mode 100644
index 0000000000..5eafa402b3
--- /dev/null
+++ b/usr/src/man/man1m/smrsh.1m
@@ -0,0 +1,97 @@
+'\" te
+.\" Copyright (c) 1983 Eric P. Allman
+.\" Copyright (c) 1988, 1993 The Regents of the University of California. All rights reserved.
+.\" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display
+.\" the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific
+.\" prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\" Copyright (c) 1998-2006, 2008 Sendmail, Inc. and its suppliers. All rights reserved.
+.\" The following license terms and conditions apply, unless a different license is obtained from Sendmail, Inc., 6425 Christie Ave, Fourth Floor, Emeryville, CA 94608, USA, or by electronic mail at license@sendmail.com. License Terms: Use, Modification and Redistribution
+.\" (including distribution of any modified or derived work) in source and binary forms is permitted only if each of the following conditions is met: 1. Redistributions qualify as "freeware" or "Open Source Software" under one of the following terms: (a) Redistributions are made at no charge
+.\" beyond the reasonable cost of materials and delivery. (b) Redistributions are accompanied by a copy of the Source Code or by an irrevocable offer to provide a copy of the Source Code for up to three years at the cost of materials and delivery. Such redistributions
+.\" must allow further use, modification, and redistribution of the Source Code under substantially the same terms as this license. For the purposes of redistribution "Source Code" means the complete compilable and linkable source code of sendmail including all modifications.
+.\" 2. Redistributions of source code must retain the copyright notices as they appear in each source code file, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below. 3. Redistributions in binary form must reproduce the Copyright Notice, these license
+.\" terms, and the disclaimer/limitation of liability set forth as paragraph 6 below, in the documentation and/or other materials provided with the distribution. For the purposes of binary distribution the "Copyright Notice" refers to the following language: "Copyright (c) 1998-2004 Sendmail,
+.\" Inc. All rights reserved." 4. Neither the name of Sendmail, Inc. nor the University of California nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. The name "sendmail" is a trademark
+.\" of Sendmail, Inc. 5. All redistributions must comply with the conditions imposed by the University of California on certain embedded code, whose copyright notice and conditions for redistribution are as follows: (a) Copyright (c) 1988, 1993 The Regents of the University of California.
+.\" All rights reserved. (b) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: (i) Redistributions of source code must retain the above copyright notice, this list of
+.\" conditions and the following disclaimer. (ii) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.\" (iii) Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY SENDMAIL,
+.\" INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF CALIFORNIA OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.TH smrsh 1M "6 Nov 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smrsh \- restricted shell for sendmail
+.SH SYNOPSIS
+.LP
+.nf
+\fBsmrsh\fR \fB-c\fR \fIcommand\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsmrsh\fR program is intended as a replacement for the \fBsh\fR command
+in the \fBprog\fR mailer in \fBsendmail\fR(1M) configuration files. The
+\fBsmrsh\fR program sharply limits commands that can be run using the
+\fB|program\fR syntax of \fBsendmail\fR. This improves overall system security.
+\fBsmrsh\fR limits the set of programs that a programmer can execute, even if
+\fBsendmail\fR runs a program without going through an \fBalias\fR or
+\fBforward\fR file.
+.sp
+.LP
+Briefly, \fBsmrsh\fR limits programs to be in the directory
+\fB/var/adm/sm.bin\fR, allowing system administrators to choose the set of
+acceptable commands. It also rejects any commands with the characters: \fB,\fR,
+\fB<\fR, \fB>\fR, \fB|\fR, \fB;\fR, \fB&\fR, \fB$\fR, \fB\er\fR (RETURN), or
+\fB\en\fR (NEWLINE) on the command line to prevent end run attacks.
+.sp
+.LP
+Initial pathnames on programs are stripped, so forwarding to
+\fB/usr/ucb/vacation\fR, \fB/usr/bin/vacation\fR,
+\fB/home/server/mydir/bin/vacation\fR, and \fBvacation\fR all actually forward
+to\fB/var/adm/sm.bin/vacation\fR.
+.sp
+.LP
+System administrators should be conservative about populating
+\fB/var/adm/sm.bin\fR. Reasonable additions are utilities such as
+\fBvacation\fR(1) and \fBprocmail\fR. Never include any shell or shell-like
+program (for example, \fBperl\fR) in the \fBsm.bin\fR directory. This does not
+restrict the use of \fBshell\fR or \fBperl\fR scrips in the \fBsm.bin\fR
+directory (using the \fB#!\fR syntax); it simply disallows the execution of
+arbitrary programs.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcommand\fR\fR
+.ad
+.RS 14n
+.rt
+Where \fIcommand\fR is a valid command, executes \fIcommand\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/sm.bin\fR\fR
+.ad
+.RS 19n
+.rt
+directory for restricted programs
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsendmail\fR(1M), , \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/smtnrhdb.1m b/usr/src/man/man1m/smtnrhdb.1m
new file mode 100644
index 0000000000..3ed146d3e3
--- /dev/null
+++ b/usr/src/man/man1m/smtnrhdb.1m
@@ -0,0 +1,549 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH smtnrhdb 1M "19 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smtnrhdb \- manage entries in the tnrhdb database
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sadm/bin/smtnrhdb\fR \fIsubcommand\fR [\fIauth_args\fR] \fB--\fR \fIsubcommand_args\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsmtnrhdb\fR command adds, modifies, deletes, and lists entries in the
+\fBtnrhdb\fR database.
+.sp
+.LP
+The \fBtnrhdb\fR database specifies which remote-host template to use for each
+host, including the local host, in the distributed system. If a host's IP
+address cannot be matched to some entry in the \fBtnrhdb\fR database,
+communication with the host is not permitted.
+.sp
+.LP
+The \fBsmtnrhdb\fR command requires the Solaris Management Console to be
+initialized for the command to succeed (see \fBsmc\fR(1M)). After rebooting the
+Solaris Management Console server, the first \fBsmc\fR connection can time out,
+so you might need to retry the command.
+.SS "Valid Host Addresses and Wildcards"
+.sp
+.LP
+The trusted network software uses a network "longest prefix of matching bits"
+mechanism when looking for a host. The software looks first for the IP address
+of the host. If the software does not find this address, then the software
+falls back to searching for an IP address with the longest prefix of a matching
+bit pattern, and so on.
+.LP
+Note -
+.sp
+.RS 2
+The actual numeric value of the subnet address or other subnetting
+information on the system (for example, from the \fBnetmasks\fR(4) file) are
+not considered by this mechanism.
+.RE
+.sp
+.LP
+Using the "longest prefix of matching bits" mechanism, an IPv4 address of
+0.0.0.0 is a wildcard address with a prefix length of 0 and hence matches any
+IPv4 address. For more information about prefi x lengths in IPv4 and IPv6
+addresses, see \fISystem Administration Guide: IP Services\fR.
+.sp
+.LP
+The \fBsmtnrhdb\fR command accepts a hostname, IP address, and wildcard address
+with as optional prefix as valid addresses. See \fIsubcommand_args\fR, below,
+for the format of valid addresses.
+.SH SUB-COMMANDS
+.sp
+.LP
+\fBsmtnrhdb\fR \fIsubcommand\fRs are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a new entry to the \fBtnrhdb\fR database. To add an entry, the
+administrator must have the \fBsolaris.network.host.write\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes an entry from the \fBtnrhdb\fR database. To delete an entry, the
+administrator must have the \fBsolaris.network.host.write\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists all entries in the \fBtnrhdb\fR database. To list an entry, the
+administrator must have the \fBsolaris.network.host.read\fR and
+\fBsolaris.network.security.read\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodify\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies an entry in the \fBtnrhdb\fR database. To modify an entry, the
+administrator must have the \fBsolaris.network.host.write\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBsmtnrhdb\fR authentication arguments, \fIauth_args\fR, are derived from
+the \fBsmc\fR arg set. These arguments are the same regardless of which
+subcommand you use.
+.sp
+.LP
+The subcommand-specific options, \fIsubcommand_args\fR, must be preceded by the
+\fB--\fR option.
+.SS "\fIauth_args\fR"
+.sp
+.LP
+The valid \fIauth_args\fR are \fB-D\fR, \fB-H\fR, \fB-l\fR, \fB-p\fR, \fB-r\fR,
+and \fB-u\fR; they are all optional. If no \fIauth_args\fR are specified,
+certain defaults will be assumed and the user might be prompted for additional
+information, such as a password for authentication purposes. These letter
+options can also be specified by their equivalent option words preceded by a
+double dash. For example, you can use either \fB-D\fR or \fB--domain\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR | \fB--domain\fR \fIdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the default domain that you want to manage. The syntax of
+\fIdomain\fR=\fItype\fR:/\fIhost_name\fR/\fIdomain_name\fR, where \fItype\fR is
+\fBdns\fR, \fBldap\fR, or \fBfile\fR; \fIhost_name\fR is the name of the
+server; and \fIdomain_name\fR is the name of the domain you want to manage.
+.sp
+If you do not specify this option, the Solaris Management Console assumes the
+\fBfile\fR default domain on whatever server you choose to manage, meaning that
+changes are local to the server. Toolboxes can change the domain on a
+tool-by-tool basis; this option specifies the domain for all other tools.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR | \fB--hostname\fR \fIhost_name:port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIhost_name\fR and \fIport\fR to which you want to connect. If
+you do not specify a \fIport\fR, the system connects to the default port,
+\fB898\fR. If you do not specify \fIhost_name:port\fR, the Solaris Management
+Console connects to the local host on port \fB898\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR | \fB--rolepassword\fR \fIrole_password\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the password for the \fIrole_name\fR. If you specify a
+\fIrole_name\fR but do not specify a \fIrole_password\fR, the system prompts
+you to supply a \fIrole_password\fR. Passwords specified on the command line
+can be seen by any user on the system, hence this option is considered
+insecure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR | \fB--password\fR \fIpassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the password for the \fIuser_name\fR. If you do not specify a
+password, the system prompts you for one. Passwords specified on the command
+line can be seen by any user on the system, hence this option is considered
+insecure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR | \fB--rolename\fR \fIrole_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a role name for authentication. If you do not specify this option, no
+role is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR | \fB--username\fR \fIuser_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the user name for authentication. If you do not specify this option,
+the user identity running the console process is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is required and must always follow the preceding options. If you do
+not enter the preceding options, you must still enter the \fB--\fR option.
+.RE
+
+.SS "\fIsubcommand_args\fR"
+.sp
+.LP
+\fBNote:\fR Descriptions and other arg options that contain white spaces must
+be enclosed in double quotes.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the command's usage statement.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR \fIhostname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the host. For the list subcommand, the hostname argument
+is not specified. This is not required if the ipaddress subcommand argument is
+specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIipaddress\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fBIP\fR address of the host. This is not required if the
+hostname subcommand argument is specified. This option is not valid with the
+\fB-w\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fItemplatename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of an existing template.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprefixlen\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the prefix length (in bits) of a wildcard representation of the IP
+address. The prefix is the left-most portion of the IP address. This option is
+valid only with the \fB-w\fR option. For example, when the value of \fB-w\fR
+\fIipaddress-wildcard\fR is 192.168.0.0, a \fIprefixlen\fR value of 24
+indicates that the wildcard matches all addresses on the 192.168.0 network.
+With a \fIprefixlen\fR of 32, the wildcard 192.168.0.0 matches all addresses on
+the 192.168.0.0 network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fIipaddress-wildcard\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the IP address of the subnet using a wildcard.
+.RE
+
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following sets of arguments must be specified for subcommand
+\fBadd\fR:
+.sp
+.in +2
+.nf
+\fB-H\fR \fIhostname\fR \fB-n\fR \fItemplatename\fR |
+\fB-i\fR \fIipaddress\fR \fB-n\fR \fItemplatename\fR |
+\fB-w\fR \fIipaddress-wildcard\fR \fB-n\fR \fItemplatename\fR [ \fB-p\fR \fIprefixlen\fR ] |
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following sets of arguments must be specified for subcommand
+\fBmodify\fR:
+.sp
+.in +2
+.nf
+\fB-H\fR \fIhostname\fR \fB-n\fR \fItemplatename\fR |
+\fB-i\fR \fIipaddress\fR \fB-n\fR \fItemplatename\fR |
+\fB-w\fR \fIipaddress-wildcard\fR \fB-n\fR \fItemplatename\fR [ \fB-p\fR \fIprefixlen\fR ] |
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following sets of arguments must be specified for subcommand
+\fBdelete\fR:
+.sp
+.in +2
+.nf
+\fB-H\fR \fIhostname\fR |
+\fB-i\fR \fIipaddress\fR |
+\fB-w\fR \fIipaddress-wildcard\fR [ \fB-p\fR \fIprefixlen\fR ] |
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The subcommand \fBlist\fR takes the following argument:
+.sp
+.in +2
+.nf
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSpecifying the Template Name for a Wildcard IP Address
+.sp
+.LP
+The admin role specifies the template name, \fBcipso_lan\fR, for a series of
+hosts that use the IP address wildcard \fB192.168.113.0\fR on the local file
+system. Since no authorization arguments were specified, the administrator
+connects to port 898 of the local host on the local server with the file domain
+type, which are the defaults. The administrator is prompted for the admin
+password.
+
+.sp
+.in +2
+.nf
+$ \fBusr/sadm/bin/smtnrhdb add -- -w 192.168.113.0 -n cipso_lan\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDeleting an Entry in the \fBtnrhdb\fR Database
+.sp
+.LP
+The admin role connects to port 898 (which happens to be the default) of the
+LDAP server and deletes a host entry from the database by specifying its IP
+address, \fB192.168.113.8\fR. Since the domain was not specified, the file
+domain type and local server are used by default. The administrator is prompted
+for the admin password.
+
+.sp
+.in +2
+.nf
+# \fB/usr/sadm/bin/smtnrhdb delete \
+-D ldap:/example.domain -i 192.168.113.8\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRAdding a Subnet to the \fBtnrhdb\fR Database
+.sp
+.LP
+The following command adds all the addresses on the 192.168.55.0 subnet, from
+192.168.55.1 to 192.168.55.255, to the \fBtnrhdb\fR database:
+
+.sp
+.in +2
+.nf
+# \fB/usr/sadm/bin/smtnrhdb add \e
+-D file:/machine1.ExampleCo.COM/machine1.ExampleCo.COM \e
+ -- -w 192.168.55.0 -n cipso\fR
+Authenticating as user: \fBroot\fR
+Type /? for help, pressing <enter> accepts the default denoted by [ ]
+Please enter a string value for: password \fB::\fR
+Loading Tool: com.exampleco.admin.hostmgr.cli.smtnrhdb.HostMgrTnrhdbCli
+from machine1.ExampleCo.COM
+Login to machine1.ExampleCo.COM as user root was successful.
+Download of com.exampleco.admin.hostmgr.cli.smtnrhdb.HostMgrTnrhdbCli
+from machine1.ExampleCo.COM
+was successful.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRAdding Subnet 192.168.0 to the \fBtnrhdb\fR Database
+.sp
+.LP
+The following command adds all the addresses on the 192.168.0 subnet, from
+192.168.0.1 to 192.168.0.255 to the \fBtnrhdb\fR database. The prefix, 24,
+indicates that the first 24 bits (192.168.0) are fixed. Only the final zero is
+a wildcard.
+
+.sp
+.in +2
+.nf
+# \fB/usr/sadm/bin/smtnrhdb add \e
+-D file:/machine1.ExampleCo.COM/machine1.ExampleCo.COM \e
+ -- -w 192.168.0.0 -p 24 -n cipso\fR
+
+Login to machine1.ExampleCo.COM as user root was successful.
+Download of com.exampleco.admin.hostmgr.cli.smtnrhdb.HostMgrTnrhdbCli
+from machine1.ExampleCo.COM was successful.
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command syntax. A usage message displays.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred while executing the command. An error message displays.
+.RE
+
+.SH FILES
+.sp
+.LP
+The following files are used by the \fBsmtnrhdb\fR command:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhdb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host database.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsmc\fR(1M), \fBnetmasks\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fISystem Administration Guide: Security Services\fR
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
diff --git a/usr/src/man/man1m/smtnrhtp.1m b/usr/src/man/man1m/smtnrhtp.1m
new file mode 100644
index 0000000000..69ec1db823
--- /dev/null
+++ b/usr/src/man/man1m/smtnrhtp.1m
@@ -0,0 +1,561 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH smtnrhtp 1M "31 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smtnrhtp \- manage entries in the trusted network template database
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sadm/bin/smtnrhtp\fR \fIsubcommand\fR [\fIauth_args\fR] \fB--\fR [\fIsubcommand_args\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsmtnrhtp\fR command adds, modifies, deletes, and lists entries in the
+\fBtnrhtp\fR database.
+.sp
+.LP
+\fBsmtnrhtp\fR \fIsubcommand\fRs are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR\fR
+.ad
+.RS 10n
+.rt
+Adds a new entry to the \fBtnrhtp\fR database. To add an entry, the
+administrator must have the \fBsolaris.network.security.read\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodify\fR\fR
+.ad
+.RS 10n
+.rt
+Modifies an entry in the \fBtnrhtp\fR database. To modify an entry, the
+administrator must have the \fBsolaris.network.security.read\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR\fR
+.ad
+.RS 10n
+.rt
+Deletes an entry from \fBtnrhtp\fR database. To delete an entry, the
+administrator must have the \fBsolaris.network.security.read\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 10n
+.rt
+Lists entries in the \fBtnrhtp\fR database. To list an entry, the administrator
+must have the \fBsolaris.network.security.read\fR authorizations.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBsmtnrhtp\fR authentication arguments, \fIauth_args\fR, are derived from
+the \fBsmc\fR argument set and are the same regardless of which subcommand you
+use. The \fBsmtnrhtp\fR command requires the Solaris Management Console to be
+initialized for the command to succeed (see \fBsmc\fR(1M)). After rebooting the
+Solaris Management Console server, the first smc connection can time out, so
+you might need to retry the command.
+.sp
+.LP
+The subcommand-specific options, \fIsubcommand_args\fR, must be \fBpreceded\fR
+by the \fB--\fR option.
+.SS "\fIauth_args\fR"
+.sp
+.LP
+The valid \fIauth_args\fR are \fB-D\fR, \fB-H\fR, \fB-l\fR, \fB-p\fR, \fB-r\fR,
+and \fB-u\fR; they are all optional. If no \fIauth_args\fR are specified,
+certain defaults will be assumed and the user might be prompted for additional
+information, such as a password for authentication purposes. These letter
+options can also be specified by their equivalent option words preceded by a
+double dash. For example, you can use either \fB-D\fR or \fB--domain\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR | \fB--domain\fR \fIdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the default domain that you want to manage. The syntax of
+\fIdomain\fR=\fItype\fR:/\fIhost_name\fR/\fIdomain_name\fR, where \fItype\fR is
+\fBdns\fR, \fBldap\fR, or \fBfile\fR; \fIhost_name\fR is the name of the
+server; and \fIdomain_name\fR is the name of the domain you want to manage.
+.sp
+If you do not specify this option, the Solaris Management Console assumes the
+\fBfile\fR default domain on whatever server you choose to manage, meaning that
+changes are local to the server. Toolboxes can change the domain on a
+tool-by-tool basis; this option specifies the domain for all other tools.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR | \fB--hostname\fR \fIhost_name:port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIhost_name\fR and \fIport\fR to which you want to connect. If
+you do not specify a \fIport\fR, the system connects to the default port,
+\fB898\fR. If you do not specify \fIhost_name:port\fR, the Solaris Management
+Console connects to the local host on port \fB898\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR | \fB--rolepassword\fR \fIrole_password\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the password for the \fIrole_name\fR. If you specify a
+\fIrole_name\fR but do not specify a \fIrole_password\fR, the system prompts
+you to supply a \fIrole_password\fR. Passwords specified on the command line
+can be seen by any user on the system, hence this option is considered
+insecure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR | \fB--password\fR \fIpassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the password for the \fIuser_name\fR. If you do not specify a
+password, the system prompts you for one. Passwords specified on the command
+line can be seen by any user on the system, hence this option is considered
+insecure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR | \fB--rolename\fR \fIrole_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a role name for authentication. If you do not specify this option, no
+role is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR | \fB--username\fR \fIuser_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the user name for authentication. If you do not specify this option,
+the user identity running the console process is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is required and must always follow the preceding options. If you do
+not enter the preceding options, you must still enter the \fB--\fR option.
+.RE
+
+.SS "\fIsubcommand_args\fR"
+.sp
+.LP
+Descriptions and other argument options that contain white spaces must be
+enclosed in double quotes.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 26n
+.rt
+Displays the command's usage statement.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fItemplatename\fR\fR
+.ad
+.RS 26n
+.rt
+Specifies the name of the template.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIhosttype\fR\fR
+.ad
+.RS 26n
+.rt
+Specifies the host type of the new host. Valid values are \fBunlabeled\fR and
+\fBcipso\fR. The \fBcipso\fR host type is for hosts that use CIPSO (Common IP
+Security Options - Tag Type 1 only) to label packets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fBdoi\fR=\fIdoi-value\fR\fR
+.ad
+.RS 26n
+.rt
+Specifies the \fBDOI\fR value (the domain of interpretation). In the case of
+the \fBunlabeled\fR host type, this is the domain of interpretation for the
+\fBdef_label\fR.
+.sp
+The domain of interpretation defines the set of rules for translating between
+the external or internal representation of the security attributes and their
+network representation. When systems that are configured with Trusted
+Extensions software have the same \fBdoi\fR, they share that set of rules. In
+the case of the \fBunlabeled\fR host type, these systems also share the same
+interpretation for the default attributes that are assigned to the unlabeled
+templates that have that same \fBdoi\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fBmax\fR=\fImaximum-label\fR\fR
+.ad
+.RS 26n
+.rt
+Specifies the maximum label. Together with \fBmin\fR, this value specifies the
+label accreditation range for the remote hosts that use this template. Values
+can be a hex value or string (such as \fBadmin_high\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fBmin\fR=\fIminimum-label\fR\fR
+.ad
+.RS 26n
+.rt
+Specifies the minimum label. Together with \fBmax\fR, this value specifies the
+label accreditation range for the remote hosts that use this template. For
+gateway systems, \fBmin\fR and \fBmax\fR define the default range for
+forwarding labeled packets. The label range for routes is typically set by
+using a \fBroute\fR(1M) subcommand with the \fB-secattr\fR option. When the
+label range for routes is not specified, the \fBmin\fR to \fBmax\fR range in
+the security template is used. Values can be a hex value or string (such as
+\fBadmin_low\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fBlabel\fR=\fIdefault-label\fR\fR
+.ad
+.RS 26n
+.rt
+Specifies the default label to be applied to incoming data from remote hosts
+that do not support these attributes. This option does not apply if
+\fIhosttype\fR is \fBcipso\fR. Values can be a hex value or string (such as
+\fBadmin_low\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fBslset\fR=\fIl1\fR,\fIl2\fR,\fIl3\fR,\fIl4\fR\fR
+.ad
+.RS 26n
+.rt
+Specifies a set of sensitivity labels. For gateway systems, the labels in
+\fBslset\fR are used for forwarding labeled packets. \fBslset\fR is optional.
+You can specify up to four label values, separated by commas. Values can be a
+hex value or string (such as \fBadmin_low\fR).
+.RE
+
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following sets of arguments must be specified for subcommand
+\fBadd\fR:
+.sp
+.in +2
+.nf
+\fB-n\fR \fItemplate name\fR (
+.fi
+.in -2
+.sp
+
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-t\fR \fBcipso\fR [ \fB-x\fR \fBdoi\fR=\fIdoi-value\fR \fB-x\fR
+\fBmin\fR=\fIminimum-label\fR \fB-x\fR \fBmax\fR=\fImaximum-label\fR \fB-x\fR
+\fBslset\fR=\fIl1\fR,\fIl2\fR,\fIl3\fR,\fIl4\fR ] |
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-t\fR unlabeled [ \fB-x\fR \fBdoi\fR=\fIdoi-value\fR \fB-x\fR
+\fBmin\fR=\fIminimum-label\fR \fB-x\fR \fBmax\fR=\fImaximum-label\fR \fB-x\fR
+\fBlabel\fR=\fIdefault-label\fR \fB-x\fR
+\fBslset\fR=\fIl1\fR,\fIl2\fR,\fIl3\fR,\fIl4\fR ] |
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-h\fR
+.RE
+.sp
+.in +2
+.nf
+)
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following sets of arguments must be specified for subcommand
+\fBmodify\fR:
+.sp
+.in +2
+.nf
+\fB-n\fR \fItemplate name\fR (
+.fi
+.in -2
+.sp
+
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-t\fR \fBcipso\fR [ \fB-x\fR \fBdoi\fR=\fIdoi-value\fR \fB-x\fR
+\fBmin\fR=\fIminimum-label\fR \fB-x\fR \fBmax\fR=\fImaximum-label\fR \fB-x\fR
+\fBslset\fR=\fIl1\fR,\fIl2\fR,\fIl3\fR,\fIl4\fR ] |
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-t\fR unlabeled [ \fB-x\fR \fBdoi\fR=\fIdoi-value\fR \fB-x\fR
+\fBmin\fR=\fIminimum-label\fR \fB-x\fR \fBmax\fR=\fImaximum-label\fR \fB-x\fR
+\fBlabel\fR=\fIdefault-label\fR\fB-x\fR
+\fBslset\fR=\fIl1\fR,\fIl2\fR,\fIl3\fR,\fIl4\fR ] |
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB-h\fR
+.RE
+.sp
+.in +2
+.nf
+)
+.fi
+.in -2
+.sp
+
+If the host type is changed, all options for the new host type must be
+specified.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following sets of arguments must be specified for subcommand
+\fBdelete\fR:
+.sp
+.in +2
+.nf
+\fB-n\fR \fItemplatename\fR |
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The following argument can be specified for subcommand \fBlist\fR:
+.sp
+.in +2
+.nf
+\fB-n\fR \fItemplatename\fR |
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a New Entry to the Network Template Database
+.sp
+.LP
+The admin role connects to port \fB898\fR of the LDAP server and creates the
+\fBunlabeled_ntk\fR entry in the \fBtnrhtp\fR database. The new template is
+assigned a host type of \fBunlabeled\fR, a domain of interpretation of \fB1\fR,
+minimum label of \fBpublic\fR, maximum label of \fBrestricted\fR, and a default
+label of \fBneedtoknow\fR. The administrator is prompted for the admin
+password.
+
+.sp
+.in +2
+.nf
+$ /usr/sadm/bin/smtnrhtp \e
+add -D ldap:\fIdirectoryname\fR -H \fIservername\fR:898 -- \e
+-n unlabeled_ntk -t unlabeled -x DOI=1 \e
+-x min=public -x max=restricted -x label="need to know"
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command syntax. A usage message displays.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred while executing the command. An error message displays.
+.RE
+
+.SH FILES
+.sp
+.LP
+The following files are used by the \fBsmtnrhtp\fR command:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhtp\fR\fR
+.ad
+.RS 29n
+.rt
+Trusted network remote-host templates.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsmc\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
+.SH WARNINGS
+.sp
+.LP
+Changing a template while the network is up can change the security view of an
+undetermined number of hosts.
+.sp
+.LP
+Allowing unlabeled hosts onto a Solaris Trusted Extensions network is a
+security risk. To avoid compromising the rest of your network, such hosts must
+be \fBtrusted\fR in the sense that the administrator is certain that these
+unlabeled hosts will not be used to compromise the distributed system. These
+hosts should also be physically protected to restrict access to authorized
+individuals. If you cannot guarantee that an unlabeled host is physically
+secure from tampering, it and similar hosts should be isolated on a separate
+branch of the network.
+.sp
+.LP
+If the security template is modified while the network is up, the changes do
+not take effect immediately unless \fBtnctl\fR(1M) is used to update the
+template entries. Otherwise, the changes take effect when next polled by the
+trusted network daemon, \fBtnd\fR(1M). Administrators are allowed to add new
+templates and modify attributes of existing templates while the network is up.
diff --git a/usr/src/man/man1m/smtnzonecfg.1m b/usr/src/man/man1m/smtnzonecfg.1m
new file mode 100644
index 0000000000..bc80645eaa
--- /dev/null
+++ b/usr/src/man/man1m/smtnzonecfg.1m
@@ -0,0 +1,507 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH smtnzonecfg 1M "31 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+smtnzonecfg \- manage entries in the zone configuration database for Trusted
+Extensions networking
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sadm/bin/smtnzonecfg\fR \fIsubcommand\fR [\fIauth_args\fR] \fB--\fR [\fIsubcommand_args\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsmtnzonecfg\fR command adds, modifies, deletes, and lists entries in the
+\fBtnzonecfg\fR database.
+.sp
+.LP
+\fBsmtnzonecfg\fR \fIsubcommand\fRs are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR\fR
+.ad
+.RS 10n
+.rt
+Adds a new entry to the \fBtnzonecfg\fR database. To add an entry, the
+administrator must have the \fBsolaris.network.host.write\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodify\fR\fR
+.ad
+.RS 10n
+.rt
+Modifies an entry in the \fBtnzonecfg\fR database. To modify an entry, the
+administrator must have the \fBsolaris.network.host.write\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR\fR
+.ad
+.RS 10n
+.rt
+Deletes an entry from the \fBtnzonecfg\fR database. To delete an entry, the
+administrator must have the \fBsolaris.network.host.write\fR and
+\fBsolaris.network.security.write\fR authorizations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR\fR
+.ad
+.RS 10n
+.rt
+Lists entries in the \fBtnzonecfg\fR database. To list an entry, the
+administrator must have the \fBsolaris.network.host.read\fR and
+\fBsolaris.network.security.read\fR authorizations.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The \fBsmtnzonecfg\fR authentication arguments, \fIauth_args\fR, are derived
+from the \fBsmc\fR argument set and are the same regardless of which subcommand
+you use. The \fBsmtnzonecfg\fR command requires the Solaris Management Console
+to be initialized for the command to succeed (see \fBsmc\fR(1M)). After
+rebooting the Solaris Management Console server, the first smc connection can
+time out, so you might need to retry the command.
+.sp
+.LP
+The subcommand-specific options, \fIsubcommand_args\fR, must be \fBpreceded\fR
+by the \fB--\fR option.
+.SS "\fIauth_args\fR"
+.sp
+.LP
+The valid \fIauth_args\fR are \fB-D\fR, \fB-H\fR, \fB-l\fR, \fB-p\fR, \fB-r\fR,
+and \fB-u\fR; they are all optional. If no \fIauth_args\fR are specified,
+certain defaults will be assumed and the user can be prompted for additional
+information, such as a password for authentication purposes. These letter
+options can also be specified by their equivalent option words preceded by a
+double dash. For example, you can use either \fB-D\fR or \fB--domain\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR | \fB--domain\fR \fIdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the default domain that you want to manage. The syntax of
+\fIdomain\fR=\fItype\fR:/\fIhost_name\fR/\fIdomain_name\fR, where \fItype\fR is
+\fBdns\fR, \fBldap\fR, or \fBfile\fR; \fIhost_name\fR is the name of the
+server; and \fIdomain_name\fR is the name of the domain you want to manage.
+.sp
+If you do not specify this option, the Solaris Management Console assumes the
+\fBfile\fR default domain on whatever server you choose to manage, meaning that
+changes are local to the server. Toolboxes can change the domain on a
+tool-by-tool basis. This option specifies the domain for all other tools.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR | \fB--hostname\fR \fIhost_name:port\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIhost_name\fR and \fIport\fR to which you want to connect. If
+you do not specify a \fIport\fR, the system connects to the default port,
+\fB898\fR. If you do not specify \fIhost_name:port\fR, the Solaris Management
+Console connects to the local host on port \fB898\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR | \fB--rolepassword\fR \fIrole_password\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the password for the \fIrole_name\fR. If you specify a
+\fIrole_name\fR but do not specify a \fIrole_password\fR, the system prompts
+you to supply a \fIrole_password\fR. Passwords specified on the command line
+can be seen by any user on the system, hence this option is considered
+insecure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR | \fB--password\fR \fIpassword\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the password for the \fIuser_name\fR. If you do not specify a
+password, the system prompts you for one. Passwords specified on the command
+line can be seen by any user on the system, hence this option is considered
+insecure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR | \fB--rolename\fR \fIrole_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a role name for authentication. If you do not specify this option, no
+role is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR | \fB--username\fR \fIuser_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the user name for authentication. If you do not specify this option,
+the user identity running the console process is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option is required and must always follow the preceding options. If you do
+not enter the preceding options, you must still enter the \fB--\fR option.
+.RE
+
+.SS "\fIsubcommand_args\fR"
+.sp
+.LP
+Descriptions and other argument options that contain white spaces must be
+enclosed in double quotes.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the command's usage statement.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIzonename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the zone name for the entry. This name is used when the zone is
+configured. See \fBzonecfg\fR(1M), under the \fB-z zonename\fR option, for the
+constraints on zone names. The specified zone name must be one of the
+configured zones on the system. The following command returns a list of
+configured zones:
+.sp
+.in +2
+.nf
+/usr/sbin/zoneadm list -c
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the label for the zone. This field is used to label the zone when the
+zone is booted. Each zone must have a unique label.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x policymatch\fR=\fB0\fR|\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the policy match level for non-transport traffic. Only values of
+\fB0\fR (match the label) or \fB1\fR (be within the label range of the zone)
+are accepted.
+.sp
+ICMP packets that are received on the global zone IP address are accepted based
+on the label range of the global zone's security template if the global zone's
+\fIpolicymatch\fR field is set to 1. When this field is set to 0 for a zone,
+the zone will not respond to an ICMP echo request from a host with a different
+label.
+.sp
+This subcommand argument is optional. If not specified, it will have a default
+value of 0.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x mlpzone\fR=""|\fIport/protocol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the multilevel port configuration entry for zone-specific IP
+addresses. Multiple \fIport/protocol\fR combinations are separated by a
+semi-colon. The empty string can be specified to remove all existing MLP zone
+values. This subcommand argument is optional.
+.sp
+An MLP is used to provide multilevel service in the global zone as well as in
+non-global zones. As an example of how a non-global zone can use an MLP,
+consider setting up two labeled zones, \fBinternal\fR and \fBpublic\fR. The
+\fBinternal\fR zone can access company networks; the \fBpublic\fR zone can
+access public internet but not the company's internal networks. For safe
+browsing, when a user in the \fBinternal\fR zone wants to browse the Internet,
+the \fBinternal\fR zone browser forwards the URL to the \fBpublic\fR zone, and
+the web content is then displayed in a \fBpublic\fR zone web browser. That way,
+if the download in \fBpublic\fR zone compromises the web browser, it cannot
+affect the company's internal network. To set this up, TCP port \fB8080\fR in
+the \fBpublic\fR zone is an MLP (\fB8080/tcp\fR), and the security template for
+the \fBpublic\fR zone has a label range from \fBPUBLIC\fR to \fBINTERNAL\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x mlpshared\fR=""|\fIport/protocol\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the multilevel port configuration entry for shared IP addresses.
+Multiple \fIport/protocol\fR combinations are separated by a semi-colon. The
+empty string can be specified to remove all existing MLP shared values. This
+subcommand argument is optional.
+.sp
+A shared IP address can reduce the total number of IP addresses that are needed
+on the system, especially when configuring a large number of zones. Unlike the
+case of the zone-specific IP address, when MLPs are declared on shared IP
+addresses, only the global zone can receive the incoming network traffic that
+is destined for the MLP.
+.RE
+
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following sets of arguments must be specified for subcommand
+\fBadd\fR:
+.sp
+.in +2
+.nf
+\fB-n\fR \fIzonename\fR \fB-l\fR \fIlabel\fR [\fB-x\fR policymatch=\fIpolicy-match-level\fR \e
+\fB-x\fR mlpzone=\fIport/protocol\fR;.... | \e
+\fB-x\fR mlpshared=\fIport/protocol\fR;.... ]
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following sets of arguments must be specified for subcommand
+\fBmodify\fR:
+.sp
+.in +2
+.nf
+\fB-n\fR \fIzonename\fR [\fB-l\fR \fIlabel\fR] [\fB-x\fR policymatch=\fIpolicy-match-level\fR \e
+\fB-x\fR mlpzone=\fIport/protocol\fR;.... |\e
+\fB-x\fR mlpshared=\fIport/protocol\fR;.... ]
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the following arguments must be specified for subcommand \fBdelete\fR:
+.sp
+.in +2
+.nf
+\fB-n\fR \fIzonename\fR |
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The following argument can be specified for subcommand \fBlist\fR:
+.sp
+.in +2
+.nf
+\fB-n\fR \fIzonename\fR |
+\fB-h\fR
+.fi
+.in -2
+.sp
+
+.RE
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding a New Entry to the Zone Configuration Database
+.sp
+.LP
+The admin role creates a new zone entry, \fBpublic\fR, with a label of
+\fBpublic\fR, a policy match level of 1, and a shared MLP port and protocol of
+666 and TCP. The administrator is prompted for the admin password.
+
+.sp
+.in +2
+.nf
+$ \fB/usr/sadm/bin/smtnzonecfg add -- -n public -l public \e
+-x policymatch=1 -x mlpshared=666/tcp\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRModifying an Entry in the Zone Configuration Database
+.sp
+.LP
+The admin role changes the \fBpublic\fR entry in the \fBtnzonecfg\fR database
+to \fBneedtoknow\fR. The administrator is prompted for the admin password.
+
+.sp
+.in +2
+.nf
+$ \fB/usr/sadm/bin/smtnzonecfg modify -- -n public -l needtoknow\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing the Zone Configuration Database
+.sp
+.LP
+The admin role lists the entries in the \fBtnzonecfg\fR database. The
+administrator is prompted for the admin password.
+
+.sp
+.in +2
+.nf
+$ \fB/usr/sadm/bin/smtnzonecfg list --\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command syntax. A usage message displays.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred while executing the command. An error message displays.
+.RE
+
+.SH FILES
+.sp
+.LP
+The following files are used by the \fBsmtnzonecfg\fR command:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnzonecfg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted zone configuration database.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsmc\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
diff --git a/usr/src/man/man1m/sndradm.1m b/usr/src/man/man1m/sndradm.1m
new file mode 100644
index 0000000000..f7cbc8e8e6
--- /dev/null
+++ b/usr/src/man/man1m/sndradm.1m
@@ -0,0 +1,1102 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sndradm 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sndradm \- control Sun StorageTek Availability Suite Remote Mirror operations
+.SH SYNOPSIS
+.LP
+.nf
+\fBsndradm\fR \fB-I\fR a \fImaster\fR \fIshadow\fR \fIbitmap\fR
+.fi
+
+.LP
+.nf
+\fBsndradm\fR \fB-I\fR d \fImaster\fR \fIshadow\fR \fIbitmap\fR
+.fi
+
+.LP
+.nf
+\fBsndradm\fR \fB-h\fR \fIusage message\fR
+.fi
+
+.LP
+.nf
+\fBsndradm\fR \fB-v\fR \fIversion information\fR
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-e\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-E\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-d\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-D\fR block [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-D\fR noblock [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-l\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-m\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-m\fR \fB-r\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-u\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-u\fR \fB-r\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-w\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-H\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-p\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-P\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-q\fR a \fIvolume\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-q\fR d [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-q\fR r \fIvolume\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-i\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-a\fR \fIvalue\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-A\fR \fIvalue\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-F\fR \fIvalue\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-W\fR \fIvalue\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR b p \fIbitmap\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR b s \fIbitmap\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR C \fItag\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR g \fIio_groupname\fR [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR m sync [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR m async [\fIsndr_set\fR]
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR \fB-f\fR \fIvolset-file\fR
+.fi
+
+.LP
+.nf
+\fBsndradm\fR [\fIoptions\fR] \fB-R\fR r [\fIsndr_set\fR] *
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fB/usr/sbin/sndradm\fR command is the administrative command line
+interface for the Sun StorageTek Availability Suite Remote Mirror software.
+Remote Mirror enables you to replicate disks between different
+physically-separate Sun servers in real time. Remote Mirror is conceptually
+similar to the local disk mirroring scheme of RAID 1 but it performs its
+replication operations over longer distances.
+.sp
+.LP
+If you do not specify a Remote Mirror set (\fIsndr_set\fR) on the command line,
+\fBsndradm\fR operates on all configured Remote Mirror sets.
+.sp
+.LP
+The \fBsndradm\fR command generates an entry in the Availability Suite log
+file, \fB/var/adm/ds.log\fR (see \fBds.log\fR(4)), for all operations except
+print (\fB-p\fR, \fB-P\fR and \fB-i\fR), help (\fB-h\fR), and version
+(\fB-v\fR).
+.SH OPTIONS
+.sp
+.LP
+The \fBsndradm\fR utility supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIvolset-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a file containing the \fIsndr_set\fR information for one or more
+Remote Mirror sets in the same format as the fully specified command line
+\fIsndr_set\fR documented below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIio_groupname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits operations to only those Remote Mirror sets belonging to
+\fIio_groupname\fR.
+.sp
+The \fIio_groupname\fR for a given set must be consistent across both the
+primary and the secondary hosts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fItag\fR\fR
+.ad
+.sp .6
+.RS 4n
+On a clustered node, limits operations to only those Remote Mirror sets
+belonging to the cluster resource group or disk group name specified by
+\fItag\fR. This option is not valid on a system that is not clustered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Does not prompt the user after starting a Remote Mirror operation using
+\fBsndradm\fR. For all but the printing, help, and version options, the default
+behavior is to prompt for a response. For example, after starting a full
+synchronization from the primary to the secondary volume, Remote Mirror
+prompts: \fB"Overwrite secondary with primary? (Y/N) [N]"\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsndr_set\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the Remote Mirror set. For a set that has already been enabled, this
+can be a \fBset_name\fR in the format \fIshost\fR:\fIsdev\fR. You can supply a
+fully specified Remote Mirror set in the same format as a configuration file:
+.sp
+.in +2
+.nf
+\fIphost pdev pbitmap shost sdev sbitmap\fR \fBip\fR {\fBsync | async\fR} \e
+[g \fIio_groupname\fR] [C \fItag\fR]
+.fi
+.in -2
+
+These parameters are described as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIphost\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the server on which the primary volume resides.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpdev\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the primary volume partition to be replicated. Specify full pathnames
+only (for example, \fB/dev/rdsk/c0t1d0s2\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpbitmap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the volume partition on which the bitmap (scoreboard log) of the
+primary partition is stored. Specify full pathnames only (for example,
+\fB/dev/rdsk/c0t1d0s3\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIshost\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the server on which the secondary volume resides.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsdev\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the secondary volume partition. Specify full path names only (for
+example, \fB/dev/rdsk/c0t1d0s4\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsbitmap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the volume partition on which the bitmap (scoreboard log) of the
+secondary partition is stored. Specify full path names only (for example,
+\fB/dev/rdsk/c0t1d0s5\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBip\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the network transfer protocol.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsync | async\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the Remote Mirror operating mode. \fBsync\fR is the Remote Mirror
+mode where the I/O operation is not confirmed as complete until the remote
+volume has been updated. \fBasync\fR is the Remote Mirror mode where the
+primary host I/O operation is confirmed as complete before updating the remote
+volume.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIio_groupname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the Remote Mirror consistency group to which the Remote
+Mirror set belongs. In asynchronous mode, write ordering must be preserved
+across all replicating volumes in a Remote Mirror consistency group. This
+ensures that the secondary volumes belonging to the group contains a valid
+point-in-time copy of the corresponding primary volumes.
+.sp
+When adding an existing set to a consistency group or when enabling a set to be
+in a group, the set must be configured with the same group name on both the
+primary and the secondary hosts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItag\fR\fR
+.ad
+.sp .6
+.RS 4n
+For operation within a cluster, this specifies the disk group name or resource
+tag of the local data and bitmap volumes in cases where this is not implied by
+the name of the volume (for example, \fB/dev/rdsk/md/dg/vol\fR and
+\fB/dev/vx/rdsk/dg/vol\fR both indicate a disk group name of \fBdg\fR). It is
+the responsibility of the user to ensure that the cluster tag specified to the
+Remote Mirror matches the appropriate cluster resource group tag, and to keep
+all the Availability Suite services up to date in the event of cluster resource
+group reconfigurations. It is illegal to specify the cluster resource tag on a
+system that is not clustered.
+.RE
+
+.RE
+
+.SH PARAMETERS
+.sp
+.LP
+A valid \fBsndradm\fR command must specify one of the parameters listed below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fBa\fR \fImaster\fR \fIshadow\fR \fIbitmap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add an \fBndr_ii\fR entry with the specified master, shadow, and bitmap to the
+Availability Suite configuration file. See \fBsndrsyncd\fR(1M). If the
+corresponding Point-in-Time Copy set does not exist, it is enabled when the
+next \fBsync\fR command is issued on the related volume(s). When no longer
+required, this Point-in-Time Copy set can be disabled by \fBiiadm\fR \fB-d\fR.
+See \fBiiadm\fR(1M)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fBd\fR \fImaster\fR \fB\fIshadow\fR\fR \fB\fIbitmap\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the \fBndr_ii\fR entry with the specified master, shadow, and bitmap
+from the Availability Suite configuration file. Use the \fBdscfg\fR command to
+list \fBndr_ii\fR configuration entries.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the value, on or off, of the automatic sync variable for the set.
+Once \fBautosync\fR has been requested for a set, the functionality is active
+from the time a sync operation is requested until the set is manually put into
+logging mode. Once the set is manually put into logging mode, the
+\fBautosync\fR functionality is not active and remains inactive until the next
+time a \fBsync\fR request is made. To check whether \fBautosync\fR is active,
+use \fBsndradm\fR \fB-P\fR. To check whether autosync has been requested for a
+set, look for the"\fBauto=on;\fR" tag for the set in the output of \fBdscfg\fR
+\fB-l\fR. See \fBsndrsyncd\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the maximum number of threads that can be created to process the
+asynchronous queue when a set is replicating in asynchronous mode. The default
+is \fB2\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the maximum number of writes that can be queued to a set replicating
+in asynchronous mode. The default is \fB4096\fR. For example, set this value to
+1 to ensure that the secondary volume is never more than one write operation
+behind the primary volume.
+.sp
+Tuning the maximum number of writes is only valid for sets using memory-based
+async I/O queues. This value is ignored when disk based I/O queues are used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fB{block\fR \fB|\fR \fBnoblock}\fR\fR
+.ad
+.sp .6
+.RS 4n
+Toggles the \fBblock\fR|\fBnoblock\fR attribute of a disk-based queue. The
+default setting is \fBblock\fR. If the I/O fill rate is larger than the drain
+rate for enough time for the queue to fill, incoming I/O is blocked until there
+is adequate space on the queue for it. This is to preserve write ordering
+whether it is one volume or across many volumes in the same consistency group.
+If \fBnoblock\fR is set, and incoming I/O fills the queue, the I/O is not
+blocked. Instead, the set is put into logging and the disk queue contents are
+disregarded. An ensuing update sync synchronizes the latest data to the
+secondary site.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the maximum number of 512-byte FBAs that can be queued in kernel
+memory to a set replicating in asynchronous mode. The default is \fB16384\fR.
+.sp
+Tuning the maximum number of FBAs is valid only for sets using memory-based
+async I/O queues. This value isignored when disk-based I/O queues are used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the \fBsndradm\fR usage summary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prints the Remote Mirror version number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables Remote Mirror for the set and enables scoreboard logging. The
+scoreboard is set to indicate that a full synchronization is required. Details
+of the set are saved in the current configuration. See \fBdscfg\fR(1M). The
+local volume and the bitmap volume are enabled for the Storage Volume driver
+(see \fBsv\fR(7D)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-E\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables Remote Mirror for the set and enables scoreboard logging. The
+scoreboard is cleared to indicate that the primary and secondary volumes are
+already guaranteed to be fully synchronized. Details of the set are saved in
+the current configuration. See \fBdscfg\fR(1M). The local volume and the bitmap
+volume are enabled for the Storage Volume driver (see \fBsv\fR(7D)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disables Remote Mirror for the set and halts any current synchronization
+operations. \fBsndradm\fR \fB-d\fR also discards any active scoreboards that
+track temporary differences between primary and secondary volumes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Stops Remote Mirror replication and copy operations between primary and
+secondary volumes and starts independent Remote Mirror scoreboard logging on
+these volumes. When all the sets in a consistency group are replicating, it
+means that the secondary volumes contain a valid point-in-time copy of the
+corresponding primary volumes. Under this condition, as soon as one Remote
+Mirror set drops into logging mode, the \fBrdc\fR kernel module drops all the
+other sets in the group into logging mode automatically. This ensures that the
+secondary volumes still contains a valid point-in-time copy. To resume the
+Remote Mirror after using the \fB-l\fR parameter, use the \fB-m\fR parameter to
+perform a full resynchronization or the \fB-u\fR parameter to perform an update
+resynchronization (based on the scoreboard).
+.sp
+This option does not work on the secondary for any volumes that are currently
+synchronizing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fR
+.ad
+.sp .6
+.RS 4n
+Waits for a synchronization copy to complete or abort, or returns immediately
+if invoked on the secondary system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reports on the health of the network link used by the specified volume set. The
+health of the link is reported as active or inactive. Active means that the
+network link is actively being used for replicating or resynchronizing data,
+and is therefore in good health. Inactive means that the network link is not
+actively being used for replicating or resynchronizing data, which might
+indicate a problem with the link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a list of configured Remote Mirror volumes or sets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a list of configured Remote Mirror volumes or sets with extra details.
+(See state descriptions, below.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR \fBa\fR \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add a disk queue to a set or group. This operation is valid when the set or
+group is in logging mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR \fBd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove a disk queue from a set or group. This operation is valid when the set
+or group is in logging mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR \fBr\fR \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Replace a disk queue for a group or set. The queue is removed from the set or
+group as in the queue-disable operation and the new disk queue is added as in
+the queue-add operation. This operation is valid when the set or group is in
+logging mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a list of configured Remote Mirror volumes or sets in the same format
+as the \fIvolset-file\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Attempt to reset a Remote Mirror set's error condition such as failed bitmaps.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fBb\fR \fBp\fR \fIbitmap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reconfigure a Remote Mirror set's primary bitmap. This command should be
+entered on both primary and secondary servers. It is only possible to
+reconfigure the primary bitmap for one set at a time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fBb\fR \fBs\fR \fIbitmap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reconfigure a Remote Mirror set's secondary bitmap. This command should be
+entered on both primary and secondary servers. It is only possible to
+reconfigure the secondary bitmap for one set at a time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fBC\fR \fItag\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reconfigure the cluster tag, or disk group name, of a Remote Mirror set's local
+volumes, in those cases where this is not indicated by the pathname. This does
+not affect the remote volumes. This parameter cannot be used on a system that
+is not clustered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fBm\fR \fB{sync\fR \fB|\fR \fBasync}\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reconfigure the replication mode of a Remote Mirror set. The sets belonging to
+a consistency group must be either all synchronous or all asynchronous. It is
+not possible to mix modes within a group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fBg\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reconfigure the consistency group of a Remote Mirror set. This command should
+be entered with the same group name on both primary and secondary servers.
+.sp
+To remove a set from a consistency group, specify the null string (" ") when
+reconfiguring the consistency group.
+.RE
+
+.sp
+.LP
+The following parameters can be issued only from the primary server:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Starts a full volume copy from the primary volume to the secondary volume, and
+concurrently enables Remote Mirror replication of new updates from the primary
+volume to the secondary volume. Use this parameter when the primary and
+secondary volumes might be different and no logging information exists to
+incrementally resynchronize the volumes. See EXIT STATUS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reverses the direction of the synchronization so the primary volume is
+synchronized from the secondary volume. Use this parameter with the \fB-m\fR or
+\fB-u\fR parameter. \fB-m\fR \fB-r\fR starts a full volume copy from the
+secondary (source) volume to the primary (target) volume but concurrently
+enables Remote Mirror replication of new updates from the primary (source)
+volume to the secondary (target) volume, ensuring the volume sets remain
+synchronized. Use \fB-m\fR \fB-r\fR when the primary and secondary volume
+content might differ and the secondary has the desired contents, yet no logging
+information exists to incrementally resynchronize the volumes (using \fB-u\fR).
+\fB-u\fR \fB-r\fR resynchronizes the primary (target) volume from the secondary
+(source) volume, using the Remote Mirror scoreboard logs maintained while
+replication was suspended. It then resumes Remote Mirror replication of new
+updates from the primary volume to the secondary volume so that the volume sets
+remain synchronized. Quiesce the workload to the volume sets during the
+restore/refresh operation. This action ensures that the primary and secondary
+volumes match before replication of new updates resumes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Updates a Remote Mirror volume set. This parameter resynchronizes a Remote
+Mirror volume set. Only the blocks logged as changed in the Remote Mirror
+scoreboards are updated. Enables Remote Mirror replication for the primary
+volume and also uses the Remote Mirror scoreboard logs to start the
+resynchronization process so that the corresponding secondary volume matches
+the primary volume.
+.RE
+
+.SS "States Returned from \fBsndradm\fR \fB-P\fR"
+.sp
+.LP
+The following are the states that can be returned from \fBsndradm\fR \fB-P\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvolume\fR \fBfailed\fR\fR
+.ad
+.sp .6
+.RS 4n
+An I/O operation to the local data volume has failed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbitmap\fR \fBfailed\fR\fR
+.ad
+.sp .6
+.RS 4n
+An I/O operation to the local bitmap volume has failed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisk\fR \fBqueue\fR \fBfailed\fR\fR
+.ad
+.sp .6
+.RS 4n
+An I/O operation to disk queue volume has failed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBneed\fR \fBsync\fR\fR
+.ad
+.sp .6
+.RS 4n
+A sync to this volume has been interrupted. It needs to be completed (or
+restored via Point-in-Time Copy). The direction of the data flow must not be
+changed until one or the other is done.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBneed\fR \fBreverse\fR \fBsync\fR\fR
+.ad
+.sp .6
+.RS 4n
+A reverse sync to this volume has been interrupted. It needs to be completed
+(or restored via Point-in-Time Copy). The direction of the data flow must not
+be changed until one or the other is done.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogging\fR\fR
+.ad
+.sp .6
+.RS 4n
+Incoming writes are logged in the bitmap only. Data is not replicated to the
+remote site. \fBneed sync\fR, \fBneed reverse sync\fR, and \fBqueuing\fR are
+all substates of logging such that writes are logged in the bitmap, but not
+replicated. Queuing mode (described below) logs the writes to the bitmap, and
+queues the request for later replication by the async flushers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreverse\fR \fBsyncing\fR\fR
+.ad
+.sp .6
+.RS 4n
+A secondary to primary copy is in progress.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsyncing\fR\fR
+.ad
+.sp .6
+.RS 4n
+A primary to secondary copy is in progress.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBqueuing\fR\fR
+.ad
+.sp .6
+.RS 4n
+During normal async replication using disk queues, i/o is placed on the disk
+queue to be replicated by the async flusher threads. In the event of a
+temporary link failure, the set transitions to queuing mode. The queue is not
+discarded, as it would be with memory based queues. Instead, data is logged in
+the bitmap and placed on the queue. When the link comes up, and \fBsndradm\fR
+\fB-u\fR is issued, (automated by turning autosync on for the set) the flushers
+restarts. This preserves write ordering through a temporary link outage. If
+write ordering is not necessary, and only the latest data is needed, the set
+can be put into logging manually (\fBsndradm\fR \fB-l\fR) and an update sync
+issued (\fBsndradm\fR \fB-u\fR). This action discards the data on the queue,
+and fast resyncs using the bitmap. If the queue fills before the link comes
+back and the update sync is issued, the queue is discarded and the set put into
+logging mode to avoid application hangs.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREnabling a Remote Mirror Set
+.sp
+.LP
+The following command enables a Remote Mirror asynchronous set on host
+\fBexample\fR, where \fBexample\fR is the primary host and \fBexample-remote\fR
+is the secondary host.
+
+.sp
+.in +2
+.nf
+example% \fBsndradm -e example /dev/rdsk/c1t0d0s1 /dev/rdsk/c1t1d0s3 \e
+example-remote /dev/rdsk/c2t3d0s5 /dev/rdsk/c2t4d0s5 ip async\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding a Disk Queue to an Asynchronous Set
+.sp
+.LP
+The following command adds a disk queue volume to an asynchronous set.
+
+.sp
+.in +2
+.nf
+example% \fBsndradm -q a /dev/rdsk/c1t2d0s3 \e
+example-remote:/dev/rdsk/c2t3d0s5\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRemoving a Disk Queue from an Asynchronous Set
+.sp
+.LP
+The following command removes the disk queue volume from a set with a disk
+queue volume attatched to it.
+
+.sp
+.in +2
+.nf
+example% \fBsndradm -q d example-remote:/dev/rdsk/c2t3d0s5\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisabling a Remote Mirror Set
+.sp
+.LP
+The following command disables a Remote Mirror set enabled on host
+\fBexample\fR.
+
+.sp
+.in +2
+.nf
+example% \fBsndradm -d example-remote:/dev/rdsk/c2t3d0s5\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Command completed successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 13n
+.rt
+An error occurred.
+.RE
+
+.sp
+.LP
+When the \fB-m\fR or \fB-u\fR option is executed in a script, the exit status
+following one of these options always returns success, regardless of the
+current status of the Remote Mirror set.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdscfg\fR(1M), \fBsndrd\fR(1M), \fBsndrsyncd\fR(1M), \fBds.log\fR(4),
+\fBrdc.cf\fR(4), \fBattributes\fR(5), \fBsv\fR(7D)
diff --git a/usr/src/man/man1m/sndrd.1m b/usr/src/man/man1m/sndrd.1m
new file mode 100644
index 0000000000..bfde91b922
--- /dev/null
+++ b/usr/src/man/man1m/sndrd.1m
@@ -0,0 +1,166 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sndrd 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sndrd \- Remote Mirror daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/sndrd\fR [\fB-c\fR \fImax_connections\fR] [\fB-l\fR \fIlisten_backlog\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsndrd\fR daemon processes client Remote Mirror requests. Only the root
+user or a user with equivalent privileges can run this daemon. The daemon is
+automatically invoked in run level 2. \fBsndrd\fR restarts the TCP transport
+layers.
+.sp
+.LP
+Administrators wanting to change startup parameters for \fBsndrd\fR should, as
+root or equivalent, make changes in the \fB/etc/default/sndr\fR file rather
+than editing the \fB/lib/svc/method/svc-rdcsyncd\fR file. See \fBsndr\fR(4).
+.SH OPTIONS
+.sp
+.LP
+The \fBsndrd\fR daemon supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fImax_connections\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the maximum number of connections allowed to the server over
+connection-oriented transports. By default, the number of connections is 16.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlisten_backlog\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets connection queue length for the RDC TCP over a connection-oriented
+transport. The default value is 10 entries.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Daemon started successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 13n
+.rt
+Daemon failed to start.
+.RE
+
+.sp
+.LP
+Error information is reported to \fBsyslog\fR at level \fBLOG_ERR\fR.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/lib/svc/method/svc-rdcsyncd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shell script for starting \fBsndrd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/lib/svc/method/svc-rdc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shell script for stopping \fBsndrd\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcadm\fR(1M), \fBsyslogd\fR(1M), \fBds.log\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Do not manually stop the sndrd deamon. If you need to manually stop sndrd
+perform these steps. This stops both the \fBsndrd\fR and \fBsndrsyncd\fR
+daemons.
+.sp
+.in +2
+.nf
+# svcadm disable svc:/system/nws_rdc
+.fi
+.in -2
+
+.sp
+.in +2
+.nf
+# svcadm disable svc:/system/nws_rdcsyncd
+.fi
+.in -2
+
+.sp
+.LP
+Do not manually start or restart the sndrd deamon. If you need to manually
+start sndrd perform these steps. This starts both the sndrd and sndrsyncd
+daemons.
+.sp
+.in +2
+.nf
+# svcadm enable svc:/system/nws_rdc
+.fi
+.in -2
+
+.sp
+.in +2
+.nf
+# svcadm enable svc:/system/nws_rdcsyncd
+.fi
+.in -2
+
+.sp
+.LP
+See \fBsvcadm\fR(1M) for additional information.
diff --git a/usr/src/man/man1m/sndrsyncd.1m b/usr/src/man/man1m/sndrsyncd.1m
new file mode 100644
index 0000000000..4d7f0579ca
--- /dev/null
+++ b/usr/src/man/man1m/sndrsyncd.1m
@@ -0,0 +1,145 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sndrsyncd 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sndrsyncd \- Availability Suite Remote Mirror update resynchronization daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/sndrsyncd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsndrsyncd\fR daemon automates update resynchronization after a network
+or machine failure and invokes Point-in-Time Copy copies when needed to protect
+the data volumes being updated during a resynchronization.
+.sp
+.LP
+The daemon is notified by the kernel when a network link being used by Remote
+Mirror goes down and invokes the \fBsndradm\fR(1M) command with the \fB-u\fR
+option to resynchronize all Remote Mirror sets which have autosync switched on
+and are using the network link. See \fBsndradm\fR(1M) for details on how to
+configure autosync for a Remote Mirror set.
+.sp
+.LP
+The daemon is also notified when any Remote Mirror resynchronization starts or
+completes. The daemon takes Point-in-Time Copy snapshots, if configured in the
+Availability Suite configuration file. On a secondary server, the daemon checks
+if a file system is currently mounted on the secondary volume and informs the
+kernel not to allow the synchronization to start if the file system is
+currently mounted.
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Daemon started successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 13n
+.rt
+Daemon failed to start.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/lib/svc/method/svc-rdcsyncd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shell script for starting \fBsndrsyncd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/lib/svc/method/svc-rdc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shell script for stopping \fBsndrsyncd\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBiiadm\fR(1M), \fBsndradm\fR(1M), \fBsndrd\fR(1M), \fBsvcadm\fR(1M),
+\fBds.log\fR(4), \fBrdc.cf\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Do not manually stop the sndrsyncd deamon. If you need to manually stop
+sndrsyncd perform these steps. This stops both the \fBsndrd\fR and
+\fBsndrsyncd\fR daemons.
+.sp
+.in +2
+.nf
+# svcadm disable svc:/system/nws_rdc
+.fi
+.in -2
+
+.sp
+.in +2
+.nf
+# svcadm disable svc:/system/nws_rdcsyncd
+.fi
+.in -2
+
+.sp
+.LP
+Do not manually start or restart the \fBsndrsyncd\fR deamon. If you need to
+manually start \fBsndrsyncd\fR perform these steps. This starts both the
+\fBsndrd\fR and \fBsndrsyncd\fR daemons.
+.sp
+.in +2
+.nf
+# svcadm enable svc:/system/nws_rdc
+.fi
+.in -2
+
+.sp
+.in +2
+.nf
+# svcadm enable svc:/system/nws_rdcsyncd
+.fi
+.in -2
+
+.sp
+.LP
+See \fBsvcadm\fR(1M) for additional information.
diff --git a/usr/src/man/man1m/snoop.1m b/usr/src/man/man1m/snoop.1m
new file mode 100644
index 0000000000..079e4c0865
--- /dev/null
+++ b/usr/src/man/man1m/snoop.1m
@@ -0,0 +1,1251 @@
+'\" te
+.\" Copyright (C) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH snoop 1M "18 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+snoop \- capture and inspect network packets
+.SH SYNOPSIS
+.LP
+.nf
+\fBsnoop\fR [\fB-aqrCDINPSvV\fR] [\fB-t\fR [r | a | d]] [\fB-c\fR \fImaxcount\fR]
+ [\fB-d\fR \fIdevice\fR] [\fB-i\fR \fIfilename\fR] [\fB-n\fR \fIfilename\fR] [\fB-o\fR \fIfilename\fR]
+ [\fB-p\fR \fIfirst\fR [, \fIlast\fR]] [\fB-s\fR \fIsnaplen\fR] [\fB-x\fR \fIoffset\fR [, \fIlength\fR]]
+ [\fIexpression\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+From a datalink or IP interface, \fBsnoop\fR captures packets and displays
+their contents. If the datalink or IP interface is not specified, \fBsnoop\fR
+will pick a datalink to use, giving priority to datalinks that have been
+plumbed for IP traffic. \fBsnoop\fR uses the \fBpfmod\fR(7M) and
+\fBbufmod\fR(7M) STREAMS modules to provide efficient capture of packets from
+the network. Captured packets can be displayed as they are received or saved to
+a file (which is \fIRFC 1761\fR-compliant) for later inspection.
+.sp
+.LP
+\fBsnoop\fR can display packets in a single-line summary form or in verbose
+multi-line forms. In summary form, with the exception of certain VLAN packets,
+only the data pertaining to the highest level protocol is displayed. If a
+packet has a VLAN header and its VLAN ID is non-zero, then \fBsnoop\fR will
+show that the packet is VLAN tagged. For example, an \fBNFS\fR packet will have
+only \fBNFS\fR information displayed. Except for VLAN information under the
+condition just described, the underlying \fBRPC\fR, \fBUDP\fR, \fBIP\fR, and
+Ethernet frame information is suppressed, but can be displayed if either of the
+verbose options are chosen.
+.sp
+.LP
+In the absence of a name service, such as LDAP or NIS, \fBsnoop\fR displays
+host names as numeric IP addresses.
+.sp
+.LP
+\fBsnoop\fR requires an interactive interface.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the code generated from the filter expression for either the kernel packet
+filter, or \fBsnoop\fR's own filter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display number of packets dropped during capture on the summary line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an \fBIP\fR address-to-name file from a capture file. This must be set
+together with the \fB-i\fR option that names a capture file. The
+address-to-name file has the same name as the capture file with \fB\&.names\fR
+appended. This file records the \fBIP\fR address to hostname mapping at the
+capture site and increases the portability of the capture file. Generate a
+\fB\&.names\fR file if the capture file is to be analyzed elsewhere. Packets
+are not displayed when this flag is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIinterface\fR\fR
+.ad
+.sp .6
+.RS 4n
+Capture IP packets from the network using the IP interface specified by
+\fIinterface\fR, for example, \fBlo0\fR. The \fBifconfig\fR(1M) command can be
+used to list available IP interfaces. The \fB-I\fR and \fB-d\fR options are
+mutually exclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.sp .6
+.RS 4n
+Capture packets in non-promiscuous mode. Only broadcast, multicast, or packets
+addressed to the host machine will be seen.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display size of the entire link layer frame in bytes on the summary line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose summary mode. This is halfway between summary mode and verbose mode in
+degree of verbosity. Instead of displaying just the summary line for the
+highest level protocol in a packet, it displays a summary line for each
+protocol layer in the packet. For instance, for an \fBNFS\fR packet it will
+display a line each for the \fBETHER\fR, \fBIP\fR, \fBUDP\fR, \fBRPC\fR and
+\fBNFS\fR layers. Verbose summary mode output may be easily piped through
+\fBgrep\fR to extract packets of interest. For example, to view only \fBRPC\fR
+summary lines, enter the following: \fBexample#\fR \fBsnoop -i rpc.cap -V |
+grep RPC\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Listen to packets on \fB/dev/audio\fR (warning: can be noisy).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fImaxcount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quit after capturing \fImaxcount\fR packets. Otherwise keep capturing until
+there is no disk space left or until interrupted with Control-C.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdatalink\fR\fR
+.ad
+.sp .6
+.RS 4n
+Capture link-layer packets from the network using the DLPI datalink specified
+by \fIdatalink\fR, for example, \fBbge0\fR or \fBnet0\fR. The \fBdladm\fR(1M)
+\fBshow-link\fR subcommand can be used to list available datalinks. The
+\fB-d\fR and \fB-I\fR options are mutually exclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display packets previously captured in \fIfilename\fR. Without this option,
+\fBsnoop\fR reads packets from the network interface. If a
+\fIfilename\fR\fB\&.names\fR file is present, it is automatically loaded into
+the \fBsnoop\fR \fBIP\fR address-to-name mapping table (See \fB-N\fR flag).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIfilename\fR as an \fBIP\fR address-to-name mapping table. This file must
+have the same format as the \fB/etc/hosts\fR file (IP address followed by the
+hostname).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Save captured packets in \fIfilename\fR as they are captured. (This
+\fIfilename\fR is referred to as the "capture file".) The format of the capture
+file is RFC 1761-compliant. During packet capture, a count of the number of
+packets saved in the file is displayed. If you wish just to count packets
+without saving to a file, name the file \fB/dev/null\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIfirst\fR [ , \fBlast\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Select one or more packets to be displayed from a capture file. The \fIfirst\fR
+packet in the file is packet number 1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+When capturing network packets into a file, do not display the packet count.
+This can improve packet capturing performance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not resolve the \fBIP\fR address to the symbolic name. This prevents
+\fBsnoop\fR from generating network traffic while capturing and displaying
+packets. However, if the \fB-n\fR option is used, and an address is found in
+the mapping file, its corresponding name will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsnaplen\fR\fR
+.ad
+.sp .6
+.RS 4n
+Truncate each packet after \fIsnaplen\fR bytes. Usually the whole packet is
+captured. This option is useful if only certain packet header information is
+required. The packet truncation is done within the kernel giving better
+utilization of the streams packet buffer. This means less chance of dropped
+packets due to buffer overflow during periods of high traffic. It also saves
+disk space when capturing large traces to a capture file. To capture only
+\fBIP\fR headers (no options) use a \fIsnaplen\fR of 34. For \fBUDP\fR use 42,
+and for \fBTCP\fR use 54. You can capture \fBRPC\fR headers with a
+\fIsnaplen\fR of 80 bytes. \fBNFS\fR headers can be captured in 120 bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR [ \fBr\fR | \fBa\fR | \fBd\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Time-stamp presentation. Time-stamps are accurate to within 4 microseconds. The
+default is for times to be presented in \fBd\fR (delta) format (the time since
+receiving the previous packet). Option \fBa\fR (absolute) gives wall-clock
+time. Option \fBr\fR (relative) gives time relative to the first packet
+displayed. This can be used with the \fB-p\fR option to display time relative
+to any selected packet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose mode. Print packet headers in lots of detail. This display consumes
+many lines per packet and should be used only on selected packets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-x\fR\fIoffset\fR [ , \fIlength\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display packet data in hexadecimal and \fBASCII\fR format. The \fIoffset\fR and
+\fIlength\fR values select a portion of the packet to be displayed. To display
+the whole packet, use an \fIoffset\fR of 0. If a \fIlength\fR value is not
+provided, the rest of the packet is displayed.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIexpression\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select packets either from the network or from a capture file. Only packets for
+which the expression is true will be selected. If no expression is provided it
+is assumed to be true.
+.sp
+Given a filter expression, \fBsnoop\fR generates code for either the kernel
+packet filter or for its own internal filter. If capturing packets with the
+network interface, code for the kernel packet filter is generated. This filter
+is implemented as a streams module, upstream of the buffer module. The buffer
+module accumulates packets until it becomes full and passes the packets on to
+\fBsnoop\fR. The kernel packet filter is very efficient, since it rejects
+unwanted packets in the kernel before they reach the packet buffer or
+\fBsnoop\fR. The kernel packet filter has some limitations in its
+implementation; it is possible to construct filter expressions that it cannot
+handle. In this event, \fBsnoop\fR tries to split the filter and do as much
+filtering in the kernel as possible. The remaining filtering is done by the
+packet filter for \fBsnoop\fR. The \fB-C\fR flag can be used to view generated
+code for either the packet filter for the kernel or the packet filter for
+\fBsnoop\fR. If packets are read from a capture file using the \fB-i\fR option,
+only the packet filter for \fBsnoop\fR is used.
+.sp
+A filter \fIexpression\fR consists of a series of one or more boolean
+primitives that may be combined with boolean operators (\fBAND\fR, \fBOR\fR,
+and \fBNOT\fR). Normal precedence rules for boolean operators apply. Order of
+evaluation of these operators may be controlled with parentheses. Since
+parentheses and other filter expression characters are known to the shell, it
+is often necessary to enclose the filter expression in quotes. Refer to for
+information about setting up more efficient filters.
+.sp
+The primitives are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhost\fR \fIhostname\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the source or destination address is that of \fBhostname\fR. The
+\fIhostname\fR argument may be a literal address. The keyword \fBhost\fR may be
+omitted if the name does not conflict with the name of another expression
+primitive. For example, \fBpinky\fR selects packets transmitted to or received
+from the host \fBpinky\fR, whereas \fBpinky and dinky\fR selects packets
+exchanged between hosts \fBpinky AND dinky\fR.
+.sp
+The type of address used depends on the primitive which precedes the \fBhost\fR
+primitive. The possible qualifiers are \fBinet\fR, \fBinet6\fR, \fBether\fR, or
+none. These three primitives are discussed below. Having none of the primitives
+present is equivalent to "inet host hostname or inet6 host hostname". In other
+words, snoop tries to filter on all IP addresses associated with hostname.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinet\fR or \fIinet6\fR\fR
+.ad
+.sp .6
+.RS 4n
+A qualifier that modifies the \fBhost\fR primitive that follows. If it is
+\fIinet\fR, then \fBsnoop\fR tries to filter on all IPv4 addresses returned
+from a name lookup. If it is \fIinet6\fR, \fBsnoop\fR tries to filter on all
+IPv6 addresses returned from a name lookup.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIipaddr\fR, \fIatalkaddr\fR, or \fIetheraddr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Literal addresses, \fBIP\fR dotted, AppleTalk dotted, and Ethernet colon are
+recognized. For example,
+.RS +4
+.TP
+.ie t \(bu
+.el o
+"\fB172.16.40.13\fR" matches all packets with that \fBIP\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+"\fB2::9255:a00:20ff:fe73:6e35\fR" matches all packets with that IPv6 address
+as source or destination;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+"\fB65281.13\fR" matches all packets with that AppleTalk address;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+"\fB8:0:20:f:b1:51\fR" matches all packets with the Ethernet address as source
+or destination.
+.RE
+An Ethernet address beginning with a letter is interpreted as a hostname. To
+avoid this, prepend a zero when specifying the address. For example, if the
+Ethernet address is \fBaa:0:45:23:52:44\fR, then specify it by add a leading
+zero to make it \fB0aa:0:45:23:52:44\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfrom\fR or \fBsrc\fR\fR
+.ad
+.sp .6
+.RS 4n
+A qualifier that modifies the following \fBhost\fR, \fBnet\fR, \fIipaddr\fR,
+\fIatalkaddr\fR, \fIetheraddr\fR, \fBport\fR or \fBrpc\fR primitive to match
+just the source address, port, or \fBRPC\fR reply.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBto\fR or \fBdst\fR\fR
+.ad
+.sp .6
+.RS 4n
+A qualifier that modifies the following \fBhost\fR, \fBnet\fR, \fIipaddr\fR,
+\fIatalkaddr\fR, \fIetheraddr\fR, \fBport\fR or \fBrpc\fR primitive to match
+just the destination address, port, or \fBRPC\fR call.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBether\fR\fR
+.ad
+.sp .6
+.RS 4n
+A qualifier that modifies the following \fBhost\fR primitive to resolve a name
+to an Ethernet address. Normally, \fBIP\fR address matching is performed. This
+option is not supported on media such as IPoIB (IP over InfiniBand).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBethertype\fR \fInumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the Ethernet type field has value \fInumber\fR. If \fInumber\fR is not
+0x8100 (VLAN) and the packet is VLAN tagged, then the expression will match the
+encapsulated Ethernet type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBip\fR, \fBip6\fR, \fBarp\fR, \fBrarp\fR, \fBpppoed\fR, \fBpppoes\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is of the appropriate ethertype.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvlan\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet has \fBethertype\fR VLAN and the VLAN ID is not zero.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvlan-id\fR \fIid\fR\fR
+.ad
+.sp .6
+.RS 4n
+True for packets of ethertype VLAN with the id \fIid\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpppoe\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the ethertype of the packet is either \fBpppoed\fR or \fBpppoes\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbroadcast\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is a broadcast packet. Equivalent to \fBether[2:4] =
+0xffffffff\fR for Ethernet. This option is not supported on media such as IPoIB
+(IP over InfiniBand).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmulticast\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is a multicast packet. Equivalent to "\fBether[0] & 1 =
+1\fR" on Ethernet. This option is not supported on media such as IPoIB (IP over
+InfiniBand).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbootp\fR, \fBdhcp\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is an unfragmented IPv4 UDP packet with either a source port
+of \fBBOOTPS (67)\fR and a destination port of \fBBOOTPC (68)\fR, or a source
+port of \fBBOOTPC (68)\fR and a destination of \fBBOOTPS (67)\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdhcp6\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is an unfragmented IPv6 UDP packet with either a source port
+of \fBDHCPV6-SERVER\fR (547) and a destination port of \fBDHCPV6-CLIENT\fR
+(546), or a source port of \fBDHCPV6-CLIENT\fR (546) and a destination of
+\fBDHCPV6-SERVER\fR (547).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBapple\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is an Apple Ethertalk packet. Equivalent to "\fBethertype
+0x809b or ethertype 0x80f3\fR".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdecnet\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is a \fBDECNET\fR packet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgreater\fR \fIlength\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is longer than \fIlength\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBless\fR \fIlength\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is shorter than \fIlength\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBudp\fR, \fBtcp\fR, \fBicmp\fR, \fBicmp6\fR, \fBah\fR, \fBesp\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the \fBIP\fR or IPv6 protocol is of the appropriate type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnet\fR \fInet\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if either the \fBIP\fR source or destination address has a network number
+of \fInet\fR. The \fBfrom\fR or \fBto\fR qualifier may be used to select
+packets for which the network number occurs only in the source or destination
+address.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBport\fR \fIport\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if either the source or destination port is \fIport\fR. The \fIport\fR may
+be either a port number or name from \fB/etc/services\fR. The \fBtcp\fR or
+\fBudp\fR primitives may be used to select \fBTCP\fR or \fBUDP\fR ports only.
+The \fBfrom\fR or \fBto\fR qualifier may be used to select packets for which
+the \fIport\fR occurs only as the source or destination.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrpc\fR \fIprog\fR [ , \fIvers\fR [ , \fBproc\fR ] ]\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is an \fBRPC\fR call or reply packet for the protocol
+identified by \fIprog\fR. The \fIprog\fR may be either the name of an \fBRPC\fR
+protocol from \fB/etc/rpc\fR or a program number. The \fIvers\fR and \fBproc\fR
+may be used to further qualify the program \fIversion\fR and \fIprocedure\fR
+number, for example, \fBrpc nfs,2,0\fR selects all calls and replies for the
+\fBNFS\fR null procedure. The \fBto\fR or \fBfrom\fR qualifier may be used to
+select either call or reply packets only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzone\fR \fIzoneid\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if \fIzoneid\fR matches either the source or destination \fIzoneid\fR of a
+packet received on an \fBipnet\fR device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBldap\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is an \fBLDAP\fR packet on port 389.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgateway\fR \fIhost\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet used \fIhost\fR as a gateway, that is, the Ethernet source
+or destination address was for \fIhost\fR but not the \fBIP\fR address.
+Equivalent to "\fBether host\fR \fIhost\fR and not host \fIhost\fR".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnofrag\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is unfragmented or is the first in a series of \fBIP\fR
+fragments. Equivalent to \fBip[6:2] & 0x1fff = 0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIexpr\fR \fIrelop\fR \fIexpr\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the relation holds, where \fIrelop\fR is one of \fB>\fR, \fB<\fR,
+\fB>=\fR, \fB<=\fR, \fB=\fR, \fB!=\fR, and \fBexpr\fR is an arithmetic
+expression composed of numbers, packet field selectors, the \fBlength\fR
+primitive, and arithmetic operators \fB+\fR, \fB\(mi\fR, \fB*\fR, \fB&\fR,
+\fB|\fR, \fB^\fR, and \fB%\fR. The arithmetic operators within \fBexpr\fR are
+evaluated before the relational operator and normal precedence rules apply
+between the arithmetic operators, such as multiplication before addition.
+Parentheses may be used to control the order of evaluation. To use the value of
+a field in the packet use the following syntax:
+.sp
+.in +2
+.nf
+\fIbase\fR[\fBexpr\fR [\fB:\fR \fBsize\fR ] ]
+.fi
+.in -2
+.sp
+
+where \fBexpr\fR evaluates the value of an offset into the packet from a
+\fIbase\fR offset which may be \fBether\fR, \fBip\fR, \fBip6\fR, \fBudp\fR,
+\fBtcp\fR, or \fBicmp\fR. The \fBsize\fR value specifies the size of the field.
+If not given, 1 is assumed. Other legal values are 2 and 4. For example,
+.sp
+.in +2
+.nf
+ether[0] & 1 = 1
+.fi
+.in -2
+
+is equivalent to \fBmulticast\fR
+.sp
+.in +2
+.nf
+ether[2:4] = 0xffffffff
+.fi
+.in -2
+
+is equivalent to \fBbroadcast\fR.
+.sp
+.in +2
+.nf
+ip[ip[0] & 0xf * 4 : 2] = 2049
+.fi
+.in -2
+
+is equivalent to \fBudp[0:2] = 2049\fR
+.sp
+.in +2
+.nf
+ip[0] & 0xf > 5
+.fi
+.in -2
+
+selects \fBIP\fR packets with options.
+.sp
+.in +2
+.nf
+ip[6:2] & 0x1fff = 0
+.fi
+.in -2
+
+eliminates \fBIP\fR fragments.
+.sp
+.in +2
+.nf
+udp and ip[6:2]&0x1fff = 0 and udp[6:2] != 0
+.fi
+.in -2
+
+finds all packets with \fBUDP\fR checksums.
+.sp
+The \fBlength\fR primitive may be used to obtain the length of the packet. For
+instance "\fBlength > 60\fR" is equivalent to "\fBgreater 60\fR", and
+"\fBether[length \(mi 1]\fR" obtains the value of the last byte in a packet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBand\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform a logical \fBAND\fR operation between two boolean values. The \fBAND\fR
+operation is implied by the juxtaposition of two boolean expressions, for
+example "\fBdinky pinky\fR" is the same as "\fBdinky AND pinky\fR".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBor\fR or \fB,\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform a logical \fBOR\fR operation between two boolean values. A comma may be
+used instead, for example, "\fBdinky,pinky\fR" is the same as "\fBdinky OR
+pinky\fR".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnot\fR or \fB!\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform a logical \fBNOT\fR operation on the following boolean value. This
+operator is evaluated before \fBAND\fR or OR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBslp\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is an \fBSLP\fR packet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsctp\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is an \fBSCTP\fR packet.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBospf\fR\fR
+.ad
+.sp .6
+.RS 4n
+True if the packet is an \fBOSPF\fR packet.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fBsnoop\fR Command
+.sp
+.LP
+Capture all packets and display them as they are received:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Capture packets with host \fBfunky\fR as either the source or destination and
+display them as they are received:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop funky\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Capture packets between \fBfunky\fR and \fBpinky\fR and save them to a file.
+Then inspect the packets using times (in seconds) relative to the first
+captured packet:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop -o cap funky pinky\fR
+example# \fBsnoop -i cap -t r | more\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To look at selected packets in another capture file:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop -i pkts -p 99,108\fR
+ 99 0.0027 boutique -> sunroof NFS C GETATTR FH=8E6
+100 0.0046 sunroof -> boutique NFS R GETATTR OK
+101 0.0080 boutique -> sunroof NFS C RENAME FH=8E6C MTra00192 to .nfs08
+102 0.0102 marmot -> viper NFS C LOOKUP FH=561E screen.r.13.i386
+103 0.0072 viper -> marmot NFS R LOOKUP No such file or directory
+104 0.0085 bugbomb -> sunroof RLOGIN C PORT=1023 h
+105 0.0005 kandinsky -> sparky RSTAT C Get Statistics
+106 0.0004 beeblebrox -> sunroof NFS C GETATTR FH=0307
+107 0.0021 sparky -> kandinsky RSTAT R
+108 0.0073 office -> jeremiah NFS C READ FH=2584 at 40960 for 8192
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To look at packet 101 in more detail:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop -i pkts -v -p101\fR
+ETHER: ----- Ether Header -----
+ETHER:
+ETHER: Packet 101 arrived at 16:09:53.59
+ETHER: Packet size = 210 bytes
+ETHER: Destination = 8:0:20:1:3d:94, Sun
+ETHER: Source = 8:0:69:1:5f:e, Silicon Graphics
+ETHER: Ethertype = 0800 (IP)
+ETHER:
+IP: ----- IP Header -----
+IP:
+IP: Version = 4, header length = 20 bytes
+IP: Type of service = 00
+IP: ..0. .... = routine
+IP: ...0 .... = normal delay
+IP: .... 0... = normal throughput
+IP: .... .0.. = normal reliability
+IP: Total length = 196 bytes
+IP: Identification 19846
+IP: Flags = 0X
+IP: .0.. .... = may fragment
+IP: ..0. .... = more fragments
+IP: Fragment offset = 0 bytes
+IP: Time to live = 255 seconds/hops
+IP: Protocol = 17 (UDP)
+IP: Header checksum = 18DC
+IP: Source address = 172.16.40.222, boutique
+IP: Destination address = 172.16.40.200, sunroof
+IP:
+UDP: ----- UDP Header -----
+UDP:
+UDP: Source port = 1023
+UDP: Destination port = 2049 (Sun RPC)
+UDP: Length = 176
+UDP: Checksum = 0
+UDP:
+RPC: ----- SUN RPC Header -----
+RPC:
+RPC: Transaction id = 665905
+RPC: Type = 0 (Call)
+RPC: RPC version = 2
+RPC: Program = 100003 (NFS), version = 2, procedure = 1
+RPC: Credentials: Flavor = 1 (Unix), len = 32 bytes
+RPC: Time = 06-Mar-90 07:26:58
+RPC: Hostname = boutique
+RPC: Uid = 0, Gid = 1
+RPC: Groups = 1
+RPC: Verifier : Flavor = 0 (None), len = 0 bytes
+RPC:
+NFS: ----- SUN NFS -----
+NFS:
+NFS: Proc = 11 (Rename)
+NFS: File handle = 000016430000000100080000305A1C47
+NFS: 597A0000000800002046314AFC450000
+NFS: File name = MTra00192
+NFS: File handle = 000016430000000100080000305A1C47
+NFS: 597A0000000800002046314AFC450000
+NFS: File name = .nfs08
+NFS:
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To view just the \fBNFS\fR packets between \fBsunroof\fR and \fBboutique\fR:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop -i pkts rpc nfs and sunroof and boutique\fR
+1 0.0000 boutique -> sunroof NFS C GETATTR FH=8E6C
+2 0.0046 sunroof -> boutique NFS R GETATTR OK
+3 0.0080 boutique -> sunroof NFS C RENAME FH=8E6C MTra00192 to .nfs08
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To save these packets to a new capture file:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop -i pkts -o pkts.nfs rpc nfs sunroof boutique\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To view encapsulated packets, there will be an indicator of encapsulation:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop ip-in-ip\fR
+sunroof -> boutique ICMP Echo request (1 encap)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If -V is used on an encapsulated packet:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop -V ip-in-ip\fR
+sunroof -> boutique ETHER Type=0800 (IP), size = 118 bytes
+sunroof -> boutique IP D=172.16.40.222 S=172.16.40.200 LEN=104, ID=27497
+sunroof -> boutique IP D=10.1.1.2 S=10.1.1.1 LEN=84, ID=27497
+sunroof -> boutique ICMP Echo request
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSetting Up A More Efficient Filter
+.sp
+.LP
+To set up a more efficient filter, the following filters should be used toward
+the end of the expression, so that the first part of the expression can be set
+up in the kernel: \fBgreater\fR, \fBless\fR, \fBport\fR, \fBrpc\fR,
+\fBnofrag\fR, and \fBrelop\fR. The presence of \fBOR\fR makes it difficult to
+split the filtering when using these primitives that cannot be set in the
+kernel. Instead, use parentheses to enforce the primitives that should be
+\fBOR\fR'd.
+
+.sp
+.LP
+To capture packets between \fBfunky\fR and \fBpinky\fR of type \fBtcp\fR or
+\fBudp\fR on \fBport\fR 80:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop funky and pinky and port 80 and tcp or udp\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Since the primitive \fBport\fR cannot be handled by the kernel filter, and
+there is also an \fBOR\fR in the expression, a more efficient way to filter is
+to move the \fBOR\fR to the end of the expression and to use parentheses to
+enforce the \fBOR\fR between \fBtcp\fR and \fBudp\fR:
+
+.sp
+.in +2
+.nf
+example# \fBsnoop funky and pinky and (tcp or udp) and port 80\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/audio\fR\fR
+.ad
+.RS 17n
+.rt
+Symbolic link to the system's primary audio device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/null\fR\fR
+.ad
+.RS 17n
+.rt
+The null file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/hosts\fR\fR
+.ad
+.RS 17n
+.rt
+Host name database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/rpc\fR\fR
+.ad
+.RS 17n
+.rt
+RPC program number data base.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/services\fR\fR
+.ad
+.RS 17n
+.rt
+Internet services and aliases.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdladm\fR(1M), \fBifconfig\fR(1M), \fBnetstat\fR(1M), \fBhosts\fR(4),
+\fBrpc\fR(4), \fBservices\fR(4), \fBattributes\fR(5), \fBaudio\fR(7I),
+\fBipnet\fR(7D), \fBbufmod\fR(7M), \fBdlpi\fR(7P), \fBpfmod\fR(7M)
+.sp
+.LP
+Callaghan, B. and Gilligan, R. \fIRFC 1761, Snoop Version 2 Packet Capture File
+Format\fR. Network Working Group. February 1995.
+.SH WARNINGS
+.sp
+.LP
+The processing overhead is much higher for real-time packet interpretation.
+Consequently, the packet drop count may be higher. For more reliable capture,
+output raw packets to a file using the \fB-o\fR option and analyze the packets
+offline.
+.sp
+.LP
+Unfiltered packet capture imposes a heavy processing load on the host computer,
+particularly if the captured packets are interpreted real-time. This processing
+load further increases if verbose options are used. Since heavy use of
+\fBsnoop\fR may deny computing resources to other processes, it should not be
+used on production servers. Heavy use of \fBsnoop\fR should be restricted to a
+dedicated computer.
+.sp
+.LP
+\fBsnoop\fR does not reassemble \fBIP\fR fragments. Interpretation of higher
+level protocol halts at the end of the first \fBIP\fR fragment.
+.sp
+.LP
+\fBsnoop\fR may generate extra packets as a side-effect of its use. For example
+it may use a network name service (NIS or NIS+) to convert \fBIP\fR addresses
+to host names for display. Capturing into a file for later display can be used
+to postpone the address-to-name mapping until after the capture session is
+complete. Capturing into an NFS-mounted file may also generate extra packets.
+.sp
+.LP
+Setting the \fBsnaplen\fR (\fB-s\fR option) to small values may remove header
+information that is needed to interpret higher level protocols. The exact
+cutoff value depends on the network and protocols being used. For \fBNFS\fR
+Version 2 traffic using \fBUDP\fR on 10 Mb/s Ethernet, do not set \fBsnaplen\fR
+less than 150 bytes. For \fBNFS\fR Version 3 traffic using \fBTCP\fR on 100
+Mb/s Ethernet, \fBsnaplen\fR should be 250 bytes or more.
+.sp
+.LP
+\fBsnoop\fR requires information from an \fBRPC\fR request to fully interpret
+an \fBRPC\fR reply. If an \fBRPC\fR reply in a capture file or packet range
+does not have a request preceding it, then only the \fBRPC\fR reply header will
+be displayed.
diff --git a/usr/src/man/man1m/soconfig.1m b/usr/src/man/man1m/soconfig.1m
new file mode 100644
index 0000000000..16da22850d
--- /dev/null
+++ b/usr/src/man/man1m/soconfig.1m
@@ -0,0 +1,183 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH soconfig 1M "29 Oct 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+soconfig \- configure transport providers for use by sockets
+.SH SYNOPSIS
+.LP
+.nf
+\fB/sbin/soconfig\fR \fB-f\fR \fIfile\fR
+.fi
+
+.LP
+.nf
+\fB/sbin/soconfig\fR \fIfamily\fR \fItype\fR \fIprotocol\fR [\fIpath\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsoconfig\fR utility configures the transport provider driver for use
+with sockets. It specifies how the family, type, and protocol parameters in the
+\fBsocket\fR(3SOCKET) call are mapped to the name of a transport provider such
+as \fB/dev/tcp\fR. This utility can be used to add an additional mapping or
+remove a previous mapping.
+.sp
+.LP
+The \fBinit\fR(1M) utility uses \fBsoconfig\fR with the \fBsock2path\fR(4) file
+during the booting sequence.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfile\fR\fR
+.ad
+.RS 11n
+.rt
+Set up the \fBsoconfig\fR configuration for each driver according to the
+information stored in \fBfile\fR. A \fBsoconfig\fR file consists of lines of at
+least the first three fields listed below, separated by spaces:
+.sp
+\fIfamily type protocol path\fR
+.sp
+These fields are described in the \fBOPERANDS\fR section below.
+.sp
+An example of \fBfile\fR can be found in the \fBEXAMPLES\fR section below.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfamily\fR\fR
+.ad
+.RS 17n
+.rt
+The protocol family as listed in the \fB/usr/include/sys/socket.h\fR file,
+expressed as an integer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fItype\fR\fR
+.ad
+.RS 17n
+.rt
+The socket type as listed in the \fB/usr/include/sys/socket.h\fR file,
+expressed as an integer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIprotocol\fR\fR
+.ad
+.RS 17n
+.rt
+The protocol number as specified in the family-specific \fBinclude\fR file,
+expressed as an integer. For example, for \fBAF_INET\fR this number is
+specified in \fB/usr/include/netinet/in.h\fR. An unspecified protocol number is
+denoted with the value zero.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImodule\fR | \fIpath\fR\fR
+.ad
+.RS 17n
+.rt
+The module name or path name of a device that corresponds to the transport
+provider, such as \fBtcp\fR or \fB/dev/tcp\fR. Modules must reside in
+\fBkernel/socketmod\fR. A device name must begin with \fB/dev\fR. If this
+parameter is specified, the configuration will be added for the specified
+family, type, and protocol. If this parameter is not specified, the
+configuration will be removed.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBsoconfig\fR
+.sp
+.LP
+The following example sets up a module for family \fBAF_INET\fR and type
+\fBSOCK_STREAM\fR:
+
+.sp
+.in +2
+.nf
+example# \fBsoconfig 2 2 0 tcp\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example sets up \fB/dev/tcp\fR for family \fBAF_INET\fR and type
+\fBSOCK_STREAM\fR:
+
+.sp
+.in +2
+.nf
+example# \fBsoconfig 2 2 0 /dev/tcp\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following is a sample file used with the \fB-f\fR option. Comment lines
+begin with a hash mark (\fB#\fR):
+
+.sp
+.in +2
+.nf
+# Family Type Protocol Module | Path
+ 2 2 0 tcp
+ 2 2 6 tcp
+
+ 2 1 0 udp
+ 2 1 17 udp
+
+ 1 2 0 /dev/ticotsord
+ 1 1 0 /dev/ticlts
+
+ 2 4 0 icmp
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/sock2path\fR\fR
+.ad
+.RS 18n
+.rt
+File containing mappings from sockets to transport providers.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBinit\fR(1M), \fBsock2path\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fINetwork Interface Guide\fR
diff --git a/usr/src/man/man1m/sppptun.1m b/usr/src/man/man1m/sppptun.1m
new file mode 100644
index 0000000000..e669afdf94
--- /dev/null
+++ b/usr/src/man/man1m/sppptun.1m
@@ -0,0 +1,250 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sppptun 1M "27 May 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sppptun \- PPP tunneling driver utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBsppptun plumb\fR
+.fi
+
+.LP
+.nf
+\fBsppptun plumb\fR [\fB-s\fR \fIsap\fR] \fIprotocol device\fR
+.fi
+
+.LP
+.nf
+\fBsppptun unplumb\fR \fIinterface\fR
+.fi
+
+.LP
+.nf
+\fBsppptun query\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsppptun\fR utility is used to configure and query the Solaris PPP
+tunneling device driver, \fB/dev/sppptun\fR. Currently, only PPP over Ethernet
+(PPPoE) is supported, so the \fBplumb\fR and \fBunplumb\fR arguments are used
+to specify Ethernet interfaces that are to be used for PPPoE, and the
+\fBquery\fR option lists the plumbed interfaces.
+.sp
+.LP
+The use of \fBsppptun\fR to add interfaces is similar to the use of
+\fBifconfig\fR(1M) to add interfaces to IP. The plumbing is done once for each
+interface, preferably at system start-up time, and is not normally manipulated
+on a running system. If multiple instances of PPP are run over a single
+interface, they share the plumbing to that interface. Plumbing for each session
+is not required (and not possible for PPPoE).
+.sp
+.LP
+The proper way to plumb interfaces for PPPoE is to list the interfaces, one per
+line, in the \fB/etc/ppp/pppoe.if\fR file. If alternate Ethertype (SAP) values
+are necessary, then include the PPPoE Session and Discovery Stage values as
+hexadecimal on the same line. The line format is:
+.sp
+.in +2
+.nf
+\fIinterface\fR [\fIsession\fR [\fIdiscovery\fR]]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The defaults are the Ethertypes specified in RFC 2516, and most users should
+not need to set these values. See the examples for one possible use.
+.SH USAGE
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsppptun plumb\fR\fR
+.ad
+.sp .6
+.RS 4n
+When specified with no additional arguments, the plumb argument lists the
+protocols that are supported by the utility. These are the strings that are
+used as the \fIprotocol\fR argument below.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsppptun plumb [\fB-s\fR \fIsap\fR] \fIprotocol\fR \fIdevice\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+This plumbs a new interface into the driver. The \fIprotocol\fR parameter is
+\fBpppoe\fR for the PPP-carrying "Session Stage" connection or \fBpppoed\fR for
+the PPPoE "Discovery Stage" connection. Both connections must be present for
+each Ethernet interface that is to be used for PPPoE. The \fIdevice\fR
+parameter is the path name of the Ethernet interface to use (use
+\fBifconfig\fR(1M) to list available devices). If the path begins with
+\fB/dev/\fR, then this portion may be omitted.
+.sp
+The \fB-s\fR \fIsap\fR option can be specified to use an alternate Ethertype
+(SAP) for the selected protocol. The \fIsap\fR value must be given in
+hexadecimal. Some access servers use Ethertypes for PPPoE different from those
+in RFC 2516. The defaults are 8864 for \fBpppoe\fR and 8863 for \fBpppoed\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsppptun unplumb \fIinterface\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+This removes an existing interface from the driver and terminates any PPP
+sessions that were using the interface. The \fIinterface\fR parameter is the
+name of the interface as reported when the interface was plumbed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsppptun query\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the canonical names of all interfaces plumbed into the
+\fB/dev/sppptun\fR device driver.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting up to Use PPPoE on \fBhme0\fR
+.sp
+.LP
+Plumb the \fBhme0\fR interface.
+
+.sp
+.in +2
+.nf
+# \fBsppptun plumb pppoed hme0\fR
+hme0:pppoed
+# \fBsppptun plumb pppoe hme0\fR
+hme0:pppoe
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Remove the \fBhme0\fR interface.
+
+.sp
+.in +2
+.nf
+# \fBsppptun unplumb hme0:pppoed\fR
+# \fBsppptun unplumb hme0:pppoe\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRScript to Remove All Plumbed Interfaces
+.sp
+.in +2
+.nf
+#!/bin/sh
+for intf in `sppptun query`
+do
+ sppptun unplumb $intf
+done
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRInteroperating with 3COM HomeConnect Dual Link ADSL
+.sp
+.in +2
+.nf
+# \fBdladm show-link\fR
+LINK CLASS MTU STATE OVER
+nge0 phys 1500 up --
+# \fBecho nge0 3c13 3c12 > /etc/ppp/pppoe.if\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+One or more errors occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ppp/pppoe.if\fR\fR
+.ad
+.RS 21n
+.rt
+list of Ethernet interfaces to be plumbed at boot time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/sbin/sppptun\fR\fR
+.ad
+.RS 21n
+.rt
+executable command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/sppptun\fR\fR
+.ad
+.RS 21n
+.rt
+Solaris PPP tunneling device driver
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpppd\fR(1M), \fBpppoec\fR(1M), \fBpppoed\fR(1M), \fBsppptun\fR(7M)
+.sp
+.LP
+\fIRFC 2516, Method for Transmitting PPP Over Ethernet (PPPoE)\fR, Mamakos et
+al, February 1999
diff --git a/usr/src/man/man1m/spray.1m b/usr/src/man/man1m/spray.1m
new file mode 100644
index 0000000000..e081a8a8c2
--- /dev/null
+++ b/usr/src/man/man1m/spray.1m
@@ -0,0 +1,89 @@
+'\" te
+.\" Copyright (c) 1998, Sun Microsystems,
+.\" Inc. All Rights Reserved
+.\" Copyright 1989 AT&T Copyright (c)
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH spray 1M "6 Nov 2000" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+spray \- spray packets
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/spray\fR [\fB-c\fR \fIcount\fR] [\fB-d\fR \fIdelay\fR] [\fB-l\fR \fIlength\fR]
+ [\fB-t\fR \fInettype\fR] \fIhost\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBspray\fR sends a one-way stream of packets to \fIhost\fR using RPC, and
+reports how many were received, as well as the transfer rate. The \fIhost\fR
+argument can be either a name or an Internet address.
+.sp
+.LP
+\fBspray\fR is not useful as a networking benchmark, as it uses unreliable
+connectionless transports, UDP for example. \fBspray\fR can report a large
+number of packets dropped when the drops were caused by \fBspray\fR sending
+packets faster than they can be buffered locally, that is, before the packets
+get to the network medium.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcount\fR\fR
+.ad
+.RS 14n
+.rt
+Specify how many packets to send. The default value of \fIcount\fR is the
+number of packets required to make the total stream size 100000 bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdelay\fR\fR
+.ad
+.RS 14n
+.rt
+Specify how many microseconds to pause between sending each packet. The default
+is \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlength\fR\fR
+.ad
+.RS 14n
+.rt
+The \fIlength\fR parameter is the numbers of bytes in the Ethernet packet that
+holds the RPC call message. Since the data is encoded using XDR, and XDR only
+deals with 32 bit quantities, not all values of \fIlength\fR are possible, and
+\fBspray\fR rounds up to the nearest possible value. When \fIlength\fR is
+greater than 1514, then the RPC call can no longer be encapsulated in one
+Ethernet packet, so the \fIlength\fR field no longer has a simple
+correspondence to Ethernet packet size. The default value of \fIlength\fR is
+\fB86 bytes\fR, the size of the RPC and UDP headers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fInettype\fR\fR
+.ad
+.RS 14n
+.rt
+Specify class of transports. Defaults to \fBnetpath\fR. See \fBrpc\fR(3NSL)
+for a description of supported classes.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBrpc\fR(3NSL), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ssh-keysign.1m b/usr/src/man/man1m/ssh-keysign.1m
new file mode 100644
index 0000000000..ec458d64a7
--- /dev/null
+++ b/usr/src/man/man1m/ssh-keysign.1m
@@ -0,0 +1,117 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ssh-keysign 1M "9 Jun 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ssh-keysign \- ssh helper program for host-based authentication
+.SH SYNOPSIS
+.LP
+.nf
+\fBssh-keysign\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBssh-keysign\fR is used by \fBssh\fR(1) to access the local host keys and
+generate the digital signature required during host-based authentication with
+SSH protocol version 2. This signature is of data that includes, among other
+items, the name of the client host and the name of the client user.
+.sp
+.LP
+\fBssh-keysign\fR is disabled by default and can be enabled only in the global
+client configuration file \fB/etc/ssh/ssh_config\fR by setting
+\fBHostbasedAuthentication\fR to \fByes\fR.
+.sp
+.LP
+\fBssh-keysign\fR is not intended to be invoked by the user, but from
+\fBssh\fR. See \fBssh\fR(1) and \fBsshd\fR(1M) for more information about
+host-based authentication.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/ssh_config\fR\fR
+.ad
+.RS 29n
+.rt
+Controls whether \fBssh-keysign\fR is enabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/ssh_host_dsa_key\fR\fR
+.ad
+.br
+.na
+\fB\fB/etc/ssh/ssh_host_rsa_key\fR\fR
+.ad
+.RS 29n
+.rt
+These files contain the private parts of the host keys used to generate the
+digital signature. They should be owned by root, readable only by root, and not
+accessible to others. Because they are readable only by root, \fBssh-keysign\fR
+must be \fBset-uid\fR root if host-based authentication is used.
+.RE
+
+.SH SECURITY
+.sp
+.LP
+ssh-keysign will not sign host-based authentication data under the following
+conditions:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the \fBHostbasedAuthentication\fR client configuration parameter is not set
+to \fByes\fR in \fB/etc/ssh/ssh_config\fR. This setting cannot be overriden in
+users' \fB~/.ssh/ssh_config\fR files.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the client hostname and username in \fB/etc/ssh/ssh_config\fR do not match
+the canonical hostname of the client where \fBssh-keysign\fR is invoked and the
+name of the user invoking \fBssh-keysign\fR.
+.RE
+.sp
+.LP
+In spite of \fBssh-keysign\fR's restrictions on the contents of the host-based
+authentication data, there remains the ability of users to use it as an avenue
+for obtaining the client's private host keys. For this reason host-based
+authentication is turned off by default.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBssh\fR(1), \fBsshd\fR(1M), \fBssh_config\fR(4), \fBattributes\fR(5)
+.SH AUTHORS
+.sp
+.LP
+Markus Friedl, \fBmarkus@openbsd.org\fR
+.SH HISTORY
+.sp
+.LP
+\fBssh-keysign\fR first appeared in Ox 3.2.
diff --git a/usr/src/man/man1m/sshd.1m b/usr/src/man/man1m/sshd.1m
new file mode 100644
index 0000000000..305376649d
--- /dev/null
+++ b/usr/src/man/man1m/sshd.1m
@@ -0,0 +1,1509 @@
+'\" te
+.\" To view license terms, attribution, and copyright for OpenSSH, the default path is /var/sadm/pkg/SUNWsshdr/install/copyright. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the
+.\" installed location.
+.\" Portions Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.TH sshd 1M "17 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sshd \- secure shell daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBsshd\fR [\fB-deiqtD46\fR] [\fB-b\fR \fIbits\fR] [\fB-f\fR \fIconfig_file\fR]
+ [\fB-g\fR \fIlogin_grace_time\fR] [\fB-h\fR \fIhost_key_file\fR]
+ [\fB-k\fR \fIkey_gen_time\fR] [\fB-p\fR \fIport\fR] [\fB-V\fR \fIclient_protocol_id\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsshd\fR (Secure Shell daemon) is the daemon program for \fBssh\fR(1).
+Together these programs replace \fBrlogin\fR and \fBrsh\fR, and provide secure
+encrypted communications between two untrusted hosts over an insecure network.
+The programs are intended to be as easy to install and use as possible.
+.sp
+.LP
+\fBsshd\fR is the daemon that listens for connections from clients. It forks a
+new daemon for each incoming connection. The forked daemons handle key
+exchange, encryption, authentication, command execution, and data exchange.
+.sp
+.LP
+This implementation of \fBsshd\fR supports both SSH protocol versions 1 and 2
+simultaneously. Because of security weaknesses in the v1 protocol, sites should
+run only v2, if possible. In the default configuration, only protocol v2 is
+enabled for the server. To enable v1 and v2 simultaneously, see the
+instructions in \fBsshd_config\fR(4).
+.sp
+.LP
+Support for v1 is provided to help sites with existing \fBssh\fR v1 clients and
+servers to transition to v2. v1 might not be supported in a future release.
+.SS "SSH Protocol Version 1"
+.sp
+.LP
+Each host has a host-specific RSA key (normally 1024 bits) used to identify the
+host. Additionally, when the daemon starts, it generates a server RSA key
+(normally 768 bits). This key is normally regenerated every hour if it has been
+used, and is never stored on disk.
+.sp
+.LP
+Whenever a client connects the daemon responds with its public host and server
+keys. The client compares the RSA host key against its own database to verify
+that it has not changed. The client then generates a 256-bit random number. It
+encrypts this random number using both the host key and the server key, and
+sends the encrypted number to the server. Both sides then use this random
+number as a session key which is used to encrypt all further communications in
+the session. The rest of the session is encrypted using a conventional cipher,
+currently Blowfish or 3DES, with 3DES being used by default. The client selects
+the encryption algorithm to use from those offered by the server.
+.sp
+.LP
+Next, the server and the client enter an authentication dialog. The client
+tries to authenticate itself using \fB\&.rhosts\fR authentication,
+\fB\&.rhosts\fR authentication combined with RSA host authentication, RSA
+challenge-response authentication, or password-based authentication.
+.sp
+.LP
+Rhosts authentication is normally disabled because it is fundamentally
+insecure, but can be enabled in the server configuration file if desired.
+System security is not improved unless \fBrshd\fR(1M), \fBrlogind\fR(1M),
+\fBrexecd\fR(1M), and \fBrexd\fR(1M) are disabled (thus completely disabling
+\fBrlogin\fR(1) and \fBrsh\fR(1) into the machine).
+.SS "SSH Protocol Version 2"
+.sp
+.LP
+Version 2 works similarly to version 1: Each host has a host-specific DSA/RSA
+key. However, when the daemon starts, it does not generate a server key.
+Forward security is provided through a Diffie-Hellman key agreement. This key
+agreement results in a shared session key. The rest of the session is encrypted
+using a symmetric cipher, currently 128-bit AES, Blowfish, 3DES, or AES. The
+client selects the encryption algorithm to use from those offered by the
+server. Additionally, session integrity is provided through a cryptographic
+message authentication code (\fBhmac-sha1\fR or \fBhmac-md5\fR).
+.sp
+.LP
+Protocol version 2 provides a public key based user authentication method
+(PubKeyAuthentication) GSS-API based user authentication, conventional password
+authentication, and a generic prompt/reply protocol for password-based
+authentication.
+.SS "Command Execution and Data Forwarding"
+.sp
+.LP
+If the client successfully authenticates itself, a dialog for preparing the
+session is entered. At this time the client can request things like allocating
+a pseudo-tty, forwarding X11 connections, forwarding TCP/IP connections, or
+forwarding the authentication agent connection over the secure channel.
+.sp
+.LP
+Finally, the client either requests a shell or execution of a command. The
+sides then enter session mode. In this mode, either side may send data at any
+time, and such data is forwarded to/from the shell or command on the server
+side, and the user terminal on the client side.
+.sp
+.LP
+When the user program terminates and all forwarded X11 and other connections
+have been closed, the server sends command exit status to the client, and both
+sides exit.
+.sp
+.LP
+\fBsshd\fR can be configured using command-line options or the configuration
+file \fB/etc/ssh/ssh_config\fR, described in \fBssh_config\fR(4). Command-line
+options override values specified in the configuration file.
+.sp
+.LP
+\fBsshd\fR rereads its configuration file when it receives a hangup signal,
+\fBSIGHUP\fR, by executing itself with the name it was started as, that is,
+\fB/usr/lib/ssh/sshd\fR.
+.SS "Host Access Control"
+.sp
+.LP
+The \fBsshd\fR daemon uses TCP Wrappers to restrict access to hosts. It uses
+the service name of \fBsshd\fR for \fBhosts_access()\fR. For more information
+on TCP Wrappers see \fBtcpd(1M)\fR and \fBhosts_access(3)\fR man pages, which
+are part of the \fBSUNWsfman\fR package (they are not SunOS man pages). TCP
+wrappers binaries, including \fBlibwrap\fR, are in \fBSUNWtcpd\fR, a required
+package for \fBSUNWsshdu\fR, the package containing \fBsshd\fR.
+.SH OPTIONS
+.sp
+.LP
+The options for \fBsshd\fR are as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbits\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the number of bits in the server key (the default is 768).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Debug mode. The server sends verbose debug output to the system log, and does
+not put itself in the background. The server also will not fork and will only
+process one connection. This option is only intended for debugging for the
+server. Multiple \fB-d\fR options increase the debugging level. Maximum is 3.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+When this option is specified, \fBsshd\fR will send the output to standard
+error instead of to the system log.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIconfiguration_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the name of the configuration file. The default is
+\fB/etc/ssh/sshd_config\fR. \fBsshd\fR refuses to start if there is no
+configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIlogin_grace_time\fR\fR
+.ad
+.sp .6
+.RS 4n
+Gives the grace time for clients to authenticate themselves (the default is 300
+seconds). If the client fails to authenticate the user within this number of
+seconds, the server disconnects and exits. A value of zero indicates no limit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost_key_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a file from which a host key is read. This option must be given if
+\fBsshd\fR is not run as root (as the normal host key files are normally not
+readable by anyone but root). The default is \fB/etc/ssh/ssh_host_key\fR for
+protocol version 1, and \fB/etc/ssh/ssh_host_rsa_key\fR and
+\fB/etc/ssh/ssh_host_dsa_key\fR for protocol version 2. It is possible to have
+multiple host key files for the different protocol versions and host key
+algorithms.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that \fBsshd\fR is being run from \fBinetd\fR. \fBsshd\fR is normally
+not run from \fBinetd\fR because it needs to generate the server key before it
+can respond to the client, and this may take tens of seconds. Clients would
+have to wait too long if the key was regenerated every time. However, with
+small key sizes (for example, 512) using \fBsshd\fR from \fBinetd\fR may be
+reasonable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIkey_gen_time\fR\fR
+.ad
+.sp .6
+.RS 4n
+(SSHv1-specific) Specifies how often the server key is regenerated (the default
+is 3600 seconds, or one hour). The motivation for regenerating the key fairly
+often is that the key is not stored anywhere, and after about an hour, it
+becomes impossible to recover the key for decrypting intercepted communications
+even if the machine is cracked into or physically seized. A value of zero
+indicates that the key will never be regenerated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoption\fR\fR
+.ad
+.sp .6
+.RS 4n
+Can be used to specify options in the format used in the configuration file.
+This is useful for specifying options for which there are no separate
+command-line flags.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIport\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the port on which the server listens for connections (the default is
+22).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.sp .6
+.RS 4n
+Quiet mode. Nothing is sent to the system log. Normally the beginning,
+authentication, and termination of each connection is logged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Test mode. Check only the validity of the configuration file and the sanity of
+the keys. This is useful for updating sshd reliably as configuration options
+might change.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+When this option is specified \fBsshd\fR does not detach and does not become a
+daemon. This allows easy monitoring of \fBsshd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-4\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces \fBsshd\fR to use IPv4 addresses only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-6\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces \fBsshd\fR to use IPv6 addresses only.
+.RE
+
+.SH EXTENDED DESCRIPTION
+.SS "\fBauthorized_keys\fR File Format"
+.sp
+.LP
+The \fB$HOME/.ssh/authorized_keys\fR file lists the public keys that are
+permitted for RSA authentication in protocol version 1 and for public key
+authentication (\fBPubkeyAuthentication\fR) in protocol version 2. The
+\fBAuthorizedKeysFile\fR configuration option can be used to specify an
+alternative file.
+.sp
+.LP
+Each line of the file contains one key (empty lines and lines starting with a
+hash mark [\fB#\fR] are ignored as comments).
+.sp
+.LP
+For each RSA key for protocol version 1, the file consists of the following
+space-separated fields:
+.sp
+.in +2
+.nf
+\fIoptions\fR \fIbits\fR \fIexponent\fR \fImodulus\fR \fIcomment\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For the public key for protocol version 2, the file consists of the following
+space-separated fields:
+.sp
+.in +2
+.nf
+\fIoptions\fR \fIkey-type\fR \fIbase64-encoding-key\fR \fIcomment\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For protocol version 2, \fIkey-type\fR is one of \fBssh-rsa\fR or
+\fBssh-dsa\fR.
+.sp
+.LP
+The options field is optional; its presence is determined by whether the line
+starts with a number. (The option field never starts with a number.) The bits,
+exponent, and modulus fields give the RSA key; the comment field is a
+convenient place for you to identify the key.
+.sp
+.LP
+Lines in this file are usually several hundred bytes long (because of the size
+of the key modulus). You will find it very inconvenient to type them in;
+instead, copy the public key file and edit it.
+.sp
+.LP
+Permissions of this file must be set so that it is not world or group writable.
+See the \fBStrictModes\fR option of \fBsshd_config\fR(4).
+.sp
+.LP
+The options (if present) consist of comma-separated option specifications. No
+spaces are permitted, except within double quotes. The following option
+specifications are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfrom="\fIpattern-list\fR"\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that, in addition to public key authentication, the canonical name of
+the remote host must be present in the comma-separated list of patterns
+(`\fB*\fR' and `\fB?\fR' serve as wildcards). The list can also contain negated
+patterns by prefixing the patterns with `\fB!\fR'. If the canonical host name
+matches a negated pattern, the key is not accepted.
+.sp
+The purpose of this option is to give you the option of increasing security:
+public key authentication by itself does not trust the network or name servers
+or anything but the key. However, if someone manages to steal the key,
+possession of the key would permit the intruder to log in from anywhere in the
+world. This option makes using a stolen key more difficult, because name
+servers and routers would have to be compromised, in addition to just the key.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcommand="\fIcommand\fR"\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the \fIcommand\fR is executed whenever this key is used for
+authentication. The command supplied by the user (if any) is ignored. The
+command is run on a \fBpty\fR if the client requests a \fBpty\fR; otherwise it
+is run without a \fBtty\fR. If an 8-bit clean channel is required, one must not
+request a \fBpty\fR or should specify \fBno-pty\fR. You can include a quote in
+the command by escaping it with a backslash. This option might be useful to
+restrict certain public keys from performing a specific operation. An example
+is a key that permits remote backups but nothing else. Note that the client can
+specify TCP/IP and/or X11 forwarding unless they are explicitly prohibited from
+doing so. Also note that this option applies to shell, command, or subsystem
+execution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenvironment="\fINAME\fR=\fIvalue\fR"\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the string \fINAME\fR=\fIvalue\fR is to be added to the
+environment when logging in using this key. Environment variables set this way
+override other default environment values. Multiple options of this type are
+permitted. Environment processing is disabled by default and is controlled via
+the \fBPermitUserEnvironment\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBno-port-forwarding\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forbids TCP/IP forwarding when this key is used for authentication. Any port
+forward requests by the client will return an error. This might be used, for
+example, in connection with the \fBcommand\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBno-X11-forwarding\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forbids X11 forwarding when this key is used for authentication. Any X11
+forward requests by the client will return an error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBno-agent-forwarding\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forbids authentication agent forwarding when this key is used for
+authentication.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBno-pty\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevents \fBtty\fR allocation (a request to allocate a \fBpty\fR will fail).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpermitopen="\fIhost\fR:\fIport\fR"\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limit local \fBssh\fR \fB-L\fR port forwarding such that it can connect only to
+the specified host and port. IPv6 addresses can be specified with an
+alternative syntax: \fIhost\fR/\fIport\fR. You can invoke multiple
+\fBpermitopen\fR options, with each instance separated by a comma. No pattern
+matching is performed on the specified hostnames. They must be literal domains
+or addresses.
+.RE
+
+.SS "\fBssh_known_hosts\fR File Format"
+.sp
+.LP
+The \fB/etc/ssh/ssh_known_hosts\fR and \fB$HOME/.ssh/known_hosts\fR files
+contain host public keys for all known hosts. The global file should be
+prepared by the administrator (optional), and the per-user file is maintained
+automatically: whenever the user connects from an unknown host its key is added
+to the per-user file.
+.sp
+.LP
+For the RSA key for protocol version 1, these files consist of the following
+space-separated fields:
+.sp
+.in +2
+.nf
+\fIhostnames\fR \fIbits\fR \fIexponent\fR \fImodulus\fR \fIcomment\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For the public key for protocol version 2, these files consist of the following
+space-separated fields:
+.sp
+.in +2
+.nf
+\fIhostnames\fR \fIkey-type\fR \fIbase64-encoding-key\fR \fIcomment\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For protocol version 2, \fIkey-type\fR is one of \fBssh-rsa\fR or
+\fBssh-dsa\fR.
+.sp
+.LP
+Hostnames is a comma-separated list of patterns (\fB*\fR and \fB?\fR act as
+wildcards); each pattern in turn is matched against the canonical host name
+(when authenticating a client) or against the user-supplied name (when
+authenticating a server). A pattern can also be preceded by \fB!\fR to indicate
+negation: if the host name matches a negated pattern, it is not accepted (by
+that line) even if it matched another pattern on the line.
+.sp
+.LP
+Alternately, hostnames can be stored in a hashed form, which hides host names
+and addresses should the file's contents be disclosed. Hashed hostnames start
+with a vertical bar (\fB|\fR) character. Only one hashed hostname can appear on
+a single line and none of the above negation or wildcard operators may be
+applied.
+.sp
+.LP
+Bits, exponent, and modulus are taken directly from the RSA host key; they can
+be obtained, for example, from \fB/etc/ssh/ssh_host_rsa_key.pub\fR. The
+optional comment field continues to the end of the line, and is not used.
+.sp
+.LP
+Lines starting with a hash mark (\fB#\fR) and empty lines are ignored as
+comments.
+.sp
+.LP
+When performing host authentication, authentication is accepted if any matching
+line has the proper key. It is thus permissible (but not recommended) to have
+several lines or different host keys for the same names. This will inevitably
+happen when short forms of host names from different domains are put in the
+file. It is possible that the files contain conflicting information;
+authentication is accepted if valid information can be found from either file.
+.sp
+.LP
+The lines in these files are typically hundreds of characters long. You should
+definitely not type in the host keys by hand. Rather, generate them by a script
+or by taking \fB/etc/ssh/ssh_host_rsa_key.pub\fR and adding the host names at
+the front.
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+\fBsshd\fR sets the following environment variables for commands executed by
+\fBssh\fR users:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDISPLAY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates the location of the X11 server. It is automatically set by \fBsshd\fR
+to point to a value of the form \fIhostname\fR:\fIn\fR, where \fIhostname\fR
+indicates the host where the shell runs, and \fIn\fR is an integer greater than
+or equal to 1. \fBssh\fR uses this special value to forward X11 connections
+over the secure channel. Unless you have important reasons to do otherwise, you
+should not set \fBDISPLAY\fR explicitly, as that will render the X11 connection
+insecure and will require you to manually copy any required authorization
+cookies.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHOME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set to the path of the user's home directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLANG\fR, \fBLC_ALL\fR, \fBLC_COLLATE\fR, \fBLC_CTYPE\fR,
+\fBLC_MESSAGES\fR, \fBLC_MONETARY\fR, \fBLC_NUMERIC\fR, \fBLC_TIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+A locale setting. The locale defaults to that of \fBsshd\fR (usually the
+system-wide default locale), or is negotiated between the client and server
+during initial key exchange (as per RFC 4253).
+.sp
+Following initial key exchange, each of the variables can be overriden in the
+following sequence:
+.RS +4
+.TP
+1.
+If a locale setting is set in a client's environment and that client
+supports "Environment Variable Passing" (see RFC 4254), then the setting will
+be passed over to the server side.
+.RE
+.RS +4
+.TP
+2.
+If the public key authentication method was used to authenticate the server
+and the \fBPermitUserEnvironment\fR variable in \fBsshd_config\fR(4) is set to
+\fByes\fR on the server side, then the setting can be changed through the use
+of the \fBenvironment\fR option in the client's \fBAuthorizedKeysFile\fR file.
+.RE
+.RS +4
+.TP
+3.
+The setting can be change in the client's \fB~/.ssh/environment\fR file on
+the server.
+.RE
+See \fBPermitUserEnvironment\fR in \fBsshd_config\fR(4) as to when the
+\fBAuthorizedKeysFile\fR and \fB~/.ssh/environment\fR files are processed and
+used for setting the user environment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOGNAME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Synonym for \fBUSER\fR. Set for compatibility with systems that use this
+variable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMAIL\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set to point to the user's mailbox.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSSH_AUTH_SOCK\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates the path of a \fBunix-domain\fR socket used to communicate with the
+agent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSSH_CONNECTION\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the client and server ends of the connection. The variable contains
+four space-separated values: client IP address, client port number, server IP
+address and server port number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSSH_CLIENT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the client end of the connection. The variable contains three
+space-separated values: client IP address, client port number, and server port
+number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSSH_TTY\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set to the name of the \fBtty\fR (path to the device) associated with the
+current shell or command. If the current session has no \fBtty\fR, this
+variable is not set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTZ\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates the present timezone, if \fBTIMEZONE\fR is set in
+\fB/etc/default/login\fR or if \fBTZ\fR was set when the daemon was started.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBHZ\fR\fR
+.ad
+.sp .6
+.RS 4n
+If set in \fB/etc/default/login\fR, the daemon sets it to the same value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSHELL\fR\fR
+.ad
+.sp .6
+.RS 4n
+The user's shell, if \fBALTSHELL=YES\fR in \fB/etc/default/login\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPATH\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set to the value of \fBPATH\fR or \fBSUPATH\fR (see \fBlogin\fR(1)) in
+\fB/etc/default/login\fR, or, if not set, to \fB/usr/bin:/bin\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUSER\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set to the name of the user logging in.
+.RE
+
+.sp
+.LP
+Additionally, \fBsshd\fR reads \fB$HOME/.ssh/environment\fR and adds lines of
+the format \fBVARNAME=\fIvalue\fR\fR to the environment.
+.SH EXAMPLES
+.sp
+.LP
+In the following examples, certain lines might wrap due to line length limits
+in your display. You should nevertheless consider the wrapped line as a single
+line.
+.LP
+\fBExample 1 \fR\fBauthorized_key\fR File Entries
+.sp
+.LP
+The following are examples of \fBauthorized_key\fR file entries for protocol 1:
+
+.sp
+.in +2
+.nf
+1024 33 12121...312314325 ylo@foo.bar
+
+from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23...2334 ylo@niksula
+
+command="dump /home",no-pty,no-port-forwarding 1024 33 23...2323 backup.hut.fi
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fR\fBauthorized_key\fR File Entries for Protocol 2
+.sp
+.LP
+The following are examples of \fBauthorized_key\fR file entries for protocol 2:
+
+.sp
+.in +2
+.nf
+ssh-rsa AAAAB3NzaC1y.....EU88ovYKg4GfclWGCFYTuw8= ylo@foo.bar
+from="*.niksula.hut.fi" ssh-rsa AAAAB3NzaC...uw8= ylo@niksula
+command="dump /home",no-pty,no-port-forwarding ssh-rsa AA..8= backup.hut.fi
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fR\fBssh_known_hosts\fR File Entries for Protocol 1
+.sp
+.LP
+The following are examples of \fBssh_known_hosts\fR file entries for protocol
+1:
+
+.sp
+.in +2
+.nf
+closenet,closenet.hut.fi,...,130.233.208.41 1024 37 159...93 closenet.hut.fi
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fR\fBssh_known_hosts\fR File Entries for Protocol 2
+.sp
+.LP
+The following are examples of \fBssh_known_hosts\fR file entries for protocol
+2:
+
+.sp
+.in +2
+.nf
+closenet,closenet.hut.fi,...,130.233.208.41 ssh-rsa AA..8= closenet.hut.fi
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 13n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/login\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains defaults for several \fBsshd_config\fR parameters, environment
+variables, and other environmental factors.
+.sp
+The following parameters affect environment variables (see \fBlogin\fR(1) and
+descriptions of these variables, above):
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBTIMEZONE\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBHZ\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBALTSHELL\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBPATH\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBSUPATH\fR
+.RE
+The following \fB/etc/default/login\fR parameters supply default values for
+corresponding \fBsshd_config\fR(4) parameters:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBCONSOLE\fR (see \fBPermitRootLogin\fR in \fBsshd_config\fR(4))
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBPASSREQ\fR (see \fBPermitEmptyPasswords\fR in \fBsshd_config\fR(4))
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBTIMEOUT\fR (see \fBLoginGraceTime\fR in \fBsshd_config\fR(4))
+.RE
+The following \fB/etc/default/login\fR parameters:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBUMASK\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBULIMIT\fR
+.RE
+\&...set the \fBumask\fR(2) and file size limit of, respectively, the shells
+and commands spawned by \fBsshd\fR.
+.sp
+Finally, two \fB/etc/default/login\fR parameters affect the maximum allowed
+login attempts per-connection using interactive user authentication methods
+(for example, \fBkeyboard-interactive\fR but not \fBpublickey\fR), as per
+\fBlogin\fR(1):
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBRETRIES\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBSYSLOG_FAILED_LOGINS\fR
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/sshd_config\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains configuration data for \fBsshd\fR. This file should be writable by
+root only, but it is recommended (though not necessary) that it be
+world-readable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/ssh_host_key\fR\fR
+.ad
+.br
+.na
+\fB\fB/etc/ssh/ssh_host_dsa_key\fR\fR
+.ad
+.br
+.na
+\fB\fB/etc/ssh/ssh_host_rsa_key\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains the private part of the host key. This file should only be owned by
+root, readable only by root, and not accessible to others. \fBsshd\fR does not
+start if this file is group/world-accessible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/ssh_host_key.pub\fR\fR
+.ad
+.br
+.na
+\fB\fB/etc/ssh/ssh_host_dsa_key.pub\fR\fR
+.ad
+.br
+.na
+\fB\fB/etc/ssh/ssh_host_rsa_key.pub\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains the public part of the host key. This file should be world-readable
+but writable only by root. Its contents should match the private part. This
+file is not used for encryption; it is provided only for the convenience of the
+user so its contents can be copied to known hosts files. These two files are
+created using \fBssh-keygen\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/sshd.pid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains the process ID of the \fBsshd\fR listening for connections. If there
+are several daemons running concurrently for different ports, this contains the
+pid of the one started last. The content of this file is not sensitive; it can
+be world-readable. You can use the \fBPidFile\fR keyword in \fBsshd_config\fR
+to specify a file other than \fB/var/run/sshd.pid\fR. See \fBsshd_config\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/ssh_known_hosts\fR and \fB$HOME/.ssh/known_hosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+These files are consulted when using \fBrhosts\fR with public key host
+authentication to check the public key of the host. The key must be listed in
+one of these files to be accepted. The client uses the same files to verify
+that the remote host is the one it intended to connect. These files should be
+writable only by root or the owner. \fB/etc/ssh/ssh_known_hosts\fR should be
+world-readable, and \fB$HOME/.ssh/known_hosts\fR can but need not be
+world-readable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nologin\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this file exists, \fBsshd\fR refuses to let anyone except root log in. The
+contents of the file are displayed to anyone trying to log in, and non-root
+connections are refused. The file should be world-readable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.ssh/authorized_keys\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the public keys (RSA or DSA) that can be used to log into the user's
+account. This file must be readable by root. This might, on some machines,
+imply that it is world-readable if the user's home directory resides on an NFS
+volume. It is recommended that it not be accessible by others. The format of
+this file is described above. Users will place the contents of their
+\fBidentity.pub\fR, \fBid_dsa.pub\fR and/or \fBid_rsa.pub\fR files into this
+file, as described in \fBssh-keygen\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.rhosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+This file contains host-username pairs, separated by a space, one per line. The
+given user on the corresponding host is permitted to log in without password.
+The same file is used by \fBrlogind\fR and \fBrshd\fR. The file must be
+writable only by the user; it is recommended that it not be accessible by
+others. It is also possible to use \fBnetgroups\fR in the file. Either host or
+user name may be of the form \fB+@\fIgroupname\fR\fR to specify all hosts or
+all users in the group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.shosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+For \fBssh\fR, this file is exactly the same as for \fB\&.rhosts\fR. However,
+this file is not used by \fBrlogin\fR and \fBrshd\fR, so using this permits
+access using SSH only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/hosts.equiv\fR\fR
+.ad
+.sp .6
+.RS 4n
+This file is used during \fB\&.rhosts\fR authentication. In its simplest form,
+this file contains host names, one per line. Users on these hosts are permitted
+to log in without a password, provided they have the same user name on both
+machines. The host name can also be followed by a user name; such users are
+permitted to log in as any user on this machine (except root). Additionally,
+the syntax \fB+@\fIgroup\fR\fR can be used to specify netgroups. Negated
+entries start with a hyphen (\fB-\fR).
+.sp
+If the client host/user is successfully matched in this file, login is
+automatically permitted, provided the client and server user names are the
+same. Additionally, successful RSA host authentication is normally required.
+This file must be writable only by root; it is recommended that it be
+world-readable.
+.sp
+Warning: It is almost never a good idea to use user names in \fBhosts.equiv\fR.
+Beware that it really means that the named user(s) can log in as anybody, which
+includes \fBbin\fR, \fBdaemon\fR, \fBadm\fR, and other accounts that own
+critical binaries and directories. For practical purposes, using a user name
+grants the user root access. Probably the only valid use for user names is in
+negative entries. This warning also applies to \fBrsh\fR/\fBrlogin\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/moduli\fR\fR
+.ad
+.sp .6
+.RS 4n
+A private file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/shosts.equiv\fR\fR
+.ad
+.sp .6
+.RS 4n
+This file is processed exactly as \fB/etc/hosts.equiv\fR. However, this file
+might be useful in environments that want to run both \fBrsh\fR/\fBrlogin\fR
+and \fBssh\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.ssh/environment\fR\fR
+.ad
+.sp .6
+.RS 4n
+This file is read into the environment at login (if it exists). It can contain
+only empty lines, comment lines (that start with \fB#\fR), and assignment lines
+of the form \fB\fIname\fR=\fIvalue\fR\fR. The file should be writable only by
+the user; it need not be readable by anyone else. Environment processing is
+disabled by default and is controlled by means of the
+\fBPermitUserEnvironment\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.ssh/rc\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this file exists, it is run with \fB/bin/sh\fR after reading the environment
+files but before starting the user's shell or command. If X11 spoofing is in
+use, this will receive the \fBproto cookie\fR pair in standard input (and
+\fBDISPLAY\fR in environment). This must call \fBxauth\fR in that case.
+.sp
+The primary purpose of \fB$HOME/.ssh/rc\fR is to run any initialization
+routines that might be needed before the user's home directory becomes
+accessible; AFS is a particular example of such an environment. If this file
+exists, it is run with \fB/bin/sh\fR after reading the environment files, but
+before starting the user's shell or command. It must not produce any output on
+stdout; stderr must be used instead. If X11 forwarding is in use, it will
+receive the \fBproto cookie\fR pair in its standard input and \fBDISPLAY\fR in
+its environment. The script must call \fBxauth\fR because \fBsshd\fR will not
+run \fBxauth\fR automatically to add X11 cookies.
+.sp
+This file will probably contain some initialization code followed by something
+similar to:
+.sp
+.in +2
+.nf
+if read proto cookie && [ -n "$DISPLAY" ]
+then
+ if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]
+ then
+ # X11UseLocalhost=yes
+ echo add unix:`echo $DISPLAY |
+ cut -c11-` $proto $cookie
+ else
+ # X11UseLocalhost=no
+ echo add $DISPLAY $proto $cookie
+ fi | xauth -q -
+fi
+.fi
+.in -2
+.sp
+
+If this file does not exist, \fB/etc/ssh/sshrc\fR is run, and if that does not
+exist, \fBxauth\fR is used to store the cookie. \fB$HOME/.ssh/rc\fR should be
+writable only by the user, and need not be readable by anyone else.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ssh/sshrc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Similar to \fB$HOME/.ssh/rc\fR. This can be used to specify machine-specific
+login-time initializations globally. This file should be writable only by root,
+and should be world-readable.
+.RE
+
+.SH SECURITY
+.sp
+.LP
+\fBsshd\fR supports the use of several user authentication mechanisms: a public
+key system where keys are associated with users (through users'
+\fBauthorized_keys\fR files), a public key system where keys are associated
+with hosts (see the \fBHostbasedAuthentication\fR configuration parameter), a
+GSS-API based method (see the \fBGssAuthentication\fR and \fBGssKeyEx\fR
+configuration parameters) and three initial authentication methods: \fBnone\fR,
+\fBpassword\fR, and a generic prompt/reply protocol,
+\fBkeyboard-interactive\fR.
+.sp
+.LP
+\fBsshd\fR negotiates the use of the GSS-API with clients only if it has a
+GSS-API acceptor credential for the "host" service. This means that, for
+GSS-API based authentication, the server must have a Kerberos V \fBkeytab\fR
+entry (see below) or the equivalent for any other GSS-API mechanism that might
+be installed.
+.sp
+.LP
+In order for Kerberos authentication to work, a \fBhost/\fR\fI<FQDN>\fR
+Kerberos principal must exist for each Fully Qualified Domain Name associated
+with the \fBin.sshd\fR server. Each of these \fBhost/\fR\fI<FQDN>\fR principals
+must have a \fBkeytab\fR entry in the \fB/etc/krb5/krb5.keytab\fR file on the
+\fBin.sshd\fR server. An example principal might be:
+.sp
+.LP
+\fBhost/bigmachine.eng.example.com\fR
+.sp
+.LP
+See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
+principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+authentication.
+.sp
+.LP
+GSS-API authorization is covered in \fBgss_auth_rules\fR(5).
+.sp
+.LP
+\fBsshd\fR uses \fBpam\fR(3PAM) for the three initial authentication methods as
+well as for account management, session management, and password management for
+all authentication methods.
+.sp
+.LP
+Specifically, \fBsshd\fR calls \fBpam_authenticate()\fR for the "none,"
+"password" and "keyboard-interactive" SSHv2 \fBuserauth\fR types, as well as
+for for the null and password authentication methods for SSHv1. Other SSHv2
+authentication methods do not call \fBpam_authenticate()\fR.
+\fBpam_acct_mgmt()\fR is called for each authentication method that succeeds.
+.sp
+.LP
+\fBpam_setcred()\fR and \fBpam_open_session()\fR are called when authentication
+succeeds and \fBpam_close_session()\fR is called when connections are closed.
+.sp
+.LP
+\fBpam_open_session()\fR and \fBpam_close_session()\fR are also called when
+SSHv2 channels with \fBpty\fRs are opened and closed.
+.sp
+.LP
+Each SSHv2 \fBuserauth\fR type has its own PAM service name:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+SSHv2 UserauthPAM Service Name
+_
+nonesshd-none
+_
+passwordsshd-password
+_
+keyboard-interactivesshd-kbdint
+_
+pubkeysshd-pubkey
+_
+hostbasedsshd-hostbased
+_
+gssapi-with-micsshd-gssapi
+_
+gssapi-keyexsshd-gssapi
+.TE
+
+.sp
+.LP
+For SSHv1, \fBsshd-v1\fR is always used.
+.sp
+.LP
+If \fBpam_acct_mgmt()\fR returns \fBPAM_NEW_AUTHTOK_REQD\fR (indicating that
+the user's authentication tokens have expired), then \fBsshd\fR forces the use
+of "keyboard-interactive" \fBuserauth\fR, if version 2 of the protocol is in
+use. The "keyboard-interactive" \fBuserauth\fR will call \fBpam_chauthtok()\fR
+if \fBpam_acct_mgmt()\fR once again returns \fBPAM_NEW_AUTHTOK_REQD\fR. By this
+means, administrators are able to control what authentication methods are
+allowed for SSHv2 on a per-user basis.
+.SS "Setting up Host-based Authentication"
+.sp
+.LP
+To establish host-based authentication, you must perform the following steps:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure the client.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Configure the server.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Publish known hosts.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Make appropriate entries in \fB/etc/ssh/shosts.equiv\fR and \fB~/.shosts\fR.
+.RE
+.sp
+.LP
+These steps are expanded in the following paragraphs.
+.RS +4
+.TP
+.ie t \(bu
+.el o
+On a client machine, in the system-wide client configuration file,
+\fB/etc/ssh/ssh_config\fR, you must have the entry:
+.sp
+.in +2
+.nf
+HostbasedAuthentication yes
+.fi
+.in -2
+
+See \fBssh_config\fR(4) and \fBssh-keysign\fR(1M).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+On the server, in the system-wide server configuration file,
+\fB/etc/ssh/sshd_config\fR, you must have the entry:
+.sp
+.in +2
+.nf
+HostbasedAuthentication yes
+.fi
+.in -2
+
+If per-user \fB\&.shost\fR files are to be allowed (see last step), in the same
+file, you must have:
+.sp
+.in +2
+.nf
+IgnoreRhosts no
+.fi
+.in -2
+
+See \fBsshd_config\fR(4) for a description of these keywords.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+To publish known hosts, you must have entries for the clients from which users
+will be allowed host-based authentication. Make these entries in either or both
+of the system-wide file (\fB/etc/ssh/ssh_known_hosts\fR) or the per-user file
+(\fB~/.ssh/known_hosts\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Note that \fBsshd\fR uses \fB\&.shosts\fR, not \fB\&.rhosts\fR. If you want the
+functionality provided by \fB\&.rhosts\fR, but do not want to use \fBrlogin\fR
+or \fBrsh\fR because of their security shortcomings, you can use
+\fB\&.shosts\fR in conjunction with \fBsshd\fR. To use this feature, make
+appropriate entries in \fB/etc/ssh/shosts.equiv\fR and \fB~/.shosts\fR, in the
+format specified in \fBrhosts\fR(4).
+.sp
+For the vast majority of network environments, \fB\&.shosts\fR is preferred
+over \fB\&.rhosts\fR.
+.RE
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.sp
+.LP
+The interface stability of \fB/etc/ssh/moduli\fR is Private.
+.SH SEE ALSO
+.sp
+.LP
+\fBlogin\fR(1), \fBscp\fR(1), \fBssh\fR(1), \fBssh-add\fR(1),
+\fBssh-agent\fR(1), \fBssh-keygen\fR(1), \fBsvcs\fR(1), \fBgkadmin\fR(1M),
+\fBkadmin\fR(1M), \fBsftp-server\fR(1M), \fBssh-keysign\fR(1M),
+\fBsvcadm\fR(1M), \fBpam\fR(3PAM), \fBrhosts\fR(4), \fBssh_config\fR(4),
+\fBsshd_config\fR(4), \fBattributes\fR(5), \fBgss_auth_rules\fR(5),
+\fBkerberos\fR(5), \fBpam_roles\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The \fBsshd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/ssh:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+\fBsshd\fR always sets \fBPAM_RHOST\fR and sets \fBPAM_AUSER\fR in the case of
+host-based \fBuserauth\fR. This behavior allows for remote logins to roles
+using host-based authentication. See \fBpam_roles\fR(5).
diff --git a/usr/src/man/man1m/statd.1m b/usr/src/man/man1m/statd.1m
new file mode 100644
index 0000000000..327675ed93
--- /dev/null
+++ b/usr/src/man/man1m/statd.1m
@@ -0,0 +1,116 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH statd 1M "18 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+statd \- network status monitor
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/nfs/statd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBstatd\fR is an intermediate version of the status monitor. It interacts with
+\fBlockd\fR(1M) to provide the crash and recovery functions for the locking
+services on NFS. \fBstatd\fR keeps track of the clients with processes which
+hold locks on a server. When the server reboots after a crash, \fBstatd\fR
+sends a message to the \fBstatd\fR on each client indicating that the server
+has rebooted. The client \fBstatd\fR processes then inform the \fBlockd\fR on
+the client that the server has rebooted. The client \fBlockd\fR then attempts
+to reclaim the lock(s) from the server.
+.sp
+.LP
+\fBstatd\fR on the client host also informs the \fBstatd\fR on the server(s)
+holding locks for the client when the client has rebooted. In this case, the
+\fBstatd\fR on the server informs its \fBlockd\fR that all locks held by the
+rebooting client should be released, allowing other processes to lock those
+files.
+.sp
+.LP
+\fBlockd\fR is started by \fBautomountd\fR(1M), \fBmount_nfs\fR(1M), and
+\fBshare\fR(1M) if NFS automounts are needed.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/statmon/sm\fR\fR
+.ad
+.sp .6
+.RS 4n
+lists hosts and network addresses to be contacted after a reboot
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/statmon/sm.bak\fR\fR
+.ad
+.sp .6
+.RS 4n
+lists hosts and network addresses that could not be contacted after last reboot
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/statmon/state\fR\fR
+.ad
+.sp .6
+.RS 4n
+includes a number which changes during a reboot
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/include/rpcsvc/sm_inter.x\fR\fR
+.ad
+.sp .6
+.RS 4n
+contains the rpcgen source code for the interface services provided by the
+statd daemon.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBautomountd\fR(1M), \fBlockd\fR(1M), \fBmount_nfs\fR(1M),
+\fBshare\fR(1M), \fBsvcadm\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The crash of a server is only detected upon its recovery.
+.sp
+.LP
+The \fBstatd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nfs/status
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+If it is disabled, it will be enabled by \fBmount_nfs\fR(1M),
+\fBshare_nfs\fR(1M), and \fBautomountd\fR(1M) unless its
+\fBapplication/auto_enable\fR property is set to \fBfalse\fR.
diff --git a/usr/src/man/man1m/stmfadm.1m b/usr/src/man/man1m/stmfadm.1m
new file mode 100644
index 0000000000..7cee21b7ab
--- /dev/null
+++ b/usr/src/man/man1m/stmfadm.1m
@@ -0,0 +1,1210 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH stmfadm 1M "30 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+stmfadm \- SCSI target mode framework command line interface
+.SH SYNOPSIS
+.LP
+.nf
+\fBstmfadm\fR \fBadd-hg-member\fR \fB-g\fR, \fB--group-name\fR \fIgroup-name\fR \fIgroup-member\fR...
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBadd-tg-member\fR \fB-g\fR, \fB--group-name\fR \fIgroup-name\fR \fIgroup-member\fR...
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBadd-view\fR [\fB-n\fR, \fB--lun\fR \fIlogical-unit-number\fR
+ \fB-t\fR, \fB--target-group\fR \fIgroup-name\fR \fB-h\fR, \fB--host-group\fR \fIgroup-name\fR] \fIlu-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBcreate-hg\fR \fIgroup-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBcreate-lu\fR [\fB-p\fR, \fB--lu-prop\fR \fIlogical-unit-property\fR=\fIval\fR
+ \fB-s\fR, \fB--size\fR \fIsize\fR] \fIlu-file\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBcreate-tg\fR \fIgroup-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBdelete-hg\fR \fIgroup-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBdelete-lu\fR \fIlu-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBdelete-tg\fR \fIgroup-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBimport-lu\fR \fIlu-file\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-hg\fR [\fB-v\fR] [\fIhost-group-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-tg\fR [\fB-v\fR] [\fItarget-group-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-lu\fR [\fB-v\fR] [\fIlu-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-target\fR [\fB-v\fR] [\fItarget-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-view\fR \fB-l\fR, \fB--lu-name\fR \fIlu-name\fR [\fIentry-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-state\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBmodify-lu\fR [\fB-p\fR, \fB--lu-prop\fR \fIlogical-unit-property\fR=\fIval\fR
+ \fB-s\fR, \fB--size\fR \fIsize\fR, \fB-f\fR, \fB--file\fR] \fIlu-name\fR|\fIlu-file\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBonline-lu\fR \fIlu-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBoffline-lu\fR \fIlu-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBonline-lu\fR \fItarget-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBoffline-lu\fR \fItarget-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBremove-hg-member\fR \fB-g\fR, \fB--group-name\fR \fIgroup-name\fR \fIgroup-member\fR...
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBremove-tg-member\fR \fB-g\fR, \fB--group-name\fR \fIgroup-name\fR \fIgroup-member\fR...
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBremove-view\fR \fB-l\fR, \fB--lu-name\fR \fIlu-name\fR \fIentry-name\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfadm\fR command configures logical units within the SCSI Target Mode
+Framework (STMF) framework. The framework and this man page use the following
+terminology:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinitiator\fR\fR
+.ad
+.sp .6
+.RS 4n
+A device responsible for issuing SCSI I/O commands to a SCSI target and logical
+unit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget\fR\fR
+.ad
+.sp .6
+.RS 4n
+A device responsible for receiving SCSI I/O commands for a logical unit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogical unit\fR\fR
+.ad
+.sp .6
+.RS 4n
+A device within a target responsible for executing SCSI I/O commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogical unit number\fR\fR
+.ad
+.sp .6
+.RS 4n
+The identifier of a logical unit within a target.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinitiator group\fR\fR
+.ad
+.sp .6
+.RS 4n
+An initiator group is a set of one or more initiators that are combined for the
+purposes of being applied to a \fBview\fR (see below). An initiator cannot be a
+member of more than one initiator group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget group\fR\fR
+.ad
+.sp .6
+.RS 4n
+A target group is a set of one or more SCSI target ports that are treated the
+same when creating a \fBview\fR (see below). The set of logical units that a
+particular SCSI initiator can see is determined by the combined set of views.
+.sp
+Each logical unit has a set of view entries, and each view entry specifies a
+target group, host group, and a LUN. An initiator from that host group, when
+connecting through that target group, is able to identify and connect to that
+logical unit using the specified LUN. You can use views to restrict the set of
+logical units that a specific initiator can see, and assign the set of LUNs
+that will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBview\fR\fR
+.ad
+.sp .6
+.RS 4n
+A view defines the association of an initiator group, a target group, and a
+logical unit number with a specified logical unit. Any view entry added to a
+logical unit must not be in conflict with existing view entries for that
+logical unit. A view entry is considered to be in conflict when an attempt is
+made to duplicate the association of any given initiator, target and logical
+unit number. As an example, logical unit \fBLU_0\fR has the following view
+entry associated with it:
+.sp
+.in +2
+.nf
+Logical Unit: LU_0
+ View Entry: 0
+ initiator group: HostA
+ target group: All targets
+ logical unit number: 32
+.fi
+.in -2
+.sp
+
+If you attempted the following:
+.sp
+.in +2
+.nf
+# \fBstmf add-view -n 31 -h HostA LU_0\fR
+.fi
+.in -2
+.sp
+
+\&...the operation would return an error with a message indicating that the
+view entry is in conflict with one or more existing view entries. This conflict
+arises because the existing view entry, \fB0\fR, already has mapped \fBLU_0\fR
+to logical unit number 32 for the initiator group \fBHostA\fR.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The \fBstmfadm\fR command supports the subcommands listed below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-view\fR [\fB-n\fR, \fB--lun\fR \fIlogical-unit-number\fR \fB-t\fR,
+\fB--target-group\fR \fIgroup-name\fR \fB-h\fR, \fB--host-group\fR
+\fIgroup-name\fR] \fIlu-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a logical unit view entry to a logical unit \fIlu-name\fR, where
+\fIlu-name\fR is the STMF name for the logical unit as displayed by the
+\fBlist-lu\fR subcommand. The \fBadd-view\fR subcommand provides the user with
+a mechanism to implement access control for a logical unit and also provides a
+means of assigning a logical unit number to a logical unit for a given set of
+initiators and targets. A logical unit will not be available to any initiators
+until at least one view is applied. Each view entry gets assigned an entry
+name, which can be used to reference the entry in the \fBremove-view\fR and
+\fBlist-view\fR subcommands.
+.sp
+\fBadd-view\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR, \fB--lun\fR \fIlogical-unit-number\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIlogical-unit-number\fR is an integer in the range 0-16383 to be assigned to
+the logical unit for this view entry. If this option is not specified, a
+logical unit number will be assigned by the STMF framework.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR, \fB--target-group\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIgroup-name\fR is the name of a target group previously created using the
+STMF \fBcreate-tg\fR subcommand. If this option is not specified, the logical
+unit will be available through all targets.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB-host-group\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIgroup-name\fR is the name of an host group previously created using the STMF
+\fBcreate-hg\fR subcommand. If this option is not specified, the logical unit
+will be available to all initiators that log in to the STMF framework.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-hg-member\fR \fB-g\fR \fIgroup-name\fR \fIgroup member\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Add a host group member to a host group. \fIgroup-name\fR must be an existing
+group created using the \fBcreate-hg\fR subcommand. \fIgroup member\fR can be
+specified as \fIname_type\fR.\fIname_value\fR, where \fIname_type\fR can be one
+of the following:
+.sp
+.in +2
+.nf
+wwn
+iqn
+eui
+.fi
+.in -2
+.sp
+
+\&...and \fIname_value\fR is the value of the initiator name. As an example, to
+add a fibre channel initiator port world-wide name \fB200000e08b909221\fR to
+the host group \fBHostA\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-hg-member -g HostA wwn.200000e08b909221\fR
+.fi
+.in -2
+.sp
+
+To add an ISCSI initiator node member with the name
+\fBiqn.1986-03.com.sun:01.46f7e262\fR to \fBHostA\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-hg-member -g HostA iqn.1986-03.com.sun:01.46f7e262\fR
+.fi
+.in -2
+.sp
+
+Alternatively, members can be specified using their SCSI name string
+identifiers. To add the two initiators above using their SCSI name string
+identifiers, the commands would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-hg-member -g HostA eui.200000e08b909221\fR
+# \fBstmfadm add-hg-member -g HostA iqn.1986-03.com.sun:01.46f7e262\fR
+.fi
+.in -2
+.sp
+
+A host group member cannot be a member of more than one host group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd-tg-member\fR \fB-g\fR \fIgroup-name\fR \fIgroup member\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Add a target group member to a target group. \fIgroup-name\fR must be an
+existing group created using the \fBcreate-tg\fR subcommand. \fIgroup member\fR
+can be specified as \fIname_type\fR.\fIname_value\fR, where \fIname_type\fR can
+be one of the following:
+.sp
+.in +2
+.nf
+wwn
+iqn
+eui
+.fi
+.in -2
+.sp
+
+\&...and \fIname_value\fR is the value of the target name. As an example, to
+add a fibre channel target port world-wide name \fB501000e092376af7\fR to the
+target group \fBTG0\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-tg-member -g TG0 wwn.501000e092376af7\fR
+.fi
+.in -2
+.sp
+
+To add an ISCSI target member with the name
+\fBiqn.1986-03.com.sun:target.01.01110\fR to \fBTG0\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-tg-member -g TG0 iqn.1986-03.com.sun:target.01.01110\fR
+.fi
+.in -2
+.sp
+
+Alternatively, members can be specified using their SCSI name string
+identifiers. To add the two targets above using their SCSI name string
+identifiers, the commands would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-tg-member -g TG0 eui.501000e092376af7\fR
+# \fBstmfadm add-tg-member -g TG0 iqn.1986-03.com.sun:target.01.01110\fR
+.fi
+.in -2
+.sp
+
+A target group member cannot be a member of more than one target group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate-hg\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an initiator group with the name \fIgroup-name\fR. \fIgroup-name\fR is a
+string of Unicode characters with a maximum length of 255. The group name must
+be unique within the STMF system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate-lu\fR [\fB-p\fR, \fB--lu-prop\fR
+\fIlogical-unit-property\fR=\fIval\fR \fB--s\fR, \fB--size\fR \fIsize\fR]
+\fIlu-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a logical unit that can be registered with STMF. For the \fB-p\fR
+option, \fIlogical-unit-property\fR can be one of the following properties:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBalias\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 255 characters, representing a user-defined name for the device. The
+default is the name of the backing store.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBblk\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the block size for the device. The default is 512.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBguid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Thirty-two hexadecimal ASCII characters representing a valid NAA Registered
+Extended Identifier. The default is set by the STMF to a generated value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmeta\fR\fR
+.ad
+.sp .6
+.RS 4n
+Metadata file name. When specified, will be used to hold the SCSI metadata for
+the logical unit. There is no default.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmgmt-url\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 1024 characters representing a Management Network Address URL. More than
+one URL can be passed as a single parameter by using space-delimited URLs
+enclosed inside a single pair of quotation marks (\fB"\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoui\fR\fR
+.ad
+.sp .6
+.RS 4n
+Organizational Unique Identifier. Six hexadecimal ASCII characters representing
+the IEEE OUI company ID assignment. This will be used to generate the device
+identifier (GUID). The default is \fB00144F\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sixteen characters of product identification SCSI SPC-3. This value will be
+reflected in the Standard \fBINQUIRY\fR data returned for the device. The
+default is \fBCOMSTAR\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBserial\fR\fR
+.ad
+.sp .6
+.RS 4n
+Serial Number. Specifies the SCSI Vital Product Data Serial Number (page
+\fB80h\fR). It is a character value up to 252 bytes in length. There is no
+default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Eight characters of vendor identification per SCSI SPC-3. This value will be
+reflected in the Standard \fBINQUIRY\fR data returned for the device. The
+default is \fBSUN\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwcd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-back cache disable. Specify \fBtrue\fR or \fBfalse\fRto determine
+write-back cache disable behavior. The default is the write-back cache setting
+of the backing store device specified by the \fIlu-file\fR argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-protect bit. Specify \fBtrue\fR or \fBfalse\fR to determine whether the
+device reports as write-protected. The default is \fBfalse\fR.
+.RE
+
+For the \fB-s\fR option, \fIsize\fR is an integer followed by one of the
+following letters, to indicate a unit of size:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBk\fR\fR
+.ad
+.RS 5n
+.rt
+kilobyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+.rt
+megabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBg\fR\fR
+.ad
+.RS 5n
+.rt
+gigabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+.rt
+terabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+petabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBe\fR\fR
+.ad
+.RS 5n
+.rt
+exabyte
+.RE
+
+\fIlu-file\fR is the file to be used as the backing store for the logical unit.
+If the \fB-s\fR option is not specified, the size of the specified
+\fIlu-file\fR will be used as the size of the logical unit. Logical units
+registered with the STMF require space for the metadata to be stored. When a
+\fBzvol\fR is specified as the backing store device, the default will be to use
+a special property of the \fBzvol\fR to contain the metadata. For all other
+devices, the default behavior will be to use the first 64k of the device. An
+alternative approach would be to use the \fBmeta\fR property in a
+\fBcreate-lu\fR command to specify an alternate file to contain the metadata.
+It is advisable to use a file that can provide sufficient storage of the
+logical unit metadata, preferably 64k.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate-tg\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a target group with the name \fIgroup-name\fR. \fIgroup-name\fR is a
+string of Unicode characters with a maximum length of 255. The group name must
+be unique within the STMF system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete-hg\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the host group that identified by \fIgroup-name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete-lu\fR \fIlu-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes an existing logical unit that was created using \fBstmfadm
+create-lu\fR. This effectively unloads the logical unit from the STMF
+framework. Any existing data on the logical unit remains intact.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete-tg\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the target group that identified by \fIgroup-name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBimport-lu\fR \fIlu-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Imports and loads a logical unit into the STMF that was previously created
+using \fBstmfadm create-lu\fR and was then deleted from the STMF using
+\fBstmfadm delete-lu\fR. On success, the logical unit is again made available
+to the STMF. \fIlu-file\fR is the filename used in the \fBstmfadm create-lu\fR
+command. If this logical unit is using a separate metadata file, the filename
+in the \fBmeta\fR property value that was used in the \fBstmfadm create-lu\fR
+command must be used here.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-hg\fR [\fB-v\fR,\fB--verbose\fR] [\fIhost-group-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the host group in the system referenced by
+\fIhost-group-name\fR. If \fIhost-group-name\fR is not specified, all host
+groups in the system will be listed. If the \fB--v\fR or \fB--verbose\fR option
+is specified, all members within a host group are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-lu\fR [\fB-v\fR,\fB--verbose\fR] [\fIlu-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the logical unit in the system referenced by
+\fIlu-name\fR. If \fIlu-name\fR is not specified, all logical units in the
+system will be listed. If the \fB-v\fR or \fB--verbose\fR option is specified,
+additional information about the logical unit will be displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-target\fR [\fB-v\fR,\fB--verbose\fR] [\fItarget-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the target port in the system referenced by
+\fItarget-name\fR. If target name is not specified, all target ports in the
+system will be listed. If the \fB-v\fR or \fB--verbose\fR option is specified,
+additional information about the target along with SCSI session information for
+logged-in initiators is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-tg\fR [\fB-v\fR,\fB--verbose\fR] [\fItarget-group-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the target group in the system referenced by
+\fItarget-group-name\fR. If \fItarget-group-name\fR is not specified, all
+target groups in the system will be listed. If the \fB--v\fR or \fB--verbose\fR
+option is specified, all members within a target group are displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-view\fR \fB--l\fR, \fB--lu-name\fR \fIlu-name\fR
+[\fIentry-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists the view entry for the logical unit referenced by \fIlu-name\fR. If
+\fIentry-name\fR is not specified, all view entries for the specified logical
+unit will be listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodify-lu\fR [\fB-p\fR, \fB--lu-prop\fR
+\fIlogical-unit-property\fR=\fIval\fR \fB--s\fR, \fB--size\fR \fIsize\fR,
+\fB-f\fR, \fB--file\fR] \fIlu-name\fR|\fIlu-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies attributes of a logical unit created using the \fBstmfadm create-lu\fR
+command. For the \fB-p\fR option, \fIlogical-unit-property\fR can be one of the
+following properties:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBalias\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 255 characters, representing a user-defined name for the device. The
+default is the name of the backing store.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmgmt-url\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 1024 characters representing a Management Network Address URL. More than
+one URL can be passed as a single parameter by using space-delimited URLs
+enclosed inside a single pair of quotation marks (\fB"\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwcd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-back cache disable. Specify \fBtrue\fR or \fBfalse\fRto determine
+write-back cache disable behavior. The default is the write-back cache setting
+of the backing store device specified by the \fIlu-file\fR argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-protect bit. Specify \fBtrue\fR or \fBfalse\fR to determine whether the
+device reports as write-protected. The default is \fBfalse\fR.
+.RE
+
+For the \fB-s\fR option, \fIsize\fR is an integer followed by one of the
+following letters, to indicate a unit of size:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBk\fR\fR
+.ad
+.RS 5n
+.rt
+kilobyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+.rt
+megabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBg\fR\fR
+.ad
+.RS 5n
+.rt
+gigabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+.rt
+terabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+.rt
+petabyte
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBe\fR\fR
+.ad
+.RS 5n
+.rt
+exabyte
+.RE
+
+\fIlu-name\fR is the \fBguid\fR of the logical unit to be modified. If the
+\fB-f\fR option is specified, the operand is interpreted as a file name. This
+provides the ability to modify a logical unit that is not currently imported
+into the STMF.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBonline-lu\fR \fIlu-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Online a logical unit currently registered with the STMF.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBonline-target\fR \fItarget-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Online the specified target.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoffline-lu\fR \fIlu-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Offline a logical unit currently registered with the STMF.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoffline-target\fR \fItarget-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Online the specified target.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist-state\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the operational and configuration state of the STMF.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove-hg-member\fR \fB-g\fR \fIgroup-name\fR \fIgroup member\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes a host group member from a host group. \fIgroup-name\fR must be an
+existing group created using the \fBcreate-hg\fR subcommand. \fIgroup member\fR
+can be specified as \fIname_type\fR.\fIname_value\fR, where \fIname_type\fR can
+be one of the following:
+.sp
+.in +2
+.nf
+wwn
+iqn
+eui
+.fi
+.in -2
+.sp
+
+\&...and \fIname_value\fR is the value of the initiator name. As an example, to
+remove the fibre channel initiator port world-wide name \fB200000e08b909221\fR
+from the host group \fBHostA\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-hg-member -g HostA wwn.200000e08b909221\fR
+.fi
+.in -2
+.sp
+
+To remove the ISCSI initiator node member with the name
+\fBiqn.1986-03.com.sun:01.46f7e262\fR from \fBHostA\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-hg-member -g HostA iqn.1986-03.com.sun:01.46f7e262\fR
+.fi
+.in -2
+.sp
+
+Alternatively, members can be specified using their SCSI name string
+identifiers. To remove the two initiators above using their SCSI name string
+identifiers, the commands would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-hg-member -g HostA eui.200000e08b909221\fR
+# \fBstmfadm remove-hg-member -g HostA iqn.1986-03.com.sun:01.46f7e262\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove-tg-member\fR \fB-g\fR \fIgroup-name\fR \fIgroup member\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes a target group member from a target group. \fIgroup-name\fR must be an
+existing group created using the \fBcreate-tg\fR subcommand. \fIgroup member\fR
+can be specified as \fIname_type\fR.\fIname_value\fR, where \fIname_type\fR can
+be one of the following:
+.sp
+.in +2
+.nf
+wwn
+iqn
+eui
+.fi
+.in -2
+.sp
+
+\&...and \fIname_value\fR is the value of the target name. As an example, to
+remove the fibre channel target port world-wide name \fB501000e092376af7\fR
+from the target group \fBTG0\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-tg-member -g TG0 wwn.501000e092376af7\fR
+.fi
+.in -2
+.sp
+
+To remove the ISCSI target member with the name
+\fBiqn.1986-03.com.sun:target.01.01110\fR from \fBTG0\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-tg-member -g TG0 iqn.1986-03.com.sun:target.01.01110\fR
+.fi
+.in -2
+.sp
+
+Alternatively, members can be specified using their SCSI name string
+identifiers. To remove the two targets above using their SCSI name string
+identifiers, the commands would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-tg-member -g TG0 eui.501000e092376af7\fR
+# \fBstmfadm remove-tg-member -g TG0 iqn.1986-03.com.sun:target.01.01110\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove-view\fR \fB--l\fR, \fB--lu-name\fR \fIlu-name\fR
+\fIentry-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes one or more logical unit view entries from a logical unit.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Host group with Two Initiator Ports
+.sp
+.LP
+The following commands use the \fBcreate-hg\fR and \fBadd-hg-member\fR
+subcommands to create a host group and add two initiator ports to that host
+group.
+
+.sp
+.in +2
+.nf
+# \fBstmfadm create-hg host-group-a\fR
+# \fBstmfadm add-hg-member -g host-group-a wwn.210105b0000d92d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding a View Entry to a Logical Unit
+.sp
+.LP
+The following command uses the \fBadd-view\fR subcommand to allow access from
+\fBhost-group-a\fR to a logical unit.
+
+.sp
+.in +2
+.nf
+# \fBstmfadm add-view -h host-group-a 6000AE40C5000000000046FC4FEA001C\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing a View Entry
+.sp
+.LP
+The following command uses the \fBlist-view\fR subcommand to list all view
+entries for the specified logical unit.
+
+.sp
+.in +2
+.nf
+# \fBstmfadm list-view -l 6000AE40C5000000000046FC4FEA001C\fR
+View Entry: 0
+ Host group : host-group-a
+ Target group : All
+ LUN : 0
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsbdadm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/stmsboot.1m b/usr/src/man/man1m/stmsboot.1m
new file mode 100644
index 0000000000..37bd733923
--- /dev/null
+++ b/usr/src/man/man1m/stmsboot.1m
@@ -0,0 +1,403 @@
+'\" te
+.\" Copyright 2008 Sun Microsystems, Inc. All Rights reserved. Use is subject to license terms.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH stmsboot 1M "15 Dec 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+stmsboot \- administration program for the Solaris I/O multipathing feature
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/stmsboot\fR [[\fB-d\fR | \fB-e\fR [\fB-D\fR (fp | mpt) ]]
+ | \fB-u\fR | \fB-L\fR | \fB-l\fR \fIcontroller_number\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Solaris I/O multipathing feature is a multipathing solution for storage
+devices that is part of the Solaris operating environment. This feature was
+formerly known as Sun StorEdge Traffic Manager (STMS) or MPxIO.
+.sp
+.LP
+The \fBstmsboot\fR program is an administrative command to manage enumeration
+of multipath-capable devices with Solaris I/O multipathing. Solaris I/O
+multipathing-enabled devices are enumerated under \fBscsi_vhci\fR(7D),
+providing multipathing capabilities. Solaris I/O multipathing-disabled devices
+are enumerated under the physical controller.
+.sp
+.LP
+In the \fB/dev\fR and \fB/devices\fR trees, Solaris I/O multipathing-enabled
+devices receive new names that indicate that they are under Solaris I/O
+multipathing control. This means a device will have a different name from its
+original name (after enabling) when it is under Solaris I/O multipathing
+control. The \fBstmsboot\fR command automatically updates \fB/etc/vfstab\fR and
+dump configuration to reflect the device names changes when enabling or
+disabling Solaris I/O multipathing. One reboot is required for changes to take
+effect.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR [ \fB-D\fR \fBfp | mpt\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Enables Solaris I/O multipathing on all supported multipath-capable controller
+ports. Multipath-capable ports include fibre channel (\fBfp\fR(7D)) controller
+ports and SAS (\fBmpt\fR(7D)) controller ports. Following this enabling, you
+are prompted to reboot. During the reboot, \fBvfstab\fR and the dump
+configuration will be updated to reflect the device name changes. Specifying
+either \fB-D\fR \fBmpt\fR or \fB-D\fR \fBfp\fR limits the enabling operation to
+ports attached using the specified driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR [ \fB-D\fR \fBfp | mpt\fR ]\fR
+.ad
+.sp .6
+.RS 4n
+Disables Solaris I/O multipathing on all supported multipath-capable controller
+ports. Multipath-capable ports include fibre channel (\fBfp\fR(7D)) controller
+ports and SAS (\fBmpt\fR(7D)) controller ports. Following this disabling, you
+are prompted to reboot. During the reboot, \fBvfstab\fR and the dump
+configuration will be updated to reflect the device name changes. Specifying
+either \fB-D\fR \fBmpt\fR or \fB-D\fR \fBfp\fR limits the disabling operation
+to ports attached using the specified driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+Updates \fBvfstab\fR and the dump configuration after you have manually
+modified the configuration to have Solaris I/O multipathing enabled or disabled
+on specific multipath-capable controller ports. This option prompts you to
+reboot. During the reboot, \fBvfstab\fR and the dump configuration will be
+updated to reflect the device name changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the device name changes from non-Solaris I/O multipathing device names
+to Solaris I/O multipathing device names for multipath-enabled controller
+ports. If Solaris I/O multipathing is not enabled, then no mappings are
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIcontroller_number\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the device name changes from non-Solaris I/O multipathing device names
+to Solaris I/O multipathing device names for the specified controller. If
+Solaris I/O multipathing is not enabled, then no mappings are displayed.
+.RE
+
+.SH USAGE
+.sp
+.LP
+The primary function of \fBstmsboot\fR is to control the enabling and disabling
+of Solaris I/O multipathing on the host. The utility automatically updates
+\fBvfstab\fR(4) and \fBdumpadm\fR(1M) configuration to reflect device name
+changes. The system administrator is responsible for modifying application
+configuration (for example, backup software, DBMS, and so forth) to reflect
+updated device names.
+.sp
+.LP
+The \fB-L\fR and \fB-l\fR options display the mapping between multipathed and
+non-multipathed device names. These options function only after changes to the
+Solaris I/O multipathing configuration have taken effect, that is, following
+the reboot after invoking \fBstmsboot\fR \fB-e\fR.
+.sp
+.LP
+ZFS datasets, including ZFS root datasets, are correctly handled by
+\fBstmsboot\fR.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREnabling Solaris I/O Multipathing
+.sp
+.LP
+To enable Solaris I/O multipathing for all multipath-capable controllers, run:
+
+.sp
+.in +2
+.nf
+# \fBstmsboot -e\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To enable Solaris I/O multipathing on multipath-capable \fBmpt\fR(7D)
+controller ports, enter:
+
+.sp
+.in +2
+.nf
+# \fBstmsboot -D mpt -e\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To enable Solaris I/O Multipathing on multipath-capable fibre channel
+controller ports, enter:
+
+.sp
+.in +2
+.nf
+# \fBstmsboot -D fp -e\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisabling Solaris I/O Multipathing
+.sp
+.LP
+To disable Solaris I/O multipathing on all multipath-capable controllers,
+enter:
+
+.sp
+.in +2
+.nf
+# \fBstmsboot -d\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To disable Solaris I/O multipathing on multipath-capable \fBmpt\fR(7D)
+controller ports, enter:
+
+.sp
+.in +2
+.nf
+# \fBstmsboot -D mpt -d\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To disable Solaris I/O multipathing on multipath-capable fibre channel
+controller ports, enter:
+
+.sp
+.in +2
+.nf
+# \fBstmsboot -D fp -d\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fREnabling Solaris I/O Multipathing on Selected Ports
+.sp
+.LP
+To enable Solaris I/O multipathing on specific fibre channel controller ports
+and disable the feature on others, manually edit the \fB/kernel/drv/fp.conf\fR
+file. (See\fBfp\fR(7D).) The following command will update \fBvfstab\fR(4) and
+\fBdumpadm\fR(1M) configurations to reflect the changed device names:
+
+.sp
+.in +2
+.nf
+# \fBstmsboot -u\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A similar procedure involving the \fB/kernel/drv/mpt.conf\fR file should be
+followed for devices attached by means of the \fBmpt\fR(7D) driver.
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdumpadm\fR(1M), \fBfsck\fR(1M), \fBmpathadm\fR(1M), \fBufsdump\fR(1M),
+\fBzfs\fR(1M), \fBzpool\fR(1M), \fBdumpdates\fR(4), \fBvfstab\fR(4),
+\fBemlxs\fR(7D), \fBfcp\fR(7D), \fBfp\fR(7D), \fBmpt\fR(7D), \fBqlc\fR(7D),
+\fBscsi_vhci\fR(7D)
+.sp
+.LP
+\fISolaris SAN Configuration and Multipathing Guide\fR (see
+\fBhttp://docs.sun.com\fR)
+.sp
+.LP
+Consult a particular storage product's system administrator's guide and release
+notes for further information specific to that product.
+.SH NOTES
+.sp
+.LP
+Solaris I/O multipathing is not supported on all devices. After enabling
+Solaris I/O multipathing, only supported devices are placed under Solaris I/O
+multipathing control. Non-supported devices remain unchanged.
+.sp
+.LP
+For Solaris releases prior to the current release, the \fB-e\fR and \fB-d\fR
+options replace \fBmpxio-disable\fR property entries with a global
+\fBmpxio-disable\fR entry in \fBfp.conf\fR.
+.SS "Enabling Solaris I/O Multipathing on a Sun StorEdge Disk Array"
+.sp
+.LP
+The following applies to Sun StoreEdge T3, 3910, 3960, 6120, and 6320 storage
+subsystems.
+.sp
+.LP
+To place your Sun StorEdge disk subsystem under Solaris I/O multipathing
+control, in addition to enabling Solaris I/O multipathing, the \fBmp_support\fR
+of the subsystem must be set to \fBmpxio\fR mode. The preferred sequence is to
+change the subsystem's \fBmp_support\fR to \fBmpxio\fR mode, then run
+\fBstmsboot\fR \fB-e\fR. If Solaris I/O multipathing is already enabled but the
+subsystem's \fBmp_support\fR is not in \fBmpxio\fR mode, then change the
+\fBmp_support\fR to \fBmpxio\fR mode and run \fBstmsboot\fR \fB-u\fR.
+.sp
+.LP
+Refer to the \fISun StorEdge Administrator's Guide\fR for your subsystem for
+more details.
+.SS "Using \fBufsdump\fR"
+.sp
+.LP
+The \fBufsdump\fR(1M) command records details of filesystem dumps in
+\fB/etc/dumpdates\fR (see \fBdumpdates\fR(4)). Among other items, the entries
+contain device names. An effect of the "active" \fBstmsboot\fR options
+(\fB-e\fR, \fB-d\fR, and \fB-u\fR) is to change the device name of a storage
+device.
+.sp
+.LP
+Because \fBstmsboot\fR does not modify \fBdumpdates\fR, entries will refer to
+obsolete device names, that is, device names that were in effect before Solaris
+I/O multipathing configuration changes were performed. In this situation
+\fBufsdump\fR will behave as if no previous dump of the filesystem had been
+performed. A level 0 dump will be performed.
+.SS "Procedure to Use \fBstmsboot\fR in Conjunction with Sun Cluster"
+.sp
+.LP
+If possible, invoke \fBstmsboot\fR \fB-e\fR before installing Sun Cluster
+software. After executing \fBstmsboot\fR, install Sun Cluster software
+normally.
+.sp
+.LP
+If Sun Cluster software is installed before executing \fBstmsboot\fR, follow
+this procedure:
+.sp
+.LP
+On each machine in the cluster where Solaris I/O multipathing is required,
+execute:
+.sp
+.in +2
+.nf
+# \fBstmsboot -e\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...and allow the system to reboot.
+.sp
+.LP
+When the system comes up, enter the following two commands:
+.RS +4
+.TP
+1.
+# \fB/usr/cluster/bin/scdidadm -C\fR
+.RE
+.RS +4
+.TP
+2.
+# \fB/usr/cluster/bin/scdidadm -r\fR
+.sp
+The preceding commands update \fBdid\fR mappings with new device names while
+preserving \fBdid\fR instance numbers for disks that are connected to multiple
+cluster nodes. \fBdid\fR instance numbers of the local disks might not be
+preserved. For this reason, the \fBdid\fR disk names for local disks might
+change.
+.RE
+.RS +4
+.TP
+3.
+Update \fB/etc/vfstab\fR to reflect any new \fBdid\fR disk names for your
+local disks.
+.RE
+.RS +4
+.TP
+4.
+Reboot the system.
+.RE
+.sp
+.LP
+To disable the Solaris multipathing feature, use \fBstmsboot\fR \fB-d\fR
+(instead of \fBstmsboot\fR \fB-e\fR), then follow the procedure above.
+.sp
+.LP
+To view mappings between the old and new device names, run \fBstmsboot\fR
+\fB-L\fR. To view \fBdid\fR device name mappings, run
+\fB/usr/cluster/bin/scdidadm\fR \fB-L\fR.
+.sp
+.LP
+With active-passive storage arrays, it is possible that while your host is
+rebooting the array controller could failover the path that a particular target
+is using. In this scenario, \fBfsck\fR(1M) will fail to open the physical path
+listed in \fB/etc/vfstab\fR. The \fBsvc:/system/filesystem/local:default\fR SMF
+service will transition to a maintenance state as a result. To rectify this,
+consult the documentation for your storage array to failback the path. The
+\fBmpathadm\fR(1M) can assist with determining the active and passive path(s).
+.SH LIMITATIONS
+.sp
+.LP
+On x86 platforms, the current Solaris release does not support disabling
+Solaris I/O multipathing of boot devices attached by means of fibre channel.
+Solaris I/O multipathing is always enabled for supported fibre channel-attached
+boot devices. Disabling Solaris I/O multipathing in this situation must be
+performed on a per-port basis. See \fBfp\fR(7D).
+.sp
+.LP
+Executing \fBdevfsadm\fR \fB-C\fR removes obsolete device entries that
+\fBstmsboot\fR relies on. This will prevent correct operation of the \fB-d\fR
+option for boot devices (regardless of platform type) and the \fB-L\fR option.
diff --git a/usr/src/man/man1m/strace.1m b/usr/src/man/man1m/strace.1m
new file mode 100644
index 0000000000..768a8cb21c
--- /dev/null
+++ b/usr/src/man/man1m/strace.1m
@@ -0,0 +1,192 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH strace 1M "4 Oct 1994" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+strace \- print STREAMS trace messages
+.SH SYNOPSIS
+.LP
+.nf
+\fBstrace\fR [\fImid\fR \fIsid\fR \fIlevel\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBstrace\fR without arguments writes all STREAMS event trace messages from all
+drivers and modules to its standard output. These messages are obtained from
+the STREAMS log driver (see \fBlog\fR(7D)). If arguments are provided, they
+must be in triplets of the form \fImid, sid, level\fR, where \fImid\fR is a
+STREAMS module \fBID\fR number, \fIsid\fR is a sub-ID number, and \fIlevel\fR
+is a tracing priority level. Each triplet indicates that tracing messages are
+to be received from the given module/driver, sub-ID (usually indicating minor
+device), and priority level equal to, or less than the given level. The token
+\fBall\fR may be used for any member to indicate no restriction for that
+attribute.
+.sp
+.LP
+The format of each trace message output is:
+.sp
+.LP
+<\fIseq\fR> <\fBtime\fR> <\fIticks\fR> <\fIlevel\fR> <\fIflags\fR> <\fImid\fR>
+<\fIsid\fR> <\fItext\fR>
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIseq\fR>\fR
+.ad
+.RS 11n
+.rt
+trace sequence number
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fBtime\fR>\fR
+.ad
+.RS 11n
+.rt
+time of message in \fIhh:mm:ss\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIticks\fR>\fR
+.ad
+.RS 11n
+.rt
+time of message in machine ticks since boot
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIlevel\fR>\fR
+.ad
+.RS 11n
+.rt
+tracing priority level
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIflags\fR>\fR
+.ad
+.RS 11n
+.rt
+E : message is also in the error log F : indicates a fatal error N : mail was
+sent to the system administrator (hardcoded as root)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fImid\fR>\fR
+.ad
+.RS 11n
+.rt
+module \fBID\fR number of source
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIsid\fR>\fR
+.ad
+.RS 11n
+.rt
+sub-ID number of source
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fItext\fR>\fR
+.ad
+.RS 11n
+.rt
+formatted text of the trace message
+.RE
+
+.sp
+.LP
+Once initiated, \fBstrace\fR will continue to execute until terminated by the
+user.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRA sample output of the \fBstrace\fR command:
+.sp
+.LP
+The following example outputs all trace messages from the module or driver
+whose module \fBID\fR is \fB41\fR:
+
+.sp
+.in +2
+.nf
+\fBstrace 41 all all\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following example outputs those trace messages from driver or module
+\fBID\fR \fB41\fR with sub-IDs \fB0\fR, \fB1\fR, or \fB2\fR:
+
+.sp
+.in +2
+.nf
+\fBstrace 41 0 1 41 1 1 41 2 0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Messages from sub-IDs \fB0\fR and \fB1\fR must have a tracing level less
+than or equal to \fB1\fR. Those from sub-ID \fB2\fR must have a tracing level
+of \fB0\fR.
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBlog\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.RS +4
+.TP
+.ie t \(bu
+.el o
+There is no restriction to the number of \fBstrace\fR processes opening the
+\fBSTREAMS\fR log driver at a time.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The log-driver records the list of the triplets specified in the command
+invocation, and compares each potential trace message against this list to
+decide if it should be formatted and sent up to the \fBstrace\fR process.
+Hence, long lists of triplets will have a greater impact on overall STREAMS
+performance. Running \fBstrace\fR will have the most impact on the timing of
+the modules and drivers generating the trace messages that are sent to the
+\fBstrace\fR process. If trace messages are generated faster than the
+\fBstrace\fR process can handle them, some of the messages will be lost. This
+last case can be determined by examining the sequence numbers on the trace
+messages output.
+.RE
diff --git a/usr/src/man/man1m/strclean.1m b/usr/src/man/man1m/strclean.1m
new file mode 100644
index 0000000000..3f5aca4c95
--- /dev/null
+++ b/usr/src/man/man1m/strclean.1m
@@ -0,0 +1,79 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH strclean 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+strclean \- STREAMS error logger cleanup program
+.SH SYNOPSIS
+.LP
+.nf
+\fBstrclean\fR [\fB-a\fR \fIage\fR] [\fB-d\fR \fIlogdir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBstrclean\fR is used to clean up the STREAMS error logger directory on a
+regular basis (for example, by using \fBcron\fR. By default, all files with
+names matching \fBerror.*\fR in \fB/var/adm/streams\fR that have not been
+modified in the last three days are removed.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIage\fR\fR
+.ad
+.RS 13n
+.rt
+The maximum age in days for a log file can be changed using the \fB-a\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIlogdir\fR\fR
+.ad
+.RS 13n
+.rt
+A directory other than \fB/var/adm/streams\fR can be specified using the
+\fB-d\fR option.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRA sample of using the \fBstrclean\fR command.
+.sp
+.LP
+This example has the same result as running \fBstrclean\fR with no arguments:
+
+.sp
+.in +2
+.nf
+example% \fBstrclean \fR\fB-d\fR\fB /var/adm/streams \fR\fB-a\fR\fB 3\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.LP
+\fB/var/adm/streams/error.\fR*
+.SH SEE ALSO
+.sp
+.LP
+\fBcron\fR(1M), \fBstrerr\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+\fBstrclean\fR is typically run from \fBcron\fR on a daily or weekly basis.
diff --git a/usr/src/man/man1m/strerr.1m b/usr/src/man/man1m/strerr.1m
new file mode 100644
index 0000000000..478bc3d820
--- /dev/null
+++ b/usr/src/man/man1m/strerr.1m
@@ -0,0 +1,152 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH strerr 1M "4 Oct 1994" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+strerr \- STREAMS error logger daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fBstrerr\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBstrerr\fR receives error log messages from the STREAMS-based log driver (see
+\fBlog\fR(7D)) and appends them to a log file. The resultant error log files
+reside in the directory \fB/var/adm/streams\fR, and are named
+\fBerror.\fR\fImm\fR\fB-\fR\fBdd\fR, where \fImm\fR is the month and \fBdd\fR
+is the day of the messages contained in each log file.
+.sp
+.LP
+The format of an error log message is:
+.sp
+.LP
+<\fIseq\fR> <\fBtime\fR> <\fIticks\fR> <\fIflags\fR> <\fImid\fR> <\fIsid\fR>
+<\fItext\fR>
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIseq\fR>\fR
+.ad
+.RS 11n
+.rt
+error sequence number
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fBtime\fR>\fR
+.ad
+.RS 11n
+.rt
+time of message in hh:mm:ss
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIticks\fR>\fR
+.ad
+.RS 11n
+.rt
+time of message in machine ticks since boot priority level
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIflags\fR>\fR
+.ad
+.RS 11n
+.rt
+\fBT\fR : the message was also sent to a tracing process \fBF\fR : indicates a
+fatal error \fBN\fR : send mail to the system administrator (hardcoded as root)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fImid\fR>\fR
+.ad
+.RS 11n
+.rt
+module \fBID\fR number of source
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fIsid\fR>\fR
+.ad
+.RS 11n
+.rt
+sub-ID number of source
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB<\fItext\fR>\fR
+.ad
+.RS 11n
+.rt
+formatted text of the error message
+.RE
+
+.sp
+.LP
+Messages that appear in the error log are intended to report exceptional
+conditions that require the attention of the system administrator. Those
+messages which indicate the total failure of a STREAMS-based driver or module
+should have the \fBF\fR flag set. Those messages requiring the immediate
+attention of the administrator will have the \fBN\fR flag set, which causes the
+error logger to send the message to the system administrator using \fBmail\fR.
+The priority level usually has no meaning in the error log but will have
+meaning if the message is also sent to a tracer process.
+.sp
+.LP
+Once initiated, \fBstrerr\fR continues to execute until terminated by the user.
+It is commonly executed asynchronously.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/streams/error.\fR\fImm\fR\fB-\fR\fBdd\fR\fR
+.ad
+.sp .6
+.RS 4n
+error log file.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBlog\fR(7D)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+There is no restriction to the number of \fBstrerr\fR processes opening the
+\fBSTREAMS\fR-based log driver at a time.
+.sp
+.LP
+If a module or driver is generating a large number of error messages, running
+the error logger will cause a degradation in STREAMS performance. If a large
+burst of messages are generated in a short time, the log driver may not be able
+to deliver some of the messages. This situation is indicated by gaps in the
+sequence numbering of the messages in the log files.
diff --git a/usr/src/man/man1m/sttydefs.1m b/usr/src/man/man1m/sttydefs.1m
new file mode 100644
index 0000000000..fbd98f86c7
--- /dev/null
+++ b/usr/src/man/man1m/sttydefs.1m
@@ -0,0 +1,206 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sttydefs 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sttydefs \- maintain line settings and hunt sequences for TTY ports
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/sttydefs\fR \fB-a\fR \fIttylabel\fR [\fB-b\fR] [\fB-f\fR \fIfinal-flags\fR]
+ [\fB-i\fR \fIinitial-flags\fR] [\fB-n\fR \fInextlabel\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/sttydefs\fR \fB-l\fR [\fIttylabel\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/sttydefs\fR \fB-r\fR \fIttylabel\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsttydefs\fR is an administrative command that maintains the line settings
+and hunt sequences for the system's TTY ports by making entries in, and
+deleting entries from the \fB/etc/ttydefs\fR file.
+.sp
+.LP
+\fBsttydefs\fR with a \fB-a\fR or \fB-r\fR option may be invoked only by the
+super-user. \fBsttydefs\fR with \fB-l\fR may be invoked by any user on the
+system.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIttylabel\fR\fR
+.ad
+.RS 20n
+.rt
+Add a record to the \fBttydefs\fR file, using \fIttylabel\fR as its label. The
+following describes the effect of the \fB-b\fR, \fB-n\fR, \fB-i\fR, or \fB-f\fR
+options when used in conjunction with the \fB-a\fR option:
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 20n
+.rt
+Enable autobaud. Autobaud allows the system to set the line speed of a given
+TTY port to the line speed of the device connected to the port without the
+user's intervention.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfinal-flags\fR\fR
+.ad
+.RS 20n
+.rt
+Specify the value to be used in the \fIfinal-flags\fR field in
+\fB/etc/ttydefs\fR. \fIfinal-flags\fR must be in a format recognized by the
+\fBstty\fR command. \fIfinal-flags\fR are the \fBtermio\fR(7I) settings used by
+\fBttymon\fR after receiving a successful connection request and immediately
+before invoking the service on the port. If this option is not specified,
+\fBsttydefs\fR will set \fIfinal-flags\fR equal to the \fBtermio\fR(7I) flags
+\fB9600\fR and \fBsane\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinitial-flags\fR\fR
+.ad
+.RS 20n
+.rt
+Specify the value to be used in the \fIinitial-flags\fR field in
+\fB/etc/ttydefs\fR. \fIinitial-flags\fR must be in a format recognized by the
+\fBstty\fR command. These flags are used by \fBttymon\fR when searching for the
+correct baud rate. They are set prior to writing the prompt. If this option is
+not specified, \fBsttydefs\fR will set \fIinitial-flags\fR equal to the
+\fBtermio\fR(7I) flag \fB9600\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fInextlabel\fR\fR
+.ad
+.RS 20n
+.rt
+Specify the value to be used in the \fInextlabel\fR field in
+\fB/etc/ttydefs\fR. If this option is not specified, \fBsttydefs\fR will set
+\fInextlabel\fR equal to \fIttylabel\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR[\fIttylabel\fR]\fR
+.ad
+.RS 20n
+.rt
+If a \fIttylabel\fR is specified, \fBsttydefs\fR displays the record from
+\fB/etc/ttydefs\fR whose TTY label matches the specified \fIttylabel\fR. If no
+\fIttylabel\fR is specified, \fBsttydefs\fR displays the entire contents of
+\fB/etc/ttydefs\fR. \fBsttydefs\fR verifies that each entry it displays is
+correct and that the entry's \fInextlabel\fR field references an existing
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIttylabel\fR\fR
+.ad
+.RS 20n
+.rt
+Remove any record in the \fBttydefs\fR file that has \fIttylabel\fR as its
+label.
+.RE
+
+.SH OUTPUT
+.sp
+.LP
+If successful, \fBsttydefs\fR will exit with a status of \fB0\fR.
+\fBsttydefs\fR \fB-l\fR will generate the requested information and send it to
+standard output.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRA sample of \fBsttydefs\fR command.
+.sp
+.LP
+The following command lists all the entries in the \fBttydefs\fR file and
+prints an error message for each invalid entry that is detected.
+
+.sp
+.in +2
+.nf
+example# \fBsttydefs\fR \fB-l\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following shows a command that requests information for a single label and
+its output:
+
+.sp
+.in +2
+.nf
+example# \fBsttydefs\fR \fB-l\fR 9600
+------------------------------------------------------------------
+9600:9600 hupcl erase ^h:9600 sane ixany tab3 hupcl erase ^h::4800
+------------------------------------------------------------------
+ttylabel: 9600
+initial flags: 9600 hupcl erase ^h
+final flags: 9600 sane ixany tab3 hupcl erase ^h
+autobaud: no
+nextlabel: 4800
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following sequence of commands will add the labels \fB1200\fR, \fB2400\fR,
+\fB4800\fR, and \fB9600\fR and put them in a circular list:
+
+.sp
+.in +2
+.nf
+sttydefs \fB-a\fR 1200 \fB-n\fR 2400 \fB-i\fR 1200 \fB-f\fR "1200 sane"
+sttydefs \fB-a\fR 2400 \fB-n\fR 4800 \fB-i\fR 2400 \fB-f\fR "2400 sane"
+sttydefs \fB-a\fR 4800 \fB-n\fR 9600 \fB-i\fR 4800 \fB-f\fR "4800 sane"
+sttydefs \fB-a\fR 9600 \fB-n\fR 1200 \fB-i\fR 9600 \fB-f\fR "9600 sane"
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.LP
+\fB/etc/ttydefs\fR
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBtermio\fR(7I)
diff --git a/usr/src/man/man1m/su.1m b/usr/src/man/man1m/su.1m
new file mode 100644
index 0000000000..f9f97cd931
--- /dev/null
+++ b/usr/src/man/man1m/su.1m
@@ -0,0 +1,327 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2004, Sun Microsystems, Inc.
+.\" All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH su 1M "26 Feb 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+su \- become superuser or another user
+.SH SYNOPSIS
+.LP
+.nf
+\fBsu\fR [\fB-\fR] [\fIusername\fR [arg...]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsu\fR command allows one to become another user without logging off or
+to assume a role. The default user \fIname\fR is \fBroot\fR (superuser).
+.sp
+.LP
+To use \fBsu\fR, the appropriate password must be supplied (unless the invoker
+is already \fBroot\fR). If the password is correct, \fBsu\fR creates a new
+shell process that has the real and effective user \fBID,\fR group \fBIDs,\fR
+and supplementary group list set to those of the specified \fIusername\fR.
+Additionally, the new shell's project ID is set to the default project ID of
+the specified user. See \fBgetdefaultproj\fR(3PROJECT),
+\fBsetproject\fR(3PROJECT). The new shell will be the shell specified in the
+shell field of \fIusername\fR's password file entry (see \fBpasswd\fR(4)). If
+no shell is specified, \fB/usr/bin/sh\fR is used (see \fBsh\fR(1)). If
+superuser privilege is requested and the shell for the superuser cannot be
+invoked using \fBexec\fR(2), \fB/sbin/sh\fR is used as a fallback. To return to
+normal user \fBID\fR privileges, type an \fBEOF\fR character (CTRL-D) to exit
+the new shell.
+.sp
+.LP
+Any additional arguments given on the command line are passed to the new shell.
+When using programs such as \fBsh\fR, an \fIarg\fR of the form \fB-c\fR\fI
+string\fR executes \fIstring\fR using the shell and an \fIarg\fR of \fB-r\fR
+gives the user a restricted shell.
+.sp
+.LP
+To create a login environment, the command \fB"su -"\fR does the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+In addition to what is already propagated, the \fBLC*\fR and \fBLANG\fR
+environment variables from the specified user's environment are also
+propagated.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Propagate \fBTZ\fR from the user's environment. If \fBTZ\fR is not found in the
+user's environment, \fBsu\fR uses the \fBTZ\fR value from the \fBTIMEZONE\fR
+parameter found in \fB/etc/default/login\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Set \fBMAIL\fR to \fB/var/mail/\fInew_user\fR\fR.
+.RE
+.sp
+.LP
+If the first argument to \fBsu\fR is a dash (-), the environment will be
+changed to what would be expected if the user actually logged in as the
+specified user. Otherwise, the environment is passed along, with the exception
+of \fB$\fR\fBPATH\fR\fB, \fR which is controlled by \fBPATH\fR and
+\fBSU\fR\fBPATH\fR in \fB/etc/default/su\fR.
+.sp
+.LP
+All attempts to become another user using \fBsu\fR are logged in the log file
+\fB/var/adm/sulog\fR (see \fBsulog\fR(4)).
+.SH SECURITY
+.sp
+.LP
+\fBsu\fR uses \fBpam\fR(3PAM) with the service name \fBsu\fR for
+authentication, account management, and credential establishment.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRBecoming User \fBbin\fR While Retaining Your Previously
+Exported Environment
+.sp
+.LP
+To become user \fBbin\fR while retaining your previously exported environment,
+execute:
+
+.sp
+.in +2
+.nf
+example% \fBsu bin\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRBecoming User \fBbin\fR and Changing to \fBbin\fR's Login
+Environment
+.sp
+.LP
+To become user \fBbin\fR but change the environment to what would be expected
+if \fBbin\fR had originally logged in, execute:
+
+.sp
+.in +2
+.nf
+example% \fBsu - bin\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRExecuting command with user \fBbin\fR's Environment and
+Permissions
+.sp
+.LP
+To execute command with the temporary environment and permissions of user
+\fBbin\fR, type:
+
+.sp
+.in +2
+.nf
+example% \fBsu - bin -c "\fIcommand args\fR"\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+Variables with \fBLD_\fR prefix are removed for security reasons. Thus, \fBsu
+bin\fR will not retain previously exported variables with \fBLD_\fR prefix
+while becoming user \fBbin\fR.
+.sp
+.LP
+If any of the \fBLC_*\fR variables ( \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR,
+\fBLC_TIME\fR, \fBLC_COLLATE\fR, \fBLC_NUMERIC\fR, and \fBLC_MONETARY\fR) (see
+\fBenviron\fR(5)) are not set in the environment, the operational behavior of
+\fBsu\fR for each corresponding locale category is determined by the value of
+the \fBLANG\fR environment variable. If \fBLC_ALL\fR is set, its contents are
+used to override both the \fBLANG\fR and the other \fBLC_*\fR variables. If
+none of the above variables are set in the environment, the "C" (U.S. style)
+locale determines how \fBsu\fR behaves.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_CTYPE\fR\fR
+.ad
+.RS 15n
+.rt
+Determines how \fBsu\fR handles characters. When \fBLC_CTYPE\fR is set to a
+valid value, \fBsu\fR can display and handle text and filenames containing
+valid characters for that locale. \fBsu\fR can display and handle Extended Unix
+Code (\fBEUC\fR) characters where any individual character can be \fB1\fR,
+\fB2\fR, or \fB3\fR bytes wide. \fBsu\fR can also handle \fBEUC\fR characters
+of \fB1\fR, \fB2\fR, or more column widths. In the "C" locale, only characters
+from ISO 8859-1 are valid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_MESSAGES\fR\fR
+.ad
+.RS 15n
+.rt
+Determines how diagnostic and informative messages are presented. This includes
+the language and style of the messages, and the correct form of affirmative and
+negative responses. In the "C" locale, the messages are presented in the
+default form found in the program itself (in most cases, U.S. English).
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$\fR\fBHOME\fR\fB/.profile\fR\fR
+.ad
+.RS 22n
+.rt
+user's login commands for \fBsh\fR and \fBksh\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 22n
+.rt
+system's password file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/profile\fR\fR
+.ad
+.RS 22n
+.rt
+system-wide \fBsh\fR and \fBksh\fR login commands
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/sulog\fR\fR
+.ad
+.RS 22n
+.rt
+log file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/su\fR\fR
+.ad
+.RS 22n
+.rt
+the default parameters in this file are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSULOG\fR\fR
+.ad
+.RS 11n
+.rt
+If defined, all attempts to \fBsu\fR to another user are logged in the
+indicated file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCONSOLE\fR\fR
+.ad
+.RS 11n
+.rt
+If defined, all attempts to \fBsu\fR to \fBroot\fR are logged on the console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPATH\fR\fR
+.ad
+.RS 11n
+.rt
+Default path. (\fB/usr/bin:\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSU\fR\fBPATH\fR\fR
+.ad
+.RS 11n
+.rt
+Default path for a user invoking \fBsu\fR to \fBroot\fR.
+(\fB/usr/sbin:/usr/bin\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSYSLOG\fR\fR
+.ad
+.RS 11n
+.rt
+Determines whether the \fBsyslog\fR(3C) \fBLOG_AUTH\fR facility should be used
+to log all \fBsu\fR attempts. \fBLOG_NOTICE\fR messages are generated for
+\fBsu\fR's to root, \fBLOG_INFO\fR messages are generated for \fBsu\fR's to
+other users, and \fBLOG_CRIT\fR messages are generated for failed \fBsu\fR
+attempts.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/login\fR\fR
+.ad
+.RS 22n
+.rt
+the default parameters in this file are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTIMEZONE\fR\fR
+.ad
+.RS 12n
+.rt
+Sets the TZ environment variable of the shell.
+.RE
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcsh\fR(1), \fBenv\fR(1), \fBksh\fR(1), \fBlogin\fR(1), \fBroles\fR(1),
+\fBsh\fR(1), \fBsyslogd\fR(1M), \fBexec\fR(2), \fBgetdefaultproj\fR(3PROJECT),
+\fBsetproject\fR(3PROJECT), \fBpam\fR(3PAM), \fBpam_authenticate\fR(3PAM),
+\fBpam_acct_mgmt\fR(3PAM), \fBpam_setcred\fR(3PAM), \fBpam.conf\fR(4),
+\fBpasswd\fR(4), \fBprofile\fR(4), \fBsulog\fR(4), \fBsyslog\fR(3C),
+\fBattributes\fR(5), \fBenviron\fR(5)
diff --git a/usr/src/man/man1m/sulogin.1m b/usr/src/man/man1m/sulogin.1m
new file mode 100644
index 0000000000..2e307efb15
--- /dev/null
+++ b/usr/src/man/man1m/sulogin.1m
@@ -0,0 +1,95 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sulogin 1M "21 Aug 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sulogin \- access single-user mode
+.SH SYNOPSIS
+.LP
+.nf
+\fBsulogin\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsulogin\fR utility is automatically invoked by \fBinit\fR when the
+system is first started. It prompts the user to type a user name and password
+to enter system maintenance mode (single-user mode) or to type \fBEOF\fR
+(typically CTRL-D) for normal startup (multi-user mode). The user should never
+directly invoke \fBsulogin\fR. The user must have the
+\fBsolaris.system.maintenance\fR authorization.
+.sp
+.LP
+The \fBsulogin\fR utility can prompt the user to enter the root password on a
+variable number of serial console devices, in addition to the traditional
+console device. See \fBconsadm\fR(1M) and \fBmsglog\fR(7D) for a description of
+how to configure a serial device to display the single-user login prompt.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/sulogin\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default value can be set for the following flag:
+.sp
+.ne 2
+.mk
+.na
+\fBPASSREQ\fR
+.ad
+.sp .6
+.RS 4n
+Determines if login requires a password. Default is \fBPASSREQ=YES\fR.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/login\fR\fR
+.ad
+.sp .6
+.RS 4n
+Default value can be set for the following flag:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSLEEPTIME\fR\fR
+.ad
+.sp .6
+.RS 4n
+If present, sets the number of seconds to wait before login failure is printed
+to the screen and another login attempt is allowed. Default is \fB4\fR seconds.
+Minimum is \fB0\fR seconds. Maximum is \fB5\fR seconds.
+.sp
+Both \fBsu\fR(1M) and \fBlogin\fR(1) are affected by the value of
+\fBSLEEPTIME\fR.
+.RE
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBauths\fR(1), \fBlogin\fR(1), \fBconsadm\fR(1M), \fBinit\fR(1M),
+\fBsu\fR(1M), \fBattributes\fR(5), \fBmsglog\fR(7D)
+.SH NOTES
+.sp
+.LP
+By default, the root user has all authorizations.
+.sp
+.LP
+Granting the \fBsolaris.system.maintenance\fR authorization to the Console User
+Rights Profile may have an undesirable side effect of granting the currently
+logged in user maintenance mode access. The \fBsolaris.system.maintenance\fR
+authorization should be directly granted to appropriate users rather than
+through the Console User Rights Profile.
diff --git a/usr/src/man/man1m/svadm.1m b/usr/src/man/man1m/svadm.1m
new file mode 100644
index 0000000000..4beef2017f
--- /dev/null
+++ b/usr/src/man/man1m/svadm.1m
@@ -0,0 +1,195 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH svadm 1M "2 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+svadm \- command line interface to control Availability Suite Storage Volume
+operations
+.SH SYNOPSIS
+.LP
+.nf
+\fBsvadm\fR \fB-h\fR
+.fi
+
+.LP
+.nf
+\fBsvadm\fR \fB-v\fR
+.fi
+
+.LP
+.nf
+\fBsvadm\fR [\fB-C\fR \fItag\fR]
+.fi
+
+.LP
+.nf
+\fBsvadm\fR [\fB-C\fR \fItag\fR] \fB-i\fR
+.fi
+
+.LP
+.nf
+\fBsvadm\fR [\fB-C\fR \fItag\fR] \fB-e\fR {\fB-f\fR \fIconfig_file\fR | volume}
+.fi
+
+.LP
+.nf
+\fBsvadm\fR [\fB-C\fR \fItag\fR] \fB-d\fR {\fB-f\fR \fIconfig_file\fR | volume}
+.fi
+
+.LP
+.nf
+\fBsvadm\fR [\fB-C\fR \fItag\fR] \fB-r\fR {\fB-f\fR \fIconfig_file\fR | volume}
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsvadm\fR command controls the Storage Volume (SV) driver by providing
+facilities to enable and disable the SV driver for specified volumes, and to
+dynamically reconfigure the system.
+.SH OPTIONS
+.sp
+.LP
+If you specify no arguments to an \fBsvadm\fR command, the utility displays the
+list of volumes currently under SV control. \fBsvadm\fR supports the following
+options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fItag\fR\fR
+.ad
+.sp .6
+.RS 4n
+On a clustered node, limits operations to only those volumes belonging to the
+cluster resource group, or disk group name, specified by tag. This option is
+illegal on a system that is not clustered. The special \fItag\fR, \fBlocal\fR,
+can be used to limit operations to only those volumes that cannot switch over
+to other nodes in the cluster.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disables the SV devices specified on the command line or in the configuration
+file. If \fB-C\fR tag is specified with this option, then the volume should be
+in this cluster disk group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enables the SV devices specified on the command line or in the configuration
+file. Details of the volume are saved in the current configuration. See
+\fBdscfg\fR(1M). If \fB-C\fR tag is specified with this option, then the volume
+should be in this cluster disk group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIconfig_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a configuration file that contains a list of volumes. A command reads
+this volume list and then perform the operation. The format of the
+\fIconfig_file\fR is a simple list of volume pathnames, one per line. Blank
+lines and lines starting with the comment character (#) are ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the \fBsvadm\fR usage summary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays extended status for the volumes currently under SV control.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+When a \fIconfig_file\fR is specified, reconfigure the running system to match
+the configuration specified in the \fIconfig_file\fR. When the \fB-C\fR option
+is specified, compare the cluster tag for each volume and change it to
+\fIcluster_tag\fR. If a volume is specified with this option, it is valid only
+to reconfigure the cluster tag associated with the volume. The \fB-e\fR or
+\fB-d\fR options should be used to enable or disable single volumes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the SV version number.
+.RE
+
+.SH USAGE
+.sp
+.LP
+When an SV volume is enabled, normal system call access to the device (see
+\fBintro\fR(2)) is redirected into the StoreEdge architecture software. This
+allows standard applications to use StorageTek features such as Sun StorageTek
+Point-in-Time Copy and Remote Mirror Software.
+.sp
+.LP
+The \fBsvadm\fR command generates an entry in the Availability Suite log file,
+\fB/var/adm/ds.log\fR (see \fBds.log\fR(4)), when performing enable (\fB-e\fR)
+and disable (\fB-d\fR) operations.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdscfg\fR(1M), \fBds.log\fR(4), \fBattributes\fR(5), \fBsv\fR(7D)
diff --git a/usr/src/man/man1m/svc.configd.1m b/usr/src/man/man1m/svc.configd.1m
new file mode 100644
index 0000000000..88264eeba1
--- /dev/null
+++ b/usr/src/man/man1m/svc.configd.1m
@@ -0,0 +1,30 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH svc.configd 1M "27 Oct 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+svc.configd \- Service Management Facility repository daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/lib/svc/bin/svc.configd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsvc.configd\fR is the repository daemon for the Service Management Facility.
+\fBsvc.configd\fR is invoked automatically during system startup, and restarted
+if any failures occur. \fBsvc.configd\fR should never be invoked directly.
+.sp
+.LP
+Interaction with \fBsvc.configd\fR is by way of \fBlibscf\fR(3LIB) and the
+command line tools:\fBsvcs\fR(1), \fBsvcprop\fR(1), \fBsvcadm\fR(1M), and
+\fBsvccfg\fR(1M).
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcprop\fR(1), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
+\fBlibscf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/svc.ipfd.1m b/usr/src/man/man1m/svc.ipfd.1m
new file mode 100644
index 0000000000..df2cb194ac
--- /dev/null
+++ b/usr/src/man/man1m/svc.ipfd.1m
@@ -0,0 +1,535 @@
+'\" te
+.\" To view license terms, attribution, and copyright for IP Filter, the default path is /usr/lib/ipf/IPFILTER.LICENCE. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed
+.\" location.
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.TH svc.ipfd 1M "13 Jan 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+svc.ipfd \- IP Filter firewall monitoring daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/lib/svc/bin/svc.ipfd\fR
+.fi
+
+.LP
+.nf
+\fBsvc:/network/ipfilter:default\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsvc.ipfd\fR daemon monitors actions on services that use firewall
+configuration and initiates update services' IP Filter configuration. The
+daemon allows the system to react to changes in system's firewall configuration
+in an incremental fashion, at a per-service level.
+.sp
+.LP
+A service's firewall policy is activated when it is enabled, deactivated when
+it is disabled, and updated when its configuration property group is modified.
+\fBsvc.ipfd\fR monitors the services management facility (SMF) repository for
+these actions and invokes the IP Filter rule-generation process to carry out
+the service's firewall policy.
+.sp
+.LP
+This daemon is started by the \fBnetwork/ipfilter\fR service either through the
+\fBstart\fR or \fBrefresh\fR method. Thus, the daemon inherits the environment
+variables and credentials from the method and runs as root with all zone
+privileges.
+.SS "Firewall Static Configuration"
+.sp
+.LP
+A static definition describes a service's network resource configuration that
+is used to generate service-specific IPF rules. The per-service
+\fBfirewall_context\fR property group contains a service's static definition,
+similar to the \fBinetd\fR property group in \fBinetd\fR managed services. This
+property group supports:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_context/name\fR\fR
+.ad
+.sp .6
+.RS 4n
+For non-\fBinetd\fR services. The IANA name or RPC name, equivalent to the
+\fBinetd/name\fR property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_context/isrpc\fR\fR
+.ad
+.sp .6
+.RS 4n
+For non-\fBinetd\fR services. A boolean property where a \fBtrue\fR value
+indicates an RPC service, equivalent to the \fBinetd/isrpc\fR property. For RPC
+services, the value of \fBfirewall_context/name\fR is not an IANA name but is
+either an RPC program number or name. See \fBrpc\fR(4).
+.RE
+
+.sp
+.LP
+Additionally, some services may require a mechanism to generate and supply
+their own IPF rules. An optional property \fBipf_method\fR, provides a
+mechanism to allow such custom rule generation:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_context/ipf_method\fR\fR
+.ad
+.sp .6
+.RS 4n
+A command. Normally a script that generates IPF rules for a service. The
+framework does not generate rules for services with this property definition.
+Rather, the framework expects these services to provide their own rules.
+.RE
+
+.sp
+.LP
+A service's \fBipf_method\fR specifies a command that takes an additional
+argument, its own fault management resource identifier (FMRI), and generates
+the service's firewall rules and outputs those rules to stdout. To generate
+rules for a service with the \fBipf_method\fR property, the framework execs the
+command specified in \fBipf_method\fR, passing the service FMRI as the
+additional argument, and stores the rules for that service by redirecting the
+command output, the rules, to the service's rule file. Because an
+\fBipf_method\fR is \fBexec\fR'ed from the context of either the
+\fBnetwork/ipfilter\fR \fBstart\fR or \fBrefresh\fR method process, it inherits
+the execution context and runs as root.
+.sp
+.LP
+The service static configuration is delivered by the service developer and not
+intended to be modified by users. These properties are only modified upon
+installation of an updated service definition.
+.SS "Firewall Policy Configuration"
+.sp
+.LP
+A per-service property group, \fBfirewall_config\fR, stores the services'
+firewall policy configuration. Because \fBnetwork/ipfilter:default\fR is
+responsible for two firewall policies, the Global Default and Global Override
+system-wide policies (as explained in \fBipfilter\fR(5)), it has two property
+groups, \fBfirewall_config_default\fR and \fBfirewall_config_override\fR, to
+store the respective system-wide policies.
+.sp
+.LP
+Below are the properties, their possible values, and corresponding semantics:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBpolicy\fR has the following modes:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnone\fR policy mode\fR
+.ad
+.sp .6
+.RS 4n
+No access restriction. For a global policy, this mode allows all incoming
+traffic. For a service policy, this mode allows all incoming traffic to its
+service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdeny\fR policy mode\fR
+.ad
+.sp .6
+.RS 4n
+More restrictive than \fBnone\fR. This mode allows incoming traffic from all
+sources except those specified in the \fBapply_to\fR property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBallow\fR policy mode\fR
+.ad
+.sp .6
+.RS 4n
+Most restrictive mode. This mode blocks incoming traffic from all sources
+except those specified in the \fBapply_to\fR property.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBapply_to\fR\fR
+.ad
+.sp .6
+.RS 4n
+A multi-value property listing network entities to enforce the chosen policy
+mode. Entities listed in \fBapply_to\fR property will be denied if policy is
+\fBdeny\fR and allowed if policy is \fBallow\fR. The syntax for possible values
+are:
+.sp
+.in +2
+.nf
+host: host:\fIIP\fR "host:192.168.84.14"
+subnet: network:\fIIP/netmask\fR "network:129.168.1.5/24"
+ippool: pool:\fIpool number\fR "pool:77"
+interface: if:\fIinterface_name\fR "if:e1000g0"
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexceptions\fR\fR
+.ad
+.sp .6
+.RS 4n
+A multi-value property listing network entities to be excluded from the
+\fBapply_to\fR list. For example, when \fBdeny\fR policy is applied to a
+subnet, exceptions can be made to some hosts in that subnet by specifying them
+in the \fBexceptions\fR property. This property has the same value syntax as
+\fBapply_to\fR property.
+.RE
+
+.sp
+.LP
+For individual network services only:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_config/policy\fR\fR
+.ad
+.sp .6
+.RS 4n
+A service's policy can also be set to \fBuse_global\fR. Services with
+\fBuse_global\fR policy mode inherits the Global Default firewall policy.
+.RE
+
+.sp
+.LP
+For the Global Default only:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_config_default/policy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Global Default policy, \fBfirewall_config\fR property group in
+\fBsvc:/network/ipfilter:default\fR, can also be set to \fBcustom\fR. Users can
+set \fBpolicy\fR to \fBcustom\fR to use prepopulated IP Filter configuration,
+for example, an existing IP Filter configuration or custom configurations that
+cannot be provided by the framework. This Global Default-only policy mode
+allows users to supply a text file containing the complete set of IPF rules.
+When \fBcustom\fR mode is selected, the specified set of IPF rules is
+\fBcomplete\fR and the framework will not generate IPF rules from configured
+firewall policies.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_config_default/custom_policy_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+A file path to be used when Global Default policy is set to \fBcustom\fR. The
+file contains a set of IPF rules that provide the desired IP Filter
+configuration. For example, users with existing IPF rules in
+\fB/etc/ipf/ipf.conf\fR can execute the following commands to use the existing
+rules:
+.RS +4
+.TP
+1.
+Set custom policy:
+.sp
+.in +2
+.nf
+# \fBsvccfg -s ipfilter:default setprop \e
+firewall_config_default/policy = astring: "custom"\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+2.
+Specify custom file:
+.sp
+.in +2
+.nf
+# \fBsvccfg -s ipfilter:default setprop \e
+firewall_config_default/custom_policy_file = astring: \e\fR
+\fB"/etc/ipf/ipf.conf"\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+3.
+Refresh configuration:
+.sp
+.in +2
+.nf
+# \fBsvcadm refresh ipfilter:default\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_config_default/open_ports\fR\fR
+.ad
+.sp .6
+.RS 4n
+Non-service program requiring allowance of its incoming traffic can request
+that the firewall allow traffic to its communication ports. This multi-value
+property contains protocol and port(s) tuple in the form:
+.sp
+.in +2
+.nf
+"{tcp | udp}:{\fIPORT\fR | \fIPORT\fR-\fIPORT\fR}"
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.LP
+Initially, the system-wide policies are set to \fBnone\fR and network services'
+policies are set to \fBuse_global\fR. Enabling \fBnetwork/ipfilter\fR activates
+the firewall with an empty set of IP Filter rules, since system-wide policy is
+\fBnone\fR and all services inherit that policy. To configure a more
+restrictive policy, use \fBsvccfg\fR(1M) to modify network services and
+system-wide policies.
+.sp
+.LP
+A user configures firewall policy by modifying the service's
+\fBfirewall_config\fR property group. A new authorization,
+\fBsolaris.smf.value.firewall.config\fR, is created to allow delegation of the
+firewall administration privilege to users. Users with Service Operator
+privileges will need this new authorization to be able to configure firewall
+policy.
+.SS "Firewall Availability"
+.sp
+.LP
+During boot, a firewall is configured for enabled services prior to the
+starting of those services. Thus, services are protected on boot. While the
+system is running, administrative actions such as service restarting, enabling,
+and refreshing may cause a brief service vulnerability during which the service
+runs while its firewall is being configured.
+.sp
+.LP
+\fBsvc.ipfd\fR monitors a service's start and stop events and configures or
+unconfigures a service's firewall at the same time that SMF is starting or
+stopping the service. Because the two operations are simultaneous, there is a
+possible window of exposure (less than a second) if the service is started
+before its firewall configuration completed. RPC services typically listen on
+ephemeral addresses, which are not known until the services are actually
+running. Thus RPC services are subjected to similar exposure since their
+firewalls are not configured until the services are running.
+.SS "Developer Documentation"
+.sp
+.LP
+Services providing remote capabilities are encouraged to participate in the
+firewall framework to control network access to the service. While framework
+integration is not mandatory, remote access to services that are not integrated
+in the framework may not function correctly when a system-wide policy is
+configured.
+.sp
+.LP
+Integrating a service into the framework is as straightforward as defining two
+additional property groups and their corresponding properties in the service
+manifest. IP Filter rules are generated when a user enables the service. In the
+non-trivial case of custom rule generation, where a shell script is required,
+there are existing scripts that can be used as examples.
+.sp
+.LP
+The additional property groups, \fBfirewall_config\fR and
+\fBfirewall_context\fR, stores firewall policy configuration and provides
+static firewall definition, respectively. Below is a summary of new property
+groups and properties and their appropriate default values.
+.sp
+.LP
+Firewall policy configuration:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_config\fR\fR
+.ad
+.sp .6
+.RS 4n
+Access to the system is protected by a new authorization definition and a
+user-defined property type. The new authorization should be assigned to the
+property group \fBvalue_authorization\fR property in a way such as:
+.sp
+.in +2
+.nf
+<propval name='value_authorization' type='astring'
+value='solaris.smf.value.firewall.config' />
+.fi
+.in -2
+.sp
+
+A third party should follow the service symbol namespace convention to generate
+a user-defined type. Sun-delivered services can use
+\fBcom.sun,fw_configuration\fR as the property type.
+.sp
+See "Firewall Policy Configuration," above, for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_config/policy\fR\fR
+.ad
+.sp .6
+.RS 4n
+This property's initial value should be \fBuse_global\fR since services, by
+default, inherit the Global Default firewall policy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_config/apply_to\fR\fR
+.ad
+.sp .6
+.RS 4n
+An empty property, this property has no initial value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_config/exceptions\fR\fR
+.ad
+.sp .6
+.RS 4n
+An empty property, this property has no initial value.
+.RE
+
+.sp
+.LP
+Firewall static definition:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_context\fR\fR
+.ad
+.sp .6
+.RS 4n
+A third party should follow service symbol namespace convention to generate a
+user-defined type, Sun delivered services can use \fBcom.sun,fw_definition\fR
+as the property type.
+.sp
+See "Firewall Static Configuration," above, for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_context/name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Service with well-known, IANA defined port, which can be obtained by
+\fBgetservbyname\fR(3SOCKET). The service's IANA name is stored in this
+property. For RPC services, the RPC program number is stored in this property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_context/isrpc\fR\fR
+.ad
+.sp .6
+.RS 4n
+For RPC services, this property should be created with its value set to
+\fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfirewall_context/ipf_method\fR\fR
+.ad
+.sp .6
+.RS 4n
+In general, the specified firewall policy is used to generate IP Filter rules
+to the service's communication port, derived from the
+\fBfirewall_context/name\fR property. Services that do not have IANA-defined
+ports and are not RPC services will need to generate their own IP Filter rules.
+Services that generate their own rules may choose not to have
+\fBfirewall_context/name\fR and \fBfirewall_context/isrpc\fR properties. See
+the following services:
+.sp
+.in +2
+.nf
+svc:/network/ftp:default
+svc:/network/nfs/server:default
+svc:/network/ntp:default
+.fi
+.in -2
+.sp
+
+\&...and others with the \fBipf_method\fR for guidance.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcprop\fR(1), \fBsvcs\fR(1), \fBipf\fR(1M), \fBsvcadm\fR(1M),
+\fBsvccfg\fR(1M), \fBgetservbyname\fR(3SOCKET), \fBrpc\fR(4),
+\fBattributes\fR(5), \fBipfilter\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/svc.startd.1m b/usr/src/man/man1m/svc.startd.1m
new file mode 100644
index 0000000000..5ca0c8fd1d
--- /dev/null
+++ b/usr/src/man/man1m/svc.startd.1m
@@ -0,0 +1,602 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH svc.startd 1M "5 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+svc.startd \- Service Management Facility master restarter
+.SH SYNOPSIS
+.LP
+.nf
+\fB/lib/svc/bin/svc.startd\fR
+.fi
+
+.LP
+.nf
+\fBsvc:/system/svc/restarter:default\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsvc.startd\fR is the master restarter daemon for Service Management Facility
+(SMF) and the default restarter for all services. \fBsvc.startd\fR starts,
+stops, and restarts services based on administrative requests, system failures,
+or application failures.
+.sp
+.LP
+\fBsvc.startd\fR maintains service state, as well as being responsible for
+managing faults in accordance with the dependencies of each service.
+.sp
+.LP
+\fBsvc.startd\fR is invoked automatically during system startup. It is
+restarted if any failures occur. \fBsvc.startd\fR should never be invoked
+directly.
+.sp
+.LP
+See \fBsmf_restarter\fR(5) for information on configuration and behavior common
+to all restarters.
+.sp
+.LP
+\fBsvcs\fR(1) reports status for all services managed by the Service
+Configuration Facility. \fBsvcadm\fR(1M) allows manipulation of service
+instances with respect to the service's restarter.
+.SS "Environment Variables"
+.sp
+.LP
+Environment variables with the "SMF_" prefix are reserved and may be
+overwritten.
+.sp
+.LP
+\fBsvc.startd\fR supplies the "SMF_" environment variables specified in
+\fBsmf_method\fR(5) to the method. PATH is set to "\fB/usr/sbin:/usr/bin\fR" by
+default. By default, all other environment variables supplied to
+\fBsvc.startd\fR are those inherited from \fBinit\fR(1M).
+.sp
+.LP
+Duplicate entries are reduced to a single entry. The value used is undefined.
+Environment entries that are not prefixed with "<\fIname\fR>=" are ignored.
+.SS "Restarter Options"
+.sp
+.LP
+\fBsvc.startd\fR is not configured by command line options. Instead,
+configuration is read from the service configuration repository. You can use
+\fBsvccfg\fR(1M) to set all options and properties.
+.sp
+.LP
+The following configuration variables in the \fBoptions\fR property group are
+available to developers and administrators:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBboot_messages\fR\fR
+.ad
+.sp .6
+.RS 4n
+An \fIastring\fR (as defined in \fBscf_value_is_type\fR; see
+\fBscf_value_is_type\fR(3SCF)) that describes the default level of messages to
+print to the console during boot. The supported message options include
+\fBquiet\fR and \fBverbose\fR. The \fBquiet\fR option prints minimal messages
+to console during boot. The \fBverbose\fR option prints a single message per
+service started to indicate success or failure. You can use the \fBboot\fR
+\fB-m\fR option to override the \fBboot_messages\fR setting at boot time. See
+\fBkernel\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogging\fR\fR
+.ad
+.sp .6
+.RS 4n
+Control the level of global service logging for \fBsvc.startd\fR. An
+\fIastring\fR (as defined in \fBscf_value_is_type\fR; see
+\fBscf_value_is_type\fR(3SCF)) that describes the default level of messages to
+log to \fBsyslog\fR (see \fBsyslog\fR(3C) and \fBsvc.startd\fR's global
+logfile, \fB/var/svc/log/svc.startd.log\fR. The supported message options
+include \fBquiet\fR, \fBverbose\fR, and \fBdebug\fR. The \fBquiet\fR option
+sends error messages requiring administrative intervention to the console,
+\fBsyslog\fR and \fBsvc.startd\fR's global logfile. The \fBverbose\fR option
+sends error messages requiring administrative intervention to the console,
+\fBsyslog\fR and \fBsvc.startd\fR's global logfile, and information about
+errors which do not require administrative intervention to \fBsvc.startd\fR's
+global logfile. A single message per service started is also sent to the
+console. The \fBdebug\fR option sends \fBsvc.startd\fR debug messages to
+\fBsvc.startd\fR's global logfile, error messages requiring
+administrative intervention to the console, \fBsyslog\fR and \fBsvc.startd\fR's
+global logfile, and a single message per service started to the console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmilestone\fR\fR
+.ad
+.sp .6
+.RS 4n
+An FMRI which determines the milestone used as the default boot level.
+Acceptable options include only the major milestones:
+.sp
+.in +2
+.nf
+svc:/milestone/single-user:default
+svc:/milestone/multi-user:default
+svc:/milestone/multi-user-server:default
+.fi
+.in -2
+.sp
+
+or the special values \fBall\fR or \fBnone\fR. \fBall\fR represents an
+idealized milestone that depends on every service. \fBnone\fR is a special
+milestone where no services are running apart from the master
+\fBsvc:/system/svc/restarter:default\fR. By default, \fBsvc.startd\fR uses
+\fBall\fR, a synthetic milestone that depends on every service. If this
+property is specified, it overrides any \fBinitdefault\fR setting in
+\fBinittab\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsystem/reconfigure\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates that a reconfiguration reboot has been requested. Services with
+actions that must key off of a reconfiguration reboot may check that this
+property exists and is set to 1 to confirm a reconfiguration boot has been
+requested.
+.sp
+This property is managed by \fBsvc.startd\fR and should not be modified by the
+administrator.
+.RE
+
+.sp
+.LP
+Configuration errors, such as disabling \fBsvc.startd\fR are logged by
+\fBsyslog\fR, but ignored.
+.SS "SERVICE STATES"
+.sp
+.LP
+Services managed by \fBsvc.startd\fR can appear in any of the states described
+in \fBsmf\fR(5). The state definitions are unmodified by this restarter.
+.SS "SERVICE REPORTING"
+.sp
+.LP
+In addition to any logging done by the managed service, \fBsvc.startd\fR
+provides a common set of service reporting and logging mechanisms.
+.sp
+.LP
+Reporting properties \fBsvc.startd\fR updates a common set of properties on all
+services it manages. These properties are a common interface that can be used
+to take action based on service instance health. The \fBsvcs\fR(1) command can
+be used to easily display these properties.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestarter/state\fR\fR
+.ad
+.br
+.na
+\fB\fBrestarter/next_state\fR\fR
+.ad
+.sp .6
+.RS 4n
+The current and next (if currently in transition) state for an instance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestarter/auxiliary_state\fR\fR
+.ad
+.sp .6
+.RS 4n
+A caption detailing additional information about the current instance state.
+The auxiliary state available for services managed by \fBsvc.startd\fR is:
+.sp
+.ne 2
+.mk
+.na
+\fBmaintenance\fR
+.ad
+.RS 15n
+.rt
+.sp
+.in +2
+.nf
+fault_threshold_reached
+stop_method_failed
+administrative_request
+.fi
+.in -2
+.sp
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestarter/state_timestamp\fR\fR
+.ad
+.sp .6
+.RS 4n
+The time when the current state was reached.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestarter/contract\fR\fR
+.ad
+.sp .6
+.RS 4n
+The primary process contract ID, if any, that under which the service instance
+is executing.
+.RE
+
+.sp
+.LP
+\fBLogs\fR
+.sp
+.LP
+By default, \fBsvc.startd\fR provides logging of significant restarter actions
+for the service as well as method standard output and standard error file
+descriptors to \fB/var/svc/log/\fIservice\fR:\fIinstance\fR.log\fR. The level
+of logging to system global locations like \fB/var/svc/log/svc.startd.log\fR
+and \fBsyslog\fR is controlled by the \fBoptions/logging\fR property.
+.SS "SERVICE DEFINITION"
+.sp
+.LP
+When developing or configuring a service managed by \fBsvc.startd\fR, a common
+set of properties are used to affect the interaction between the service
+instance and the restarter.
+.sp
+.LP
+\fBMethods\fR
+.sp
+.LP
+The general form of methods for the fork/exec model provided by
+\fBsvc.startd\fR are presented in \fBsmf_method\fR(5). The following methods
+are supported as required or optional by services managed by \fBsvc.startd\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefresh\fR\fR
+.ad
+.RS 11n
+.rt
+Reload any appropriate configuration parameters from the repository or
+\fBconfig\fR file, without interrupting service. This is often implemented
+using \fBSIGHUP\fR for system daemons. If the service is unable to recognize
+configuration changes without a restart, no refresh method is provided.
+.sp
+This method is optional.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstart\fR\fR
+.ad
+.RS 11n
+.rt
+Start the service. Return success only after the application is available to
+consumers. Fail if a conflicting instance is already running, or if the service
+is unable to start.
+.sp
+This method is required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstop\fR\fR
+.ad
+.RS 11n
+.rt
+Stop the service. In some cases, the stop method can be invoked when some or
+all of the service has already been stopped. Only return an error if the
+service is not entirely stopped on method return.
+.sp
+This method is required.
+.RE
+
+.sp
+.LP
+If the service does not need to take any action in a required method, it must
+specify the \fB:true\fR token for that method.
+.sp
+.LP
+\fBsvc.startd\fR honors any method context specified for the service or any
+specific method. The method expansion tokens described in \fBsmf_method\fR(5)
+are available for use in all methods invoked by \fBsvc.startd\fR.
+.sp
+.LP
+\fBProperties\fR
+.sp
+.LP
+An overview of the general properties is available in \fBsmf\fR(5). The
+specific way in which these general properties interacts with \fBsvc.startd\fR
+follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgeneral/enabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+If enabled is set to true, the restarter attempts to start the service once all
+its dependencies are satisfied. If set to false, the service remains in the
+disabled state, not running.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgeneral/restarter\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this FMRI property is empty or set to
+\fBsvc:/system/svc/restarter:default\fR, the service is managed by
+\fBsvc.startd\fR. Otherwise, the restarter specified is responsible (once it is
+available) for managing the service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgeneral/single_instance\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fBsingle_instance\fR is set to true, \fBsvc.startd\fR only allows one
+instance of this service to transition to online or degraded at any time.
+.RE
+
+.sp
+.LP
+Additionally, \fBsvc.startd\fR managed services can define the optional
+properties listed below in the \fBstartd\fR property group.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstartd/duration\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBduration\fR property defines the service's model. It can be set to
+\fBtransient\fR, \fBchild\fR also known as "\fBwait\fR" model services, or
+\fBcontract\fR (the default).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstartd/ignore_error\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBignore_error\fR property, if set, specifies a comma-separated list of
+ignored events. Legitimate string values in that list are \fBcore\fR and
+\fBsignal\fR. The default is to restart on all errors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstartd/need_session\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBneed_session\fR property, if set to true, indicates that the instance
+should be launched in its own session. The default is not to do so.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstartd/utmpx_prefix\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fButmpx_prefix\fR string property defines that the instance requires a
+valid \fButmpx\fR entry prior to start method execution. The default is not to
+create a \fButmpx\fR entry.
+.RE
+
+.SS "SERVICE FAILURE"
+.sp
+.LP
+\fBsvc.startd\fR assumes that a method has failed if it returns a non-zero exit
+code or if fails to complete before the timeout specified expires. If
+\fB$SMF_EXIT_ERR_CONFIG\fR or \fB$SMF_EXIT_ERR_FATAL\fR is returned,
+\fBsvc.startd\fR immediately places the service in the maintenance state. For
+all other failures, \fBsvc.startd\fR places the service in the offline state.
+If a service is offline and its dependencies are satisfied, \fBsvc.startd\fR
+tries again to start the service (see \fBsmf\fR(5)).
+.sp
+.LP
+If a contract or transient service does not return from its start method before
+its defined timeout elapses, \fBsvc.startd\fR sends a \fBSIGKILL\fR to the
+method, and returns the service to the offline state.
+.sp
+.LP
+If three failures happen in a row, or if the service is restarting more than
+once a second, \fBsvc.startd\fR places the service in the maintenance state.
+.sp
+.LP
+The conditions of service failure are defined by a combination of the service
+model (defined by the \fBstartd/duration\fR property) and the value of the
+\fBstartd/ignore_error\fR property.
+.sp
+.LP
+A contract model service fails if any of the following conditions occur:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+all processes in the service exit
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+any processes in the service produce a core dump
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a process outside the service sends a service process a fatal signal (for
+example, an administrator terminates a service process with the \fBpkill\fR
+command)
+.RE
+.sp
+.LP
+The last two conditions may be ignored by the service by specifying core and/or
+signal in \fBstartd/ignore_error\fR.
+.sp
+.LP
+Defining a service as transient means that \fBsvc.startd\fR does not track
+processes for that service. Thus, the potential faults described for contract
+model services are not considered failures for transient services. A transient
+service only enters the maintenance state if one of the method failure
+conditions occurs.
+.sp
+.LP
+"\fBWait\fR" model services are restarted whenever the child process associated
+with the service exits. A child process that exits is not considered an error
+for "\fBwait\fR" model services, and repeated failures do not lead to a
+transition to maintenance state.
+.SS "LEGACY SERVICES"
+.sp
+.LP
+\fBsvc.startd\fR continues to provide support for services invoked during the
+startup run level transitions. Each \fB/etc/rc?.d\fR directory is processed
+after all managed services which constitute the equivalent run level milestone
+have transitioned to the online state. Standard \fBinit\fR scripts placed in
+the \fB/etc/rc?.d\fR directories are run in the order of their sequence
+numbers.
+.sp
+.LP
+The milestone to run-level mapping is:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmilestone/single-user\fR\fR
+.ad
+.sp .6
+.RS 4n
+Single-user (\fBS\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmilestone/multi-user\fR\fR
+.ad
+.sp .6
+.RS 4n
+Multi-user (\fB2\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmilestone/multi-user-server\fR\fR
+.ad
+.sp .6
+.RS 4n
+Multi-user with network services (\fB3\fR)
+.RE
+
+.sp
+.LP
+Additionally, \fBsvc.startd\fR gives these legacy services visibility in SMF by
+inserting an instance per script into the repository. These legacy instances
+are visible using standard SMF interfaces such as \fBsvcs\fR(1), always appear
+in the \fBLEGACY-RUN\fR state, cannot be modified, and can not be specified as
+dependencies of other services. The initial start time of the legacy service is
+captured as a convenience for the administrator.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/svc/log\fR\fR
+.ad
+.RS 21n
+.rt
+Directory where \fBsvc.startd\fR stores log files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/svc/volatile\fR\fR
+.ad
+.RS 21n
+.rt
+Directory where \fBsvc.startd\fR stores log files in early stages of boot,
+before \fB/var\fR is mounted read-write.
+.RE
+
+.SH EXAMPLE
+.LP
+\fBExample 1 \fRTurning on Verbose Logging
+.sp
+.LP
+To turn on verbose logging, type the following:
+
+.sp
+.in +2
+.nf
+# /usr/sbin/svccfg -s system/svc/restarter:default
+svc:/system/svc/restarter:default> addpg options application
+svc:/system/svc/restarter:default> setprop options/logging = \e
+astring: verbose
+svc:/system/svc/restarter:default> exit
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This request will take effect on the next restart of \fBsvc.startd\fR.
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcprop\fR(1), \fBkernel\fR(1M), \fBinit\fR(1M),
+\fBsvcadm\fR(1M), \fBsvccfg\fR(1M), \fBsvc.configd\fR(1M), \fBsetsid\fR(2),
+\fBsyslog\fR(3C), \fBlibscf\fR(3LIB), \fBscf_value_is_type\fR(3SCF),
+\fBcontract\fR(4), \fBinit.d\fR(4), \fBprocess\fR(4), \fBinittab\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5), \fBsmf_method\fR(5)
diff --git a/usr/src/man/man1m/svcadm.1m b/usr/src/man/man1m/svcadm.1m
new file mode 100644
index 0000000000..6ee12ca0df
--- /dev/null
+++ b/usr/src/man/man1m/svcadm.1m
@@ -0,0 +1,539 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH svcadm 1M "9 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+svcadm \- manipulate service instances
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/svcadm\fR [\fB-v\fR] enable [\fB-rst\fR] {\fIFMRI\fR | \fIpattern\fR}...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/svcadm\fR [\fB-v\fR] disable [\fB-st\fR] {\fIFMRI\fR | \fIpattern\fR}...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/svcadm\fR [\fB-v\fR] restart {\fIFMRI\fR | \fIpattern\fR}...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/svcadm\fR [\fB-v\fR] refresh {\fIFMRI\fR | \fIpattern\fR}...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/svcadm\fR [\fB-v\fR] clear {\fIFMRI\fR | \fIpattern\fR}...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/svcadm\fR [\fB-v\fR] mark [\fB-It\fR] \fIinstance_state\fR
+ {\fIFMRI\fR | \fIpattern\fR}...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/svcadm\fR [\fB-v\fR] milestone [\fB-d\fR] \fImilestone_FMRI\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsvcadm\fR issues requests for actions on services executing within the
+service management facility (see \fBsmf\fR(5)). Actions for a service are
+carried out by its assigned service restarter agent. The default service
+restarter is \fBsvc.startd\fR (see \fBsvc.startd\fR(1M)).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Print actions verbosely to standard output.
+.RE
+
+.SH SUBCOMMANDS
+.SS "Common Operations"
+.sp
+.LP
+The subcommands listed below are used during the typical administration of a
+service instance.
+.sp
+.LP
+For subcommands taking one or more operands, if the operand specifies a service
+(instead of a service instance), and that service has only a single instance,
+\fBsvcadm\fR operates on that instance. If an abbreviated \fIFMRI\fR (a fault
+management resource identifier) or pattern matches more than one service, a
+warning message is displayed and that operand is ignored. See \fBsmf\fR(5).
+.sp
+.LP
+In the case that the service has more than one instance, \fBsvcadm\fR return a
+non-zero exit status.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable\fR \fB[\fR\fB-rst\fR\fB]\fR {\fIFMRI\fR | \fIpattern\fR}. . .\fR
+.ad
+.sp .6
+.RS 4n
+Enables the service instances specified by the operands. For each service
+instance, the assigned restarter will try to bring it to the online state. This
+action requires permission to modify the "general" property group of the
+service instance (see \fBsmf_security\fR(5)).
+.sp
+If the \fB-r\fR option is specified, \fBsvcadm\fR enables each service instance
+and recursively enables its dependencies.
+.sp
+If the \fB-s\fR option is specified, \fBsvcadm\fR enables each service instance
+and then waits for each service instance to enter the \fBonline\fR or
+\fBdegraded\fR state. \fBsvcadm\fR will return early if it determines that the
+service cannot reach these states without administrator intervention.
+.sp
+If the \fB-t\fR option is specified, \fBsvcadm\fR temporarily enables each
+service instance. Temporary enable only lasts until reboot. This action
+requires permission to modify the "restarter_actions" property group of the
+service instance (see \fBsmf_security\fR(5)). By default, \fBenable\fR is
+persistent across reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable\fR [\fB-st\fR] {\fIFMRI\fR | \fIpattern\fR}. . .\fR
+.ad
+.sp .6
+.RS 4n
+Disables the service instance specified by the operands. For each service
+instance, the assigned restarter will try to bring it to the disabled state.
+This action requires permission to modify the "general" property group of the
+service instance (see \fBsmf_security\fR(5)).
+.sp
+If the \fB-s\fR option is specified, \fBsvcadm\fR disables each service
+instance and then waits for each service instance to enter the disabled state.
+\fBsvcadm\fR will return early if it determines that the service cannot reach
+this state without administrator intervention.
+.sp
+If the \fB-t\fR option is specified, \fBsvcadm\fR temporarily disables each
+service instance. Temporary disable only lasts until reboot. This action
+requires permission to modify the "restarter_actions" property group of the
+service instance (see \fBsmf_security\fR(5)). By default, \fBdisable\fR is
+persistent across reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestart\fR {\fIFMRI\fR | \fIpattern\fR}. . .\fR
+.ad
+.sp .6
+.RS 4n
+Requests that the service instances specified by the operands be restarted.
+This action requires permission to modify the "restarter_actions" property
+group of the service instance (see \fBsmf_security\fR(5)).
+.sp
+This subcommand can restart only those services that are in the online or
+degraded states, as those states are defined in \fBsmf\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefresh\fR {\fIFMRI\fR | \fIpattern\fR}. . .\fR
+.ad
+.sp .6
+.RS 4n
+For each service instance specified by the operands, requests that the assigned
+restarter update the service's running configuration snapshot with the values
+from the current configuration. Some of these values take effect immediately
+(for example, dependency changes). Other values do not take effect until the
+next service \fBrestart\fR. See the restarter and service documentation for
+more information.
+.sp
+If the service is managed by \fBsvc.startd\fR(1M), the \fBrefresh\fR method
+will be invoked if it exists to request the service reread its own
+configuration. For other restarters, see the restarter documentation.
+.sp
+This action requires permission to modify the "restarter_actions" property
+group of the service instance (see \fBsmf_security\fR(5)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclear\fR {\fIFMRI\fR | \fIpattern\fR}. . .\fR
+.ad
+.sp .6
+.RS 4n
+For each service instance specified by the operands, if the instance is in the
+\fBmaintenance\fR state, signal to the assigned restarter that the service has
+been repaired. If the instance is in the \fBdegraded\fR state, request that the
+assigned restarter take the service to the \fBonline\fR state. This action
+requires permission to modify the "restarter_actions" property group of the
+service instance (see \fBsmf_security\fR(5)).
+.RE
+
+.SS "Exceptional Operations"
+.sp
+.LP
+The following subcommands are used for service development and temporary
+administrative manipulation.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmark [\fR\fB-It\fR\fB]\fR \fIinstance_state\fR {\fIFMRI\fR |
+\fIpattern\fR}. . .\fR
+.ad
+.sp .6
+.RS 4n
+If \fIinstance_state\fR is "maintenance", then for each service specified by
+the operands, \fBsvcadm\fR requests that the assigned restarter place the
+service in the \fBmaintenance\fR state. See \fBsvc.startd\fR(1M) and
+\fBinetd\fR(1M) for a detailed description of the actions taken for each
+restarter.
+.sp
+If \fIinstance_state\fR is "degraded", then for services specified by the
+operands in the online state, \fBsvcadm\fR requests that the restarters
+assigned to the services move them into the \fBdegraded\fR state.
+.sp
+If the \fB-I\fR option is specified, the request is flagged as immediate.
+.sp
+The \fB-t\fR option is only valid for maintenance requests. When this option is
+specified, the request is flagged as temporary, and its effect will only last
+until the next reboot.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmilestone\fR [\fB-d\fR] \fImilestone_FMRI\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fImilestone_FMRI\fR is the keyword "none", all services other than the
+master restarter, \fBsvc:/system/svc/restarter:default\fR, will be temporarily
+disabled.
+.sp
+If \fImilestone_FMRI\fR is the keyword "all", temporary enable and disable
+requests for all services will be nullified.
+.sp
+If \fImilestone_FMRI\fR is one of the following:
+.sp
+.in +2
+.nf
+svc:/milestone/single-user:default
+svc:/milestone/multi-user:default
+svc:/milestone/multi-user-server:default
+.fi
+.in -2
+.sp
+
+then temporary enable and disable requests for the indicated service and all
+services it depends on (directly or indirectly) will be nullified. All other
+services will be temporarily disabled.
+.sp
+Changing the system's current milestone with the "milestone" subcommand will
+not change the current run level of the system. To change the system's run
+level, invoke \fB/sbin/init\fR directly.
+.sp
+This action requires permission to modify the "options_ovr" property group of
+the \fBsvc:/system/svc/restarter:default\fR service instance (see
+\fBsmf_security\fR(5)).
+.sp
+The \fB-d\fR option immediately changes the milestone to the requested
+milestone, as above. Additionally, it makes the specified milestone the default
+boot milestone, which persists across reboot. The default milestone is defined
+by the \fBoptions/milestone\fR property on the master restarter,
+\fBsvc:/system/svc/restarter:default\fR. If this property is absent, "all" is
+the default. This action requires permission to modify the "options" property
+group of the \fBsvc:/system/svc/restarter:default\fR service instance (see
+\fBsmf_security\fR(5)).
+.RE
+
+.SS "Operands"
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIFMRI\fR\fR
+.ad
+.RS 11n
+.rt
+An \fIFMRI\fR that specifies one or more instances. \fIFMRI\fRs can be
+abbreviated by specifying the instance name, or the trailing portion of the
+service name. For example, given the \fIFMRI\fR:
+.sp
+.in +2
+.nf
+svc:/network/smtp:sendmail
+.fi
+.in -2
+.sp
+
+All the following are valid abbreviations:
+.sp
+.in +2
+.nf
+sendmail
+:sendmail
+smtp
+smtp:sendmail
+network/smtp
+.fi
+.in -2
+.sp
+
+While the following are invalid:
+.sp
+.in +2
+.nf
+mail
+network
+network/smt
+.fi
+.in -2
+.sp
+
+If the \fIFMRI\fR specifies a service, then the command applies to all
+instances of that service. Abbreviated forms of \fIFMRI\fRs are unstable, and
+should not be used in scripts or other permanent tools.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpattern\fR\fR
+.ad
+.RS 11n
+.rt
+A pattern that is matched against the \fIFMRIs\fR of service instances
+according to the "globbing" rules described by \fBfnmatch\fR(5). If the pattern
+does not begin with "svc:", then "svc:/" is prepended.
+.RE
+
+.sp
+.LP
+If an abbreviated \fIFMRI\fR or pattern matches more than one service, a
+warning message is displayed and that operand is ignored.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRRestarting a Service Instance
+.sp
+.LP
+The following command restarts the \fBNFS\fR server. The full \fIFMRI\fR for
+the default service instance is: \fBsvc:/network/nfs/server:default\fR
+
+.sp
+.LP
+However, you can abbreviate the full \fIFMRI\fR as follows:
+
+.sp
+.in +2
+.nf
+# svcadm restart nfs/server
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisabling the Standard HTTP Server
+.sp
+.LP
+The following command disables the standard HTTP server, using an abbreviated
+\fIFMRI\fR:
+
+.sp
+.in +2
+.nf
+$ svcadm disable http
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fREnabling an Instance and Its Dependent Instances
+.sp
+.LP
+The following command enables the \fBfoo:bar\fR instance, and all instances on
+which it depends:
+
+.sp
+.in +2
+.nf
+$ svcadm enable -r foo:bar
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSynchronously enabling an instance
+.sp
+.LP
+The following command enables the \fBfoo:bar\fR instance. The command will not
+return until the instance comes online or \fBsvcadm\fR determines it is not
+possible for the service to come online.
+
+.sp
+.in +2
+.nf
+$ svcadm enable -s foo:bar
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRRestricting and Restoring the Running Services
+.sp
+.LP
+The following command restricts the running services to single user mode:
+
+.sp
+.in +2
+.nf
+# svcadm milestone milestone/single-user
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command restores the running services:
+
+.sp
+.in +2
+.nf
+# svcadm milestone all
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+A fatal error occurred. One or more error messages are displayed on standard
+error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+\fBsvcadm\fR determined that a service instance that it was waiting for could
+not reach the desired state without administrator intervention due to a problem
+with the service instance itself.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+\fBsvcadm\fR determined that a service instance that it was waiting for could
+not reach the desired state without administrator intervention due to a problem
+with the service's dependencies.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The interactive output is Uncommitted. The invocation and non-interactive
+output are Committed.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcprop\fR(1), \fBsvcs\fR(1), \fBinetd\fR(1M), \fBinit\fR(1M),
+\fBsvccfg\fR(1M), \fBsvc.startd\fR(1M), \fBlibscf\fR(3LIB), \fBcontract\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5), \fBsmf_security\fR(5)
+.SH NOTES
+.sp
+.LP
+The amount of time \fBsvcadm\fR will spend waiting for services and their
+dependencies to change state is implicitly limited by their method timeouts.
+For example, a service using the default restarter whose start method hangs
+will be transitioned to the maintenance state when its timeout expires.
+\fBsvcadm\fR will then consider it impossible for this service to come online
+without administrator intervention.
+.sp
+.LP
+Attempts to synchronously enable a service which depends (directly or
+indirectly) on a file may fail with an exit status indicating that dependencies
+are unsatisfied if the caller does not have the privileges necessary to search
+the directory containing the file. This limitation may be removed in a future
+Solaris release.
diff --git a/usr/src/man/man1m/svccfg.1m b/usr/src/man/man1m/svccfg.1m
new file mode 100644
index 0000000000..99447a7965
--- /dev/null
+++ b/usr/src/man/man1m/svccfg.1m
@@ -0,0 +1,912 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH svccfg 1M "29 Jun 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+svccfg \- import, export, and modify service configurations
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/svccfg\fR [\fB-v\fR] [\fB-s\fR \fIFMRI\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/svccfg\fR [\fB-v\fR] [\fB-s\fR \fIFMRI\fR] \fIsubcommand\fR [\fBargs\fR]...
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/svccfg\fR [\fB-v\fR] [\fB-s\fR \fIFMRI\fR] \fB-f\fR \fIcommand-file\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsvccfg\fR command manipulates data in the service configuration
+repository. \fBsvccfg\fR can be invoked interactively, with an individual
+subcommand, or by specifying a command file that contains a series of
+subcommands.
+.sp
+.LP
+Changes made to an existing service in the repository typically do not take
+effect for that service until the next time the service instance is refreshed.
+See the \fBrefresh\fR subcommand on the \fBsvcadm\fR(1M) man page for more
+details.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIcommand-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reads and executes \fBsvccfg\fR subcommands from \fIcommand-file\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIFMRI\fR\fR
+.ad
+.sp .6
+.RS 4n
+Selects the entity indicated by \fIFMRI\fR (a fault management resource
+identifier) before executing any subcommands. See \fBsmf\fR(5).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose.
+.RE
+
+.SH SUBCOMMANDS
+.sp
+.LP
+Subcommands are divided into the categories specified in the subsections that
+follow.
+.sp
+.LP
+All subcommands that accept \fIFMRI\fRs also accept abbreviated or globbed
+patterns. Instances and services can be abbreviated by specifying the instance
+name, or the trailing portion of the service name. For example, given the
+\fIFMRI\fR:
+.sp
+.in +2
+.nf
+svc:/network/smtp:sendmail
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+All the following are valid abbreviations:
+.sp
+.in +2
+.nf
+sendmail
+:sendmail
+smtp
+smtp:sendmail
+network/smtp
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+While the following are invalid:
+.sp
+.in +2
+.nf
+mail
+network
+network/smt
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Abbreviated forms of \fIFMRI\fRs are unstable, and should not be used in
+scripts or other permanent tools. If a pattern matches more than one instance
+or service, an error message is printed and no action is taken.
+.SS "General Subcommands"
+.sp
+.ne 2
+.mk
+.na
+\fB\fBend\fR\fR
+.ad
+.br
+.na
+\fB\fBexit\fR\fR
+.ad
+.br
+.na
+\fB\fBquit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Exits immediately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrepository\fR \fIrepfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uses \fIrepfile\fR as a repository. By default, \fBsvccfg\fR(1M) uses the
+system repository.
+.sp
+Use repository only with files from the identical version of Solaris, including
+patches, that you are currently running. Do not use this subcommand with the
+system repository, \fB/etc/svc/repository.db\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR [\fB-v\fR|\fB-V\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Sets optional behavior. If no options are specified, set displays the options
+currently in effect.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turns on verbose mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turns off verbose mode.
+.RE
+
+.RE
+
+.SS "Service Profile Subcommands"
+.sp
+.ne 2
+.mk
+.na
+\fB\fBapply\fR [\fB-n\fR] \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+If a \fIfile\fR is a service profile, properties, including general/enabled,
+that are specified in the file are modified in the SMF repository.
+Not-yet-existent properties and property groups will be created. The type of
+the pre-existing property \fBgroups\fR will not be changed by the profile.
+Existing properties (as distinguished from property groups) \fBcan\fR have
+their type changed by the profile. Nonexistent services and instances are
+ignored. Services and instances modified by the profile will be refreshed. If
+\fB-n\fR is specified, the profile is processed and no changes are applied to
+the SMF repository. Any syntax error found will be reported on stderr and an
+exit code of \fB1\fR will be returned. See \fBsmf\fR(5) for a description of
+service profiles. This command requires privileges to modify properties in the
+service and instance. See \fBsmf_security\fR(5) for the privileges required to
+modify properties. If \fIfile\fR is not a service profile, the subcommand
+fails.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBextract\fR [\fI> file\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Prints a service profile which represents the enabled status of the service
+instances in the repository to standard output. The output may be redirected to
+a file.
+.RE
+
+.SS "Service Manifest Subcommands"
+.sp
+.ne 2
+.mk
+.na
+\fB\fBarchive\fR [\fB-a\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Dumps a full \fBXML\fR service description for all services, instances, and
+their persistent properties in the repository. This does not include transient
+properties such as service state, and is suitable for a relocatable repository
+backup.
+.sp
+Without the \fB-a\fR option, property groups containing protected information
+(identified by the presence of the \fBread_authorization\fR property\(emsee
+\fBsmf_security\fR(5)) will be archived without their property values. When the
+\fB-a\fR option is specified, all values will be archived. An error results if
+there are insufficient privileges to read these values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexport\fR [\fB-a\fR] \fIservice_FMRI\fR [\fI>file\fR]\fR
+.ad
+.sp .6
+.RS 4n
+The service description for the specified service and its instances is written
+to standard output or redirected to the given file. Dependencies with a boolean
+"external" property set to true are omitted in the belief that they were
+created on behalf of another service.
+.sp
+Without the \fB-a\fR option, property groups containing protected information
+(identified by the presence of the \fBread_authorization\fR property\(emsee
+\fBsmf_security\fR(5)) will be exported without their property values. When the
+\fB-a\fR option is specified, all values will be archived. An error results if
+there are insufficient privileges to read these values.
+.sp
+Note that \fBexport\fR requires a service FMRI. If you specify an instance
+(including an abbreviation, such as \fBapache2\fR or \fBsendmail\fR, that
+specifies an instance), the command fails.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBimport\fR [\fB-V\fR] \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fIfile\fR is a service manifest, then the services and instances it
+specifies are imported into the repository. According to the file, dependencies
+may be created in other services. See \fBsmf\fR(5) for a description of service
+manifests. See \fBsmf_security\fR(5) for the privileges required to create and
+modify service configurations.
+.sp
+Services and instances in the manifest will be validated against template data
+in the manifest and the repository, and warnings will be issued for all
+template violations. See \fBsmf_template\fR(5) for a description of templates.
+If the \fB-V\fR option is specified, manifests that violate the defined
+templates will fail to import. In interactive invocations of \fBsvccfg\fR,
+\fB-V\fR is the default behavior.
+.sp
+For existing services and instances, properties which have not changed since
+the last \fBimport\fR snapshot was taken are upgraded to those specified by the
+manifest. Conflicts (properties which have been changed both in the repository
+and the manifest) are reported on the standard error stream. \fBsvccfg\fR will
+never upgrade the "general/enabled" and "general/restarter" properties, since
+they represent administrator preference.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinventory\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+If \fIfile\fR is determined to be a service manifest, then the \fBFMRI\fRs of
+the services and instances the \fIfile\fR describes are printed. For each
+service, the \fBFMRI\fRs of its instances are displayed before the \fBFMRI\fR
+of the service.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestore\fR\fR
+.ad
+.sp .6
+.RS 4n
+Restores the contents of the repository from a full XML service description
+previously created by the \fBarchive\fR subcommand. If the archive was
+generated without the use of the \fB-a\fR option, the contents of the
+repository following completion of the restore will not include the values of
+any read-protected properties (see \fBsmf_security\fR(5)). If these are
+required, they must be restored manually.
+.sp
+Restoring an archive which is inconsistent with currently installed software
+(including patch revisions) might yield unpredictable results. Therefore, prior
+to restoring an archive, all system and application software, including any
+service manifests, should be restored to the same state it was in at the time
+the archive was made.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvalidate\fR [\fIfile\fR | \fIfmri\fR]\fR
+.ad
+.sp .6
+.RS 4n
+The \fBvalidate\fR subcommand can operate on a manifest file, an instance FMRI,
+or the current instance or snapshot entity selection. When an argument is
+specified, \fBsvccfg\fR will check to see whether the specified file exists. If
+the file exists, it will be validated. If a file of the specified name does not
+exist, the argument is treated as an FMRI pattern. If a conflict arises between
+a filename and an FMRI, use the \fBsvc:\fR and \fBfile:\fR prefixes to tell
+\fBsvccfg\fR how to interpret the argument.
+.sp
+When you specify a file, the file is processed in a manner similar to
+\fBimport\fR \fB-V\fR, but no changes are made to the repository. If any errors
+are detected, \fBsvccfg\fR displays the errors and exits with a nonzero exit
+status.
+.sp
+For an instance \fIfmri\fR, instance entity selection, or snapshot entity
+selection, the specified instance in its composed form (see "Properties and
+Property Groups" in \fBsmf\fR(5)) will be validated against template data in
+the repository. Instance FMRIs and instance entity selections use the "running"
+snapshot for validation. Warnings will be issued for all template violations.
+See \fBsmf_template\fR(5) for a description of templates.
+.RE
+
+.SS "Entity Selection, Modification, and Navigation Subcommands"
+.sp
+.LP
+An "entity" refers to a scope, service, or service instance.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+A new entity with the given name is created as a child of the current
+selection. See \fBsmf_security\fR(5) for the privileges required to create
+entities.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR [\fB-f\fR] \fB{\fIname\fR | \fIfmri\fR}\fR\fR
+.ad
+.sp .6
+.RS 4n
+The named child of the current selection or the entity specified by \fIfmri\fR
+is deleted. Attempts to delete service instances in the "online" or "degraded"
+state will fail unless the \fB-f\fR flag is specified. If a service or service
+instance has a "dependents" property group of type "framework", then for each
+of its properties with type "astring" or "fmri", if the property has a single
+value which names a service or service instance then the dependency property
+group in the indicated service or service instance with the same name as the
+property will be deleted. See \fBsmf_security\fR(5) for the privileges required
+to delete service configurations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR [\fIpattern\fR]\fR
+.ad
+.sp .6
+.RS 4n
+The child entities of the current selection whose names match the glob pattern
+\fIpattern\fR are displayed (see \fBfnmatch\fR(5)). \&':properties' is also
+listed for property-bearing entities, namely services and service instances.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBselect\fR {\fIname\fR | \fIfmri\fR}\fR
+.ad
+.sp .6
+.RS 4n
+If the argument names a child of the current selection, it becomes the current
+selection. Otherwise, the argument is interpreted as an \fBFMRI\fR and the
+entity that the argument specifies becomes the current selection.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunselect\fR\fR
+.ad
+.sp .6
+.RS 4n
+The parent of the current selection becomes the current selection.
+.RE
+
+.SS "Property Inspection and Modification Subcommands"
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaddpg\fR \fIname\fR \fItype\fR [\fIflags\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Adds a property group with the given \fIname\fR and type to the current
+selection. \fIflags\fR is a string of characters which designates the flags
+with which to create the property group. 'P' represents
+\fBSCF_PG_FLAG_NONPERSISTENT\fR (see \fBscf_service_add_pg\fR(3SCF)). See
+\fBsmf_security\fR(5) for the privileges required to create property groups.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaddpropvalue\fR \fIpg\fR\fI/name\fR [\fItype:\fR] \fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds the given value to a property. If \fItype\fR is given and the property
+exists, then if \fItype\fR does not agree with the property's \fItype\fR, the
+subcommand fails. The values may be enclosed in double-quotes. String values
+containing double-quotes or backslashes must be enclosed by double-quotes and
+the contained double-quotes and backslashes must be quoted by backslashes.
+Nonexistent properties are created, in which case the \fItype\fR specifier must
+be present. See \fBscf_value_create\fR(3SCF) for a list of available property
+types. See \fBsmf_security\fR(5) for the privileges required to modify
+properties. The new value will be appended to the end of the list of property
+values associated with the property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelpg\fR \fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the property group \fIname\fR of the current selection. See
+\fBsmf_security\fR(5) for the privileges required to delete property groups.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelprop\fR \fIpg\fR[\fI/name\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Deletes the named property group or property of the current selection. See
+\fBsmf_security\fR(5) for the privileges required to delete properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelpropvalue\fR \fIpg/name\fR \fIglobpattern\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes all values matching the given \fIglob\fR pattern in the named property.
+Succeeds even if no values match. See \fBsmf_security\fR(5) for the privileges
+required to modify properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdescribe\fR [\fB-v\fR] [\fB-t\fR] [\fIpropertygroup\fR/\fIproperty\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Describes either the current or the possible settings.
+.sp
+When invoked without arguments, \fBdescribe\fR gives basic descriptions (if
+available) of the currently selected entity and all of its currently set
+property groups and properties. A property group or specific property can be
+queried by specifying either the property group name, or the property group
+name and property name, separated by a slash (\fB/\fR), as an argument.
+.sp
+The \fB-v\fR option gives all information available, including descriptions for
+current settings, constraints, and other possible setting choices.
+.sp
+The \fB-t\fR option shows only the template data for the selection (see
+\fBsmf_template\fR(5)), and does not display the current settings for property
+groups and properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBeditprop\fR\fR
+.ad
+.sp .6
+.RS 4n
+Comments of commands to reproduce the property groups and properties of the
+current selection are placed in a temporary file and the program named by the
+\fBEDITOR\fR environment variable is invoked to edit it. Upon completion, the
+commands in the temporary file are executed. The default editor is \fBvi\fR(1).
+See \fBsmf_security\fR(5) for the privileges required to create, modify, or
+delete properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlistpg\fR [\fIpattern\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Displays the names, types, and flags of property groups of the current
+selection. If an argument is given, it is taken as a glob pattern and only
+property groups with names which match the argument are listed.
+.sp
+In interactive mode, a basic description of the property groups is also given.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlistprop\fR [\fIpattern\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Lists property groups and properties of the current selection. For property
+groups, names, types, and flags are listed. For properties, names (prepended by
+the property group name and a slash (/)), types, and values are listed. See
+\fBscf_value_create\fR(3SCF) for a list of available property types. If an
+argument is supplied it is taken as a glob pattern and only property groups and
+properties with names which match the argument are listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsetenv\fR [\fB-i\fR | \fB-s\fR] [\fB-m\fR \fImethod_name\fR] \fIenvvar
+value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets a method environment variable for a service or instance by changing the
+"environment" property in the \fImethod_name\fR property group, if that
+property group has type "method". If \fImethod_name\fR is not specified and the
+\fB-i\fR option is used, the "method_context" property group is used, if an
+instance is currently selected. If the \fB-s\fR option is used and a service is
+currently selected, its "method_context" property group is used. If the
+\fB-s\fR option is used and an instance is currently selected, the
+"method_context" property group of its parent is used. If neither the \fB-i\fR
+option nor the \fB-s\fR option is used, the "start" property group is searched
+for in the currently selected entity and, if an instance is currently selected,
+its parent is also searched. If the "inetd_start" property group is not
+located, it is searched for in a similiar manner.
+.sp
+Once the property is located, all values which begin with \fIenvvar\fR followed
+by a "=" are removed, and the value "\fIenvvar\fR=\fIvalue\fR" is added. See
+\fBsmf_security\fR(5) for the privileges required to modify properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsetprop\fR \fIpg/name\fR = [\fItype:\fR] \fIvalue\fR\fR
+.ad
+.br
+.na
+\fBsetprop \fIpg/name\fR = [\fItype:\fR] ([\fIvalues ...\fR])\fR
+.ad
+.sp .6
+.RS 4n
+Sets the \fIname\fR property of the \fIpg\fR property group of the current
+selection to the given values of type \fItype\fR. See
+\fBscf_value_create\fR(3SCF) for a list of available property types. If the
+property already exists and the \fItype\fR disagrees with the existing
+\fItype\fR on the property, the subcommand fails. Values may be enclosed in
+double-quotes. String values which contain double-quotes or backslashes must be
+enclosed by double-quotes and the contained double-quotes and backslashes must
+be quoted by backslashes. If the named property does not exist, it is created,
+as long as the type is specified. See \fBsmf_security\fR(5) for the privileges
+required to create or modify properties. Multiple values will be stored in the
+order in which they are specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunsetenv\fR [\fB-i\fR | \fB-s\fR] [\fB-m\fR \fImethod_name\fR] \fIenvvar
+value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes a method environment variable for a service or instance by changing the
+"environment" property in the \fImethod_name\fR property group, if that
+property group has type "method". If \fImethod_name\fR is not specified and the
+\fB-i\fR option is used, the "method_context" property group is used, if an
+instance is currently selected. If the \fB-s\fR option is used and a service is
+currently selected, its "method_context" property group is used. If the
+\fB-s\fR option is used and an instance is currently selected, the
+"method_context" property group of its parent is used. If neither the \fB-i\fR
+option nor the \fB-s\fR option is used, the "start" property group is searched
+for in the currently selected entity and, if an instance is currently selected,
+its parent is also searched. If the "inetd_start" property group is not
+located, it is searched for in a similiar manner.
+.sp
+Once the property is located, all values which begin with \fIenvvar\fR followed
+by "=" are removed. See \fBsmf_security\fR(5) for the privileges required to
+modify properties.
+.RE
+
+.SS "Snapshot Navigation and Selection Subcommands"
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlistsnap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays snapshots available for the currently selected instance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrevert\fR [\fIsnapshot\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Reverts the properties of the currently selected instance and its service to
+those recorded in the named snapshot. If no argument is given, use the
+currently selected snapshot and deselect it on success. The changed property
+values can be made active via the \fBrefresh\fR subcommand of \fBsvcadm\fR(1M).
+See \fBsmf_security\fR(5) for the privileges required to change properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBselectsnap\fR [\fIname\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Changes the current snapshot to the one named by \fIname\fR. If no \fIname\fR
+is specified, deselect the currently selected snapshot. Snapshots are
+read-only.
+.RE
+
+.SS "Instance Subcommands"
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefresh\fR\fR
+.ad
+.sp .6
+.RS 4n
+Commit the values from the current configuration to the running snapshot,
+making them available for use by the currently selected instance. If the
+repository subcommand has not been used to select a repository, direct the
+instance's restarter to reread the updated configuration.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRImporting a Service Description
+.sp
+.LP
+The following example imports a service description for the \fBseismic\fR
+service in the XML manifest specified on the command line.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg import /var/svc/manifest/site/seismic.xml\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note that the manifest must follow the format specified in
+\fBservice_bundle\fR(4).
+
+.LP
+\fBExample 2 \fRExporting a Service Description
+.sp
+.LP
+To export a service description on the local system:
+
+.sp
+.in +2
+.nf
+# \fBsvccfg export dumpadm >/tmp/dump.xml\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDeleting a Service Instance
+.sp
+.LP
+To delete a service instance:
+
+.sp
+.in +2
+.nf
+# \fBsvccfg delete network/inetd-upgrade:default\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRChecking Properties in an Alternate Repository
+.sp
+.LP
+To examine the state of a service's properties after loading an alternate
+repository, use the sequence of commands shown below. One might use such
+commands, for example, to determine whether a service was enabled in a
+particular repository backup.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg\fR
+svc:> \fBrepository /etc/svc/repository-boot\fR
+svc:> \fBselect telnet:default\fR
+svc:/network/telnet:default> \fBlistprop general/enabled\fR
+general/enabled boolean false
+svc:/network/telnet:default> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fREnabling Debugging
+.sp
+.LP
+To modify \fBLD_PRELOAD\fR for a start method and enable the use of
+\fBlibumem\fR(3LIB) with debugging features active:
+
+.sp
+.in +2
+.nf
+$ \fBsvccfg -s system/service setenv LD_PRELOAD libumem.so\fR
+$ \fBsvccfg -s system/service setenv UMEM_DEBUG default\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRUsing \fBdescribe\fR Subcommand
+.sp
+.LP
+The following command illustrates the use of the \fBdescribe\fR subcommand.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg -s console-login describe ttymon\fR
+ttymon application
+ttymon/device astring /dev/console
+ \fBterminal device to be used for the console login prompt\fR
+ttymon/label astring console
+ \fBappropriate entry from /etc/ttydefs\fR
+ ...
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENTAL VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fBEDITOR\fR
+.ad
+.sp .6
+.RS 4n
+The command to run when the \fBeditprop\fR subcommand is used. The default
+editor is \fBvi\fR(1).
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful execution.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more subcommands resulted in failure. Error messages are written to the
+standard error stream.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The interactive output is Uncommitted. The invocation and non-interactive
+output are Committed.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcprop\fR(1), \fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBsvc.configd\fR(1M),
+\fBlibscf\fR(3LIB), \fBlibumem\fR(3LIB), \fBscf_service_add_pg\fR(3SCF),
+\fBscf_value_create\fR(3SCF), \fBcontract\fR(4), \fBservice_bundle\fR(4),
+\fBattributes\fR(5), \fBfnmatch\fR(5), \fBsmf\fR(5), \fBsmf_method\fR(5),
+\fBsmf_security\fR(5), \fBsmf_template\fR(5)
diff --git a/usr/src/man/man1m/swap.1m b/usr/src/man/man1m/swap.1m
new file mode 100644
index 0000000000..865f513540
--- /dev/null
+++ b/usr/src/man/man1m/swap.1m
@@ -0,0 +1,342 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH swap 1M "11 Apr 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+swap \- swap administrative interface
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/swap\fR \fB-a\fR \fIswapname\fR [\fIswaplow\fR] [\fIswaplen\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/swap\fR \fB-d\fR \fIswapname\fR [\fIswaplow\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/swap\fR \fB-l\fR [\fB-h\fR | \fB-k\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/swap\fR \fB-s\fR [\fB-h\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBswap\fR utility provides a method of adding, deleting, and monitoring
+the system swap areas used by the memory manager.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIswapname\fR [\fIswaplow\fR] [\fIswaplen\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Add the specified swap area. This option can only be used by the superuser or
+by one who has assumed the Primary Administrator role. \fIswapname\fR is the
+name of the swap area or regular file. For example, on system running a UFS
+root file system, specify a slice, such as \fB/dev/dsk/c0t0d0s1\fR, or a
+regular file for a swap area. On a system running a ZFS file system, specify a
+ZFS volume, such as \fB/dev/zvol/dsk/rpool/swap\fR, for a swap area. Using a
+regular file for swap is not supported on a ZFS file system. In addition, you
+cannot use the same ZFS volume for both the swap area and a dump device when
+the system is running a ZFS root file system.
+.sp
+\fIswaplow\fR is the offset in 512-byte blocks into the file where the swap
+area should begin. \fIswaplen\fR is the desired length of the swap area in
+512-byte blocks. The value of \fIswaplen\fR can not be less than \fB16\fR. For
+example, if \fIn\fR blocks are specified, then (\fIn\fR-1) blocks would be the
+actual swap length. \fIswaplen\fR must be at least one page in length. The size
+of a page of memory can be determined by using the \fBpagesize\fR command. See
+\fBpagesize\fR(1). Since the first page of a swap file is automatically
+skipped, and a swap file needs to be at least one page in length, the minimum
+size should be a multiple of 2 pagesize bytes. The size of a page of memory is
+machine-dependent.
+.sp
+\fIswaplow\fR + \fIswaplen\fR must be less than or equal to the size of the
+swap file. If \fIswaplen\fR is not specified, an area will be added starting at
+\fIswaplow\fR and extending to the end of the designated file. If neither
+\fIswaplow\fR nor \fIswaplen\fR are specified, the whole file will be used
+except for the first page. Swap areas are normally added automatically during
+system startup by the \fB/sbin/swapadd\fR script. This script adds all swap
+areas which have been specified in the \fB/etc/vfstab\fR file; for the syntax
+of these specifications, see \fBvfstab\fR(4).
+.sp
+To use an \fBNFS\fR or local file system \fIswapname\fR, you should first
+create a file using \fBmkfile\fR(1M). A local file system swap file can now be
+added to the running system by just running the \fBswap\fR \fB-a\fR command.
+For \fBNFS\fR mounted swap files, the server needs to export the file. Do this
+by performing the following steps:
+.RS +4
+.TP
+1.
+Add the following line to \fB/etc/dfs/dfstab\fR:
+.sp
+.in +2
+.nf
+share -F nfs -o \e
+rw=\fIclientname\fR,root=\fIclientname path-to-swap-file\fR
+.fi
+.in -2
+
+.RE
+.RS +4
+.TP
+2.
+Run \fBshareall\fR(1M).
+.RE
+.RS +4
+.TP
+3.
+Have the client add the following line to \fB/etc/vfstab\fR:
+.sp
+.in +2
+.nf
+\fIserver\fR:\fIpath-to-swap-file\fR - \fIlocal-path-to-swap-file\fR nfs \e
+ -\|-\|- \fIlocal-path-to-swap-file\fR -\|- swap -\|-\|-
+.fi
+.in -2
+
+.RE
+.RS +4
+.TP
+4.
+Have the client run \fBmount\fR:
+.sp
+.in +2
+.nf
+# mount \fIlocal-path-to-swap-file\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RS +4
+.TP
+5.
+The client can then run \fBswap\fR \fB-a\fR to add the swap space:
+.sp
+.in +2
+.nf
+# swap -a \fIlocal-path-to-swap-file\fR
+.fi
+.in -2
+.sp
+
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIswapname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the specified swap area. This option can only be used by the super-user.
+\fIswapname\fR is the name of the swap file: for example,
+\fB/dev/dsk/c0t0d0s1\fR or a regular file. \fIswaplow\fR is the offset in
+512-byte blocks into the swap area to be deleted. If \fIswaplow\fR is not
+specified, the area will be deleted starting at the second page. When the
+command completes, swap blocks can no longer be allocated from this area and
+all swap blocks previously in use in this swap area have been moved to other
+swap areas.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+All sizes are scaled to a human readable format. Scaling is done by
+repetitively dividing by 1024.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write the files sizes in units of 1024 bytes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the status of all the swap areas. The output has five columns:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+The path name for the swap area.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdev\fR\fR
+.ad
+.sp .6
+.RS 4n
+The major/minor device number in decimal if it is a block special device;
+zeroes otherwise.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBswaplo\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIswaplow\fR value for the area in 512-byte blocks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBblocks\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIswaplen\fR value for the area in 512-byte blocks.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfree\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of 512-byte blocks in this area that are not currently allocated.
+.RE
+
+The list does not include swap space in the form of physical memory because
+this space is not associated with a particular swap area.
+.sp
+If \fBswap\fR \fB-l\fR is run while \fIswapname\fR is in the process of being
+deleted (by \fBswap\fR\fB-d\fR), the string \fBINDEL\fR will appear in a sixth
+column of the swap stats.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print summary information about total swap space usage and availability:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBallocated\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total amount of swap space in bytes currently allocated for use as backing
+store.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreserved\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total amount of swap space in bytes not currently allocated, but claimed by
+memory mappings for possible future use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBused\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total amount of swap space in bytes that is either allocated or reserved.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBavailable\fR\fR
+.ad
+.sp .6
+.RS 4n
+The total swap space in bytes that is currently available for future
+reservation and allocation.
+.RE
+
+These numbers include swap space from all configured swap areas as listed by
+the \fB-l\fR option, as well swap space in the form of physical memory.
+.RE
+
+.SH USAGE
+.sp
+.LP
+On the 32-bit operating system, only the first 2 Gbytes -1 are used for swap
+devices greater than or equal to 2 Gbytes in size. On the 64-bit operating
+system, a block device larger than 2 Gbytes can be fully utilized for swap up
+to 2^63 \(mi1 bytes.
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables
+that affect the execution of \fBswap\fR: \fBLC_CTYPE\fR and \fBLC_MESSAGE\fR.
+.SH SEE ALSO
+.sp
+.LP
+\fBpagesize\fR(1), \fBmkfile\fR(1M), \fBshareall\fR(1M), \fBgetpagesize\fR(3C),
+\fBvfstab\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5)
+.SH NOTES
+.sp
+.LP
+For information about setting up a swap area with \fBZFS\fR, see the \fIZFS
+Administration Guide\fR.
+.SH WARNINGS
+.sp
+.LP
+No check is done to determine if a swap area being added overlaps with an
+existing file system.
diff --git a/usr/src/man/man1m/sync.1m b/usr/src/man/man1m/sync.1m
new file mode 100644
index 0000000000..a4845034a8
--- /dev/null
+++ b/usr/src/man/man1m/sync.1m
@@ -0,0 +1,27 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (c) 1998, Sun Microsystems, Inc. , All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sync 1M "1 Dec 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sync \- update the super block
+.SH SYNOPSIS
+.LP
+.nf
+\fBsync\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsync\fR executes the \fBsync\fR system primitive. If the system is to be
+stopped, \fBsync\fR must be called to ensure file system integrity. It will
+flush all previously unwritten system buffers out to disk, thus assuring that
+all file modifications up to that point will be saved. See \fBsync\fR(2) for
+details.
+.SH SEE ALSO
+.sp
+.LP
+\fBsync\fR(2), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/syncinit.1m b/usr/src/man/man1m/syncinit.1m
new file mode 100644
index 0000000000..9fcd354c58
--- /dev/null
+++ b/usr/src/man/man1m/syncinit.1m
@@ -0,0 +1,203 @@
+'\" te
+.\" Copyright (c) 1993, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH syncinit 1M "9 Mar 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+syncinit \- set serial line interface operating parameters
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/syncinit\fR \fIdevice\fR
+ [ [\fIbaud_rate\fR] | [\fIkeyword\fR=\fIvalue\fR,]... | [\fIsingle-word\fR \fIoption\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsyncinit\fR utility allows the user to modify some of the hardware
+operating modes common to synchronous serial lines. This can be useful in
+troubleshooting a link, or necessary to the operation of a communications
+package.
+.sp
+.LP
+If run without options, \fBsyncinit\fR reports the options as presently set on
+the port. If options are specified, the new settings are reported after they
+have been made.
+.SH OPTIONS
+.sp
+.LP
+Options to \fBsyncinit\fR normally take the form of a keyword, followed by an
+equal sign and a value. The exception is that a baud rate may be specified as a
+decimal integer by itself. Keywords must begin with the value shown in the
+options table, but may contain additional letters up to the equal sign. For
+example, \fBloop=\fR and \fBloopback=\fR are equivalent.
+.sp
+.LP
+The following options are supported:
+.sp
+
+.sp
+.TS
+tab();
+lw(.87i) lw(.87i) lw(3.76i)
+lw(.87i) lw(.87i) lw(3.76i)
+.
+\fBKeyword\fR\fBValue\fR\fBEffect\fR
+\fBloop\fRyesT{
+Set the port to operate in \fBinternal loopback\fR mode. The receiver is electrically disconnected from the DCE receive data input and tied to the outgoing transmit data line. Transmit data is available to the DCE. The Digital Phase-Locked Loop (DPLL) may not be used as a clock source in this mode. If no other clocking options have been specified, perform the equivalent of \fBtxc=baud\fR and \fBrxc=baud\fR.
+T}
+noT{
+Disable internal loopback mode. If no other clocking options have been specified, perform the equivalent of \fBtxc=txc\fR and \fBrxc=rxc\fR.
+T}
+\fBecho\fRyesT{
+Set the port to operate in \fBauto-echo\fR mode. The transmit data output is electrically disconnected from the transmitter and tied to the receive data input. Incoming receive data is still visible. Use of this mode in combination with local loopback mode has no value, and should be rejected by the device driver. The \fBauto-echo\fR mode is useful to make a system become the endpoint of a remote loopback test.
+T}
+noDisable \fBauto-echo\fR mode.
+\fBnrzi\fRyesT{
+Set the port to operate with \fBNRZI\fR data encoding.
+T}
+noT{
+Set the port to operate with \fBNRZ\fR data encoding.
+T}
+\fBtxc\fR\fBtxc\fRT{
+Transmit clock source will be the \fBTxC\fR signal (pin 15).
+T}
+\fBrxc\fRT{
+Transmit clock source will be the \fBRxC\fR signal (pin 17).
+T}
+\fBbaud \fRT{
+Transmit clock source will be the internal \fBbaud rate generator\fR.
+T}
+\fBpll\fRT{
+Transmit clock source will be the output of the \fBDPLL\fR circuit.
+T}
+\fBrxc\fR\fBrxc\fRT{
+Receive clock source will be the \fBRxC\fR signal (pin 17).
+T}
+\fBtxc\fRT{
+Receive clock source will be the \fBTxC\fR signal (pin 15).
+T}
+\fBbaud\fRT{
+Receive clock source will be the internal \fBbaud rate generator\fR.
+T}
+\fBpll\fRT{
+Receive clock source will be the output of the \fBDPLL\fR circuit.
+T}
+\fBspeed\fR\fIinteger\fRT{
+Set the baud rate to \fIinteger\fR bits per second.
+T}
+.TE
+
+.sp
+.LP
+There are also several single-word options that set one or more paramaters at a
+time:
+.sp
+
+.sp
+.TS
+tab();
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBKeyword\fR\fBEquivalent to Options:\fR
+\fBexternal\fR\fBtxc=txc rxc=rxc loop=no\fR
+\fBsender\fR\fBtxc=baud rxc=rxc loop=no\fR
+\fBinternal\fR\fBtxc=pll rxc=pll loop=no\fR
+\fBstop\fR\fBspeed=0\fR
+.TE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBsyncinit\fR
+.sp
+.LP
+The following command sets the first CPU port to loop internally, using
+internal clocking and operating at 38400 baud:
+
+.sp
+.in +2
+.nf
+example# syncinit zsh0 38400 loop=yes
+device: /dev/zsh ppa: 0
+speed=38400, loopback=yes, echo=no, nrzi=no, txc=baud, rxc=baud
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command sets the same port's clocking, local loopback and baud
+rate settings to their default values:
+
+.sp
+.in +2
+.nf
+example# syncinit zsh0 stop loop=no
+device: /dev/zsh ppa: 0
+speed=0, loopback=no, echo=no, nrzi=no, txc=txc, rxc=rxc
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsyncloop\fR(1M), \fBsyncstat\fR(1M), \fBintro\fR(2), \fBioctl\fR(2),
+\fBattributes\fR(5), \fB zsh\fR(7D)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fB missing minor device number\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name \fIdevice\fR does not end in a decimal number that can be used as a
+minor device number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbad speed: \fR\fIarg\fR\fR
+.ad
+.sp .6
+.RS 4n
+The string \fIarg\fR that accompanied the \fBspeed=\fR option could not be
+interpreted as a decimal integer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBBad arg: \fR\fIarg\fR\fR
+.ad
+.sp .6
+.RS 4n
+The string \fIarg\fR did not make sense as an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBioctl failure code = \fR\fIerrno\fR\fR
+.ad
+.sp .6
+.RS 4n
+An \fBioctl\fR(2) system called failed. The meaning of the value of
+\fIerrno\fR may be found in \fBintro\fR(2).
+.RE
+
+.SH WARNINGS
+.sp
+.LP
+Do not use \fBsyncinit\fR on an active serial link, unless needed to resolve
+an error condition. Do not use this command casually or without being aware of
+the consequences.
diff --git a/usr/src/man/man1m/syncloop.1m b/usr/src/man/man1m/syncloop.1m
new file mode 100644
index 0000000000..3e041083cd
--- /dev/null
+++ b/usr/src/man/man1m/syncloop.1m
@@ -0,0 +1,237 @@
+'\" te
+.\" Copyright (c) 1993, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH syncloop 1M "9 Mar 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+syncloop \- synchronous serial loopback test program
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/syncloop\fR [\fB-cdlstv\fR] \fIdevice\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsyncloop\fR command performs several loopback tests that are useful in
+exercising the various components of a serial communications link.
+.sp
+.LP
+Before running a test, \fBsyncloop\fR opens the designated port and configures
+it according to command line options and the specified test type. It announces
+the names of the devices being used to control the hardware channel, the
+channel number (ppa) corresponding to the \fIdevice\fR argument, and the
+parameters it has set for that channel. It then runs the loopback test in
+three phases.
+.sp
+.LP
+The first phase is to listen on the port for any activity. If no activity is
+seen for at least four seconds, \fBsyncloop\fR proceeds to the next phase.
+Otherwise, the user is informed that the line is active and that the test
+cannot proceed, and the program exits.
+.sp
+.LP
+In the second phase, called the "first-packet" phase, \fBsyncloop\fR attempts
+to send and receive one packet. The program will wait for up to four seconds
+for the returned packet. If no packets are seen after five attempts, the test
+fails with an excoriating message. If a packet is returned, the result is
+compared with the original. If the length and content do not match exactly, the
+test fails.
+.sp
+.LP
+The final phase, known as the "multiple-packet" phase, attempts to send many
+packets through the loop. Because the program has verified the integrity of the
+link in the first-packet phase, the test will not fail after a particular
+number of timeouts. If a packet is not seen after four seconds, a message is
+displayed. Otherwise, a count of the number of packets received is updated on
+the display once per second. If it becomes obvious that the test is not
+receiving packets during this phase, the user may wish to stop the program
+manually. The number and size of the packets sent during this phase is
+determined by default values, or by command line options. Each returned packet
+is compared with its original for length and content. If a mismatch is
+detected, the test fails. The test completes when the required number of
+packets have been sent, regardless of errors.
+.sp
+.LP
+After the multiple-packet phase has completed, the program displays a summary
+of the hardware event statistics for the channel that was tested. The display
+takes the following form:
+.sp
+.in +2
+.nf
+CRC errors Aborts Overruns Underruns In<-Drops-> Out
+ 0 0 0 0 0 0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This is followed by an estimated line speed, which is an approximation of the
+bit rate of the line, based on the number of bytes sent and the actual time
+that it took to send them.
+.SH OPTIONS
+.sp
+.LP
+The options for \fBsyncloop\fR are described in the following table:
+.sp
+
+.sp
+.TS
+tab();
+cw(.74i) cw(1.11i) cw(.78i) cw(2.87i)
+lw(.74i) lw(1.11i) lw(.78i) lw(2.87i)
+.
+\fBOption\fR\fBParameter\fR\fBDefault\fR\fBDescription\fR
+\fB-c\fR\fIpacket_count\fR100T{
+Specifies the number of packets to be sent in the multiple-packet phase.
+T}
+\fB-d\fR\fIhex_data_byte\fR\fIrandom\fRT{
+Specifies that each packet will be filled with bytes with the value of \fIhex_data_byte\fR.
+T}
+\fB-l\fR\fIpacket_length\fR100T{
+Specifies the length of each packet in bytes.
+T}
+\fB-s\fR\fIline_speed\fR9600Bit rate in bits per second.
+\fB-v\fRT{
+Sets verbose mode. If data errors occur, the expected and received data is displayed.
+T}
+\fB-t\fR\fItest_type\fR\fInone\fRT{
+A number, from 1 to 4, that specifies which test to perform. The values for \fItest_type\fR are as follows: \fB1\fR: Internal loopback test. Port loopback is on. Transmit and receive clock sources are internal (baud rate generator). \fB2\fR: External loopback test. Port loopback is off. Transmit and receive clock sources are internal. Requires a loopback plug suitable to the port under test. \fB3\fR: External loopback test. Port loopback is off. Transmit and receive clock sources are external (modem). Requires that one of the local modem, the remote modem, or the remote system be set in a loopback configuration. \fB4\fR: Test using predefined parameters. User defines hardware configuration and may select port parameters using the \fBsyncinit\fR(1M) command.
+T}
+.TE
+
+.sp
+.LP
+All numeric options except \fB-d\fR are entered as decimal numbers (for
+example, \fB\fR\fB-s\fR\fB 19200\fR). If you do not provide the \fB-t\fR\fI
+test_type\fR option, \fBsyncloop\fR prompts for it.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRA sample display of using the \fBsyncloop\fR command.
+.sp
+.LP
+In the following command \fBsyncloop\fR uses a packet length of 512 bytes over
+the first CPU port:
+
+.sp
+.in +2
+.nf
+\fBexample# syncloop \fR\fB-l\fR\fB 512 zsh0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In response to the above command, \fBsyncloop\fR prompts you for the test
+option you want.
+
+.sp
+.LP
+The following command performs an internal loopback test on the first CPU port,
+using 5000 packets and a bit rate of 56Kbps:
+
+.sp
+.in +2
+.nf
+\fBexample# syncloop \fR\fB-t\fR\fB 1 \fR\fB-s\fR\fB 56000 \fR\fB-c\fR\fB 5000 zsh0\fR
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsyncinit\fR(1M), \fBsyncstat\fR(1M), \fBattributes\fR(5), \fBzsh\fR(7D)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fB missing minor device number\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name \fIdevice\fR does not end in a decimal number that can be used as a
+minor device number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinvalid packet length: \fR\fInnn\fR\fR
+.ad
+.sp .6
+.RS 4n
+The packet length was specified to be less than zero or greater than 4096.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpoll: nothing to read\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpoll: nothing to read or write.\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBpoll\fR(2) system call indicates that there is no input pending and/or
+that output would be blocked if attempted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlen \fR\fIxxx\fR\fB should be \fR\fIyyy\fR\fR
+.ad
+.sp .6
+.RS 4n
+The packet that was sent had a length of \fIyyy\fR, but was received with a
+length of \fIxxx\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInnn\fR\fB packets lost in outbound queueing\fR\fR
+.ad
+.sp .6
+.RS 4n
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fInnn\fR\fB packets lost in inbound queueing\fR\fR
+.ad
+.sp .6
+.RS 4n
+A discrepancy has been found between the number of packets sent by
+\fBsyncloop\fR and the number of packets the driver counted as transmitted, or
+between the number counted as received and the number read by the program.
+.RE
+
+.SH WARNINGS
+.sp
+.LP
+To allow its tests to run properly, as well as prevent disturbance of normal
+operations, \fBsyncloop\fR should only be run on a port that is not being used
+for any other purpose at that time.
diff --git a/usr/src/man/man1m/syncstat.1m b/usr/src/man/man1m/syncstat.1m
new file mode 100644
index 0000000000..2ad0c1320a
--- /dev/null
+++ b/usr/src/man/man1m/syncstat.1m
@@ -0,0 +1,201 @@
+'\" te
+.\" Copyright (c) 1993, Sun Microsystems, Inc.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH syncstat 1M "9 Mar 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+syncstat \- report driver statistics from a synchronous serial link
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/syncstat\fR [\fB-c\fR] \fIdevice\fR [\fIinterval\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsyncstat\fR command reports the event statistics maintained by a
+synchronous serial device driver. The report may be a single snapshot of the
+accumulated totals, or a series of samples showing incremental changes. Prior
+to these it prints the device name being used to query a particular device
+driver, along with a number indicating the channel number (ppa) under control
+of that driver.
+.sp
+.LP
+Event statistics are maintained by a driver for each physical channel that it
+supports. They are initialized to zero at the time the driver module is loaded
+into the system, which may be either at boot time or when one of the driver's
+entry points is first called.
+.sp
+.LP
+The \fIdevice\fR argument is the name of the serial device as it appears in
+the \fB/dev\fR directory. For example, \fBzsh0\fR specifies the first
+on-board serial device.
+.sp
+.LP
+The following is a breakdown of \fBsyncstat\fR output:
+.sp
+
+.sp
+.TS
+tab();
+lw(1.1i) lw(4.4i)
+lw(1.1i) lw(4.4i)
+.
+\fBspeed\fRT{
+The line speed the device has been set to operate at. It is the user's responsibility to make this value correspond to the modem clocking speed when clocking is provided by the modem.
+T}
+\fBipkts\fRThe total number of input packets.
+\fBopkts\fRThe total number of output packets.
+\fBundrun\fRT{
+The number of transmitter underrun errors.
+T}
+\fBovrrun\fRThe number of receiver overrun errors.
+\fBabort\fRThe number of aborted received frames.
+\fBcrc\fRT{
+The number of received frames with CRC errors.
+T}
+\fBisize\fRT{
+The average size (in bytes) of input packets.
+T}
+\fBosize\fRT{
+The average size (in bytes) of output packets.
+T}
+.TE
+
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 12n
+.rt
+Clear the accumulated statistics for the device specified. This may be useful
+when it is not desirable to unload a particular driver, or when the driver is
+not capable of being unloaded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 12n
+.rt
+\fBsyncstat\fR samples the statistics every \fIinterval\fR seconds and reports
+incremental changes. The output reports line utilization for input and output
+in place of average packet sizes. These are the relationships between bytes
+transferred and the baud rate, expressed as percentages. The loop repeats
+indefinitely, with a column heading printed every twenty lines for convenience.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSample output from the \fBsyncstat\fR command:
+.sp
+.in +2
+.nf
+example# \fBsyncstat zsh0\fR
+
+
+speed ipkts opkts undrun ovrrun abort crc isize osize
+9600 15716 17121 0 0 1 3 98 89
+.fi
+.in -2
+.sp
+
+.sp
+.in +2
+.nf
+example# \fBsyncstat \fR\fB-c\fR\fB zsh0\fR
+
+speed ipkts opkts undrun ovrrun abort crc isize osize
+9600 0 0 0 0 0 0 0 0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the following sample output a new line of output is generated every five
+seconds:
+
+.sp
+.in +2
+.nf
+example# \fBsyncstat zsh0 5\fR
+
+ipkts opkts undrun ovrrun abort crc iutil outil
+12 10 0 0 0 0 5% 4%
+22 60 0 0 0 0 3% 90%
+36 14 0 0 0 1 51% 2%
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsyncinit\fR(1M), \fBsyncloop\fR(1M), \fBattributes\fR(5), \fBzsh\fR(7D)
+.SH DIAGNOSTICS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbad interval: \fR\fIarg\fR\fR
+.ad
+.sp .6
+.RS 4n
+The argument \fIarg\fR is expected to be an interval and could not be
+understood.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdevice\fR\fB missing minor device number\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name \fIdevice\fR does not end in a decimal number that can be used as a
+minor device number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbaud rate not set\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIinterval\fR option is being used and the baud rate on the device is
+zero. This would cause a divide-by-zero error when computing the line
+utilization statistics.
+.RE
+
+.SH WARNINGS
+.sp
+.LP
+Underrun, overrun, frame-abort, and CRC errors have a variety of causes.
+Communication protocols are typically able to handle such errors and initiate
+recovery of the transmission in which the error occurred. Small numbers of such
+errors are not a significant problem for most protocols. However, because the
+overhead involved in recovering from a link error can be much greater than that
+of normal operation, high error rates can greatly degrade overall link
+throughput. High error rates are often caused by problems in the link hardware,
+such as cables, connectors, interface electronics or telephone lines. They may
+also be related to excessive load on the link or the supporting system.
+.sp
+.LP
+The percentages for input and output line utilization reported when using the
+\fIinterval\fR option may occasionally be reported as slightly greater than
+100% because of inexact sampling times and differences in the accuracy between
+the system clock and the modem clock. If the percentage of use greatly exceeds
+100%, or never exceeds 50%, then the baud rate set for the device probably does
+not reflect the speed of the modem.
diff --git a/usr/src/man/man1m/sysdef.1m b/usr/src/man/man1m/sysdef.1m
new file mode 100644
index 0000000000..c15df7d5c3
--- /dev/null
+++ b/usr/src/man/man1m/sysdef.1m
@@ -0,0 +1,172 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH sysdef 1M "25 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+sysdef \- output system definition
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/sysdef\fR [\fB-i\fR] [\fB-n\fR \fInamelist\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/sysdef\fR [\fB-h\fR] [\fB-d\fR] [\fB-i\fR] [\fB-D\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsysdef\fR utility outputs the current system definition in tabular form.
+It lists all hardware devices, as well as pseudo devices, system devices,
+loadable modules, and the values of selected kernel tunable parameters.
+.sp
+.LP
+It generates the output by analyzing the named bootable operating system file
+(\fInamelist\fR) and extracting the configuration information from it.
+.sp
+.LP
+The default system \fInamelist\fR is \fB/dev/kmem\fR.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 15n
+.rt
+Prints the configuration information from \fB/dev/kmem\fR. This is the default
+and only needs to be specified if the configuration information from both
+\fB/dev/kmem\fR and the system file specified with the "\fB-n\fR
+\fInamelist\fR" option is needed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fInamelist\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies a \fInamelist\fR other than the default (\fB/dev/kmem\fR). The
+\fInamelist\fR specified must be a valid bootable operating system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 15n
+.rt
+Prints the identifier of the current host in hexadecimal. If \fBsysdef\fR
+\fB-h\fR is executed within a non-global zone and the zone emulates a host
+identifier, then the zone's host identifier is printed. This numeric value is
+not guaranteed to be unique.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 15n
+.rt
+The output includes the configuration of system peripherals formatted as a
+device tree.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 15n
+.rt
+For each system peripheral in the device tree, display the name of the device
+driver used to manage the peripheral.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSample output format
+.sp
+.LP
+The following example displays the format of the \fBsysdef\fR \fB-d\fR output:
+
+.sp
+.in +2
+.nf
+example% \fBsysdef\fR \fB-d\fR
+Node 'SUNW,Ultra-5_10', unit #-1
+ Node 'packages', unit #-1 (no driver)
+ Node 'terminal-emulator', unit #-1 (no driver)
+ Node 'deblocker', unit #-1 (no driver)
+ Node 'obp-tftp', unit #-1 (no driver)
+ Node 'disk-label', unit #-1 (no driver)
+ Node 'SUNW,builtin-drivers', unit #-1 (no driver)
+ Node 'sun-keyboard', unit #-1 (no driver)
+ Node 'ufs-file-system', unit #-1 (no driver)
+ Node 'chosen', unit #-1 (no driver)
+ Node 'openprom', unit #-1 (no driver)
+ Node 'client-services', unit #-1 (no driver)
+ Node 'options', unit #0
+ Node 'aliases', unit #-1 (no driver)
+ Node 'memory', unit #-1 (no driver)
+ Node 'virtual-memory', unit #-1 (no driver)
+ Node 'pci', unit #0
+ Node 'pci', unit #0
+ Node 'ebus', unit #0
+ Node 'auxio', unit #-1 (no driver)
+ Node 'power', unit #0
+ Node 'SUNW,pll', unit #-1 (no driver)
+ Node 'se', unit #0 (no driver)
+ Node 'su', unit #0
+ Node 'su', unit #1
+ Node 'ecpp', unit #-1 (no driver)
+ Node 'fdthree', unit #0
+ Node 'eeprom', unit #-1 (no driver)
+ Node 'flashprom', unit #-1 (no driver)
+ Node 'SUNW,CS4231', unit #0 (no driver)
+ Node 'network', unit #0
+ Node 'SUNW,m64B', unit #0
+ Node 'ide', unit #0
+ Node 'disk', unit #-1 (no driver)
+ Node 'cdrom', unit #-1 (no driver)
+ Node 'sd', unit #1
+ Node 'dad', unit #1
+ Node 'pci', unit #-1 (no driver)
+ Node 'SUNW,UltraSPARC-IIi', unit #-1 (no driver)
+ Node 'pseudo', unit #0
+
+\fI[output truncated]\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/kmem\fR\fR
+.ad
+.RS 13n
+.rt
+default operating system image
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhostid\fR(1), \fBprtconf\fR(1M), \fBnlist\fR(3ELF), \fBattributes\fR(5),
+\fBzones\fR(5)
diff --git a/usr/src/man/man1m/syseventadm.1m b/usr/src/man/man1m/syseventadm.1m
new file mode 100644
index 0000000000..238e1123f8
--- /dev/null
+++ b/usr/src/man/man1m/syseventadm.1m
@@ -0,0 +1,508 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH syseventadm 1M "28 Sep 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+syseventadm \- sysevent event specification administration
+.SH SYNOPSIS
+.LP
+.nf
+\fBsyseventadm\fR add [\fB-R\fR \fIrootdir\fR] [\fB-v\fR \fIvendor\fR] [\fB-p\fR \fIpublisher\fR]
+ [\fB-c\fR \fIclass\fR] [\fB-s\fR \fIsubclass\fR] [\fB-u\fR \fIusername\fR] \fIpath\fR [\fIargs\fR]
+.fi
+
+.LP
+.nf
+\fBsyseventadm\fR remove [\fB-R\fR \fIrootdir\fR] [\fB-v\fR \fIvendor\fR] [\fB-p\fR \fIpublisher\fR]
+ [\fB-c\fR \fIclass\fR] [\fB-s\fR \fIsubclass\fR] [\fB-u\fR \fIusername\fR] [\fIpath\fR [\fIargs\fR]]
+.fi
+
+.LP
+.nf
+\fBsyseventadm\fR list [\fB-R\fR \fIrootdir\fR] [\fB-v\fR \fIvendor\fR] [\fB-p\fR \fIpublisher\fR]
+ [\fB-c\fR \fIclass\fR] [\fB-s\fR \fIsubclass\fR] [\fB-u\fR \fIusername\fR] [\fIpath\fR [\fIargs\fR]]
+.fi
+
+.LP
+.nf
+\fBsyseventadm\fR restart
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBsyseventadm\fR command is an administrative front-end to add, remove and
+list \fBsysevent\fR event handlers. You can also restart the sysevent daemon by
+use of the restart command. \fBsyseventadm\fR can only be run by root.
+.sp
+.LP
+The \fBsyseventadm\fR \fBadd\fR command adds a handler for a \fBsysevent\fR
+event specified by at least one of vendor, publisher or class. If \fIclass\fR
+is specified, it may be qualified with a \fIsub-class\fR. Only the values
+specified for \fIvendor\fR, \fIpublisher\fR, \fIclass\fR and \fIsub-class\fR
+when adding the handler are matched against \fBsysevent\fR events to determine
+if the specification matches the event and the handler should be run.
+\fIpath\fR is the full pathname of the command to be run in response to
+matching events, with optional arguments (\fIargs\fR). If username is
+specified, the command is invoked as user \fIusername\fR, otherwise as root.
+.sp
+.LP
+The \fBsyseventadm\fR \fBremove\fR command removes handlers for matching
+sysevent event specifications. Event specifications may be matched by
+specifying at least one of \fIvendor\fR, \fIpublisher\fR, \fIclass\fR,
+\fIusername\fR or \fIpath\fR. If \fIclass\fR is specified, it may be qualified
+with a \fIsub-class\fR. Any of \fIvendor\fR, \fIpublisher\fR, \fIclass\fR,
+\fIsub-class\fR, \fIusername\fR, \fIpath\fR or \fIargs\fR not specified match
+the corresponding fields of all events. Handlers for all matching
+specifications are removed.
+.sp
+.LP
+The \fBsyseventadm\fR \fBlist\fR command lists the handlers for matching
+\fBsysevent\fR event specifications using the same match criteria as the
+\fBremove\fR command but without the requirement that at least one of
+\fIvendor\fR, \fIpublisher\fR, \fIclass\fR, \fIusername\fR or \fIpath\fR be
+specified. With no match criteria, all specifications are listed. The list
+command output format is: [vendor=\fIvendor\fR] [publisher=\fIpublisher\fR]
+[class=\fIclass\fR] [subclass=\fIsubclass\fR] [username=\fIusername\fR]
+\fIpath\fR [\fIargs\fR] where each of \fIclass\fR, \fIsub-class\fR,
+\fIvendor\fR, \fIpublisher\fR and \fIusername\fR is listed only if part of the
+match criteria for the listed specification.
+.sp
+.LP
+The \fBsyseventadm\fR \fBrestart\fR command informs the \fBsyseventd\fR daemon
+to reread the \fBsysevent\fR registry after a change has been made by adding or
+removing one or more \fBsysevent\fR handler specifications.
+.SS "Argument Macro Substitution"
+.sp
+.LP
+The \fBsysevent\fR handling facility provides extensive macro capability for
+constructing the command line arguments to be executed in response to an event.
+Macro expansion applies only to the command line \fIargs\fR specified for an
+event handler, with macros expanded with data from the event itself.
+Pre-defined macros are provided for the event \fIclass\fR, \fIsubclass\fR,
+\fIpublisher\fR and \fIvendor\fR information. Macros not matching one of the
+pre-defined macro names cause the attribute list attached to the event to be
+searched for an attribute of that name, with the value of the matching
+attribute substituted on the command line.
+.sp
+.LP
+Macros are introduced by the \fB$\fR character, with the macro name being the
+following token separated by a SPACE or TAB character. If the macro name is
+embedded in text, it may be delineated by \fB${\fR and \fB}\fR. A \fB\e\fR
+before the \fB$\fR causes macro expansion not to occur.
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIclass\fR\fR
+.ad
+.RS 14n
+.rt
+The class string defining the event
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIpublisher\fR\fR
+.ad
+.RS 14n
+.rt
+The publisher string defining the event
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIsequence\fR\fR
+.ad
+.RS 14n
+.rt
+The sequence number of the event.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIsubclass\fR\fR
+.ad
+.RS 14n
+.rt
+The subclass string defining the event
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fItimestamp\fR\fR
+.ad
+.RS 14n
+.rt
+The timestamp of the event.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$\fIvendor\fR\fR
+.ad
+.RS 14n
+.rt
+The vendor string defining the event
+.RE
+
+.sp
+.LP
+Macro names other than those pre-defined are compared against the attribute
+list provided with the event. An attribute with name matching the macro name
+causes the value of the attribute to be substituted as \fBASCII\fR text on the
+generated command line.
+.sp
+.LP
+Use of a macro for which no attribute with that name is defined, or for which
+multiple attributes with that name are provided, cause an error and the command
+is not invoked.
+.sp
+.LP
+Attributes with signed data types (\fBDATA_TYPE_INT16\fR, \fBDATA_TYPE_INT32\fR
+and \fBDATA_TYPE_INT64\fR) are expanded as decimal digits.
+.sp
+.LP
+Attributes with unsigned data types (\fBDATA_TYPE_BYTE\fR,
+\fBDATA_TYPE_UINT16\fR, \fBDATA_TYPE_UINT32\fR, \fBDATA_TYPE_UINT64\fR and
+\fBDATA_TYPE_HTTIME\fR) are expanded as hexadecimal digits with a \fB0x\fR
+prefix.
+.sp
+.LP
+Attributes with string data type (\fBDATA_TYPE_STRING\fR) are expanded with the
+string data. The data is not quoted. If if it desired that the quoted strings
+be generated on the command line, put quotes around the macro call in the
+arguments.
+.sp
+.LP
+Array types are expanded with each element expanded as defined for that scalar
+type, with a space separating each element substitution.
+.SH OPTIONS
+.sp
+.LP
+The \fBadd\fR, \fBlist\fR and \fBremove\fR subcommands support the following
+options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIclass\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the event class, \fIclass\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpublisher\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the event publisher, \fIpublisher\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIrootdir\fR\fR
+.ad
+.RS 16n
+.rt
+Specify an alternate root path, \fIrootdir\fR.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-R\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsubclass\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the event subclass, \fIsubclass\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIusername\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the username (\fIusername\fR) to invoke the command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fIvendor\fR\fR
+.ad
+.RS 16n
+.rt
+Specify the vendor (\fIvendor\fR) that defines the event. Events defined by
+third-party software should specify the company's stock symbol as \fIvendor\fR.
+Sun-defined events use \fBSUNW\fR.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The \fBadd\fR, \fBlist\fR and \fBremove\fR subcommands support the following
+options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIargs\fR\fR
+.ad
+.RS 8n
+.rt
+Command arguments
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpath\fR\fR
+.ad
+.RS 8n
+.rt
+Full path of command to be run in response to event
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding an Event Handler
+.sp
+.LP
+The following example adds an event handler for an event defined by vendor
+\fBMYCO\fR ("My Company"), class \fBEC_ENV\fR and sub-class \fBESC_ENV_TEMP\fR.
+The command to be run is \fB/opt/MYCOenv/bin/ec_env_temp\fR, with arguments
+being the class name, sub-class name and pathname derived from the event
+attributes. The \fB$\fR characters are preceded by a backslash to circumvent
+shell interpretation. There is no need to restart the service after the change
+since the registry is maintained on \fB$ALTROOT\fR.
+
+.sp
+.in +2
+.nf
+# syseventadm add -R \$ALTROOT -v MYCO -c EC_ENV -s ESC_ENV_TEMP \e
+ /opt/MYCOenv/bin/ec_env_temp \e$class \e$subclass \e$pathname
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note the caveat on the use of the \fB-R\fR option in the description of that
+option, above.
+
+.LP
+\fBExample 2 \fRRemoving an Event Handler
+.sp
+.LP
+The following example removes the event handler added in Example 1.
+
+.sp
+.in +2
+.nf
+# syseventadm remove -R \$ALTROOT -v MYCO -c EC_ENV -s ESC_ENV_TEMP \e
+ /opt/MYCOenv/bin/ec_env_temp \${class} \${subclass} \${pathname}
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Note the caveat on the use of the \fB-R\fR option in the description of that
+option, above.
+
+.LP
+\fBExample 3 \fRListing Event Handlers
+.sp
+.LP
+The following example lists all event handlers for events of class
+\fBEC_ENV\fR, subclass \fBESC_ENV_TEMP\fR, as defined by vendor \fBMYCO\fR:
+
+.sp
+.in +2
+.nf
+# syseventadm list -v MYCO -c EC_ENV -s ESC_ENV_TEMP \e
+ vendor=MYCO class=EC_ENV subclass=ESC_ENV_TEMP \e
+ /opt/MYCOenv/bin/ec_env_temp \e${class} \e${subclass} \e${pathname}
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRListing Event Handlers
+.sp
+.LP
+The following example lists all event handlers defined by vendor \fBVRTS\fR.
+
+.sp
+.in +2
+.nf
+# syseventadm list -v VRTS
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRRemoving Event Handlers
+.sp
+.LP
+The following example removes all event handlers defined by vendor \fBVRTS\fR,
+and restarts service.
+
+.sp
+.in +2
+.nf
+# syseventadm remove -v VRTS
+# syseventadm restart
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRListing All Event Handlers Specified to Run a Command
+.sp
+.LP
+The following example lists all event handlers specified to run the command
+\fB/opt/MYCOenv/bin/ec_env_temp\fR:
+
+.sp
+.in +2
+.nf
+# syseventadm list /opt/MYCOenv/bin/ec_env_temp
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRRemoving Event Handlers and Restarting Service
+.sp
+.LP
+The following example removes all event handlers specified to run the command
+\fB/opt/MYCOenv/bin/ec_env_temp\fR, and restarts service:
+
+.sp
+.in +2
+.nf
+# syseventadm remove /opt/MYCOenv/bin/ec_env_temp
+# syseventadm restart
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+No matching event specification found (remove or list commands only).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Incorrect command usage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Permission denied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.RS 5n
+.rt
+Command failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.RS 5n
+.rt
+Out of memory.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsyseventd\fR(1M), \fBsysevent_post_event\fR(3SYSEVENT), \fBattributes\fR(5),
+\fBddi_log_sysevent\fR(9F)
+.SH NOTES
+.sp
+.LP
+To avoid upgrade problems, packages delivering a sysevent event handler should
+install the event handler by running \fBsyseventadm\fR from the package's
+postinstall script. The event handler can then be removed by running
+\fBsyseventadm\fR from the package's preremove script using the same arguments
+as when added.
diff --git a/usr/src/man/man1m/syseventconfd.1m b/usr/src/man/man1m/syseventconfd.1m
new file mode 100644
index 0000000000..69e4080884
--- /dev/null
+++ b/usr/src/man/man1m/syseventconfd.1m
@@ -0,0 +1,81 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH syseventconfd 1M "6 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+syseventconfd \- kernel system event command invocation daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/sysevent/syseventconfd\fR [\fB-r\fR \fIrootdir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsyseventconfd\fR is the user-level daemon that invokes user-level commands
+in response to kernel system events received from \fBsyseventd\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrootdir\fR\fR
+.ad
+.RS 14n
+.rt
+Cause \fBsyseventconfd\fR to use an alternate root path when creating its door.
+The root path must match the root path used to invoke \fBsyseventd\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/sysevent/syseventconfd_event_service\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsyseventconfd\fR event service door file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/sysevent/modules/sysevent_conf_mod.so\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBsyseventd\fR loadable module (\fBSLM\fR) managing \fBsysevent.conf\fR files
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBsyseventd\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBsyseventconfd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/sysevent:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/syseventd.1m b/usr/src/man/man1m/syseventd.1m
new file mode 100644
index 0000000000..07d7253384
--- /dev/null
+++ b/usr/src/man/man1m/syseventd.1m
@@ -0,0 +1,166 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH syseventd 1M "6 Aug 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+syseventd \- kernel system event notification daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/sysevent/syseventd\fR [\fB-d\fR \fIdebug_level\fR] [\fB-r\fR \fIrootdir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsyseventd\fR is a user-level daemon that accepts delivery of system event
+buffers from the kernel. Once an event buffer has been delivered to
+\fBsyseventd\fR, it, in turn, attempts to propagate the event to all interested
+end event subscribers.
+.sp
+.LP
+Event subscribers take the form of a \fBsyseventd\fR loadable module
+(\fBSLM\fR). \fBsyseventd\fR passes the event buffer to each of its subscribers
+and in return expects a notification as to the successful or unsuccessful
+delivery attempt.
+.sp
+.LP
+Upon successful delivery of the event buffer to all interested event
+subscribers, \fBsyseventd\fR frees the event buffer from the kernel event
+queue.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdebug_level\fR\fR
+.ad
+.RS 18n
+.rt
+Enable debug mode. Messages are printed to the invoking user's terminal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrootdir\fR\fR
+.ad
+.RS 18n
+.rt
+Cause \fBsyseventd\fR to use an alternate root path when creating its door and
+lock files. Modules continue to be loaded from the standard module directories.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/sysevent/syseventd_daemon.lock\fR\fR
+.ad
+.sp .6
+.RS 4n
+daemon lock file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/sysevent/sysevent_door\fR \fR
+.ad
+.sp .6
+.RS 4n
+kernel to \fBsyseventd\fR door file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/sysevent/modules\fR \fR
+.ad
+.sp .6
+.RS 4n
+\fBSLM\fR directory repository
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/platform/\fR\fB`\fR\fBuname
+\(emi\fR\fB`\fR\fB/lib/sysevent/modules\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBSLM\fR directory repository
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/platform/\fR\fB`\fR\fBuname
+\(emm\fR\fB`\fR\fB/lib/sysevent/modules\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBSLM\fR directory repository
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBsyseventconfd\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBsyseventd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/sysevent:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/syslogd.1m b/usr/src/man/man1m/syslogd.1m
new file mode 100644
index 0000000000..3df5a1a328
--- /dev/null
+++ b/usr/src/man/man1m/syslogd.1m
@@ -0,0 +1,390 @@
+'\" te
+.\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH syslogd 1M "31 Oct 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+syslogd \- log system messages
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/syslogd\fR [\fB-d\fR] [\fB-f\fR \fIconfigfile\fR] [\fB-m\fR \fImarkinterval\fR]
+ [\fB-p\fR \fIpath\fR] [\fB-t\fR | \fB-T\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBsyslogd\fR reads and forwards system messages to the appropriate log files
+or users, depending upon the priority of a message and the system facility from
+which it originates. The configuration file \fB/etc/syslog.conf\fR (see
+\fBsyslog.conf\fR(4)) controls where messages are forwarded. \fBsyslogd\fR logs
+a mark (timestamp) message every \fImarkinterval\fR minutes (default \fB20\fR)
+at priority \fBLOG_INFO\fR to the facility whose name is given as \fBmark\fR in
+the \fBsyslog.conf\fR file.
+.sp
+.LP
+A system message consists of a single line of text, which may be prefixed with
+a priority code number enclosed in angle-brackets (\fB<\|>\fR); priorities are
+defined in \fB<sys/syslog.h>\fR\&.
+.sp
+.LP
+\fBsyslogd\fR reads from the \fBSTREAMS\fR log driver, \fB/dev/log\fR, and from
+any transport provider specified in \fB/etc/netconfig\fR,
+\fB/etc/net/transport/hosts\fR, and \fB/etc/net/transport/services\fR.
+.sp
+.LP
+\fBsyslogd\fR reads the configuration file when it starts up, and again
+whenever it receives a \fBHUP\fR signal (see \fBsignal.h\fR(3HEAD), at which
+time it also closes all files it has open, re-reads its configuration file, and
+then opens only the log files that are listed in that file. \fBsyslogd\fR exits
+when it receives a \fBTERM\fR signal.
+.sp
+.LP
+As it starts up, \fBsyslogd\fR creates the file \fB/var/run/syslog.pid\fR, if
+possible, containing its process identifier (\fBPID\fR).
+.sp
+.LP
+If message \fBID\fR generation is enabled (see \fBlog\fR(7D)), each message
+will be preceded by an identifier in the following format: \fB[ID\fR \fImsgid
+facility\fR\fB\&.\fR\fIpriority\fR\fB]\fR. \fImsgid\fR is the message's numeric
+identifier described in \fBmsgid\fR(1M). \fIfacility\fR and \fIpriority\fR are
+described in \fBsyslog.conf\fR(4). \fB[ID 123456 kern.notice]\fR is an example
+of an identifier when message \fBID\fR generation is enabled.
+.sp
+.LP
+If the message originated in a loadable kernel module or driver, the kernel
+module's name (for example, \fBufs\fR) will be displayed instead of \fBunix\fR.
+See \fBEXAMPLES\fR for sample output from \fBsyslogd\fR with and without
+message \fBID\fR generation enabled.
+.sp
+.LP
+In an effort to reduce visual clutter, message \fBID\fRs are not displayed when
+writing to the console; message \fBID\fRs are only written to the log file.
+See .
+.sp
+.LP
+The \fB/etc/default/syslogd\fR file contains the following default parameter
+settings, which are in effect if neither the \fB-t\fR nor \fB-T\fR option is
+selected. See \fBFILES\fR.
+.sp
+.LP
+The recommended way to allow or disallow message logging is through the use of
+the service management facility (\fBsmf\fR(5)) property:
+.sp
+.in +2
+.nf
+svc:/system/system-log/config/log_from_remote
+.fi
+.in -2
+
+.sp
+.LP
+This property specifies whether remote messages are logged.
+\fBlog_from_remote=true\fR is equivalent to the \fB-t\fR command-line option
+and \fBfalse\fR is equivalent to the \fB-T\fR command-line option. The default
+value for \fB-log_from_remote\fR is \fBfalse\fR. See NOTES, below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOG_FROM_REMOTE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether remote messages are logged. \fBLOG_FROM_REMOTE=NO\fR is
+equivalent to the \fB-t\fR command-line option. The default value for
+\fBLOG_FROM_REMOTE\fR is \fBYES\fR.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn on debugging. This option should only be used interactively in a root
+shell once the system is in multi-user mode. It should \fBnot\fR be used in the
+system start-up scripts, as this will cause the system to hang at the point
+where \fBsyslogd\fR is started.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIconfigfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternate configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImarkinterval\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an interval, in minutes, between mark messages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternative log device name. The default is \fB/dev/log\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable the \fBsyslogd\fR \fBUDP\fR port to turn on logging of remote messages.
+This is the default behavior. See .
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disable the \fBsyslogd\fR \fBUDP\fR port to turn off logging of remote
+messages. See .
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fR\fBsyslogd\fR Output Without Message ID Generation Enabled
+.sp
+.LP
+The following example shows the output from \fBsyslogd\fR when message \fBID\fR
+generation \fBis not\fR enabled:
+
+.sp
+.in +2
+.nf
+Sep 29 21:41:18 cathy unix: alloc /: file system full
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fR\fBsyslogd\fR Output with ID generation Enabled
+.sp
+.LP
+The following example shows the output from \fBsyslogd\fR when message \fBID\fR
+generation \fBis\fR enabled. The message \fBID\fR is displayed when writing to
+log file\fB/var/adm/messages\fR.
+
+.sp
+.in +2
+.nf
+Sep 29 21:41:18 cathy ufs: [ID 845546 kern.notice]
+ alloc /: file system full
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fR\fBsyslogd\fR Output with ID Generation Enabled
+.sp
+.LP
+The following example shows the output from \fBsyslogd\fR when message \fBID\fR
+generation \fBis\fR enabled when writing to the console. Even though message ID
+is enabled, the message \fBID\fR is not displayed at the console.
+
+.sp
+.in +2
+.nf
+Sep 29 21:41:18 cathy ufs: alloc /: file system full
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fREnabling Acceptance of UDP Messages from Remote Systems
+.sp
+.LP
+The following commands enable \fBsyslogd\fR to accept entries from remote
+systems.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg -s svc:/system/system-log setprop config/log_from_remote = true\fR
+# \fBsvcadm restart svc:/system/system-log\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/syslog.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configuration file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/run/syslog.pid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Process \fBID\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/syslogd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains default settings. You can override some of the settings by
+command-line options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/log\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBSTREAMS\fR log driver
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/netconfig\fR\fR
+.ad
+.sp .6
+.RS 4n
+Transport providers available on the system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/net/transport/hosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+Network hosts for each transport
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/net/transport/services\fR\fR
+.ad
+.sp .6
+.RS 4n
+Network services for each transport
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlogger\fR(1), \fBsvcs\fR(1), \fBmsgid\fR(1M), \fBsvcadm\fR(1M),
+\fBsvccfg\fR(1M), \fBsyslog\fR(3C), \fBsyslog.conf\fR(4), \fBattributes\fR(5),
+\fBsignal.h\fR(3HEAD), \fBsmf\fR(5), \fBlog\fR(7D)
+.SH NOTES
+.sp
+.LP
+The \fBmark\fR message is a system time stamp, and so it is only defined for
+the system on which \fBsyslogd\fR is running. It can not be forwarded to other
+systems.
+.sp
+.LP
+When \fBsyslogd\fR receives a \fBHUP\fR signal, it attempts to complete
+outputting pending messages, and close all log files to which it is currently
+logging messages. If, for some reason, one (or more) of these files does not
+close within a generous grace period, \fBsyslogd\fR discards the pending
+messages, forcibly closes these files, and starts reconfiguration. If this
+shutdown procedure is disturbed by an unexpected error and \fBsyslogd\fR cannot
+complete reconfiguration, \fBsyslogd\fR sends a mail message to the superuser
+on the current system stating that it has shut down, and exits.
+.sp
+.LP
+Care should be taken to ensure that each window displaying messages forwarded
+by \fBsyslogd\fR (especially console windows) is run in the system default
+locale (which is \fBsyslogd\fR's locale). If this advice is not followed, it is
+possible for a \fBsyslog\fR message to alter the terminal settings for that
+window, possibly even allowing remote execution of arbitrary commands from that
+window.
+.sp
+.LP
+The \fBsyslogd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+ svc:/system/system-log:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+When \fBsyslogd\fR is started by means of \fBsvcadm\fR(1M), if a value is
+specified for \fBLOG_FROM_REMOTE\fR in the \fB/etc/defaults/syslogd\fR file,
+the SMF property \fBsvc:/system/system-log/config/log_from_remote\fR is set to
+correspond to the \fBLOG_FROM_REMOTE\fR value and the
+\fB/etc/default/syslogd\fR file is modified to replace the
+\fBLOG_FROM_REMOTE\fR specification with the following comment:
+.sp
+.in +2
+.nf
+# LOG_FROM_REMOTE is now set using svccfg(1m), see syslogd(1m).
+.fi
+.in -2
+
+.sp
+.LP
+If neither \fBLOG_FROM_REMOTE\fR nor
+\fBsvc:/system/system-log/config/log_from_remote\fR are defined, the default is
+to log remote messages.
+.sp
+.LP
+On installation, the initial value of
+\fBsvc:/system/system-log/config/log_from_remote\fR is \fBfalse\fR.
diff --git a/usr/src/man/man1m/tapes.1m b/usr/src/man/man1m/tapes.1m
new file mode 100644
index 0000000000..cbd8dfb441
--- /dev/null
+++ b/usr/src/man/man1m/tapes.1m
@@ -0,0 +1,277 @@
+'\" te
+.\" Copyright (c) 2002 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tapes 1M "8 Nov 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tapes \- creates /dev entries for tape drives attached to the system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/tapes\fR [\fB-r\fR \fIroot_dir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdevfsadm\fR(1M) is now the preferred command for \fB/dev\fR and
+\fB/devices\fR and should be used instead of \fBtapes\fR.
+.sp
+.LP
+\fBtapes\fR creates symbolic links in the \fB/dev/rmt\fR directory to the
+actual tape device special files under the \fB/devices\fR directory tree.
+\fBtapes\fR searches the kernel device tree to see what tape devices are
+attached to the system. For each equipped tape drive, the following steps are
+performed:
+.RS +4
+.TP
+1.
+The \fB/dev/rmt\fR directory is searched for a \fB/dev/rmt/\fR\fIn\fR entry
+that is a symbolic link to the \fB/devices\fR special node of the current tape
+drive. If one is found, this determines the logical controller number of the
+tape drive.
+.RE
+.RS +4
+.TP
+2.
+The rest of the special devices associated with the drive are checked, and
+incorrect symbolic links are removed and necessary ones added.
+.RE
+.RS +4
+.TP
+3.
+If none are found, a new logical controller number is assigned (the
+lowest-unused number), and new symbolic links are created for all the special
+devices associated with the drive.
+.RE
+.sp
+.LP
+\fBtapes\fR does not remove links to non-existent devices; these must be
+removed by hand.
+.sp
+.LP
+\fBtapes\fR is run each time a reconfiguration-boot is performed, or when
+\fBadd_drv\fR(1M) is executed.
+.SS "Notice to Driver Writers"
+.sp
+.LP
+\fBtapes\fR(1M) considers all devices with the node type \fBDDI_NT_TAPE\fR to
+be tape devices; these devices must have their minor name created with a
+specific format. The minor name encodes operational modes for the tape device
+and consists of an \fBASCII\fR string of the form [
+\fBl\fR,\fBm\fR,\fBh\fR,\fBc\fR,\fBu\fR ][ \fBb\fR ][ \fBn\fR ].
+.sp
+.LP
+The first character set is used to specify the tape density of the device, and
+are named low (\fBl\fR), medium (\fBm\fR), high (\fBh\fR), compressed
+(\fBc\fR), and ultra (\fBu\fR). These specifiers only express a relative
+density; it is up to the driver to assign specific meanings as needed. For
+example, 9 track tape devices interpret these as actual bits-per-inch
+densities, where \fBl\fR means 800 \fBBPI,\fR \fBm\fR means 1600 \fBBPI ,\fR
+and \fBh\fR means 6250 \fBBPI,\fR whereas 4mm \fBDAT\fR tapes defines \fBl\fR
+as standard format, and \fBm\fR, \fB h\fR, \fBc\fR and \fBu\fR as compressed
+format. Drivers may choose to implement any or all of these format types.
+.sp
+.LP
+During normal tape operation (non-\fBBSD\fR behavior), once an \fBEOF\fR mark
+has been reached, subsequent reads from the tape device return an error. An
+explicit IOCTL must be issued to space over the \fBEOF\fR mark before the next
+file can be read. \fBb\fR instructs the device to observe \fBBSD\fR behavior,
+where reading at \fBEOF\fR will cause the tape device to automatically space
+over the \fBEOF\fR mark and begin reading from the next file.
+.sp
+.LP
+\fBn\fR or no-rewind-on-close instructs the driver to not rewind to the
+beginning of tape when the device is closed. Normal behavior for tape devices
+is to reposition to BOT when closing. See \fBmtio\fR(7I).
+.sp
+.LP
+The minor number for tape devices should be created by encoding the device's
+instance number using the tape macro \fBMTMINOR\fR and ORing in the proper
+combination of density, \fBBSD\fR behavior, and no-rewind flags. See
+\fBmtio\fR(7I).
+.sp
+.LP
+To prevent \fBtapes\fR from attempting to automatically generate links for a
+device, drivers must specify a private node type and refrain from using the
+node type string \fBDDI_NT_TAPE\fR when calling\fBddi_create_minor_node\fR(9F).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIroot_dir\fR\fR
+.ad
+.RS 15n
+.rt
+Causes \fBtapes\fR to presume that the \fB/dev/rmt\fR directory tree is found
+under \fIroot_dir\fR, not directly under \fB/\fR.
+.RE
+
+.SH ERRORS
+.sp
+.LP
+If \fBtapes\fR finds entries of a particular logical controller linked to
+different physical controllers, it prints an error message and exits without
+making any changes to the \fB/dev\fR directory, since it cannot determine which
+of the two alternative logical to physical mappings is correct. The links
+should be manually corrected or removed before another reconfiguration boot is
+performed.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating Tape Device Nodes From Within the Driver's
+\fBattach()\fR Function
+.sp
+.LP
+This example demonstrates creating tape device nodes from within the
+\fBxktape\fR driver's \fBattach\fR(9E) function.
+
+.sp
+.in +2
+.nf
+#include <sys/mtio.h>
+struct tape_minor_info {
+ char *minor_name;
+ int minor_mode;
+};
+/*
+ * create all combinations of logical tapes
+*/
+static struct tape_minor_info example_tape[] = {
+ {"", 0}, /* default tape */
+ {"l", MT_DENSITY1},
+ {"lb", MT_DENSITY1 | MT_BSD},
+ {"lbn", MT_DENSITY1 | MT_BSD | MT_NOREWIND},
+ {"m", MT_DENSITY2},
+ {"mb", MT_DENSITY2 | MT_BSD},
+ {"mbn", MT_DENSITY2 | MT_BSD | MT_NOREWIND},
+ {"h", MT_DENSITY3},
+ {"hb", MT_DENSITY3 | MT_BSD},
+ {"hbn", MT_DENSITY3 | MT_BSD | MT_NOREWIND},
+ {"c", MT_DENSITY4},
+ {"cb", MT_DENSITY4 | MT_BSD},
+ {"cbn", MT_DENSITY4| MT_BSD | MT_NOREWIND},
+ {NULL, 0},
+};
+
+int
+xktapeattach(dev_info_t *dip, ddi_attach_cmd_t cmd)
+{
+ int instance;
+ struct tape_minor_info *mdp;
+ /* other stuff in attach... */
+ instance = ddi_get_instance(dip);
+
+ for (mdp = example_tape; mdp->minor_name != NULL; mdp++) {
+ ddi_create_minor_node(dip, mdp->minor_name, S_IFCHR,
+ (MTMINOR(instance) | mdp->minor_mode), DDI_NT_TAPE, 0);
+ }
+.fi
+.in -2
+
+.sp
+.LP
+Installing the \fBxktape\fR driver on a Sun Fire 4800, with the driver
+controlling a \fBSCSI\fR tape (target 4 attached to an \fBisp\fR(7D) \fBSCSI
+HBA)\fR and performing a reconfiguration-boot creates the following special
+files in \fB/devices\fR.
+
+.sp
+.in +2
+.nf
+# ls -l /devices/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4
+crw-rw-rw- 1 root sys 33,136 Aug 29 00:02 xktape@4,0:
+crw-rw-rw- 1 root sys 33,200 Aug 29 00:02 xktape@4,0:b
+crw-rw-rw- 1 root sys 33,204 Aug 29 00:02 xktape@4,0:bn
+crw-rw-rw- 1 root sys 33,152 Aug 29 00:02 xktape@4,0:c
+crw-rw-rw- 1 root sys 33,216 Aug 29 00:02 xktape@4,0:cb
+crw-rw-rw- 1 root sys 33,220 Aug 29 00:02 xktape@4,0:cbn
+crw-rw-rw- 1 root sys 33,156 Aug 29 00:02 xktape@4,0:cn
+crw-rw-rw- 1 root sys 33,144 Aug 29 00:02 xktape@4,0:h
+crw-rw-rw- 1 root sys 33,208 Aug 29 00:02 xktape@4,0:hb
+crw-rw-rw- 1 root sys 33,212 Aug 29 00:02 xktape@4,0:hbn
+crw-rw-rw- 1 root sys 33,148 Aug 29 00:02 xktape@4,0:hn
+crw-rw-rw- 1 root sys 33,128 Aug 29 00:02 xktape@4,0:l
+crw-rw-rw- 1 root sys 33,192 Aug 29 00:02 xktape@4,0:lb
+crw-rw-rw- 1 root sys 33,196 Aug 29 00:02 xktape@4,0:lbn
+crw-rw-rw- 1 root sys 33,132 Aug 29 00:02 xktape@4,0:ln
+crw-rw-rw- 1 root sys 33,136 Aug 29 00:02 xktape@4,0:m
+crw-rw-rw- 1 root sys 33,200 Aug 29 00:02 xktape@4,0:mb
+crw-rw-rw- 1 root sys 33,204 Aug 29 00:02 xktape@4,0:mbn
+crw-rw-rw- 1 root sys 33,140 Aug 29 00:02 xktape@4,0:mn
+crw-rw-rw- 1 root sys 33,140 Aug 29 00:02 xktape@4,0:n
+.fi
+.in -2
+
+.sp
+.LP
+\fB/dev/rmt\fR will contain the logical tape devices (symbolic links to tape
+devices in \fB/devices\fR).
+
+.sp
+.in +2
+.nf
+# ls -l /dev/rmt
+/dev/rmt/0 -> ../../devices/[....]/xktape@4,0:
+/dev/rmt/0b -> ../../devices/[....]/xktape@4,0:b
+/dev/rmt/0bn -> ../../devices/[....]/xktape@4,0:bn
+/dev/rmt/0c -> ../../devices/[....]/xktape@4,0:c
+/dev/rmt/0cb -> ../../devices/[....]/xktape@4,0:cb
+/dev/rmt/0cbn -> ../../devices/[....]/xktape@4,0:cbn
+/dev/rmt/0cn -> ../../devices/[....]/xktape@4,0:cn
+/dev/rmt/0h -> ../../devices/[....]/xktape@4,0:h
+/dev/rmt/0hb -> ../../devices/[....]/xktape@4,0:hb
+/dev/rmt/0hbn -> ../../devices/[....]/xktape@4,0:hbn
+/dev/rmt/0hn -> ../../devices/[....]/xktape@4,0:hn
+/dev/rmt/0l -> ../../devices/[....]/xktape@4,0:l
+/dev/rmt/0lb -> ../../devices/[....]/xktape@4,0:lb
+/dev/rmt/0lbn -> ../../devices/[....]/xktape@4,0:lbn
+/dev/rmt/0ln -> ../../devices/[....]/xktape@4,0:ln
+/dev/rmt/0m -> ../../devices/[....]/xktape@4,0:m
+/dev/rmt/0mb -> ../../devices/[....]/xktape@4,0:mb
+/dev/rmt/0mbn -> ../../devices/[....]/xktape@4,0:mbn
+/dev/rmt/0mn -> ../../devices/[....]/xktape@4,0:mn
+/dev/rmt/0n -> ../../devices/[....]/xktape@4,0:n
+.fi
+.in -2
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/rmt/*\fR\fR
+.ad
+.RS 14n
+.rt
+logical tape devices
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/devices/*\fR\fR
+.ad
+.RS 14n
+.rt
+tape device nodes
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBadd_drv\fR(1M), \fBdevfsadm\fR(1M), \fBattributes\fR(5), \fBisp\fR(7D),
+\fBdevfs\fR(7FS), \fBmtio\fR(7I), \fBattach\fR(9E),
+\fBddi_create_minor_node\fR(9F)
+.sp
+.LP
+\fI\fR
+.SH BUGS
+.sp
+.LP
+\fBtapes\fR silently ignores malformed minor device names.
diff --git a/usr/src/man/man1m/th_define.1m b/usr/src/man/man1m/th_define.1m
new file mode 100644
index 0000000000..3efe1d8e24
--- /dev/null
+++ b/usr/src/man/man1m/th_define.1m
@@ -0,0 +1,1042 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH th_define 1M "11 Apr 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+th_define \- create fault injection test harness error specifications
+.SH SYNOPSIS
+.LP
+.nf
+\fBth_define\fR [\fB-n\fR \fIname\fR \fB-i\fR \fIinstance\fR| \fB-P\fR \fIpath\fR] [\fB-a\fR \fIacc_types\fR]
+ [\fB-r\fR \fIreg_number\fR] [\fB-l\fR \fIoffset\fR [\fIlength\fR]]
+ [\fB-c\fR \fIcount\fR [\fIfailcount\fR]] [\fB-o\fR \fIoperator\fR [\fIoperand\fR]]
+ [\fB-f\fR \fIacc_chk\fR] [\fB-w\fR \fImax_wait_period\fR [\fIreport_interval\fR]]
+.fi
+
+.LP
+.nf
+\fBor\fR
+.fi
+
+.LP
+.nf
+\fBth_define\fR [\fB-n\fR \fIname\fR \fB-i\fR \fIinstance\fR| \fB-P\fR \fIpath\fR]
+ [\fB-a\fR log [\fIacc_types\fR] [\fB-r\fR \fIreg_number\fR] [\fB-l\fR \fIoffset\fR [\fIlength\fR]]]
+ [\fB-c\fR \fIcount\fR [\fIfailcount\fR]] [\fB-s\fR \fIcollect_time\fR] [\fB-p\fR \fIpolicy\fR]
+ [\fB-x\fR \fIflags\fR] [\fB-C\fR \fIcomment_string\fR]
+ [\fB-e\fR \fIfixup_script\fR [\fIargs\fR]]
+.fi
+
+.LP
+.nf
+\fBor\fR
+.fi
+
+.LP
+.nf
+\fBth_define\fR [\fB-h\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBth_define\fR utility provides an interface to the \fBbus_ops\fR fault
+injection \fBbofi\fR device driver for defining error injection specifications
+(referred to as errdefs). An errdef corresponds to a specification of how to
+corrupt a device driver's accesses to its hardware. The command line arguments
+determine the precise nature of the fault to be injected. If the supplied
+arguments define a consistent errdef, the \fBth_define\fR process will store
+the errdef with the \fBbofi\fR driver and suspend itself until the criteria
+given by the errdef become satisfied (in practice, this will occur when the
+access counts go to zero).
+.sp
+.LP
+You use the \fBth_manage\fR(1M) command with the \fBstart\fR option to activate
+the resulting errdef. The effect of \fBth_manage\fR with the \fBstart\fR option
+is that the \fBbofi\fR driver acts upon the errdef by matching the number of
+hardware accesses\(emspecified in \fIcount\fR, that are of the type specified
+in \fIacc_types\fR, made by instance number \fIinstance\fR\(emof the driver
+whose name is \fIname\fR, (or by the driver instance specified by \fIpath\fR)
+to the register set (or DMA handle) specified by \fIreg_number\fR, that lie
+within the range \fIoffset\fR to \fIoffset\fR +\fI length\fR from the beginning
+of the register set or DMA handle. It then applies \fIoperator\fR and
+\fIoperand\fR to the next \fIfailcount\fR matching accesses.
+.sp
+.LP
+If \fIacc_types\fR includes \fBlog\fR, \fBth_define\fR runs in automatic test
+script generation mode, and a set of test scripts (written in the Korn shell)
+is created and placed in a sub-directory of the current directory with the name
+\fB\fI<driver>\fR\&.test.\fI<id>\fR\fR (for example, \fBglm.test.978177106\fR).
+A separate, executable script is generated for each access handle that matches
+the logging criteria. The log of accesses is placed at the top of each script
+as a record of the session. If the current directory is not writable, file
+output is written to standard output. The base name of each test file is the
+driver name, and the extension is a number that discriminates between different
+access handles. A control script (with the same name as the created test
+directory) is generated that will run all the test scripts sequentially.
+.sp
+.LP
+Executing the scripts will install, and then activate, the resulting error
+definitions. Error definitions are activated sequentially and the driver
+instance under test is taken offline and brought back online before each test
+(refer to the \fB-e\fR option for more information). By default, logging
+applies to all \fBPIO\fR accesses, all interrupts, and all DMA accesses to and
+from areas mapped for both reading and writing. You can constrain logging by
+specifying additional \fIacc_types\fR, \fIreg_number\fR, \fIoffset\fR and
+\fIlength\fR. Logging will continue for \fIcount\fR matching accesses, with an
+optional time limit of \fIcollect_time\fR seconds.
+.sp
+.LP
+Either the \fB-n\fR or \fB-P\fR option must be provided. The other options are
+optional. If an option (other than \fB-a\fR) is specified multiple times, only
+the final value for the option is used. If an option is not specified, its
+associated value is set to an appropriate default, which will provide maximal
+error coverage as described below.
+.SH OPTIONS
+.sp
+.LP
+The following options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR \fIname\fR \fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of the driver to test. (String)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI instance\fR \fR
+.ad
+.sp .6
+.RS 4n
+Test only the specified driver instance (-1 matches all instances of driver).
+(Numeric)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fI path\fR \fR
+.ad
+.sp .6
+.RS 4n
+Specify the full device path of the driver to test. (String)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIreg_number\fR \fR
+.ad
+.sp .6
+.RS 4n
+Test only the given register set or DMA handle (-1 matches all register sets
+and DMA handles). (Numeric)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fI acc_types\fR \fR
+.ad
+.sp .6
+.RS 4n
+Only the specified access types will be matched. Valid values for the
+\fIacc_types\fR argument are \fBlog\fR, \fBpio\fR, \fBpio_r\fR, \fBpio_w\fR,
+\fBdma\fR, \fBdma_r\fR, \fBdma_w\fR and \fBintr\fR. Multiple access types,
+separated by spaces, can be specified. The default is to match all hardware
+accesses.
+.sp
+If \fIacc_types\fR is set to \fBlog\fR, logging will match all \fBPIO\fR
+accesses, interrupts and DMA accesses to and from areas mapped for both reading
+and writing. \fBlog\fR can be combined with other \fIacc_types\fR, in which
+case the matching condition for logging will be restricted to the specified
+addional \fIacc_types\fR. Note that \fBdma_r\fR will match only DMA handles
+mapped for reading only; \fBdma_w\fR will match only DMA handles mapped for
+writing only; \fBdma\fR will match only DMA handles mapped for both reading and
+writing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIoffset \fR\fB[\fR\fIlength\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Constrain the range of qualifying accesses. The \fIoffset\fR and \fIlength\fR
+arguments indicate that any access of the type specified with the \fB-a\fR
+option, to the register set or DMA handle specified with the \fB-r\fR option,
+lie at least \fIoffset\fR bytes into the register set or DMA handle and at most
+\fIoffset\fR + \fIlength\fR bytes into it. The default for \fIoffset\fR is 0.
+The default for \fIlength\fR is the maximum value that can be placed in an
+\fBoffset_t\fR C data type (see \fBtypes.h\fR). Negative values are converted
+into unsigned quantities. Thus, \fB\fR\fBth_define\fR\fB \fR\fB-l\fR 0 \fB-1\fR
+is maximal.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcount\fR\fB[\fR\fIfailcount\fR\fB]\fR \fR
+.ad
+.sp .6
+.RS 4n
+Wait for \fIcount\fR number of matching accesses, then apply an operator and
+operand (see the \fB-o\fR option) to the next \fIfailcount\fR number of
+matching accesses. If the access type (see the \fB-a\fR option) includes
+logging, the number of logged accesses is given by \fIcount\fR +
+\fIfailcount\fR - 1. The -1 is required because the last access coincides with
+the first faulting access.
+.sp
+Note that access logging may be combined with error injection if
+\fIfailcount\fR and \fIoperator\fR are nonzero and if the access type includes
+logging and any of the other access types (\fBpio\fR, \fBdma\fR and \fBintr\fR)
+See the description of access types in the definition of the \fB-a\fR option,
+above.
+.sp
+When the \fIcount\fR and \fIfailcount\fR fields reach zero, the status of the
+errdef is reported to standard output. When all active errdefs created by the
+\fBth_define\fR process complete, the process exits. If \fIacc_types\fR
+includes \fBlog\fR, \fIcount\fR determines how many accesses to log. If
+\fIcount\fR is not specified, a default value is used. If \fIfailcount\fR is
+set in this mode, it will simply increase the number of accesses logged by a
+further \fIfailcount\fR - 1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fI operator \fR\fB[\fR\fIoperand\fR\fB]\fR \fR
+.ad
+.sp .6
+.RS 4n
+For qualifying PIO read and write accesses, the value read from or written to
+the hardware is corrupted according to the value of \fIoperator\fR:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEQ\fR\fR
+.ad
+.RS 7n
+.rt
+\fIoperand\fR is returned to the driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOR\fR\fR
+.ad
+.RS 7n
+.rt
+\fIoperand\fR is bitwise ORed with the real value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAND\fR\fR
+.ad
+.RS 7n
+.rt
+\fIoperand\fR is bitwise ANDed with the real value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBXOR\fR\fR
+.ad
+.RS 7n
+.rt
+\fIoperand\fR is bitwise XORed with the real value.
+.RE
+
+For PIO write accesses, the following operator is allowed:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNO\fR\fR
+.ad
+.RS 6n
+.rt
+Simply ignore the driver's attempt to write to the hardware.
+.RE
+
+Note that a driver performs PIO via the \fBddi_get\fIX\fR()\fR,
+\fBddi_put\fIX\fR()\fR, \fBddi_rep_get\fIX\fR()\fR and
+\fBddi_rep_put\fIX\fR()\fR routines (where \fIX\fR is 8, 16, 32 or 64).
+Accesses made using \fBddi_get\fIX\fR()\fR and \fBddi_put\fIX\fR()\fR are
+treated as a single access, whereas an access made using the
+\fBddi_rep_*\fR(9F) routines are broken down into their respective number of
+accesses, as given by the \fIrepcount\fR parameter to these DDI calls. If the
+access is performed via a DMA handle, \fIoperator\fR and \fIvalue\fR are
+applied to every access that comprises the DMA request. If interference with
+interrupts has been requested then the operator may take any of the following
+values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDELAY\fR\fR
+.ad
+.RS 9n
+.rt
+After \fIcount\fR accesses (see the \fB-c\fR option), delay delivery of the
+next \fIfailcount\fR number of interrupts for \fIoperand\fR number of
+microseconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOSE\fR\fR
+.ad
+.RS 9n
+.rt
+After \fIcount\fR number of interrupts, fail to deliver the next
+\fIfailcount\fR number of real interrupts to the driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEXTRA\fR\fR
+.ad
+.RS 9n
+.rt
+After \fIcount\fR number of interrupts, start delivering \fIoperand\fR number
+of extra interrupts for the next \fIfailcount\fR number of real interrupts.
+.RE
+
+The default value for \fIoperand\fR and \fIoperator\fR is to corrupt the data
+access by flipping each bit (XOR with -1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIacc_chk\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the \fIacc_chk\fR parameter is set to 1 or \fBpio\fR, then the driver's
+calls to \fBddi_check_acc_handle\fR(9F) return \fBDDI_FAILURE\fR when the
+access count goes to 1. If the \fIacc_chk\fR parameter is set to 2 or
+\fBdma\fR, then the driver's calls to \fBddi_check_dma_handle\fR(9F) return
+\fBDDI_FAILURE\fR when the access count goes to 1.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fImax_wait_period\fR\fB [\fR\fIreport_interval\fR\fB]\fR \fR
+.ad
+.sp .6
+.RS 4n
+Constrain the period for which an error definition will remain active. The
+option applies only to non-logging errdefs. If an error definition remains
+active for \fImax_wait_period\fR seconds, the test will be aborted. If
+\fIreport_interval\fR is set to a nonzero value, the current status of the
+error definition is reported to standard output every \fIreport_interval\fR
+seconds. The default value is zero. The status of the errdef is reported in
+parsable format (eight fields, each separated by a colon (\fB:\fR) character,
+the last of which is a string enclosed by double quotes and the remaining seven
+fields are integers):
+.sp
+\fIft\fR:\fImt\fR:\fIac\fR:\fIfc\fR:\fIchk\fR:\fIec\fR:\fIs\fR:\fI"message"\fR
+which are defined as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIft\fR\fR
+.ad
+.RS 13n
+.rt
+The UTC time when the fault was injected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fImt\fR\fR
+.ad
+.RS 13n
+.rt
+The UTC time when the driver reported the fault.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIac\fR\fR
+.ad
+.RS 13n
+.rt
+The number of remaining non-faulting accesses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfc\fR\fR
+.ad
+.RS 13n
+.rt
+The number of remaining faulting accesses.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIchk\fR\fR
+.ad
+.RS 13n
+.rt
+The value of the \fIacc_chk\fR field of the errdef.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIec\fR\fR
+.ad
+.RS 13n
+.rt
+The number of fault reports issued by the driver against this errdef (\fImt\fR
+holds the time of the initial report).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIs\fR\fR
+.ad
+.RS 13n
+.rt
+The severity level reported by the driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fI"message"\fR\fR
+.ad
+.RS 13n
+.rt
+Textual reason why the driver has reported a fault.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the command usage string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIcollect_time\fR \fR
+.ad
+.sp .6
+.RS 4n
+If \fIacc_types\fR is given with the \fB-a\fR option and includes \fBlog\fR,
+the errdef will log accesses for \fIcollect_time\fR seconds (the default is to
+log until the log becomes full). Note that, if the errdef specification matches
+multiple driver handles, multiple logging errdefs are registered with the
+\fBbofi\fR driver and logging terminates when all logs become full or when
+\fIcollect_time\fR expires or when the associated errdefs are cleared. The
+current state of the log can be checked with the \fBth_manage\fR(1M) command,
+using the \fBbroadcast\fR parameter. A log can be terminated by running
+\fBth_manage\fR(1M) with the \fBclear_errdefs\fR option or by sending a
+\fBSIGALRM\fR signal to the \fBth_define\fR process. See \fBalarm\fR(2) for the
+semantics of \fBSIGALRM\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpolicy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Applicable when the \fIacc_types\fR option includes \fBlog\fR. The parameter
+modifies the policy used for converting from logged accesses to errdefs. All
+policies are inclusive:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBrare\fR to bias error definitions toward rare accesses (default).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBoperator\fR to produce a separate error definition for each operator
+type (default).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBcommon\fR to bias error definitions toward common accesses.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBmedian\fR to bias error definitions toward median accesses.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBmaximal\fR to produce multiple error definitions for duplicate accesses.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBunbiased\fR to create unbiased error definitions.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBonebyte\fR, \fBtwobyte\fR, \fBfourbyte\fR, or \fBeightbyte\fR to select
+errdefs corresponding to 1, 2, 4 or 8 byte accesses (if chosen, the
+\fB-x\fR\fBr\fR option is enforced in order to ensure that \fBddi_rep_*()\fR
+calls are decomposed into \fBmultiple single accesses\fR).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBmultibyte\fR to create error definitions for multibyte accesses
+performed using \fBddi_rep_get*()\fR and \fBddi_rep_put*()\fR.
+.RE
+Policies can be combined by adding together these options. See the NOTES
+section for further information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fIflags\fR\fR
+.ad
+.sp .6
+.RS 4n
+Applicable when the \fIacc_types\fR option includes \fBlog\fR. The \fIflags\fR
+parameter modifies the way in which the \fBbofi\fR driver logs accesses. It is
+specified as a string containing any combination of the following letters:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 5n
+.rt
+Continuous logging (that is, the log will wrap when full).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+.rt
+Timestamp each log entry (access times are in seconds).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 5n
+.rt
+Log repeated I/O as individual accesses (for example, a \fBddi_rep_get16\fR(9F)
+call which has a repcount of \fIN\fR is logged \fIN\fR times with each
+transaction logged as size 2 bytes. Without this option, the default logging
+behavior is to log this access once only, with a transaction size of twice the
+\fIrepcount\fR).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIcomment_string\fR\fR
+.ad
+.sp .6
+.RS 4n
+Applicable when the \fIacc_types\fR option includes \fBlog\fR. It provides a
+comment string to be placed in any generated test scripts. The string must be
+enclosed in double quotes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIfixup_script\fR \fB[\fR\fIargs\fR\fB]\fR \fR
+.ad
+.sp .6
+.RS 4n
+Applicable when the \fIacc_types\fR option includes \fBlog\fR. The output of a
+logging errdefs is to generate a test script for each driver access handle. Use
+this option to embed a command in the resulting script before the errors are
+injected. The generated test scripts will take an instance offline and bring it
+back online before injecting errors in order to bring the instance into a known
+fault-free state. The executable \fIfixup_script\fR will be called twice with
+the set of optional \fIargs\fR\(em once just before the instance is taken
+offline and again after the instance has been brought online. The following
+variables are passed into the environment of the called executable:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDRIVER_PATH\fR\fR
+.ad
+.RS 22n
+.rt
+Identifies the device path of the instance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDRIVER_INSTANCE\fR\fR
+.ad
+.RS 22n
+.rt
+Identifies the instance number of the device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDRIVER_UNCONFIGURE\fR\fR
+.ad
+.RS 22n
+.rt
+Has the value 1 when the instance is about to be taken offline.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDRIVER_CONFIGURE\fR\fR
+.ad
+.RS 22n
+.rt
+Has the value 1 when the instance has just been brought online.
+.RE
+
+Typically, the executable ensures that the device under test is in a suitable
+state to be taken offline (unconfigured) or in a suitable state for error
+injection (for example configured, error free and servicing a workload). A
+minimal script for a network driver could be:
+.sp
+.in +2
+.nf
+#!/bin/ksh
+
+driver=xyznetdriver
+ifnum=$driver$DRIVER_INSTANCE
+
+if [[ $DRIVER_CONFIGURE = 1 ]]; then
+ ifconfig $ifnum plumb
+ ifconfig $ifnum ...
+ ifworkload start $ifnum
+elif [[ $DRIVER_UNCONFIGURE = 1 ]]; then
+ ifworkload stop $ifnum
+ ifconfig $ifnum down
+ ifconfig $ifnum unplumb
+fi
+exit $?
+.fi
+.in -2
+.sp
+
+The \fB-e\fR option must be the last option on the command line.
+.RE
+
+.sp
+.LP
+If the \fB-a\fR \fBlog\fR option is selected but the \fB-e\fR option is not
+given, a default script is used. This script repeatedly attempts to detach and
+then re-attach the device instance under test.
+.SH EXAMPLES
+.SS "Examples of Error Definitions"
+.sp
+.LP
+\fBth_define -n foo -i 1 -a log\fR
+.sp
+.LP
+Logs all accesses to all handles used by instance 1 of the \fBfoo\fR driver
+while running the default workload (attaching and detaching the instance). Then
+generates a set of test scripts to inject appropriate errdefs while running
+that default workload.
+.sp
+.LP
+\fBth_define -n foo -i 1 -a log pio\fR
+.sp
+.LP
+Logs PIO accesses to each PIO handle used by instance 1 of the \fBfoo\fR driver
+while running the default workload (attaching and detaching the instance). Then
+generates a set of test scripts to inject appropriate errdefs while running
+that default workload.
+.sp
+.LP
+\fBth_define -n foo -i 1 -p onebyte median -e fixup arg -now\fR
+.sp
+.LP
+Logs all accesses to all handles used by instance 1 of the \fBfoo\fR driver
+while running the workload defined in the fixup script \fBfixup\fR with
+arguments \fBarg\fR and \fB-now\fR. Then generates a set of test scripts to
+inject appropriate errdefs while running that workload. The resulting error
+definitions are requested to focus upon single byte accesses to locations that
+are accessed a \fBmedian\fR number of times with respect to frequency of access
+to I/O addresses.
+.sp
+.LP
+\fBth_define -n se -l 0x20 1 -a pio_r -o OR 0x4 -c 10 1000\fR
+.sp
+.LP
+Simulates a stuck serial chip command by forcing 1000 consecutive read accesses
+made by any instance of the \fBse\fR driver to its command status register,
+thereby returning status busy.
+.sp
+.LP
+\fBth_define -n foo -i 3 -r 1 -a pio_r -c 0 1 -f 1 -o OR 0x100\fR
+.sp
+.LP
+Causes 0x100 to be ORed into the next physical I/O read access from any
+register in register set 1 of instance 3 of the \fBfoo\fR driver. Subsequent
+calls in the driver to \fBddi_check_acc_handle()\fR return \fBDDI_FAILURE\fR.
+.sp
+.LP
+\fBth_define -n foo -i 3 -r 1 -a pio_r -c 0 1 -o OR 0x0\fR
+.sp
+.LP
+Causes 0x0 to be ORed into the next physical I/O read access from any register
+in register set 1 of instance 3 of the \fBfoo\fR driver. This is of course a
+no-op.
+.sp
+.LP
+\fBth_define -n foo -i 3 -r 1 -l 0x8100 1 -a pio_r -c 0 10 -o EQ 0x70003\fR
+.sp
+.LP
+Causes the next ten next physical I/O reads from the register at offset 0x8100
+in register set 1 of instance 3 of the \fBfoo\fR driver to return 0x70003.
+.sp
+.LP
+\fBth_define -n foo -i 3 -r 1 -l 0x8100 1 -a pio_w -c 100 3 -o AND
+0xffffffffffffefff\fR
+.sp
+.LP
+The next 100 physical I/O writes to the register at offset 0x8100 in register
+set 1 of instance 3 of the \fBfoo\fR driver take place as normal. However, on
+each of the three subsequent accesses, the 0x1000 bit will be cleared.
+.sp
+.LP
+\fBth_define -n foo -i 3 -r 1 -l 0x8100 0x10 -a pio_r -c 0 1 -f 1 -o XOR 7\fR
+.sp
+.LP
+Causes the bottom three bits to have their values toggled for the next physical
+I/O read access to registers with offsets in the range 0x8100 to 0x8110 in
+register set 1 of instance 3 of the \fBfoo\fR driver. Subsequent calls in the
+driver to \fBddi_check_acc_handle()\fR return \fBDDI_FAILURE\fR.
+.sp
+.LP
+\fBth_define -n foo -i 3 -a pio_w -c 0 1 -o NO 0\fR
+.sp
+.LP
+Prevents the next physical I/O write access to any register in any register set
+of instance 3 of the \fBfoo\fR driver from going out on the bus.
+.sp
+.LP
+\fBth_define -n foo -i 3 -l 0 8192 -a dma_r -c 0 1 -o OR 7\fR
+.sp
+.LP
+Causes 0x7 to be ORed into each \fBlong long\fR in the first 8192 bytes of the
+next DMA read, using any DMA handle for instance 3 of the \fBfoo\fR driver.
+.sp
+.LP
+\fBth_define -n foo -i 3 -r 2 -l 0 8 -a dma_r -c 0 1 -o OR
+0x7070707070707070\fR
+.sp
+.LP
+Causes 0x70 to be ORed into each byte of the first \fBlong long\fR of the next
+DMA read, using the DMA handle with sequential allocation number 2 for instance
+3 of the \fBfoo\fR driver.
+.sp
+.LP
+\fBth_define -n foo -i 3 -l 256 256 -a dma_w -c 0 1 -f 2 -o OR 7\fR
+.sp
+.LP
+Causes 0x7 to be ORed into each \fBlong long\fR in the range from offset 256 to
+offset 512 of the next DMA write, using any DMA handle for instance 3 of the
+\fBfoo\fR driver. Subsequent calls in the driver to
+\fBddi_check_dma_handle()\fR return \fBDDI_FAILURE\fR.
+.sp
+.LP
+\fBth_define -n foo -i 3 -r 0 -l 0 8 -a dma_w -c 100 3 -o AND
+0xffffffffffffefff\fR
+.sp
+.LP
+The next 100 DMA writes using the DMA handle with sequential allocation number
+0 for instance 3 of the \fBfoo\fR driver take place as normal. However, on each
+of the three subsequent accesses, the 0x1000 bit will be cleared in the first
+\fBlong long\fR of the transfer.
+.sp
+.LP
+\fBth_define -n foo -i 3 -a intr -c 0 6 -o LOSE 0\fR
+.sp
+.LP
+Causes the next six interrupts for instance 3 of the \fBfoo\fR driver to be
+lost.
+.sp
+.LP
+\fBth_define -n foo -i 3 -a intr -c 30 1 -o EXTRA 10\fR
+.sp
+.LP
+When the thirty-first subsequent interrupt for instance 3 of the \fBfoo\fR
+driver occurs, a further ten interrupts are also generated.
+.sp
+.LP
+\fBth_define -n foo -i 3 -a intr -c 0 1 -o DELAY 1024\fR
+.sp
+.LP
+Causes the next interrupt for instance 3 of the \fBfoo\fR driver to be delayed
+by 1024 microseconds.
+.SH NOTES
+.sp
+.LP
+The policy option in the \fBth_define\fR \fB-p\fR syntax determines how a set
+of logged accesses will be converted into the set of error definitions. Each
+logged access will be matched against the chosen policies to determine whether
+an error definition should be created based on the access.
+.sp
+.LP
+Any number of policy options can be combined to modify the generated error
+definitions.
+.SS "Bytewise Policies"
+.sp
+.LP
+These select particular I/O transfer sizes. Specifing a byte policy will
+exclude other byte policies that have not been chosen. If none of the byte type
+policies is selected, all transfer sizes are treated equally. Otherwise, only
+those specified transfer sizes will be selected.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBonebyte\fR\fR
+.ad
+.RS 13n
+.rt
+Create errdefs for one byte accesses (\fBddi_get8()\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtwobyte\fR\fR
+.ad
+.RS 13n
+.rt
+Create errdefs for two byte accesses (\fBddi_get16()\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfourbyte\fR\fR
+.ad
+.RS 13n
+.rt
+Create errdefs for four byte accesses (\fBddi_get32()\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBeightbyte\fR\fR
+.ad
+.RS 13n
+.rt
+Create errdefs for eight byte accesses (\fBddi_get64()\fR)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmultibyte\fR\fR
+.ad
+.RS 13n
+.rt
+Create errdefs for repeated byte accesses (\fBddi_rep_get*()\fR)
+.RE
+
+.SS "Frequency of Access Policies"
+.sp
+.LP
+The frequency of access to a location is determined according to the access
+type, location and transfer size (for example, a two-byte read access to
+address A is considered distinct from a four-byte read access to address A).
+The algorithm is to count the number of accesses (of a given type and size) to
+a given location, and find the locations that were most and least accessed (let
+\fImaxa\fR and \fImina\fR be the number of times these locations were accessed,
+and \fImean\fR the total number of accesses divided by total number of
+locations that were accessed). Then a rare access is a location that was
+accessed less than
+.sp
+.LP
+\fI(mean - mina) / 3 + mina\fR
+.sp
+.LP
+times. Similarly for the definition of common accesses:
+.sp
+.LP
+\fImaxa - (maxa - mean) / 3\fR
+.sp
+.LP
+A location whose access patterns lies within these cutoffs is regarded as a
+location that is accessed with median frequency.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrare\fR\fR
+.ad
+.RS 10n
+.rt
+Create errdefs for locations that are rarely accessed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcommon\fR\fR
+.ad
+.RS 10n
+.rt
+Create errdefs for locations that are commonly accessed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmedian\fR\fR
+.ad
+.RS 10n
+.rt
+Create errdefs for locations that are accessed a median frequency.
+.RE
+
+.SS "Policies for Minimizing errdefs"
+.sp
+.LP
+If a transaction is duplicated, either a single or multiple errdefs will be
+written to the test scripts, depending upon the following two policies:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaximal\fR\fR
+.ad
+.RS 13n
+.rt
+Create multiple errdefs for locations that are repeatedly accessed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBunbiased\fR\fR
+.ad
+.RS 13n
+.rt
+Create a single errdef for locations that are repeatedly accessed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoperators\fR\fR
+.ad
+.RS 13n
+.rt
+For each location, a default operator and operand is typically applied. For
+maximal test coverage, this default may be modified using the \fBoperators\fR
+policy so that a separate errdef is created for each of the possible corruption
+operators.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBkill\fR(1), \fBth_manage\fR(1M), \fBalarm\fR(2),
+\fBddi_check_acc_handle\fR(9F), \fBddi_check_dma_handle\fR(9F)
diff --git a/usr/src/man/man1m/th_manage.1m b/usr/src/man/man1m/th_manage.1m
new file mode 100644
index 0000000000..f5e5afbd63
--- /dev/null
+++ b/usr/src/man/man1m/th_manage.1m
@@ -0,0 +1,171 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH th_manage 1M "4 Jan 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+th_manage \- manage the fault injection test harness
+.SH SYNOPSIS
+.LP
+.nf
+\fBth_manage\fR \fIname\fR \fIinstance\fR \fIcommand\fR
+.fi
+
+.LP
+.nf
+\fBth_manage\fR \fIpath\fR \fIcommand\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBth_manage\fR applies the action specified by \fIcommand\fR to the instance
+specified by \fIinstance\fR of the driver specified by \fIname\fR (or the
+driver instance specified by \fIpath\fR). The driver instance must be running
+fault injection specifications (errdefs) defined by \fBth_define\fR(1M).
+.sp
+.LP
+\fBth_manage\fR supports several commands that operate on the driver instance
+specified by \fIname\fR and \fIinstance\fR (or \fIpath\fR). The commands are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbroadcast\fR \fR
+.ad
+.RS 18n
+.rt
+Awaken all \fBth_define\fR processes, causing them to display their current
+status and exit if the errdef is now defunct (that is, if \fIcount\fR,
+\fIfailcount \fR, and \fIacc_chk \fR are all zero).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclear_acc_chk\fR \fR
+.ad
+.RS 18n
+.rt
+Awaken all \fBth_define\fR processes. If \fIcount\fR and \fIfailcount\fR are
+already zero, then set \fIacc_chk\fR to zero, so that \fBth_define\fR exits
+once it has displayed its status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclear_errdefs\fR \fR
+.ad
+.RS 18n
+.rt
+Awaken all \fBth_define\fR \fBprocesses\fR. \fIcount\fR, \fIfailcount\fR and
+\fIacc_chk\fR are all set to zero so that all \fBth_define\fR commands exit
+once they have displayed their status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclear_errors\fR \fR
+.ad
+.RS 18n
+.rt
+Awaken all \fBth_define\fR processes. If \fIcount\fR is already zero, set
+\fIfailcount\fR and \fIacc_chk\fR to zero, so that \fBth_define\fR exits once
+it has displayed its status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBget_handles\fR \fR
+.ad
+.RS 18n
+.rt
+List all the access handles.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstart\fR \fR
+.ad
+.RS 18n
+.rt
+Begin or resume execution of all errdefs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstop\fR \fR
+.ad
+.RS 18n
+.rt
+Suspend all errdefs for this \fIname\fR and \fIinstance\fR (or \fIpath).\fR
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUseful Commands
+.sp
+.LP
+To begin the tests, enter:
+
+.sp
+.LP
+\fB#\fR \fBth_manage\fR \fBfoo\fR \fB0\fR \fBstart\fR
+
+.sp
+.LP
+To check the status of the errdefs, enter:
+
+.sp
+.LP
+\fB#\fR \fBth_manage\fR \fBfoo\fR \fB0\fR \fBbroadcast\fR
+
+.sp
+.LP
+This causes each \fBth_define\fR process to print out its current status.
+
+.sp
+.LP
+If the driver has reported a fatal error, you can take the driver offline using
+\fBlibdevice\fR, clear the error condition by entering:
+
+.sp
+.LP
+\fB#\fR \fBth_manage\fR \fBfoo\fR \fB0\fR \fBclear_acc_chk\fR
+
+.sp
+.LP
+or
+
+.sp
+.LP
+\fB#\fR \fBth_manage\fR \fBfoo\fR \fB0\fR \fBclear_errors\fR
+
+.sp
+.LP
+and bring the driver online again using \fBlibdevice\fR.
+
+.sp
+.LP
+To terminate testing, enter:
+
+.sp
+.LP
+\fB#\fR \fBth_manage\fR \fBfoo\fR \fB0\fR \fBclear_errdefs\fR
+
+.SH SEE ALSO
+.sp
+.LP
+\fBth_define\fR(1M)
diff --git a/usr/src/man/man1m/tic.1m b/usr/src/man/man1m/tic.1m
new file mode 100644
index 0000000000..9fd8edc64c
--- /dev/null
+++ b/usr/src/man/man1m/tic.1m
@@ -0,0 +1,122 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tic 1M "5 Jul 1990" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tic \- terminfo compiler
+.SH SYNOPSIS
+.LP
+.nf
+\fBtic\fR [\fB-v\fR [\fIn\fR]] [\fB-c\fR] \fIfile\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The command \fBtic\fR translates a \fBterminfo\fR file from the source format
+into the compiled format. The results are placed in the directory
+\fB/usr/share/lib/terminfo\fR. The compiled format is necessary for use with
+the library routines in \fBcurses\fR(3CURSES).
+.sp
+.LP
+If the environment variable \fBTERMINFO\fR is set, the compiled results are
+placed there instead of \fB/usr/share/lib/terminfo\fR.
+.sp
+.LP
+Total compiled entries cannot exceed 4096 bytes. The name field cannot exceed
+128 bytes. Terminal names exceeding 14 characters will be truncated to 14
+characters and a warning message will be printed.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 9n
+.rt
+Specifies to check only \fBfile\fR for errors. Errors in \fBuse=\fR links are
+not detected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR[\fIn\fR]\fR
+.ad
+.RS 9n
+.rt
+Specify that (verbose) output be written to standard error trace information
+showing \fBtic\fR's progress. The optional integer \fIn\fR is a number from 1
+to 10, indicating the desired level of detail of information. If \fIn\fR is
+omitted, the default level is 1. If \fIn\fR is specified and greater than 1,
+the level of detail is increased.
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR\fR
+.ad
+.RS 8n
+.rt
+Contains one or more \fBterminfo\fR terminal descriptions in source format [see
+\fBterminfo\fR(4)]. Each description in the file describes the capabilities of
+a particular terminal. When a \fBuse\fR\fI=entry-name\fR field is discovered in
+a terminal entry currently being compiled, \fBtic\fR reads in the binary from
+\fB/usr/share/lib/terminfo\fR to complete the entry. (Entries created from
+\fBfile\fR will be used first. If the environment variable
+\fB\fR\fBTERM\fR\fBINFO \fR is set, that directory is searched instead of
+\fB/usr/share/lib/terminfo\fR.) \fBtic\fR duplicates the capabilities in
+\fIentry-name\fR for the current entry, with the exception of those
+capabilities that are explicitly defined in the current entry.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/terminfo/?/*\fR\fR
+.ad
+.sp .6
+.RS 4n
+Compiled terminal description database
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcaptoinfo\fR(1M), \fBinfocmp\fR(1M), \fBcurses\fR(3CURSES),
+\fBterminfo\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+When an entry, for example, \fBentry_name_1\fR, contains a
+\fBuse=\fR\fIentry_name_2\fR field, any canceled capabilities in
+\fIentry_name_2\fR must also appear in \fBentry_name_1\fR before \fBuse=\fR for
+these capabilities to be canceled in \fBentry_name_1\fR.
diff --git a/usr/src/man/man1m/tnchkdb.1m b/usr/src/man/man1m/tnchkdb.1m
new file mode 100644
index 0000000000..3231040ea5
--- /dev/null
+++ b/usr/src/man/man1m/tnchkdb.1m
@@ -0,0 +1,192 @@
+'\" te
+.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tnchkdb 1M "20 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tnchkdb \- check file syntax of trusted network databases
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/tnchkdb\fR [\fB-h\fR \fIpath\fR] [\fB-t\fR \fIpath\fR] [\fB-z\fR \fIpath\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBtnchkdb\fR checks the syntax of the \fBtnrhtp\fR, \fBtnrhdb\fR, and
+\fBtnzonecfg\fR databases. By default, the \fIpath\fR for each file is:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/security/tsol/tnrhtp\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/security/tsol/tnrhdb\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/etc/security/tsol/tnzonecfg\fR
+.RE
+.sp
+.LP
+You can specify an alternate path for any or all of the files by specifying
+that path on the command line by using the \fB-h\fR (\fBtnrhdb\fR), \fB-t\fR
+(\fBtnrhtp\fR) and \fB-z\fR (\fBtnzonecfg\fR) options. The options are useful
+when testing a set of modified files before installing the files as new system
+databases.
+.sp
+.LP
+All three database files are checked for integrity. \fBtnchkdb\fR returns an
+exit status of \fB0\fR if all of the files are syntactically and, to the extent
+possible, semantically correct. If one or more files have errors, then an exit
+status of \fB1\fR is returned. If there are command line problems, such as an
+unreadable file, an exit status of \fB2\fR is returned. Errors are written to
+standard error.
+.sp
+.LP
+To avoid cascading errors, when there are errors in \fBtnrhtp\fR, the template
+names in \fBtnrhdb\fR are not validated.
+.sp
+.LP
+\fBtnchkdb\fR can be run at any label, but the standard
+\fB/etc/security/tsol\fR files are visible only in the global zone.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR [ \fIpath\fR ]\fR
+.ad
+.RS 15n
+.rt
+Check \fIpath\fR for proper \fBtnrhdb\fR syntax. If \fIpath\fR is not
+specified, then check \fB/etc/security/tsol/tnrhdb\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR [ \fIpath\fR ]\fR
+.ad
+.RS 15n
+.rt
+Check \fIpath\fR for proper \fBtnrhtp\fR syntax. If \fIpath\fR is not
+specified, then check \fB/etc/security/tsol/tnrhtp\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR [ \fIpath\fR ]\fR
+.ad
+.RS 15n
+.rt
+Check \fIpath\fR for proper \fBtnzonecfg\fR syntax. If \fIpath\fR is not
+specified, then check \fB/etc/security/tsol/tnzonecfg\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSample Error Message
+.sp
+.LP
+The \fBtnchkdb\fR command checks for CIPSO errors. In this example, the
+\fBadmin_low\fR template has an incorrect value of \fBADMIN_HIGH\fR for its
+default label.
+
+.sp
+.in +2
+.nf
+# \fBtnchkdb\fR
+checking /etc/security/tsol/tnrhtp ...
+tnchkdb: def_label classification 7fff is invalid for cipso labels:
+line 14 entry admin_low
+tnchkdb: def_label compartments 241-256 must be zero for cipso labels:
+line 14 entry admin_low
+checking /etc/security/tsol/tnrhdb ...
+checking /etc/security/tsol/tnzonecfg ...
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhdb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhtp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host templates
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnzonecfg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted zone configuration database
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command line is Committed. The output is Uncommitted.
+.SH SEE ALSO
+.sp
+.LP
+\fBtnd\fR(1M), \fBtnctl\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fIHow to Check the Syntax of Trusted Network Databases\fR in \fISolaris
+Trusted Extensions Administrator\&'s Procedures\fR
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
+.sp
+.LP
+It is possible to have inconsistent but valid configurations of \fBtnrhtp\fR
+and \fBtnrhdb\fR when \fBLDAP\fR is used to supply missing templates.
diff --git a/usr/src/man/man1m/tnctl.1m b/usr/src/man/man1m/tnctl.1m
new file mode 100644
index 0000000000..87a5f0c370
--- /dev/null
+++ b/usr/src/man/man1m/tnctl.1m
@@ -0,0 +1,284 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tnctl 1M "6 Mar 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tnctl \- configure Trusted Extensions network parameters
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/tnctl\fR [\fB-dfv\fR] [\fB-h\fR \fIhost\fR [/\fIprefix\fR] [:\fItemplate\fR]]
+ [\fB-m\fR \fIzone\fR:\fImlp\fR:\fIshared-mlp\fR][\fB-t\fR \fItemplate\fR [:\fIkey=val\fR [;\fIkey=val\fR]]]
+ [\fB-HTz\fR] \fIfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBtnctl\fR provides an interface to manipulate trusted network parameters in
+the Solaris kernel.
+.sp
+.LP
+As part of Solaris Trusted Extensions initialization, \fBtnctl\fR is run in the
+global zone by an \fBsmf\fR(5) script during system boot. The \fBtnctl\fR
+command is not intended to be used during normal system administration.
+Instead, if a local trusted networking database file is modified without using
+the Solaris Management Console, the administrator first issues
+\fBtnchkdb\fR(1M) to check the syntax, and then refreshes the kernel copy with
+this command:
+.sp
+.in +2
+.nf
+# \fBsvcadm restart svc:/network/tnctl\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fBWARNINGS\fR about the risks of changing remote host and template
+information on a running system.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete matching entries from the kernel. The default is to add new entries.
+.sp
+When deleting MLPs, the MLP range must match exactly. MLPs are specified in the
+form:
+.sp
+.in +2
+.nf
+\fIport\fR[-\fIport\fR]/\fIprotocol\fR
+.fi
+.in -2
+.sp
+
+Where \fIport\fR can be a number in the range 1 to 65535. or any known service
+(see \fBservices\fR(4)), and protocol can be a number in the range 1 to 255, or
+any known protocol (see \fBprotocols\fR(4)).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Flush all kernel entries before loading the entries that are specified on the
+command line. The flush does not take place unless at least one entry parsed
+successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Turn on verbose mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost\fR[/\fIprefix\fR][:\fItemplate\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Update the kernel remote-host cache on the local host for the specified
+\fIhost\fR or, if a template name is given, change the kernel's cache to use
+the specified \fItemplate\fR. If \fIprefix\fR is not specified, then an implied
+prefix length is determined according to the rules used for interpreting the
+\fBtnrhdb\fR. If \fB-d\fR is specified, then a template name cannot be
+specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIzone\fR:\fImlp\fR:\fIshared-mlp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modify the kernel's multilevel port (MLP) configuration cache for the specified
+\fIzone\fR. \fIzone\fR specifies the zone to be updated. \fImlp\fR and
+\fIshared-mlp\fR specify the MLPs for the zone-specific and shared IP
+addresses. The \fIshared-mlp\fR field is effective in the global zone only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItemplate\fR[\fIkey=val\fR[;\fIkey=val\fR]]\fR
+.ad
+.sp .6
+.RS 4n
+Update the kernel template cache for \fItemplate\fR or, if a list of
+\fIkey=val\fR pairs is given, change the kernel's cache to use the specified
+entry. If \fB-d\fR is specified, then \fIkey=val\fR pairs cannot be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Load all template entries in \fIfile\fR into the kernel cache.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Load all remote host entries in \fIfile\fR into the kernel cache.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Load just the global zone's MLPs from \fIfile\fR into the kernel cache. To
+reload MLPs for a non-global zone, reboot the zone:
+.sp
+.in +2
+.nf
+# \fBzoneadm -z\fR \fInon-global zone\fR \fBreboot\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhdb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhtp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host templates
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnzonecfg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted zone configuration database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configuration file for the name service switch
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBtninfo\fR(1M), \fBtnd\fR(1M),
+\fBtnchkdb\fR(1M), \fBzoneadm\fR(1M), \fBnsswitch.conf\fR(4),
+\fBprotocols\fR(4), \fBservices\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fIHow to Synchronize Kernel Cache With Network Databases\fR in \fISolaris
+Trusted Extensions Administrator\&'s Procedures\fR
+.SH WARNINGS
+.sp
+.LP
+Changing a template while the network is up can change the security view of an
+undetermined number of hosts.
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
+.sp
+.LP
+The \fBtnctl\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/tnctl
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The service's status can be queried by using \fBsvcs\fR(1). Administrative
+actions on this service, such as refreshing the kernel cache, can be performed
+using \fBsvcadm\fR(1M), as in:
+.sp
+.in +2
+.nf
+svcadm restart svc:/network/tnctl
+.fi
+.in -2
+.sp
+
diff --git a/usr/src/man/man1m/tnd.1m b/usr/src/man/man1m/tnd.1m
new file mode 100644
index 0000000000..39fa35f55b
--- /dev/null
+++ b/usr/src/man/man1m/tnd.1m
@@ -0,0 +1,231 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tnd 1M "15 May 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tnd \- trusted network daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/tnd\fR [\fB-p\fR \fIpoll-interval\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBtnd\fR (trusted network daemon) initializes the kernel with trusted
+network databases and also reloads the databases on demand from an LDAP server
+and local files. \fBtnd\fR follows the order specified in the nsswitch.conf
+file when loading configuration databases. \fBtnd\fR is started at the
+beginning of the boot process.
+.sp
+.LP
+\fBtnd\fR loads two databases into the kernel: the remote host database,
+\fBtnrhdb\fR and the remote-host template database, \fBtnrhtp\fR. These
+databases and their effect on the trusted network are described in their
+respective man pages. When the associated \fBLDAP\fR database or local
+databases are changed, \fBtnd\fR also updates the local kernel cache at the
+predetermined interval.
+.sp
+.LP
+If a local trusted networking database file is modified, the administrator
+should run \fBtnchkdb\fR(1M) to check the syntax, and should also run \fBsvcadm
+refresh svc:/network/tnd\fR to initiate an immediate database scan by
+\fBtnd\fR.
+.sp
+.LP
+\fBtnd\fR is intended to be started from an \fBsmf\fR(5) script and to run in
+the global zone. The following signals cause specific \fBsvcadm\fR actions:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGHUP\fR\fR
+.ad
+.RS 11n
+.rt
+Causes \fBsvcadm refresh svc:/network/tnd\fR to be run.
+.sp
+Initiates a rescan of the local and LDAP \fBtnrhdb\fR and \fBtnrhtp\fR
+databases. \fBtnd\fR updates the kernel database with any changes found.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSIGTERM\fR\fR
+.ad
+.RS 11n
+.rt
+Causes \fBsvcadm disable svc:/network/tnd\fR to be run.
+.sp
+Terminates the \fBtnd\fR daemon. No changes are made to the kernel database.
+.RE
+
+.sp
+.LP
+Running \fBtnd\fR in debug mode is determined by the value of the following
+service management facility (SMF) property:
+.sp
+.in +2
+.nf
+tnd/debug_level = 0
+.fi
+.in -2
+
+.sp
+.LP
+A value of \fB0\fR, as above, prevents debug information from being collected;
+\fB1\fR turns on debugging. The default value is \fB0\fR. Debug output is sent
+to the \fB/var/tsol/tndlog\fR log file.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIpoll-interval\fR\fR
+.ad
+.RS 20n
+.rt
+Set poll interval to \fIpoll-interval\fR seconds. The default
+\fIpoll-interval\fR is 1800 seconds (30 minutes).
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRChanging the Poll Interval
+.sp
+.LP
+The following command changes the polling interval to one hour, and puts this
+interval in the SMF repository. At the next boot, the \fBtnd\fR poll interval
+will be one hour.
+
+.sp
+.in +2
+.nf
+# \fBsvccfg -s network/tnd setprop tnd/poll_interval=3600\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command changes the polling interval, but does not update the
+repository. At the next boot, the \fBtnd\fR poll interval remains the default,
+30 minutes.
+
+.sp
+.in +2
+.nf
+# tnd -p 3600
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhdb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhtp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host templates
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnzonecfg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted zone configuration database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/nsswitch.conf\fR\fR
+.ad
+.sp .6
+.RS 4n
+Configuration file for the name service switch
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command invocation is Committed. The service is Private.
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBsvcadm\fR(1M), \fBtninfo\fR(1M), \fBtnctl\fR(1M),
+\fBtnchkdb\fR(1M), \fBnsswitch.conf\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fIHow to Synchronize Kernel Cache With Network Databases\fR in \fISolaris
+Trusted Extensions Administrator\&'s Procedures\fR
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
+.sp
+.LP
+The \fBtnd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/tnd
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The service's status can be queried by using \fBsvcs\fR(1). Administrative
+actions on this service, such as requests to restart the daemon, can be
+performed using \fBsvcadm\fR(1M), as in:
+.sp
+.in +2
+.nf
+svcadm restart svc:/network/tnd
+.fi
+.in -2
+.sp
+
diff --git a/usr/src/man/man1m/tninfo.1m b/usr/src/man/man1m/tninfo.1m
new file mode 100644
index 0000000000..262b69f2dc
--- /dev/null
+++ b/usr/src/man/man1m/tninfo.1m
@@ -0,0 +1,185 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tninfo 1M "20 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tninfo \- print kernel-level network information and statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/tninfo\fR [\fB-h\fR \fIhostname\fR] [\fB-m\fR \fIzone-name\fR] [\fB-t\fR \fItemplate\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBtninfo\fR provides an interface to retrieve and display kernel-level network
+information and statistics.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhostname\fR\fR
+.ad
+.RS 16n
+.rt
+Display the security structure for the specified host in the remote-host cache.
+The output should reflect what is specified in the \fBtnrhdb\fR database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIzone-name\fR\fR
+.ad
+.RS 16n
+.rt
+Display the MLP configuration associated with the specified zone. The output
+should reflect what is specified in the \fBtnzonecfg\fR database.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItemplate\fR\fR
+.ad
+.RS 16n
+.rt
+Display the structure associated with the specified \fItemplate\fR. The output
+should reflect what is specified in the \fBtnrhtp\fR database.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRDisplaying Remote Host Structures Cached in the Kernel
+.sp
+.LP
+This example shows the remote host structures cached in the kernel. The output
+reflects the definition in the \fBtnrhdb\fR database.
+
+.sp
+.in +2
+.nf
+# \fBtninfo -h machine1\fR
+ IP address= 192.168.8.61
+ Template = cipso
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplaying Multilevel Ports for the Global Zone
+.sp
+.LP
+This example shows the kernel-cached MLPs for the global zone. The output
+reflects the definition in the \fBtnzonecfg\fR database, plus any dynamically
+allocated MLPs. \fBprivate\fR indicates zone-specific MLPs.
+
+.sp
+.in +2
+.nf
+# \fBtninfo -m global\fR
+private:23/tcp;111/tcp;111/udp;515/tcp;2049/tcp;6000-6003/tcp;
+ 32812/tcp;36698/ip;38634/tcp;64365/ip
+shared: 6000-6003/tcp
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRDisplaying the \fBcipso\fR Template Definition
+.sp
+.LP
+This example shows the kernel-cached \fBcipso\fR template definition. The
+output reflects the definition in the \fBtnrhtp\fR database.
+
+.sp
+.in +2
+.nf
+# \fBtninfo -t cipso\fR
+=====================================
+ Remote Host Template Table Entries:
+ __________________________
+ template: cipso
+ host_type: CIPSO
+ doi: 1
+ min_sl: ADMIN_LOW
+ hex: ADMIN_LOW
+ max_sl: ADMIN_HIGH
+ hex: ADMIN_HIGH
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhdb\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host database
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnrhtp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted network remote-host templates
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/security/tsol/tnzonecfg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Trusted zone configuration database
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+The command line is Committed. The output is Uncommitted.
+.SH SEE ALSO
+.sp
+.LP
+\fBtnd\fR(1M), \fBtnctl\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fIHow to Synchronize Kernel Cache With Network Databases\fR in \fISolaris
+Trusted Extensions Administrator\&'s Procedures\fR
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
diff --git a/usr/src/man/man1m/tpmadm.1m b/usr/src/man/man1m/tpmadm.1m
new file mode 100644
index 0000000000..f14dcca9cd
--- /dev/null
+++ b/usr/src/man/man1m/tpmadm.1m
@@ -0,0 +1,242 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tpmadm 1M "7 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tpmadm \- administer Trusted Platform Module
+.SH SYNOPSIS
+.LP
+.nf
+\fBtpmadm status\fR
+.fi
+
+.LP
+.nf
+\fBtpmadm init\fR
+.fi
+
+.LP
+.nf
+\fBtpmadm clear\fR [\fBowner\fR | \fBlock\fR]
+.fi
+
+.LP
+.nf
+\fBtpmadm auth\fR
+.fi
+
+.LP
+.nf
+\fBtpmadm keyinfo\fR [\fIuuid\fR]
+.fi
+
+.LP
+.nf
+\fBtpmadm deletekey\fR \fIuuid\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+A Trusted Platform Module (TPM) is a hardware component that provides for
+protected key storage and reliable measurements of software used to boot the
+operating system. The \fBtpmadm\fR utility is used to initialize and administer
+the TPM so that it can be used by the operating system and other programs.
+.sp
+.LP
+The TPM subsystem can store and manage an unlimited number of keys for use by
+the operating system and by users. Each key is identified by a Universally
+Unique Identifier, or UUID.
+.sp
+.LP
+Although the TPM can hold only a limited number of keys at any given time, the
+supporting software automatically loads and unloads keys as needed. When a key
+is stored outside the TPM, it is always encrypted or "wrapped" by its parent
+key so that the key is never exposed in readable form outside the TPM.
+.sp
+.LP
+Before the TPM can be used, it must be initialized by the platform owner. This
+process involves setting an owner password which is used to authorize
+privileged operations.
+.sp
+.LP
+Although the TPM owner is similar to a traditional superuser, there are two
+important differences. First, process privilege is irrelevant for access to TPM
+functions. All privileged operations require knowledge of the owner password,
+regardless of the privilege level of the calling process. Second, the TPM owner
+is not able to override access controls for data protected by TPM keys. The
+owner can effectively destroy data by re-initializing the TPM, but he cannot
+access data that has been encrypted using TPM keys owned by other users.
+.SH SUB-COMMANDS
+.sp
+.LP
+The following subcommands are used in the form:
+.sp
+.in +2
+.nf
+# tpamadm \fI<subcommand>\fR \fI[operand]\fR
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBstatus\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report status information about the TPM. Output includes basic information
+about whether ownership of the TPM has been established, current PCR contents,
+and the usage of TPM resources such as communication sessions and loaded keys.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Initialize the TPM for use. This involves taking ownership of the TPM by
+setting the owner authorization password. Taking ownership of the TPM creates a
+new storage root key, which is the ancestor of all keys created by this TPM.
+Once this command is issued, the TPM must be reset using BIOS operations before
+it can be re-initialized.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBauth\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change the owner authorization password for the TPM.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclear\fR \fBlock\fR\fR
+.ad
+.sp .6
+.RS 4n
+Clear the count of failed authentication attempts. After a number of failed
+authentication attempts, the TPM responds more slowly to subsequent attempts,
+in an effort to thwart attempts to find the owner password by exhaustive
+search. This command, which requires the correct owner password, resets the
+count of failed attempts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclear\fR \fBowner\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deactivate the TPM and return it to an unowned state. This operation, which
+requires the current TPM owner password, invalidates all keys and data tied to
+the TPM. Before the TPM can be used again, the system must be restarted, the
+TPM must be reactivated from the BIOS or ILOM pre-boot environment, and the
+TPM must be re-initialized using the \fBtpmadm init\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkeyinfo\fR [\fIuuid\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Report information about keys stored in the TPM subsystem. Without additional
+arguments, this subcommand produces a brief listing of all keys. If the UUID of
+an individual key is specified, detailed information about that key is
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdeletekey\fR \fIuuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the key with the specified UUID from the TPM subsystem's persistent
+storage.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+After completing the requested operation, \fBtpmadm\fR exits with one of the
+following status values.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful termination.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Failure. The requested operation could not be completed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Usage error. The \fBtpmadm\fR command was invoked with invalid arguments.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
+.sp
+.LP
+TCG Software Stack (TSS) Specifications:
+\fBhttps://www.trustedcomputinggroup.org/specs/TSS\fR (as of the date of
+publication)
diff --git a/usr/src/man/man1m/traceroute.1m b/usr/src/man/man1m/traceroute.1m
new file mode 100644
index 0000000000..859f3aaaa0
--- /dev/null
+++ b/usr/src/man/man1m/traceroute.1m
@@ -0,0 +1,723 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH traceroute 1M "18 Sep 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+traceroute \- print the route packets take to network host
+.SH SYNOPSIS
+.LP
+.nf
+\fBtraceroute\fR [\fB-adFIlnSvx\fR] [\fB-A\fR \fIaddr_family\fR] [\fB-c\fR \fItraffic_class\fR]
+ [\fB-f\fR \fIfirst_hop\fR] [\fB-g\fR \fIgateway\fR [\fB-g\fR \fIgateway\fR...] | \fB-r\fR]
+ [\fB-i\fR \fIiface\fR] [\fB-L\fR \fIflow_label\fR] [\fB-m\fR \fImax_hop\fR]
+ [\fB-P\fR \fIpause_sec\fR] [\fB-p\fR \fIport\fR] [\fB-Q\fR \fImax_timeout\fR]
+ [\fB-q\fR \fInqueries\fR] [\fB-s\fR \fIsrc_addr\fR] [\fB-t\fR \fItos\fR] [\fB-w\fR \fIwait_time\fR] host
+ [\fIpacketlen\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Internet is a large and complex aggregation of network hardware, connected
+by gateways. Tracking the route a packet follows can be difficult. The utility
+\fBtraceroute\fR traces the route that an \fBIP\fR packet follows to another
+internet host.
+.sp
+.LP
+The \fBtraceroute\fR utility utilizes the both the IPv4 and IPv6 protocols. Use
+the \fB-A\fR option to override the default behavior. \fBtraceroute\fR uses the
+IPv4 protocol \fIttl\fR (time to live) field or the IPv6 field \fIhop limit\fR.
+It attempts to elicit an \fBICMP\fR or \fBICMP6\fR \fBTIME_EXCEEDED\fR response
+from each \fIgateway\fR along the path, and a \fBPORT_UNREACHABLE\fR(or
+\fBECHO_REPLY\fR if \fB-I\fR is used) response from the destination host. It
+starts by sending probes with a \fIttl\fR or \fIhop limit\fR of \fB1\fR and
+increases by \fB1\fR until it either gets to the host, or it hits the maximum
+\fImax_hop\fR. The default maximum \fImax_hop\fR is 30 hops, but this can be
+set by the \fB-m\fR option.
+.sp
+.LP
+Three probes are sent at each \fIttl\fR (\fIhop limit\fR) setting, and a line
+is printed showing the \fIttl\fR (\fIhop limit\fR), the hostname and the
+address of the gateway, and the \fIrtt\fR (round trip time) of each probe. The
+number of probes may be specifically set using the \fB-q\fR option. If the
+probe answers come from different gateways, the hostname and the address of
+each responding system will be printed. If there is no response within a 5
+second timeout interval, an asterisk (\fB*\fR) is displayed for that probe. The
+\fB-w\fR option may be used to set the timeout interval. Other possible
+annotations that may appear after the time are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!\fR\fR
+.ad
+.sp .6
+.RS 4n
+the \fIttl\fR (\fIhop limit\fR) value in the received packet is \fB<= 1\fR\&.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!H\fR\fR
+.ad
+.sp .6
+.RS 4n
+host unreachable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!X\fR\fR
+.ad
+.sp .6
+.RS 4n
+communication administratively prohibited.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB<!N>\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBICMP\fR (\fBICMP6\fR) unreachable code N.
+.RE
+
+.sp
+.LP
+The following annotations appear only for IPv4:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!F\fR\fR
+.ad
+.sp .6
+.RS 4n
+fragmentation needed. This should never occur. If this is seen, the associated
+gateway is broken.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!N\fR\fR
+.ad
+.sp .6
+.RS 4n
+network unreachable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!P\fR\fR
+.ad
+.sp .6
+.RS 4n
+protocol unreachable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!S\fR\fR
+.ad
+.sp .6
+.RS 4n
+source route failed. It is likely that the gateway does not support source
+routing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!T\fR\fR
+.ad
+.sp .6
+.RS 4n
+unreachable for the specified tos (type-of-service).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!U\fR\fR
+.ad
+.sp .6
+.RS 4n
+source host isolated or precedence problem.
+.RE
+
+.sp
+.LP
+The following annotations appear only for IPv6:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!A\fR\fR
+.ad
+.sp .6
+.RS 4n
+host unreachable for a reason other than lack of an entry in the routing table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!B\fR\fR
+.ad
+.sp .6
+.RS 4n
+packet too big.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!E\fR\fR
+.ad
+.sp .6
+.RS 4n
+destination is not a neighbor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB!R\fR\fR
+.ad
+.sp .6
+.RS 4n
+unrecognized next header.
+.RE
+
+.sp
+.LP
+If almost all the probes result in some kind of unreachable code, then
+\fBtraceroute\fR gives up and exits.
+.sp
+.LP
+The destination \fIhost\fR is not supposed to process the \fBUDP\fR probe
+packets, so the destination \fIport\fR default is set to an unlikely value.
+However, if some application on the destination is using that value, the value
+of \fIport\fR can be changed with the \fB-p\fR option.
+.sp
+.LP
+The only mandatory parameter is the destination \fIhost\fR name or \fBIP\fR
+number. The default probe datagram length is 40 bytes (60 bytes for IPv6), but
+this may be increased by specifying a packet length (in bytes) after the
+destination \fIhost\fR name.
+.sp
+.LP
+All integer arguments to \fBtraceroute\fR can be specified in either decimal or
+hexadecimal notation. For example, \fIpacketlen\fR can be specified either as
+\fB256\fR or \fB0x100\fR.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR\ \fIaddr_family\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the address family of the target host. \fIaddr_family\fR can be either
+\fBinet\fR or \fBinet6\fR. Address family determines which protocol to use. For
+an argument of \fBinet\fR, IPv4 is used. For \fBinet6\fR, IPv6 is used.
+.sp
+By default, if the name of a host is provided, not the literal \fBIP\fR
+address, and a valid IPv6 address exists in the name service database,
+\fBtraceroute\fR will use this address. Otherwise, if the name service database
+contains an IPv4 address, it will try the IPv4 address.
+.sp
+Specify the address family \fBinet\fR or \fBinet6\fR to override the default
+behavior. If the argument specified is \fBinet\fR, \fBtraceroute\fR will use
+the IPv4 address associated with the hostname. If none exists, \fBtraceroute\fR
+will state that the host is unknown and exit. It will not try to determine if
+an IPv6 address exists in the name service database.
+.sp
+If the specified argument is \fBinet6\fR, \fBtraceroute\fR will use the IPv6
+address that is associated with the hostname. If none exists, \fBtraceroute\fR
+will state that the host is unknown and exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Probe all of the addresses of a multi-homed destination. The output looks like
+\fBtraceroute\fR has been run once for each \fBIP\fR address of the
+destination. If this option is used together with \fB-A\fR, \fBtraceroute\fR
+probes only the addresses that are of the specified address family. While
+probing one of the addresses of the destination, user can skip to the next
+address by sending a \fBSIGINT\fR, or exit \fBtraceroute\fR by sending a
+\fBSIGQUIT\fR signal. See \fBsignal\fR(3C)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\ \fItraffic_class\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the traffic class of probe packets. The value must be an integer in the
+range from 0 to 255. Gateways along the path may route the probe packet
+differently depending upon the value of \fItraffic_class\fR set in the probe
+packet. This option is valid only on IPv6.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the \fBSO_DEBUG\fR socket option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the "don't fragment" bit. This option is valid only on IPv4. When specified
+from within a shared-IP zone, this option has no effect as the "don't fragment"
+bit is always set in this case.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIfirst_hop\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the starting \fIttl\fR ( \fIhop limit\fR) value to \fIfirst_hop\fR, to
+override the default value \fB1\fR. \fBtraceroute\fR skips processing for those
+intermediate gateways which are less than \fIfirst_hop\fR hops away.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgateway\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a loose source route \fIgateway\fR. The user can specify more than one
+\fIgateway\fR by using \fB-g\fR for each gateway. The maximum number of
+gateways is 8 for IPv4 and 127 for IPv6. Note that some factors such as the
+link \fBMTU\fR can further limit the number of gateways for IPv6. This option
+cannot be used with the \fB-r\fR option.
+.sp
+Only users with the \fB{PRIV_NET_RAWACCESS}\fR privilege can specify a loose
+source route with this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fBICMP\fR (\fBICMP6\fR) \fBECHO\fR instead of \fBUDP\fR datagrams.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIiface\fR\fR
+.ad
+.sp .6
+.RS 4n
+For IPv4, this option specifies a network interface to obtain the source
+\fBIP\fR address. This is normally only useful on a multi-homed host. The
+\fB-s\fR option is also another way to do this. For IPv6, it specifies the
+network interface on which probe packets are transmitted. The argument can be
+either an interface index, for example, \fB1\fR, \fB2\fR, or an interface name,
+for example, \fBeri0\fR, \fBhme0\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\ \fIflow_label\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the flow label of probe packets. The value must be an integer in the
+range from 0 to 1048575. This option is valid only on IPv6.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print the value of the \fIttl\fR (\fIhop limit\fR) field in each packet
+received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImax_hop\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the maximum \fIttl\fR (\fIhop limit\fR) used in outgoing probe packets. The
+default is 30 hops, which is the same default used for \fBTCP \fR connections.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print hop addresses numerically rather than symbolically and numerically. This
+saves a nameserver address-to-name lookup for each gateway found on the path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIpause_sec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a delay, in seconds, to pause between probe packets. This may be
+necessary if the final destination does not accept undeliverable packets in
+bursts. By default, \fBtraceroute\fR sends the next probe as soon as it has
+received a reply. Note that \fIpause_sec\fR is a real number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIport\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the base \fBUDP\fR \fIport\fR number used in probes.The default is 33434.
+\fBtraceroute\fR hopes that nothing is listening on \fBUDP\fR \fIports\fR
+\fB(base+(nhops-1)*nqueries)\fR to \fB(base+(nhops*nqueries)-1)\fRat the
+destination host, so that an \fBICMP\fR (\fBICMP6\fR) \fBPORT_UNREACHABLE\fR
+message will be returned to terminate the route tracing. If something is
+listening on a \fIport\fR in the default range, this option can be used to
+select an unused \fIport\fR range. \fBnhops\fR is defined as the number of hops
+between the source and the destination.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR \fImax_timeout\fR\fR
+.ad
+.sp .6
+.RS 4n
+Stop probing this hop after \fImax_timeout\fR consecutive timeouts are
+detected. The default value is 5. Useful in combination with the \fB-q\fR
+option if you have specified a large \fInqueries\fR probe count.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR \fInqueries\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the desired number of probe queries. The default is 3.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Bypass the normal routing tables and send directly to a host on an attached
+network. If the host is not on a directly-attached network, an error is
+returned. This option can be used to send probes to a local host through an
+interface that has been dropped by the router deamon. See \fBin.routed\fR(1M).
+You cannot use this option if the \fB-g\fR option is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a summary of how many probes were not answered for each hop.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsrc_addr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use the following address, which usually is given as a literal \fBIP\fR
+address, not a hostname, as the source address in outgoing probe packets. On
+multi-homed hosts, those with more than one \fBIP\fR address, this option can
+be used to force the source address to be something other than the \fBIP\fR
+address \fBtraceroute\fR picks by default. If the \fBIP\fR address is not one
+of this machine's interface addresses, an error is returned and nothing is
+sent. For IPv4, when used together with the \fB-i\fR option, the given \fBIP\fR
+address should be configured on the specified interface. Otherwise, an error
+will be returned. In the case of IPv6, the interface name and the source
+address do not have to match.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItos\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the \fItos\fR(type-of-service) in probe packets to the specified value. The
+default is zero. The value must be an integer in the range from 0 to 255.
+Gateways along the path may route the probe packet differently depending upon
+the \fItos\fR value set in the probe packet. This option is valid only on IPv4.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose output. For each hop, the size and the destination of the response
+packets is displayed. Also \fBICMP\fR (\fBICMP6\fR) packets received other than
+\fBTIME_EXCEEDED\fR and \fBUNREACHABLE\fR are listed as well.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR \fIwaittime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the time, in seconds, to wait for a response to a probe. The default is 5
+seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prevent \fBtraceroute\fR from calculating checksums. Checksums are usually
+required for the last hop when using \fBICMP\fR \fBECHO\fR probes. This option
+is valid only on IPv4. See the \fB-I\fR option.
+.sp
+When specified from within a shared-IP zone, this option has no effect as the
+checksum is always calculated by the operating system in this case.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhost\fR\fR
+.ad
+.sp .6
+.RS 4n
+The network host.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSample Output From the \fBtraceroute\fR Utility
+.sp
+.LP
+Some sample output from the \fBtraceroute\fR utility might be:
+
+.sp
+.in +2
+.nf
+istanbul% \fBtraceroute london\fR
+traceroute: Warning: london has multiple addresses; \e
+ using 4::114:a00:20ff:ab3d:83ed
+traceroute: Warning: Multiple interfaces found; \e
+ using 4::56:a00:20ff:fe93:8dde @ eri0:2
+traceroute to london (4::114:a00:20ff:ab3d:83ed), 30 hops max, \e
+ 60 byte packets
+1 frbldg7c-86 (4::56:a00:20ff:fe1f:65a1) 1.786 ms 1.544 ms 1.719 ms
+2 frbldg7b-77 (4::255:0:0:c0a8:517) 2.587 ms 3.001 ms 2.988 ms
+3 london (4::114:a00:20ff:ab3d:83ed) 3.122 ms 2.744 ms 3.356 ms
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The target host, london, has both IPv4 and IPv6 addresses in the name service
+database. According to the default behavior, \fBtraceroute\fR uses IPv6 address
+of the destination host.
+
+.LP
+\fBExample 2 \fRUsing the \fBtraceroute\fR Utility For a Host Which has Only
+IPv4 Addresses
+.sp
+.LP
+In the following examples, \fBtraceroute\fR is tracking the route to host
+sanfrancisco, which has only IPv4 addresses in the name service database.
+Therefore traceroute uses only IPv4 addresses. The following shows the 7-hop
+path that a packet would follow from the host istanbul to the host
+sanfrancisco.
+
+.sp
+.in +2
+.nf
+istanbul% \fBtraceroute sanfrancisco\fR
+traceroute: Warning: Multiple interfaces found; using 172.31.86.247 @eri0
+traceroute to sanfrancisco (172.29.64.39), 30 hops max, 40 byte packets
+1 frbldg7c-86 (172.31.86.1) 1.516 ms 1.283 ms 1.362 ms
+2 bldg1a-001 (172.31.1.211) 2.277 ms 1.773 ms 2.186 ms
+3 bldg4-bldg1 (172.30.4.42) 1.978 ms 1.986 ms 13.996 ms
+4 bldg6-bldg4 (172.30.4.49) 2.655 ms 3.042 ms 2.344 ms
+5 ferbldg11a-001 (172.29.1.236) 2.636 ms 3.432 ms 3.830 ms
+6 frbldg12b-153 (172.29.153.72) 3.452 ms 3.146 ms 2.962 ms
+7 sanfrancisco (172.29.64.39) 3.430 ms 3.312 ms 3.451 ms
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing the \fBtraceroute\fR Utility With Source Routing
+.sp
+.LP
+The following example shows the path of a packet that goes from istanbul to
+sanfrancisco through the hosts cairo and paris, as specified by the \fB-g\fR
+option. The \fB-I\fR option makes \fBtraceroute\fR send \fBICMP\fR \fBECHO\fR
+probes to the host sanfrancisco. The \fB-i\fR options sets the source address
+to the \fBIP\fR address configured on the interface \fBqe0\fR.
+
+.sp
+.in +2
+.nf
+istanbul% \fBtraceroute -g cairo -g paris -i qe0 -q 1 -I sanfrancisco\fR
+traceroute to sanfrancisco (172.29.64.39), 30 hops max, 56 byte packets
+1 frbldg7c-86 (172.31.86.1) 2.012 ms
+2 flrbldg7u (172.31.17.131) 4.960 ms
+3 cairo (192.168.163.175) 4.894 ms
+4 flrbldg7u (172.31.17.131) 3.475 ms
+5 frbldg7c-017 (172.31.17.83) 4.126 ms
+6 paris (172.31.86.31) 4.086 ms
+7 frbldg7b-82 (172.31.82.1) 6.454 ms
+8 bldg1a-001 (172.31.1.211) 6.541 ms
+9 bldg6-bldg4 (172.30.4.49) 6.518 ms
+10 ferbldg11a-001 (172.29.1.236) 9.108 ms
+11 frbldg12b-153 (172.29.153.72) 9.634 ms
+12 sanfrancisco (172.29.64.39) 14.631 ms
+
+
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBnetstat\fR(1M), \fBsignal\fR(3C), \fBping\fR(1M), \fBattributes\fR(5),
+\fBprivileges\fR(5), \fBzones\fR(5)
+.SH WARNINGS
+.sp
+.LP
+This utility is intended for use in network testing, measurement and
+management. It should be used primarily for manual fault isolation. Because of
+the load it could impose on the network, it is unwise to use
+\fBtraceroute\fR(1M) during normal operations or from automated scripts.
diff --git a/usr/src/man/man1m/trapstat.1m b/usr/src/man/man1m/trapstat.1m
new file mode 100644
index 0000000000..1d6cc5831e
--- /dev/null
+++ b/usr/src/man/man1m/trapstat.1m
@@ -0,0 +1,687 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH trapstat 1M "11 May 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+trapstat \- report trap statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/trapstat\fR [\fB-t\fR | \fB-T\fR | \fB-e\fR \fIentry\fR]
+ [\fB-C\fR \fIprocessor_set_id\fR | \fB-c\fR \fIcpulist\fR] [\fB-P\fR] [\fB-a\fR]
+ [\fB-r\fR \fIrate\fR] [ [\fIinterval\fR [\fIcount\fR]] | \fIcommand\fR | [\fIargs\fR]]
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/trapstat\fR \fB-l\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBtrapstat\fR utility gathers and displays run-time trap statistics on
+UltraSPARC-based systems. The default output is a table of trap types and
+\fBCPU\fR \fBID\fRs, with each row of the table denoting a trap type and each
+column of the table denoting a \fBCPU\fR. If standard output is a terminal, the
+table contains as many columns of data as can fit within the terminal width; if
+standard output is not a terminal, the table contains at most six columns of
+data. By default, data is gathered and and displayed for all \fBCPU\fRs; if the
+data cannot fit in a single table, it is printed across multiple tables. The
+set of \fBCPU\fRs for which data is gathered and displayed can be optionally
+specified with the \fB-c\fR or \fB-C\fR option.
+.sp
+.LP
+Unless the \fB-r\fR option or the \fB-a\fR option is specified, the value
+displayed in each entry of the table corresponds to the number of traps per
+second. If the \fB-r\fR option is specified, the value corresponds to the
+number of traps over the interval implied by the specified sampling rate; if
+the \fB-a\fR option is specified, the value corresponds to the accumulated
+number of traps since the invocation of \fBtrapstat\fR.
+.sp
+.LP
+By default, \fBtrapstat\fR displays data once per second, and runs
+indefinitely; both of these behaviors can be optionally controlled with the
+\fIinterval\fR and \fIcount\fR parameters, respectively. The \fIinterval\fR is
+specified in seconds; the \fIcount\fR indicates the number of intervals to be
+executed before exiting. Alternatively, \fBcommand\fR can be specified, in
+which case \fBtrapstat\fR executes the provided command and continues to run
+until the command exits. A positive integer is assumed to be an \fIinterval\fR;
+if the desired \fB\fIcommand\fR\fR cannot be distinguished from an integer, the
+full path of \fIcommand\fR must be specified.
+.sp
+.LP
+UltraSPARC I (obsolete), II, and III handle translation lookaside buffer (TLB)
+misses by trapping to the operating system. TLB miss traps can be a significant
+component of overall system performance for some workloads; the \fB-t\fR option
+provides in-depth information on these traps. When run with this option,
+\fBtrapstat\fR displays both the rate of TLB miss traps \fI\fR and the
+percentage of time spent processing those traps. Additionally, TLB misses that
+hit in the translation storage buffer (TSB) are differentiated from TLB misses
+that further miss in the TSB. (The TSB is a software structure used as a
+translation entry cache to allow the TLB to be quickly filled; it is discussed
+in detail in the \fIUltraSPARC II User's Manual\fR.) The TLB and TSB miss
+information is further broken down into user- and kernel-mode misses.
+.sp
+.LP
+Workloads with working sets that exceed the TLB reach may spend a significant
+amount of time missing in the TLB. To accommodate such workloads, the operating
+system supports multiple page sizes: larger page sizes increase the effective
+TLB reach and thereby reduce the number of TLB misses. To provide insight into
+the relationship between page size and TLB miss rate, \fBtrapstat\fR optionally
+provides in-depth TLB miss information broken down by page size using the
+\fB-T\fR option. The information provided by the \fB-T\fR option is a superset
+of that provided by the \fB-t\fR option; only one of \fB-t\fR and \fB-T\fR can
+be specified.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 24n
+.rt
+Displays the number of traps as accumulating, monotonically increasing values
+instead of per-second or per-interval rates.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcpulist\fR \fR
+.ad
+.RS 24n
+.rt
+Enables \fBtrapstat\fR only on the \fBCPU\fRs specified by \fIcpulist\fR.
+.sp
+\fIcpulist\fR can be a single processor \fBID\fR (for example, \fB4\fR), a
+range of processor\fB ID\fRs (for example, \fB4-6\fR), or a comma separated
+list of processor\fB ID\fRs or processor \fBID\fR ranges (for example,
+\fB4,5,6\fR or \fB4,6-8\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR \fIprocessor_set_id\fR \fR
+.ad
+.RS 24n
+.rt
+Enables \fBtrapstat\fR only on the \fBCPU\fRs in the processor set specified by
+\fIprocessor_set_id\fR.
+.sp
+\fBtrapstat\fR modifies its output to always reflect the \fBCPU\fRs in the
+specified processor set. If a \fBCPU\fR is added to the set, \fBtrapstat\fR
+modifies its output to include the added \fBCPU\fR; if a \fBCPU\fR is removed
+from the set, \fBtrapstat\fR modifies its output to exclude the removed CPU. At
+most one processor set can be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIentrylist\fR \fR
+.ad
+.RS 24n
+.rt
+Enables \fBtrapstat\fR only for the trap table entry or entries specified by
+\fIentrylist\fR. A trap table entry can be specified by trap number or by trap
+name (for example, the level-10 trap can be specified as \fB74\fR, \fB0x4A\fR,
+\fB0x4a\fR, or \fBlevel-10\fR).
+.sp
+\fIentrylist\fR can be a single trap table entry or a comma separated list of
+trap table entries. If the specified trap table entry is not valid,
+\fBtrapstat\fR prints a table of all valid trap table entries and values. A
+list of valid trap table entries is also found in \fIThe SPARC Architecture
+Manual, Version 9\fR and the \fISun Microelectronics UltraSPARC II User's
+Manual.\fR If the parsable option (\fB-P\fR) is specified in addition to the
+\fB-e\fR option, the format of the data is as follows:
+.sp
+
+.sp
+.TS
+tab();
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+FieldContents
+1Timestamp (nanoseconds since start)
+2CPU ID
+3Trap number (in hexadecimal)
+4Trap name
+5Trap rate per interval
+.TE
+
+Each field is separated with whitespace. If the format is modified, it will be
+modified by adding potentially new fields beginning with field 6; exant fields
+will remain unchanged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fR
+.ad
+.RS 24n
+.rt
+Lists trap table entries. By default, a table is displayed containing all valid
+trap numbers, their names and a brief description. The trap name is used in
+both the default output and in the \fIentrylist\fR parameter for the \fB-e\fR
+argument. If the parsable option (\fB-P\fR) is specified in addition to the
+\fB-l\fR option, the format of the data is as follows:
+.sp
+
+.sp
+.TS
+tab();
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+FieldContents
+1Trap number in hexadecimal
+2Trap number in decimal
+3Trap name
+RemainingTrap description
+.TE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fR
+.ad
+.RS 24n
+.rt
+Generates parsable output. When run without other data gathering modifying
+options (that is, \fB-e\fR, \fB-t\fR or \fB-T\fR), \fBtrapstat\fR's the
+parsable output has the following format:
+.sp
+
+.sp
+.TS
+tab();
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+FieldContents
+1Timestamp (nanoseconds since start)
+2CPU ID
+3Trap number (in hexadecimal)
+4Trap name
+5Trap rate per interval
+.TE
+
+Each field is separated with whitespace. If the format is modified, it will be
+modified by adding potentially new fields beginning with field 6; extant fields
+will remain unchanged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrate\fR \fR
+.ad
+.RS 24n
+.rt
+Explicitly sets the sampling rate to be \fIrate\fR samples per second. If this
+option is specified, \fBtrapstat\fR's output changes from a traps-per-second to
+traps-per-sampling-interval.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 24n
+.rt
+Enables TLB statistics.
+.sp
+A table is displayed with four principal columns of data: \fIitlb-miss\fR,
+\fIitsb-miss\fR, \fIdtlb-miss\fR, and \fIdtsb-miss\fR. The columns contain both
+the rate of the corresponding event and the percentage of \fBCPU\fR time spent
+processing the event. The percentage of \fBCPU\fR time is given only in terms
+of a single \fBCPU\fR. The rows of the table correspond to \fBCPU\fRs, with
+each \fBCPU\fR consuming two rows: one row for user-mode events (denoted with
+\fBu\fR) and one row for kernel-mode events (denoted with \fBk\fR). For each
+row, the percentage of \fBCPU\fR time is totalled and displayed in the
+rightmost column. The \fBCPU\fRs are delineated with a solid line. If the
+parsable option (\fB-P\fR) is specified in addition to the \fB-t\fR option, the
+format of the data is as follows:
+.sp
+
+.sp
+.TS
+tab();
+cw(0i) cw(5.5i)
+lw(0i) lw(5.5i)
+.
+FieldContents
+1Timestamp (nanoseconds since start)
+2CPU ID
+3Mode (\fBk\fR denotes kernel, \fBu\fR denotes user)
+4I-TLB misses
+5Percentage of time in I-TLB miss handler
+6I-TSB misses
+7Percentage of time in I-TSB miss handler
+8D-TLB misses
+9Percentage of time in D-TLB miss handler
+10D-TSB misses
+11Percentage of time in D-TSB miss handler
+.TE
+
+Each field is separated with whitespace. If the format is modified, it will be
+modified by adding potentially new fields beginning with field 12; extant
+fields will remain unchanged.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fR
+.ad
+.RS 24n
+.rt
+Enables \fBTLB\fR statistics, with page size information. As with the \fB-t\fR
+option, a table is displayed with four principal columns of data:
+\fIitlb-miss\fR, \fIitsb-miss\fR, \fIdtlb-miss\fR, and \fIdtsb-miss\fR. The
+columns contain both the absolute number of the corresponding event, and the
+percentage of \fBCPU\fR time spent processing the event. The percentage of
+\fBCPU\fR time is given only in terms of a single \fBCPU\fR. The rows of the
+table correspond to \fBCPU\fRs, with each \fBCPU\fR consuming two sets of rows:
+one set for user-level events (denoted with \fBu\fR) and one set for
+kernel-level events (denoted with \fBk\fR). Each set, in turn, contains as many
+rows as there are page sizes supported (see \fBgetpagesizes\fR(3C)). For each
+row, the percentage of \fBCPU\fR time is totalled and displayed in the
+right-most column. The two sets are delineated with a dashed line; CPUs are
+delineated with a solid line. If the parsable option (\fB-P\fR) is specified in
+addition to the \fB-T\fR option, the format of the data is as follows:
+.sp
+
+.sp
+.TS
+tab();
+cw(0i) cw(5.5i)
+lw(0i) lw(5.5i)
+.
+FieldContents
+1Timestamp (nanoseconds since start)
+2CPU ID
+3Mode \fBk\fR denotes kernel, \fBu\fR denotes user)
+4Page size, in decimal
+5I-TLB misses
+6Percentage of time in I-TLB miss handler
+7I-TSB misses
+8Percentage of time in I-TSB miss handler
+9D-TLB misses
+10Percentage of time in D-TLB miss handler
+11D-TSB misses
+12Percentage of time in D-TSB miss handler
+.TE
+
+Each field is separated with whitespace. If the format is modified, it will be
+modified by adding potentially new fields beginning with field 13; extant
+fields will remain unchanged.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBtrapstat\fR Without Options
+.sp
+.LP
+When run without options, \fBtrapstat\fR displays a table of trap types and
+CPUs. At most six columns can fit in the default terminal width; if (as in this
+example) there are more than six CPUs, multiple tables are displayed:
+
+.sp
+.in +2
+.nf
+example# \fBtrapstat\fR
+vct name | cpu0 cpu1 cpu4 cpu5 cpu8 cpu9
+------------------------+------------------------------------------------------
+ 24 cleanwin | 6446 4837 6368 2153 2623 1321
+ 41 level-1 | 100 0 0 0 1 0
+ 44 level-4 | 0 1 1 1 0 0
+ 45 level-5 | 0 0 0 0 0 0
+ 47 level-7 | 0 0 0 0 9 0
+ 49 level-9 | 100 100 100 100 100 100
+ 4a level-10 | 100 0 0 0 0 0
+ 4d level-13 | 6 10 7 16 13 11
+ 4e level-14 | 100 0 0 0 1 0
+ 60 int-vec | 2607 2740 2642 2922 2920 3033
+ 64 itlb-miss | 3129 2475 3167 1037 1200 569
+ 68 dtlb-miss | 121061 86162 109838 37386 45639 20269
+ 6c dtlb-prot | 997 847 1061 379 406 184
+ 84 spill-user-32 | 2809 2133 2739 200806 332776 454504
+ 88 spill-user-64 | 45819 207856 93487 228529 68373 77590
+ 8c spill-user-32-cln | 784 561 767 274 353 215
+ 90 spill-user-64-cln | 9 37 17 39 12 13
+ 98 spill-kern-64 | 62913 50145 63869 21916 28431 11738
+ a4 spill-asuser-32 | 1327 947 1288 460 572 335
+ a8 spill-asuser-64 | 26 48 18 54 10 14
+ ac spill-asuser-32-cln | 4580 3599 4555 1538 1978 857
+ b0 spill-asuser-64-cln | 26 0 0 2 0 0
+ c4 fill-user-32 | 2862 2161 2798 191746 318115 435850
+ c8 fill-user-64 | 45813 197781 89179 217668 63905 74281
+ cc fill-user-32-cln | 3802 2833 3733 10153 16419 19475
+ d0 fill-user-64-cln | 329 10105 4873 10603 4235 3649
+ d8 fill-kern-64 | 62519 49943 63611 21824 28328 11693
+108 syscall-32 | 2285 1634 2278 737 957 383
+126 self-xcall | 100 0 0 0 0 0
+
+vct name | cpu12 cpu13 cpu14 cpu15
+------------------------+------------------------------------
+ 24 cleanwin | 5435 4232 6302 6104
+ 41 level-1 | 0 0 0 0
+ 44 level-4 | 2 0 0 1
+ 45 level-5 | 0 0 0 0
+ 47 level-7 | 0 0 0 0
+ 49 level-9 | 100 100 100 100
+ 4a level-10 | 0 0 0 0
+ 4d level-13 | 15 11 22 11
+ 4e level-14 | 0 0 0 0
+ 60 int-vec | 2813 2833 2738 2714
+ 64 itlb-miss | 2636 1925 3133 3029
+ 68 dtlb-miss | 90528 70639 107786 103425
+ 6c dtlb-prot | 819 675 988 954
+ 84 spill-user-32 | 175768 39933 2811 2742
+ 88 spill-user-64 | 0 241348 96907 118298
+ 8c spill-user-32-cln | 681 513 753 730
+ 90 spill-user-64-cln | 0 42 16 20
+ 98 spill-kern-64 | 52158 40914 62305 60141
+ a4 spill-asuser-32 | 1113 856 1251 1208
+ a8 spill-asuser-64 | 0 64 16 24
+ ac spill-asuser-32-cln | 3816 2942 4515 4381
+ b0 spill-asuser-64-cln | 0 0 0 0
+ c4 fill-user-32 | 170744 38444 2876 2784
+ c8 fill-user-64 | 0 230381 92941 111694
+ cc fill-user-32-cln | 8550 3790 3612 3553
+ d0 fill-user-64-cln | 0 10726 4495 5845
+ d8 fill-kern-64 | 51968 40760 62053 59922
+108 syscall-32 | 1839 1495 2144 2083
+126 self-xcall | 0 0 0 0
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing \fBtrapset\fR with CPU Filtering
+.sp
+.LP
+ The \fB-c\fR option can be used to limit the \fBCPU\fRs on which
+\fBtrapstat\fR is enabled. This example limits \fBCPU 1\fR and \fBCPU\fRs
+\fB12\fR through \fB15\fR.
+
+.sp
+.in +2
+.nf
+example# \fBtrapstat -c 1,12-15\fR
+
+
+vct name | cpu1 cpu12 cpu13 cpu14 cpu15
+------------------------+---------------------------------------------
+ 24 cleanwin | 6923 3072 2500 3518 2261
+ 44 level-4 | 3 0 0 1 1
+ 49 level-9 | 100 100 100 100 100
+ 4d level-13 | 23 8 14 19 14
+ 60 int-vec | 2559 2699 2752 2688 2792
+ 64 itlb-miss | 3296 1548 1174 1698 1087
+ 68 dtlb-miss | 114788 54313 43040 58336 38057
+ 6c dtlb-prot | 1046 549 417 545 370
+ 84 spill-user-32 | 66551 29480 301588 26522 213032
+ 88 spill-user-64 | 0 318652 111239 299829 221716
+ 8c spill-user-32-cln | 856 347 331 416 293
+ 90 spill-user-64-cln | 0 55 21 59 39
+ 98 spill-kern-64 | 66464 31803 24758 34004 22277
+ a4 spill-asuser-32 | 1423 569 560 698 483
+ a8 spill-asuser-64 | 0 74 32 98 46
+ ac spill-asuser-32-cln | 4875 2250 1728 2384 1584
+ b0 spill-asuser-64-cln | 0 2 0 1 0
+ c4 fill-user-32 | 64193 28418 287516 27055 202093
+ c8 fill-user-64 | 0 305016 106692 288542 210654
+ cc fill-user-32-cln | 6733 3520 15185 2396 12035
+ d0 fill-user-64-cln | 0 13226 3506 12933 11032
+ d8 fill-kern-64 | 66220 31680 24674 33892 22196
+108 syscall-32 | 2446 967 817 1196 755
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing \fBtrapstat\fR with TLB Statistics
+.sp
+.LP
+The \fB-t\fR option displays in-depth \fBTLB\fR statistics, including the
+amount of time spent performing \fBTLB\fR miss processing. The following
+example shows that the machine is spending 14.1 percent of its time just
+handling D-TLB misses:
+
+.sp
+.in +2
+.nf
+example# \fBtrapstat -t\fR
+cpu m| itlb-miss %tim itsb-miss %tim | dtlb-miss %tim dtsb-miss %tim |%tim
+-----+-------------------------------+-------------------------------+----
+ 0 u| 2571 0.3 0 0.0 | 10802 1.3 0 0.0 | 1.6
+ 0 k| 0 0.0 0 0.0 | 106420 13.4 184 0.1 |13.6
+-----+-------------------------------+-------------------------------+----
+ 1 u| 3069 0.3 0 0.0 | 10983 1.2 100 0.0 | 1.6
+ 1 k| 27 0.0 0 0.0 | 106974 12.6 19 0.0 |12.7
+-----+-------------------------------+-------------------------------+----
+ 2 u| 3033 0.3 0 0.0 | 11045 1.2 105 0.0 | 1.6
+ 2 k| 43 0.0 0 0.0 | 107842 12.7 108 0.0 |12.8
+-----+-------------------------------+-------------------------------+----
+ 3 u| 2924 0.3 0 0.0 | 10380 1.2 121 0.0 | 1.6
+ 3 k| 54 0.0 0 0.0 | 102682 12.2 16 0.0 |12.2
+-----+-------------------------------+-------------------------------+----
+ 4 u| 3064 0.3 0 0.0 | 10832 1.2 120 0.0 | 1.6
+ 4 k| 31 0.0 0 0.0 | 107977 13.0 236 0.1 |13.1
+=====+===============================+===============================+====
+ ttl | 14816 0.3 0 0.0 | 585937 14.1 1009 0.0 |14.5
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRUsing \fBtrapstat\fR with TLB Statistics and Page Size
+Information
+.sp
+.LP
+By specifying the \fB-T\fR option, \fBtrapstat\fR shows \fBTLB\fR misses broken
+down by page size. In this example, CPU 0 is spending 7.9 percent of its time
+handling user-mode TLB misses on 8K pages, and another 2.3 percent of its time
+handling user-mode TLB misses on 64K pages.
+
+.sp
+.in +2
+.nf
+example# \fBtrapstat -T -c 0\fR
+cpu m size| itlb-miss %tim itsb-miss %tim | dtlb-miss %tim dtsb-miss %tim |%tim
+----------+-------------------------------+-------------------------------+----
+ 0 u 8k| 1300 0.1 15 0.0 | 104897 7.9 90 0.0 | 8.0
+ 0 u 64k| 0 0.0 0 0.0 | 29935 2.3 7 0.0 | 2.3
+ 0 u 512k| 0 0.0 0 0.0 | 3569 0.2 2 0.0 | 0.2
+ 0 u 4m| 0 0.0 0 0.0 | 233 0.0 2 0.0 | 0.0
+- - - - - + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - + - -
+ 0 k 8k| 13 0.0 0 0.0 | 71733 6.5 110 0.0 | 6.5
+ 0 k 64k| 0 0.0 0 0.0 | 0 0.0 0 0.0 | 0.0
+ 0 k 512k| 0 0.0 0 0.0 | 0 0.0 206 0.1 | 0.1
+ 0 k 4m| 0 0.0 0 0.0 | 0 0.0 0 0.0 | 0.0
+==========+===============================+===============================+====
+ ttl | 1313 0.1 15 0.0 | 210367 17.1 417 0.2 |17.5
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRUsing \fBtrapstat\fR with Entry Filtering
+.sp
+.LP
+By specifying the \fB-e\fR option, \fBtrapstat\fR displays statistics for only
+specific trap types. Using this option minimizes the probe effect when seeking
+specific data. This example yields statistics for only the \fIdtlb-prot\fR and
+\fIsyscall-32\fR traps on CPUs 12 through 15:
+
+.sp
+.in +2
+.nf
+example# \fBtrapstat -e dtlb-prot,syscall-32 -c 12-15\fR
+vct name | cpu12 cpu13 cpu14 cpu15
+------------------------+------------------------------------
+ 6c dtlb-prot | 817 754 1018 560
+108 syscall-32 | 1426 1647 2186 1142
+
+vct name | cpu12 cpu13 cpu14 cpu15
+------------------------+------------------------------------
+ 6c dtlb-prot | 1085 996 800 707
+108 syscall-32 | 2578 2167 1638 1452
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRUsing \fBtrapstat\fR with a Higher Sampling Rate
+.sp
+.LP
+The following example uses the \fB-r\fR option to specify a sampling rate of
+1000 samples per second, and filter only for the level-10 trap. Additionally,
+specifying the \fB-P\fR option yields parsable output.
+
+.sp
+.LP
+Notice the timestamp difference between the level-10 events: 9,998,000
+nanoseconds and 10,007,000 nanoseconds. These level-10 events correspond to the
+system clock, which by default ticks at 100 hertz (that is, every 10,000,000
+nanoseconds).
+
+.sp
+.in +2
+.nf
+example# \fBtrapstat -e level-10 -P -r 1000\fR
+1070400 0 4a level-10 0
+2048600 0 4a level-10 0
+3030400 0 4a level-10 1
+4035800 0 4a level-10 0
+5027200 0 4a level-10 0
+6027200 0 4a level-10 0
+7027400 0 4a level-10 0
+8028200 0 4a level-10 0
+9026400 0 4a level-10 0
+10029600 0 4a level-10 0
+11028600 0 4a level-10 0
+12024000 0 4a level-10 0
+13028400 0 4a level-10 1
+14031200 0 4a level-10 0
+15027200 0 4a level-10 0
+16027600 0 4a level-10 0
+17025000 0 4a level-10 0
+18026000 0 4a level-10 0
+19027800 0 4a level-10 0
+20025600 0 4a level-10 0
+21025200 0 4a level-10 0
+22025000 0 4a level-10 0
+23035400 0 4a level-10 1
+24027400 0 4a level-10 0
+25026000 0 4a level-10 0
+26027000 0 4a level-10 0
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+Interface Stability
+ Human Readable OutputUnstable
+ Parsable OutputEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlockstat\fR(1M), \fBpmap\fR(1), \fBpsrset\fR(1M), \fBpsrinfo\fR(1M),
+\fBpbind\fR(1M), \fBppgsz\fR(1), \fBgetpagesizes\fR(3C)
+.sp
+.LP
+\fISun Microelectronics UltraSPARC II User's Manual,\fR January 1997, STP1031,
+.sp
+.LP
+\fIThe SPARC Architecture Manual, Version 9,\fR 1994, Prentice-Hall.
+.SH NOTES
+.sp
+.LP
+When enabled, \fBtrapstat\fR induces a varying probe effect, depending on the
+type of information collected. While the precise probe effect depends upon the
+specifics of the hardware, the following table can be used as a rough guide:
+.sp
+
+.sp
+.TS
+tab();
+cw(0i) cw(5.5i)
+lw(0i) lw(5.5i)
+.
+OptionApproximate probe effect
+default3-5% per trap
+\fB-e\fR3-5% per specified trap
+\fB-t\fR, \fB-T\fR T{
+40-45% per TLB miss trap hitting in the TSB, 25-30% per TLB miss trap missing in the TSB
+T}
+.TE
+
+.sp
+.LP
+These probe effects are \fIper trap\fR not for the system as a whole. For
+example, running \fBtrapstat\fR with the default options on a system that
+spends 7% of total time handling traps induces a performance degradation of
+less than one half of one percent; running \fBtrapstat\fR with the \fB-t\fR or
+\fB-T\fR option on a system spending 5% of total time processing TLB misses
+induce a performance degradation of no more than 2.5%.
+.sp
+.LP
+When run with the \fB-t\fR or \fB-T\fR option, \fBtrapstat\fR accounts for its
+probe effect when calculating the \fI%tim\fR fields. This assures that the
+\fI%tim\fR fields are a reasonably accurate indicator of the time a given
+workload is spending handling TLB misses \(em regardless of the perturbing
+presence of \fBtrapstat\fR.
+.sp
+.LP
+While the \fI%tim\fR fields include the explicit cost of executing the TLB miss
+handler, they do \fInot\fR include the implicit costs of TLB miss traps (for
+example, pipeline effects, cache pollution, etc). These implicit costs become
+more significant as the trap rate grows; if high \fI%tim\fR values are reported
+(greater than 50%), you can accurately infer that much of the balance of time
+is being spent on the implicit costs of the TLB miss traps.
+.sp
+.LP
+Due to the potential system wide degradation induced, only the super-user can
+run \fBtrapstat\fR.
+.sp
+.LP
+Due to the limitation of the underlying statistics gathering methodology, only
+one instance of \fBtrapstat\fR can run at a time.
diff --git a/usr/src/man/man1m/ttyadm.1m b/usr/src/man/man1m/ttyadm.1m
new file mode 100644
index 0000000000..7abc5b8c4e
--- /dev/null
+++ b/usr/src/man/man1m/ttyadm.1m
@@ -0,0 +1,255 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ttyadm 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ttyadm \- format and output port monitor-specific information
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ttyadm\fR [\fB-b\fR] [\fB-c\fR] [\fB-h\fR] [\fB-I\fR] [\fB-r\fR \fIcount\fR] [\fB-i\fR \fImsg\fR]
+ [\fB-m\fR \fImodules\fR] [\fB-p\fR \fIprompt\fR] [\fB-t\fR \fItimeout\fR] [\fB-S\fR y | n]
+ [\fB-T\fR \fItermtype\fR] \fB-d\fR \fIdevice\fR \fB-l\fR \fIttylabel\fR \fB-s\fR \fIservice\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ttyadm\fR \fB-V\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBttyadm\fR command is an administrative command that formats
+\fBttymon\fR(1M)-specific information and writes it to standard output. The
+Service Access Facility (SAF) requires each port monitor to provide such a
+command. Note that the port monitor administrative file is updated by the
+Service Access Controller's administrative commands, \fBsacadm\fR(1M) and
+\fBpmadm\fR(1M). \fBttyadm\fR provides a means of presenting formatted port
+monitor-specific (\fBttymon\fR-specific) data to these commands.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 15n
+.rt
+Set the ``bi-directional port'' flag. When this flag is set, the line can be
+used in both directions. \fBttymon\fR will allow users to connect to the
+service associated with the port, but if the port is free, \fBuucico\fR(1M),
+\fBcu\fR(1C), or \fBct\fR(1C) can use it for dialing out.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 15n
+.rt
+Set the connect-on-carrier flag for the port. If the \fB-c\fR flag is set,
+\fBttymon\fR will invoke the port's associated service immediately when a
+connect indication is received (that is, no prompt is printed and no baud-rate
+searching is done).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fI device\fR\fR
+.ad
+.RS 15n
+.rt
+\fIdevice\fR is the full pathname of the device file for the TTY port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 15n
+.rt
+Set the hangup flag for the port. If the \fB-h\fR flag is not set, \fBttymon\fR
+will force a hangup on the line by setting the speed to \fB0\fR before setting
+the speed to the default or specified value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI message\fR\fR
+.ad
+.RS 15n
+.rt
+Specify the inactive (disabled) response message. This message will be sent to
+the TTY port if the port is disabled or the \fBttymon\fR monitoring the port is
+disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.RS 15n
+.rt
+Initialize only. If the \fB-I\fR option is used, \fBttymon\fR will invoke the
+service only once. This can be used to configure a particular device without
+actually monitoring it, as with software carrier.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fI ttylabel\fR\fR
+.ad
+.RS 15n
+.rt
+Specify which \fIttylabel\fR in the \fB/etc/ttydefs\fR file to use as the
+starting point when searching for the proper baud rate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fI modules\fR\fR
+.ad
+.RS 15n
+.rt
+Specify a list of pushable STREAMS modules. The modules will be pushed in the
+order in which they are specified before the service is invoked. \fImodules\fR
+must be a comma-separated list of modules, with no white space included. Any
+modules currently on the stream will be popped before these modules are
+pushed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fI prompt\fR\fR
+.ad
+.RS 15n
+.rt
+Specify the prompt message, for example, ``\fBlogin:\fR''.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fI count\fR\fR
+.ad
+.RS 15n
+.rt
+When the \fB-r\fR option is invoked, \fBttymon\fR will wait until it receives
+data from the port before it displays a prompt. If \fIcount\fR is \fB0\fR,
+\fBttymon\fR will wait until it receives any character. If \fIcount\fR is
+greater than \fB0\fR, \fBttymon\fR will wait until \fIcount\fR newlines have
+been received.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fI service\fR\fR
+.ad
+.RS 15n
+.rt
+\fIservice\fR is the full pathname of the service to be invoked when a
+connection request is received. If arguments are required, the command and its
+arguments must be enclosed in double quotes (" ").
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fBy|n\fR\fR
+.ad
+.RS 15n
+.rt
+Set the software carrier value. \fBy\fR will turn software carrier on. \fBn\fR
+will turn software carrier off.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fI timeout\fR\fR
+.ad
+.RS 15n
+.rt
+Specify that \fBttymon\fR should close a port if the open on the port succeeds,
+and no input data is received in \fItimeout\fR seconds.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fI termtype\fR\fR
+.ad
+.RS 15n
+.rt
+Set the terminal type. The \fBTERM\fR environment variable will be set to
+\fItermtype\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 15n
+.rt
+Display the version number of the current \fB/usr/lib/saf/ttymon\fR command.
+.RE
+
+.SH OUTPUT
+.sp
+.LP
+If successful, \fBttyadm\fR will generate the requested information, write it
+to standard output, and exit with a status of \fB0\fR. If \fBttyadm\fR is
+invoked with an invalid number of arguments or invalid arguments, or if an
+incomplete option is specified, an error message will be written to standard
+error and \fBttymon\fR will exit with a non-zero status.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/ttydefs\fR\fR
+.ad
+.RS 16n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBct\fR(1C), \fBcu\fR(1C), \fBpmadm\fR(1M), \fBsacadm\fR(1M),
+\fBttymon\fR(1M), \fBuucico\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/ttymon.1m b/usr/src/man/man1m/ttymon.1m
new file mode 100644
index 0000000000..33d0dc1565
--- /dev/null
+++ b/usr/src/man/man1m/ttymon.1m
@@ -0,0 +1,347 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2004, Sun Microsystems, Inc.
+.\" All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ttymon 1M "22 Feb 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ttymon \- port monitor for terminal ports
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/saf/ttymon\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/saf/ttymon\fR \fB-g\fR [\fB-d\fR \fIdevice\fR] [\fB-h\fR] [\fB-t\fR \fItimeout\fR]
+ [\fB-l\fR \fIttylabel\fR] [\fB-p\fR \fIprompt\fR] [\fB-m\fR \fImodules\fR] [\fB-T\fR \fItermtype\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBttymon\fR is a STREAMS-based TTY port monitor. Its function is to monitor
+ports, to set terminal modes, baud rates, and line disciplines for the ports,
+and to connect users or applications to services associated with the ports.
+Normally, \fBttymon\fR is configured to run under the Service Access
+Controller, \fBsac\fR(1M), as part of the Service Access Facility (SAF). It is
+configured using the \fBsacadm\fR(1M) command. Each instance of \fBttymon\fR
+can monitor multiple ports. The ports monitored by an instance of \fBttymon\fR
+are specified in the port monitor's administrative file. The administrative
+file is configured using the \fBpmadm\fR(1M) and \fBttyadm\fR(1M) commands.
+When an instance of \fBttymon\fR is invoked by the \fBsac\fR command, it starts
+to monitor its ports. For each port, \fBttymon\fR first initializes the line
+disciplines, if they are specified, and the speed and terminal settings. For
+ports with entries in \fB/etc/logindevperm\fR, device owner, group and
+permissions are set. (See \fBlogindevperm\fR(4).) The values used for
+initialization are taken from the appropriate entry in the TTY settings file.
+This file is maintained by the \fBsttydefs\fR(1M) command. Default line
+disciplines on ports are usually set up by the \fBautopush\fR(1M) command of
+the Autopush Facility.
+.sp
+.LP
+\fBttymon\fR then writes the prompt and waits for user input. If the user
+indicates that the speed is inappropriate by pressing the BREAK key,
+\fBttymon\fR tries the next speed and writes the prompt again. When valid input
+is received, \fBttymon\fR interprets the per-service configuration file for the
+port, if one exists, creates a \fButmpx\fR entry if required (see
+\fButmpx\fR(4)), establishes the service environment, and then invokes the
+service associated with the port. Valid input consists of a string of at least
+one non-newline character, terminated by a carriage return. After the service
+terminates, \fBttymon\fR cleans up the \fButmpx\fR entry, if one exists, and
+returns the port to its initial state.
+.sp
+.LP
+If \fIautobaud\fR is enabled for a port, \fBttymon\fR will try to determine the
+baud rate on the port automatically. Users must enter a carriage return before
+\fBttymon\fR can recognize the baud rate and print the prompt. Currently, the
+baud rates that can be determined by \fIautobaud\fR are \fB110\fR, \fB1200\fR,
+\fB2400\fR, \fB4800\fR, and \fB9600\fR.
+.sp
+.LP
+If a port is configured as a bidirectional port, \fBttymon\fR will allow users
+to connect to a service, and, if the port is free, will allow \fBuucico\fR(1M),
+\fBcu\fR(1C), or \fBct\fR(1C) to use it for dialing out. If a port is
+bidirectional, \fBttymon\fR will wait to read a character before it prints a
+prompt.
+.sp
+.LP
+If the \fIconnect-on-carrier\fR flag is set for a port, \fBttymon\fR will
+immediately invoke the port's associated service when a connection request is
+received. The prompt message will not be sent.
+.sp
+.LP
+If a port is disabled, \fBttymon\fR will not start any service on that port. If
+a disabled message is specified, \fBttymon\fR will send out the disabled
+message when a connection request is received. If \fBttymon\fR is disabled, all
+ports under that instance of \fBttymon\fR will also be disabled.
+.SS "Service Invocation"
+.sp
+.LP
+The service \fBttymon\fR invokes for a port is specified in the \fBttymon\fR
+administrative file. \fBttymon\fR will scan the character string giving the
+service to be invoked for this port, looking for a \fB%d\fR or a \fB%%\fR
+two-character sequence. If \fB%d\fR is found, \fBttymon\fR will modify the
+service command to be executed by replacing those two characters by the full
+path name of this port (the device name). If \fB%%\fR is found, they will be
+replaced by a single \fB%\fR. When the service is invoked, file descriptor
+\fB0\fR, \fB1\fR, and \fB2\fR are opened to the port device for reading and
+writing. The service is invoked with the user ID, group ID and current home
+directory set to that of the user name under which the service was registered
+with \fBttymon\fR. Two environment variables, \fBHOME\fR and \fBTTYPROMPT\fR,
+are added to the service's environment by \fBttymon\fR. \fBHOME\fR is set to
+the home directory of the user name under which the service is invoked.
+\fBTTYPROMPT\fR is set to the prompt string configured for the service on the
+port. This is provided so that a service invoked by \fBttymon\fR has a means of
+determining if a prompt was actually issued by \fBttymon\fR and, if so, what
+that prompt actually was.
+.sp
+.LP
+See \fBttyadm\fR(1M) for options that can be set for ports monitored by
+\fBttymon\fR under the Service Access Controller.
+.SS "System Console Invocation"
+.sp
+.LP
+The invocation of ttymon on the system console is managed under \fBsmf\fR(5) by
+the service \fBsvc:/system/console-login\fR. It provides a number of properties
+within the property group \fBttymon\fR to control the invocation, as follows:
+.sp
+.in +2
+.nf
+NAME TYPE TTYMON OPTION
+----------------------------------------------------------
+device astring [-d device]
+nohangup boolean [-h]
+label astring [-l label]
+modules astring [-m module1,module2]
+prompt astring [-p prompt]
+timeout count [-t timeout]
+terminal_type astring [-T termtype]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If any value is the empty string or an integer set to zero, then the option is
+not passed to the ttymon invocation. The \fB-g\fR option is always specified
+for this invocation. The \fB-d\fR option always defaults to \fB/dev/console\fR
+if it is not set.
+.sp
+.LP
+See \fBEXAMPLES\fR.
+.SH SECURITY
+.sp
+.LP
+\fBttymon\fR uses \fBpam\fR(3PAM) for session management. The \fBPAM\fR
+configuration policy, listed through \fB/etc/pam.conf\fR, specifies the modules
+to be used for \fBttymon\fR. Here is a partial \fBpam.conf\fR file with entries
+for \fBttymon\fR using the UNIX session management module.
+.sp
+.in +2
+.nf
+ttymon session required /usr/lib/security/pam_unix_session.so.1
+.fi
+.in -2
+
+.sp
+.LP
+If there are no entries for the \fBttymon\fR service, then the entries for the
+"other" service will be used.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR\fR
+.ad
+.RS 14n
+.rt
+A special invocation of \fBttymon\fR is provided with the \fB-g\fR option. This
+form of the command should only be called by applications that need to set the
+correct baud rate and terminal settings on a port and then connect to
+\fBlogin\fR service, but that cannot be pre-configured under the SAC. The
+following combinations of options can be used with \fB-g\fR:
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fIdevice\fR\fR
+.ad
+.RS 14n
+.rt
+\fIdevice\fR is the full path name of the port to which \fBttymon\fR is to
+attach. If this option is not specified, file descriptor \fB0\fR must be set up
+by the invoking process to a TTY port.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 14n
+.rt
+If the -h flag is not set, \fBttymon\fR will force a hangup on the line by
+setting the speed to zero before setting the speed to the default or specified
+speed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fIttylabel\fR\fR
+.ad
+.RS 14n
+.rt
+\fIttylabel\fR is a link to a speed and TTY definition in the \fBttydefs\fR
+file. This definition tells \fBttymon\fR at what speed to run initially, what
+the initial TTY settings are, and what speed to try next if the user indicates
+that the speed is inappropriate by pressing the BREAK key. The default speed is
+9600 baud.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fImodules\fR\fR
+.ad
+.RS 14n
+.rt
+When initializing the port, \fBttymon\fR will pop all modules on the port, and
+then push \fImodules\fR in the order specified. \fImodules\fR is a
+comma-separated list of pushable modules. Default modules on the ports are
+usually set up by the Autopush Facility.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fIprompt\fR\fR
+.ad
+.RS 14n
+.rt
+Allows the user to specify a prompt string. The default prompt is \fBLogin:\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fItimeout\fR\fR
+.ad
+.RS 14n
+.rt
+Specifies that \fBttymon\fR should exit if no one types anything in
+\fItimeout\fR seconds after the prompt is sent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fItermtype\fR\fR
+.ad
+.RS 14n
+.rt
+Sets the \fBTERM\fR environment variable to \fItermtype\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting the Terminal Type
+.sp
+.LP
+The following example sets the value of the terminal type (\fB-T\fR) option for
+the system console \fBttymon\fR invocation:
+
+.sp
+.in +2
+.nf
+ svccfg -s svc:/system/console-login setprop \e
+ ttymon/terminal_type = "xterm"
+ svcadm refresh svc:/system/console-login:default
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+If any of the \fBLC_*\fR variables ( \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR,
+\fBLC_TIME\fR, \fBLC_COLLATE\fR, \fBLC_NUMERIC\fR, and \fBLC_MONETARY\fR ) (see
+\fBenviron\fR(5)) are not set in the environment, the operational behavior of
+\fBttymon\fR for each corresponding locale category is determined by the value
+of the \fBLANG\fR environment variable. If \fBLC_ALL\fR is set, its contents
+are used to override both the \fBLANG\fR and the other \fBLC_*\fR variables. If
+none of the above variables is set in the environment, the "C" (U.S. style)
+locale determines how \fBttymon\fR behaves.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_CTYPE\fR\fR
+.ad
+.RS 12n
+.rt
+Determines how \fBttymon\fR handles characters. When \fBLC_CTYPE\fR is set to a
+valid value, \fBttymon\fR can display and handle text and filenames containing
+valid characters for that locale. \fBttymon\fR can display and handle Extended
+Unix Code (EUC) characters where any individual character can be 1, 2, or 3
+bytes wide. \fBttymon\fR can also handle EUC characters of 1, 2, or more column
+widths. In the "C" locale, only characters from ISO 8859-1 are valid.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/logindevperm\fR\fR
+.ad
+.RS 21n
+.rt
+
+.RE
+
+.sp
+.LP
+The command-line syntax is Stable. The SMF properties are Evolving.
+.SH SEE ALSO
+.sp
+.LP
+\fBct\fR(1C), \fBcu\fR(1C), \fBautopush\fR(1M), \fBpmadm\fR(1M), \fBsac\fR(1M),
+\fBsacadm\fR(1M), \fBsttydefs\fR(1M), \fBttyadm\fR(1M), \fBuucico\fR(1M),
+\fBpam\fR(3PAM), \fBlogindevperm\fR(4), \fBpam.conf\fR(4), \fButmpx\fR(4),
+\fBattributes\fR(5), \fBenviron\fR(5), \fBpam_authtok_check\fR(5),
+\fBpam_authtok_get\fR(5), \fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5),
+\fBpam_passwd_auth\fR(5), \fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5),
+\fBpam_unix_session\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+If a port is monitored by more than one \fBttymon\fR, it is possible for the
+\fBttymon\fRs to send out prompt messages in such a way that they compete for
+input.
+.sp
+.LP
+The \fBpam_unix\fR(5) module is no longer supported. Similar functionality is
+provided by \fBpam_authtok_check\fR(5), \fBpam_authtok_get\fR(5),
+\fBpam_authtok_store\fR(5), \fBpam_dhkeys\fR(5), \fBpam_passwd_auth\fR(5),
+\fBpam_unix_account\fR(5), \fBpam_unix_auth\fR(5), and
+\fBpam_unix_session\fR(5).
diff --git a/usr/src/man/man1m/tunefs.1m b/usr/src/man/man1m/tunefs.1m
new file mode 100644
index 0000000000..5bb31d4752
--- /dev/null
+++ b/usr/src/man/man1m/tunefs.1m
@@ -0,0 +1,132 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tunefs 1M "5 Dec 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tunefs \- tune an existing UFS file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBtunefs\fR [\fB-a\fR \fImaxcontig\fR] [\fB-d\fR \fIrotdelay\fR] [\fB-e\fR \fImaxbpg\fR]
+ [\fB-m\fR \fIminfree\fR] [\fB-o\fR space | time] \fIspecial\fR | \fIfilesystem\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBtunefs\fR is designed to change the dynamic parameters of a file system that
+affect the layout policies. When using \fBtunefs\fR with \fIfilesystem\fR,
+\fIfilesystem\fR must be in \fB/etc/vfstab\fR. The parameters that can be
+changed are indicated by the options given below.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fImaxcontig\fR\fR
+.ad
+.RS 21n
+.rt
+The maximum number of logical blocks, belonging to one file, that is allocated
+contiguously. The default is calculated as follows:
+.sp
+.in +2
+.nf
+\fBmaxcontig =\fR \fIdisk drive maximum transfer size / disk block size\fR
+.fi
+.in -2
+.sp
+
+If the disk drive's maximum transfer size cannot be determined, the default
+value for \fBmaxcontig\fR is calculated from kernel parameters as follows:
+.sp
+If \fBmaxphys\fR is less than \fBufs_maxmaxphys\fR, which is 1 Mbyte, then
+\fBmaxcontig\fR is set to \fBmaxphys\fR. Otherwise, \fBmaxcontig\fR is set to
+\fBufs_maxmaxphys\fR.
+.sp
+You can set \fBmaxcontig\fR to any positive integer value.
+.sp
+The actual value will be the lesser of what has been specified and what the
+hardware supports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIrotdelay\fR\fR
+.ad
+.RS 21n
+.rt
+This parameter is obsolete as of the Solaris 10 release. The value is always
+set to \fB0\fR, regardless of the input value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fImaxbpg\fR\fR
+.ad
+.RS 21n
+.rt
+Indicates the maximum number of contiguous logical blocks any single file can
+allocate from a cylinder group before it is forced to begin allocating blocks
+from another cylinder group. Typically this value is set to approximately one
+quarter of the total contiguous logical blocks in a cylinder group. The intent
+is to prevent any single file from using up all the blocks in a single cylinder
+group, thus degrading access times for all files subsequently allocated in that
+cylinder group.
+.sp
+The effect of this limit is to cause big files to do long seeks more frequently
+than if they were allowed to allocate all the blocks in a cylinder group before
+seeking elsewhere. For file systems with exclusively large files, this
+parameter should be set higher.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIminfree\fR\fR
+.ad
+.RS 21n
+.rt
+Specifies the minimum free space threshold, or the percentage of space held
+back from normal users. This value can be set to \fB0\fR. However, up to a
+factor of three in throughput will be lost over the performance obtained at a
+10% threshold. \fINote:\fR If the value is raised above the current usage
+level, users will be unable to allocate files until enough files have been
+deleted to get under the higher threshold.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fI space\fR\||\|\fItime\fR\fR
+.ad
+.RS 21n
+.rt
+The file system can either be instructed to try to minimize the \fBtime\fR
+spent allocating blocks, or to try to minimize the \fBspace\fR fragmentation on
+the disk. The default is \fItime\fR.
+.sp
+Generally, you should optimize for time unless the file system is over 90%
+full.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBtunefs\fR when
+encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH SEE ALSO
+.sp
+.LP
+\fBmkfs_ufs\fR(1M), \fBnewfs\fR(1M), \fBattributes\fR(5), \fBlargefile\fR(5)
diff --git a/usr/src/man/man1m/txzonemgr.1m b/usr/src/man/man1m/txzonemgr.1m
new file mode 100644
index 0000000000..1b597f43ee
--- /dev/null
+++ b/usr/src/man/man1m/txzonemgr.1m
@@ -0,0 +1,63 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH txzonemgr 1M "17 Dec 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+txzonemgr \- Trusted Extensions Zone Manager Configuration Utility
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/txzonemgr\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBtxzonemgr\fR shell script provides a simple, menu-based \fBGUI\fR wizard
+for creating, installing, initializing, and booting labeled zones on a system
+on which Trusted Extensions is enabled. The script also provides menu items for
+networking options, name services options, and making the global zone a client
+of an existing LDAP server. By default, all zones are configured to use the
+same name service and IP address as the global zone.
+.sp
+.LP
+\fBtxzonemgr\fR is run by roles granted in the Zone Management Rights Profile,
+or by root in the global zone. It takes no options and returns no values.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Command Interface Stability Committed
+_
+Interactive DialogueNot an Interface
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBzenity\fR(1), \fBifconfig\fR(1M), \fBzoneadm\fR(1M), \fBzonecfg\fR(1M),
+\fBattributes\fR(5), \fBrbac\fR(5), \fBzones\fR(5)
+.sp
+.LP
+\fISolaris Trusted Extensions Administrator's Procedures\fR
+.SH NOTES
+.sp
+.LP
+If administering zones from \fBJDS\fR, use \fBtxzonemgr\fR rather than
+\fBCDE\fR actions.
+.sp
+.LP
+\fBtxzonemgr\fR uses the \fBzenity\fR command. For details, see the
+\fBzenity\fR(1) man page.
diff --git a/usr/src/man/man1m/tzselect.1m b/usr/src/man/man1m/tzselect.1m
new file mode 100644
index 0000000000..fd6428f71e
--- /dev/null
+++ b/usr/src/man/man1m/tzselect.1m
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH tzselect 1M "6 Sep 2001" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+tzselect \- select a time zone
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/tzselect\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBtzselect\fR program asks you a series of questions about the current
+location and outputs the resulting time zone description to standard output.
+The output is suitable as a value for the \fBTZ\fR environment variable.
+.sp
+.LP
+All user interaction is through standard input and standard error.
+.SH OPTIONS
+.sp
+.LP
+The \fBtzselect\fR command has no options.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR \fR
+.ad
+.RS 6n
+.rt
+Timezone information was successfully obtained.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/zoneinfo\fR \fR
+.ad
+.RS 28n
+.rt
+directory containing timezone data files
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBzdump\fR(1M), \fBzic\fR(1M), \fBctime\fR(3C), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/uadmin.1m b/usr/src/man/man1m/uadmin.1m
new file mode 100644
index 0000000000..3909069ed8
--- /dev/null
+++ b/usr/src/man/man1m/uadmin.1m
@@ -0,0 +1,75 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH uadmin 1M "25 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+uadmin \- administrative control
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/uadmin\fR \fIcmd\fR \fIfcn\fR [\fImdep\fR]
+.fi
+
+.LP
+.nf
+\fB/sbin/uadmin\fR \fIcmd\fR \fIfcn\fR [\fImdep\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBuadmin\fR command provides control for basic administrative functions.
+This command is tightly coupled to the system administration procedures and is
+not intended for general use. It may be invoked only by the super-user.
+.sp
+.LP
+Both the \fIcmd\fR (command) and \fIfcn\fR (function) arguments are converted
+to integers and passed to the \fBuadmin\fR system call. The optional \fImdep\fR
+(machine dependent) argument is only available for the \fIcmd\fR values of
+\fB1\fR (\fBA_REBOOT\fR), \fB2\fR (\fBA_SHUTDOWN\fR), or \fB5\fR
+(\fBA_DUMP\fR). For any other \fIcmd\fR value, no \fImdep\fR command-line
+argument is allowed.
+.sp
+.LP
+When passing an \fImdep\fR value that contains whitespaces, the string must be
+grouped together as a single argument enclosed within quotes, for example:
+.sp
+.in +2
+.nf
+uadmin 1 1 "\fB-s\fR kernel/unix"
+.fi
+.in -2
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBhalt\fR(1M), \fBreboot\fR(1M), \fBuadmin\fR(2), \fBattributes\fR(5)
+.SH WARNINGS
+.sp
+.LP
+Shutting down or halting the system by means of \fBuadmin\fR does not update
+the boot archive. Avoid using this command after
+.RS +4
+.TP
+.ie t \(bu
+.el o
+editing of files such as \fB/etc/system\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+installing new driver binaries or kernel binaries
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+updating existing driver binaries or kernel binaries.
+.RE
+.sp
+.LP
+Use \fBreboot\fR(1M) or \fBhalt\fR(1M) instead.
diff --git a/usr/src/man/man1m/ucodeadm.1m b/usr/src/man/man1m/ucodeadm.1m
new file mode 100644
index 0000000000..d57a4c7858
--- /dev/null
+++ b/usr/src/man/man1m/ucodeadm.1m
@@ -0,0 +1,188 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ucodeadm 1M "10 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ucodeadm \- update processor microcode
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ucodeadm\fR \fB-v\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ucodeadm\fR \fB-u\fR\fImicrocode-text-file\fR
+.fi
+
+.LP
+.nf
+\fB/usr/sbin/ucodeadm\fR \fB-i\fR [\fB-R\fR \fIpath\fR] \fImicrocode-text-file\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBucodeadm\fR utility can be used to report running microcode revision on
+the processors, update microcode, or install microcode on the target system to
+be used during the boot process.
+.sp
+.LP
+The \fImicrocode-text-file\fR can be obtained from processor vendors.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 26n
+.rt
+Report microcode revision.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fImicrocode-text-file\fR\fR
+.ad
+.RS 26n
+.rt
+Update microcode on all cross-call interrupt ready processors.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fImicrocode-text-file\fR\fR
+.ad
+.RS 26n
+.rt
+Install microcode files on target system to be used during the next boot
+cycle. The text file name must have the vendor name prefix, such as
+"\fBintel\fR" or "\fBamd\fR".
+.sp
+By default the microcode files will be installed at:
+.sp
+.in +2
+.nf
+ /platform/i86pc/ucode/$VENDORSTR/
+.fi
+.in -2
+.sp
+
+where \fBVENDORSTR\fR is either "\fBGenuineIntel\fR" or "\fBAuthenticAMD\fR".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIalternate path\fR\fR
+.ad
+.RS 26n
+.rt
+Install \fImicrocode\fR path in the \fIalternate path\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRReporting the Microcode Revision
+.sp
+.LP
+The following example displays the microcode revision that is currently
+running:
+
+.sp
+.in +2
+.nf
+# ucodeadm -v
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUpdating the Processor Microcode
+.sp
+.LP
+The following example updates the processor microcode to \fBintel-ucode.txt\fR:
+
+.sp
+.in +2
+.nf
+# ucodeadm -u intel-ucode.txt
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRInstalling the Microcode on the Target System
+.sp
+.LP
+The following example installs the microcode on the target system,
+\fB/export/ucode-path\fR:
+
+.sp
+.in +2
+.nf
+# ucodeadm -i -R /export/ucode-path intel-ucode.txt
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If an alternate path is used when installing the microcode on the target
+system, the installed microcode file is not used on the next boot cycle.
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>0\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpsradm\fR(1M), \fBpsrinfo\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ufsdump.1m b/usr/src/man/man1m/ufsdump.1m
new file mode 100644
index 0000000000..887a67d310
--- /dev/null
+++ b/usr/src/man/man1m/ufsdump.1m
@@ -0,0 +1,712 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ufsdump 1M "17 Mar 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ufsdump \- incremental file system dump
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ufsdump\fR [\fIoptions\fR] [\fIarguments\fR] \fIfiles_to_dump\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBufsdump\fR backs up all files specified by \fIfiles_to_dump\fR (usually
+either a whole file system or files within a file sytem changed after a certain
+date) to magnetic tape, diskette, or disk file.
+.sp
+.LP
+The \fBufsdump\fR command can only be used on unmounted file systems, or those
+mounted read-only. Attempting to dump a mounted, read-write file system might
+result in a system disruption or the inability to restore files from the dump.
+Consider using the \fBfssnap\fR(1M) command to create a file system snapshot if
+you need a point-in-time image of a file system that is mounted.
+.sp
+.LP
+If a filesystem was mounted with the logging option, it is strongly
+recommended that you run \fBufsdump\fR as the root user. Running the command as
+a non-root user might result in the creation of an inconsistent dump.
+.sp
+.LP
+\fIoptions\fR is a single string of one-letter \fBufsdump\fR options.
+.sp
+.LP
+\fIarguments\fR may be multiple strings whose association with the options is
+determined by order. That is, the first argument goes with the first option
+that takes an argument; the second argument goes with the second option that
+takes an argument, and so on.
+.sp
+.LP
+\fIfiles_to_dump\fR is required and must be the last argument on the command
+line. See \fBOPERANDS\fR for more information.
+.sp
+.LP
+With most devices \fBufsdump\fR can automatically detect the end-of-media.
+Consequently, the \fBd\fR, \fBs\fR, and \fBt\fR options are not necessary for
+multi-volume dumps, unless \fBufsdump\fR does not understand the way the device
+detects the end-of-media, or the files are to be restored on a system with an
+older version of the \fBrestore\fR command.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\(mi9\fR\fR
+.ad
+.sp .6
+.RS 4n
+The "dump level." All files specified by \fIfiles_to_dump\fR that have been
+modified since the last \fBufsdump\fR at a lower dump level are copied to the
+\fIdump_file\fR destination (normally a magnetic tape device). For instance, if
+a "level \fB2\fR" dump was done on Monday, followed by a "level \fB4\fR" dump
+on Tuesday, a subsequent "level \fB3\fR" dump on Wednesday would contain all
+files modified or added since the "level \fB2\fR" (Monday) backup. A "level
+\fB0\fR" dump copies the entire file system to the \fIdump_file\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBa\fR \fIarchive_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Archive file. Archive a dump table-of-contents in the specified
+\fIarchive_file\fR to be used by \fBufsrestore\fR(1M) to determine whether a
+file is in the dump file that is being restored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR \fIfactor\fR\fR
+.ad
+.sp .6
+.RS 4n
+Blocking factor. Specify the blocking factor for tape writes. The default is 20
+blocks per write for tapes of density less than 6250BPI (bytes-per-inch). The
+default blocking factor for tapes of density 6250BPI and greater is 64. The
+default blocking factor for cartridge tapes (\fBc\fR option) is 126. The
+highest blocking factor available with most tape drives is 126. Note: the
+blocking factor is specified in terms of 512-byte blocks, for compatibility
+with \fBtar\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cartridge. Set the defaults for cartridge instead of the standard half-inch
+reel. This sets the density to 1000BPI and the blocking factor to 126. Since
+\fBufsdump\fR can automatically detect the end-of-media, only the blocking
+parameter normally has an effect. When cartridge tapes are used, and this
+option is \fInot\fR specified, \fBufsdump\fR will slightly miscompute the size
+of the tape. If the \fBb\fR, \fBd\fR, \fBs\fR or \fBt\fR options are specified
+with this option, their values will override the defaults set by this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBd\fR \fIbpi\fR\fR
+.ad
+.sp .6
+.RS 4n
+Tape density. Not normally required, as \fBufsdump\fR can detect end-of-media.
+This parameter can be used to keep a running tab on the amount of tape used per
+reel. The default density is 6250BPI except when the \fBc\fR option is used for
+cartridge tape, in which case it is assumed to be 1000BPI per track. Typical
+values for tape devices are:
+.sp
+.ne 2
+.mk
+.na
+\fB1/2 inch tape\fR
+.ad
+.sp .6
+.RS 4n
+6250 BPI
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1/4 inch cartridge\fR
+.ad
+.sp .6
+.RS 4n
+1000 BPI The tape densities and other options are documented in the
+\fBst\fR(7D) man page.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBD\fR\fR
+.ad
+.sp .6
+.RS 4n
+Diskette. Dump to diskette.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBf\fR \fIdump_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Dump file. Use \fIdump_file\fR as the file to dump to, instead of
+\fB/dev/rmt/0\fR. If \fIdump_file\fR is specified as \fB\(mi\fR, dump to
+standard output.
+.sp
+If the name of the file is of the form \fImachine\fR\fB:\fR\fIdevice,\fR the
+dump is done from the specified machine over the network using \fBrmt\fR(1M).
+Since \fBufsdump\fR is normally run by root, the name of the local machine must
+appear in the \fB/.rhosts\fR file of the remote machine. If the file is
+specified as \fIuser\fR\fB@\fR\fImachine\fR\fB:\fR\fIdevice,\fR \fBufsdump\fR
+will attempt to execute as the specified user on the remote machine. The
+specified user must have a \fB\&.rhosts\fR file on the remote machine that
+allows the user invoking the command from the local machine to access the
+remote machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Autoload. When the end-of-tape is reached before the dump is complete, take the
+drive offline and wait up to two minutes for the tape drive to be ready again.
+This gives autoloading (stackloader) tape drives a chance to load a new tape.
+If the drive is ready within two minutes, continue. If it is not, prompt for
+another tape and wait.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBL\fR \fIstring\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the tape label to \fIstring\fR, instead of the default \fBnone\fR.
+\fIstring\fR may be no more than sixteen characters long. If it is longer, it
+is truncated and a warning printed; the dump will still be done. The tape label
+is specific to the \fBufsdump\fR tape format, and bears no resemblance to
+\fBIBM\fR or \fBANSI\fR-standard tape labels.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBn\fR\fR
+.ad
+.sp .6
+.RS 4n
+Notify all operators in the \fBsys\fR group that \fBufsdump\fR requires
+attention by sending messages to their terminals, in a manner similar to that
+used by the \fBwall\fR(1M) command. Otherwise, such messages are sent only to
+the terminals (such as the console) on which the user running \fBufsdump\fR is
+logged in.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBN\fR \fIdevice_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use \fIdevice_name\fR when recording information in \fB/etc/dumpdates\fR (see
+the \fBu\fR option) and when comparing against information in
+\fB/etc/dumpdates\fR for incremental dumps. The \fIdevice_name\fR provided can
+contain no white space as defined in \fBscanf\fR(3C) and is case-sensitive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBo\fR\fR
+.ad
+.sp .6
+.RS 4n
+Offline. Take the drive offline when the dump is complete or the end-of-media
+is reached and rewind the tape, or eject the diskette. In the case of some
+autoloading 8mm drives, the tape is removed from the drive automatically. This
+prevents another process which rushes in to use the drive, from inadvertently
+overwriting the media.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBs\fR \fIsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the \fIsize\fR of the volume being dumped to. Not normally required, as
+\fBufsdump\fR can detect end-of-media. When the specified size is reached,
+\fBufsdump\fR waits for you to change the volume. \fBufsdump\fR interprets the
+specified size as the length in feet for tapes and cartridges, and as the
+number of 1024-byte blocks for diskettes. The values should be a little smaller
+than the actual physical size of the media (for example, 425 for a 450-foot
+cartridge). Typical values for tape devices depend on the \fBc\fR option, for
+cartridge devices, and the \fBD\fR option for diskettes:
+.sp
+.ne 2
+.mk
+.na
+\fB1/2 inch tape\fR
+.ad
+.sp .6
+.RS 4n
+2300 feet
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB60-Mbyte 1/4 inch cartridge\fR
+.ad
+.sp .6
+.RS 4n
+425 feet
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB150-Mbyte 1/4 inch cartridge\fR
+.ad
+.sp .6
+.RS 4n
+700 feet
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdiskette\fR
+.ad
+.sp .6
+.RS 4n
+1422 blocks (Corresponds to a 1.44-Mbyte diskette, with one cylinder reserved
+for bad block information.)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Size estimate. Determine the amount of space that is needed to perform the dump
+without actually doing it, and display the estimated number of bytes it will
+take. This is useful with incremental dumps to determine how many volumes of
+media will be needed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBt\fR \fItracks\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the number of tracks for a cartridge tape. Not normally required, as
+\fBufsdump\fR can detect end-of-media. The default is 9 tracks. The \fBt\fR
+option is not compatible with the \fBD\fR option. Values for Sun-supported tape
+devices are:
+.sp
+.ne 2
+.mk
+.na
+\fB60-Mbyte 1/4 inch cartridge\fR
+.ad
+.sp .6
+.RS 4n
+9 tracks
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB150-Mbyte 1/4 inch cartridge\fR
+.ad
+.sp .6
+.RS 4n
+18 tracks
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBT\fR \fItime_wait\fR\fB[hms]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the amount of time to wait for an \fBautoload\fR command to complete. This
+option is ignored unless the \fBl\fR option has also been specified. The
+default time period to wait is two minutes. Specify time units with a trailing
+\fBh\fR ( for hours), \fBm\fR (for minutes), or \fBs\fR (for seconds). The
+default unit is minutes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Update the dump record. Add an entry to the file \fB/etc/dumpdates,\fR for each
+file system successfully dumped that includes the file system name (or
+\fIdevice_name\fR as specified with the \fBN\fR option), date, and dump level.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBv\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verify. After each tape or diskette is written, verify the contents of the
+media against the source file system. If any discrepancies occur, prompt for
+new media, then repeat the dump/verification process. The file system
+\fImust\fR be unmounted. This option cannot be used to verify a dump to
+standard output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.sp .6
+.RS 4n
+Warning. List the file systems that have not been backed up within a day. This
+information is gleaned from the files \fB/etc/dumpdates\fR and
+\fB/etc/vfstab\fR. When the \fBw\fR option is used, all other options are
+ignored. After reporting, \fBufsdump\fR exits immediately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBW\fR\fR
+.ad
+.sp .6
+.RS 4n
+Warning with highlight. Similar to the \fBw\fR option, except that the \fBW\fR
+option includes all file systems that appear in \fB/etc/dumpdates\fR, along
+with information about their most recent dump dates and levels. File systems
+that have not been backed up within a day are highlighted.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfiles_to_dump\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the files to dump. Usually it identifies a whole file system by its
+raw device name (for example, \fB/dev/rdsk/c0t3d0s6\fR). Incremental dumps
+(levels \fB1\fR to \fB9\fR) of files changed after a certain date only apply to
+a whole file system. Alternatively, \fIfiles_to_dump\fR can identify individual
+files or directories. All named directories that may be examined by the user
+running \fBufsdump\fR, as well as any explicitly-named files, are dumped. This
+dump is equivalent to a level \fB0\fR dump of the indicated portions of the
+filesystem, except that \fB/etc/dumpdates\fR is not updated even if the
+\fB-u\fR option has been specified. In all cases, the files must be contained
+in the same file system, and the file system must be local to the system where
+\fBufsdump\fR is being run.
+.sp
+\fIfiles_to_dump\fR is required and must be the last argument on the command
+line.
+.RE
+
+.sp
+.LP
+If no \fIoptions\fR are given, the default is \fB9uf\fR \fB/dev/rmt/0\fR
+\fIfiles_to_dump\fR.
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBufsdump\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBufsdump\fR
+.sp
+.LP
+The following command makes a full dump of a root file system on \fBc0t3d0\fR,
+on a 150-MByte cartridge tape unit \fB0\fR:
+
+.sp
+.in +2
+.nf
+example# ufsdump 0cfu /dev/rmt/0 /dev/rdsk/c0t3d0s0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command makes and verifies an incremental dump at level \fB5\fR
+of the \fBusr\fR partition of \fBc0t3d0\fR, on a 1/2 inch reel tape unit
+\fB1,\fR:
+
+.sp
+.in +2
+.nf
+example# ufsdump 5fuv /dev/rmt/1 /dev/rdsk/c0t3d0s6
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+While running, \fBufsdump\fR emits many verbose messages. \fBufsdump\fR returns
+the following exit values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Normal exit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Startup errors encountered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.sp .6
+.RS 4n
+Abort \(mi no checkpoint attempted.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/rmt/0\fR\fR
+.ad
+.sp .6
+.RS 4n
+default unit to dump to
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dumpdates\fR\fR
+.ad
+.sp .6
+.RS 4n
+dump date record
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.sp .6
+.RS 4n
+to find group \fBsys\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/hosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+to gain access to remote system with drive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.sp .6
+.RS 4n
+list of file systems
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcpio\fR(1), \fBtar\fR(1), \fBdd\fR(1M), \fBdevnm\fR(1M), \fBfssnap\fR(1M),
+\fBprtvtoc\fR(1M), \fBrmt\fR(1M), \fBshutdown\fR(1M), \fBufsrestore\fR(1M),
+\fBvolcopy\fR(1M), \fBwall\fR(1M), \fBscanf\fR(3C), \fBufsdump\fR(4),
+\fBattributes\fR(5), \fBlargefile\fR(5), \fBst\fR(7D)
+.SH NOTES
+.SS "Read Errors"
+.sp
+.LP
+Fewer than 32 read errors on the file system are ignored.
+.SS "Process Per Reel"
+.sp
+.LP
+Because each reel requires a new process, parent processes for reels that are
+already written hang around until the entire tape is written.
+.SS "Operator Intervention"
+.sp
+.LP
+\fBufsdump\fR requires operator intervention on these conditions: end of
+volume, end of dump, volume write error, volume open error or disk read error
+(if there are more than a threshold of 32). In addition to alerting all
+operators implied by the \fBn\fR option, \fBufsdump\fR interacts with the
+operator on \fBufsdump\fR's control terminal at times when \fBufsdump\fR can no
+longer proceed, or if something is grossly wrong. All questions \fBufsdump\fR
+poses \fImust\fR be answered by typing \fByes\fR or \fBno\fR, as appropriate.
+.sp
+.LP
+Since backing up a disk can involve a lot of time and effort, \fBufsdump\fR
+checkpoints at the start of each volume. If writing that volume fails for some
+reason, \fBufsdump\fR will, with operator permission, restart itself from the
+checkpoint after a defective volume has been replaced.
+.SS "Suggested Dump Schedule"
+.sp
+.LP
+It is vital to perform full, "level \fB0\fR", dumps at regular intervals. When
+performing a full dump, bring the machine down to single-user mode using
+\fBshutdown\fR(1M). While preparing for a full dump, it is a good idea to clean
+the tape drive and heads. Incremental dumps should be performed with the system
+running in single-user mode.
+.sp
+.LP
+Incremental dumps allow for convenient backup and recovery of active files on a
+more frequent basis, with a minimum of media and time. However, there are some
+tradeoffs. First, the interval between backups should be kept to a minimum
+(once a day at least). To guard against data loss as a result of a media
+failure (a rare, but possible occurrence), capture active files on (at least)
+two sets of dump volumes. Another consideration is the desire to keep
+unnecessary duplication of files to a minimum to save both operator time and
+media storage. A third consideration is the ease with which a particular
+backed-up version of a file can be located and restored. The following
+four-week schedule offers a reasonable tradeoff between these goals.
+.sp
+.in +2
+.nf
+ Sun Mon Tue Wed Thu Fri
+ Week 1: Full 5 5 5 5 3
+ Week 2: 5 5 5 5 3
+ Week 3: 5 5 5 5 3
+ Week 4: 5 5 5 5 3
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Although the Tuesday through Friday incrementals contain "extra copies" of
+files from Monday, this scheme assures that any file modified during the week
+can be recovered from the previous day's incremental dump.
+.SS "Process Priority of ufsdump"
+.sp
+.LP
+\fBufsdump\fR uses multiple processes to allow it to read from the disk and
+write to the media concurrently. Due to the way it synchronizes between these
+processes, any attempt to run dump with a \fBnice\fR (process priority) of
+`\(mi5' or better will likely make \fBufsdump\fR run \fIslower\fR instead of
+faster.
+.SS "Overlapping Partitions"
+.sp
+.LP
+Most disks contain one or more overlapping slices because slice 2 covers the
+entire disk. The other slices are of various sizes and usually do not overlap.
+For example, a common configuration places \fBroot\fR on slice 0, \fBswap\fR on
+slice 1, \fB/opt\fR on slice 5 and \fB/usr\fR on slice 6.
+.sp
+.LP
+It should be emphasized that \fBufsdump\fR dumps one \fBufs\fR file system at a
+time. Given the above scenario where slice 0 and slice 2 have the same starting
+offset, executing \fBufsdump\fR on slice 2 with the intent of dumping the
+entire disk would instead dump only the \fBroot\fR file system on slice 0. To
+dump the entire disk, the user must dump the file systems on each slice
+separately.
+.SH BUGS
+.sp
+.LP
+The \fB/etc/vfstab\fR file does not allow the desired frequency of backup for
+file systems to be specified (as \fB/etc/fstab\fR did). Consequently, the
+\fBw\fR and \fBW\fR options assume file systems should be backed up daily,
+which limits the usefulness of these options.
diff --git a/usr/src/man/man1m/ufsrestore.1m b/usr/src/man/man1m/ufsrestore.1m
new file mode 100644
index 0000000000..4edbef1531
--- /dev/null
+++ b/usr/src/man/man1m/ufsrestore.1m
@@ -0,0 +1,843 @@
+'\" te
+.\" Copyright (c) 2002 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ufsrestore 1M "24 Sep 2002" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ufsrestore \- incremental file system restore
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ufsrestore\fR i | r | R | t | x [abcdfhlmostvyLT]
+ [\fIarchive_file\fR] [\fIfactor\fR] [\fIdumpfile\fR] [\fIn\fR] [\fIlabel\fR]
+ [\fItimeout\fR] [\fIfilename\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBufsrestore\fR utility restores files from backup media created with the
+\fBufsdump\fR command. \fBufsrestores\fR's actions are controlled by the
+\fIkey\fR argument. The \fIkey\fR is exactly one \fBfunction\fR \fIletter\fR
+(\fBi\fR, \fBr\fR, \fBR\fR , \fBt\fR, or \fBx\fR) and zero or more \fIfunction
+modifier\fRs (letters). The \fIkey\fR string contains no \fBSPACE\fR
+characters. Function modifier arguments are listed on the command line in the
+same order as their corresponding function modifiers appear in the \fIkey\fR
+string.
+.sp
+.LP
+\fIfilename\fR arguments which appear on the command line, or as arguments to
+an interactive command, are treated as shell \fBglob\fR patterns by the \fBx\fR
+and \fBt\fR functions; any files or directories matching the patterns are
+selected. The metacharacters \fB*\fR, \fB?\fR, and \fB[ ]\fR must be protected
+from the shell if they appear on the command line. There is no way to quote
+these metacharacters to explicitly match them in a filename.
+.sp
+.LP
+The temporary files \fBrstdir*\fR and \fBrstmode*\fR are placed in \fB/tmp\fR
+by default. If the environment variable \fBTMPDIR\fR is defined with a
+non-empty value, that location is used instead of \fB/tmp\fR.
+.SH OPTIONS
+.SS "Function Letters"
+.sp
+.LP
+You must specify one (and only one) of the function letters listed below. Note
+that \fBi\fR, \fBx\fR, and \fBr\fR are intended to restore files into an empty
+directory. The \fBR\fR function is intended for restoring into a populated
+directory.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBi\fR\fR
+.ad
+.RS 5n
+.rt
+Interactive. After reading in the directory information from the media,
+\fBufsrestore\fR invokes a shell-like interface that allows you to browse
+through the dump file's directory hierarchy and select individual files to be
+extracted. Restoration has the same semantics as \fBx\fR (see below). See
+\fBInteractive Commands\fR, below, for a description of available commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBr\fR
+.ad
+.RS 5n
+.rt
+Recursive. Starting with an empty directory and a level 0 dump, the \fBr\fR
+function recreates the filesystem relative to the current working directory,
+exactly as it appeared when the dump was made. Information used to restore
+incremental dumps on top of the full dump (for example, \fBrestoresymtable\fR)
+is also included. Several \fBufsrestore\fR runs are typical, one for each
+higher level of dump (0, 1, ..., 9). Files that were deleted between the level
+0 and a subsequent incremental dump will not exist after the final restore. To
+completely restore a file system, use the \fBr\fR function restore the level 0
+dump, and again for each incremental dump. Although this function letter is
+intended for a complete restore onto a new file system (one just created with
+\fBnewfs\fR(1M)), if the file system contains files not on the backup media,
+they are preserved.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBR\fR
+.ad
+.RS 5n
+.rt
+Resume restoring. If an \fBr\fR-mode \fBufsrestore\fR was interrupted, this
+function prompts for the volume from which to resume restoring and continues
+the restoration from where it was left off. Otherwise identical to \fBr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBt\fR
+.ad
+.RS 5n
+.rt
+Table of contents. List each \fIfilename\fR that appears on the media. If no
+\fIfilename\fR argument is given, the root directory is listed. This results in
+a list of all files on the media, unless the \fBh\fR function modifier is in
+effect. The table of contents is taken from the media or from the specified
+archive file, when the \fBa\fR function modifier is used. The \fBa\fR function
+modifier is mutually exclusive with the \fBx\fR and \fBr\fR function letters.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBx\fR
+.ad
+.RS 5n
+.rt
+Extract the named files from the media. Files are restored to the same relative
+locations that they had in the original file system.
+.sp
+If the \fIfilename\fR argument matches a directory whose contents were written
+onto the media, and the \fBh\fR modifier is not in effect, the directory is
+recursively extracted, relative to the current directory, which is expected to
+be empty. For each file, the owner, modification time, and mode are restored
+(if possible).
+.sp
+If you omit the \fIfilename\fR argument or specify \fB\&.\fR, the root
+directory is extracted. This results in the entire tape being extracted, unless
+the \fBh\fR modifier is in effect. . With the \fBx\fR function, existing files
+are overwritten and \fBufsrestore\fR displays the names of the overwritten
+files. Overwriting a currently-running executable can have unfortunate
+consequences.
+.sp
+Use the \fBx\fR option to restore partial file system dumps, as they are (by
+definition) not entire file systems.
+.RE
+
+.SS "Function Modifiers"
+.sp
+.ne 2
+.mk
+.na
+\fBa \fIarchive_file\fR\fR
+.ad
+.RS 19n
+.rt
+Read the table of contents from \fIarchive_file\fR instead of the media. This
+function modifier can be used in combination with the \fBt\fR, \fBi\fR, or
+\fBx\fR function letters, making it possible to check whether files are on the
+media without having to mount the media. When used with the \fBx\fR and
+interactive (\fBi\fR) function letters, it prompts for the volume containing
+the file(s) before extracting them.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBb \fIfactor\fR\fR
+.ad
+.RS 19n
+.rt
+Blocking factor. Specify the blocking factor for tape reads. For variable
+length \fBSCSI\fR tape devices, unless the data was written with the default
+blocking factor, a blocking factor at least as great as that used to write the
+tape must be used; otherwise, an error will be generated. Note that a tape
+block is 512 bytes. Refer to the man page for your specific tape driver for the
+maximum blocking factor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBc\fR
+.ad
+.RS 19n
+.rt
+Convert the contents of the media in 4.1BSD format to the new \fBufs\fR file
+system format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBd\fR
+.ad
+.RS 19n
+.rt
+Debug. Turn on debugging output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBf \fIdump_file\fR\fR
+.ad
+.RS 19n
+.rt
+Use \fIdump_file\fR instead of \fB/dev/rmt/0\fR as the file to restore from.
+Typically \fIdump_file\fR specifies a tape or diskette drive. If
+\fIdump_file\fR is specified as `\fB\(mi\fR\&', \fBufsrestore\fR reads from the
+standard input. This allows \fBufsdump\fR(1M) and \fBufsrestore\fR to be used
+in a pipeline to copy a file system:
+.sp
+.in +2
+.nf
+example# ufsdump 0f \(mi /dev/rdsk/c0t0d0s7 \e
+ | (cd /home;ufsrestore xf \(mi)
+.fi
+.in -2
+.sp
+
+If the name of the file is of the form \fImachine\fR\fB:\fR\fIdevice\fR, the
+restore is done from the specified machine over the network using
+\fBrmt\fR(1M). Since \fBufsrestore\fR is normally run by root, the name of the
+local machine must appear in the \fB/.rhosts\fR file of the remote machine. If
+the file is specified as \fIuser\fR\fB@\fR\fImachine\fR\fB:\fR\fIdevice\fR,
+\fBufsrestore\fR will attempt to execute as the specified user on the remote
+machine. The specified user must have a \fB\&.rhosts\fR file on the remote
+machine that allows the user invoking the command from the local machine to
+access the remote machine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBh\fR
+.ad
+.RS 19n
+.rt
+Extract or list the actual directory, rather than the files that it references.
+This prevents hierarchical restoration of complete subtrees from the tape.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBl\fR
+.ad
+.RS 19n
+.rt
+Autoload. When the end-of-tape is reached before the restore is complete, take
+the drive off-line and wait up to two minutes (the default, see the \fBT\fR
+function modifier) for the tape drive to be ready again. This gives autoloading
+(stackloader) tape drives a chance to load a new tape. If the drive is ready
+within two minutes, continue. If it is not, prompt for another tape and wait.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBL \fIlabel\fR\fR
+.ad
+.RS 19n
+.rt
+The label that should appear in the header of the dump file. If the labels do
+not match, \fBufsrestore\fR issues a diagnostic and exits. The tape label is
+specific to the \fBufsdump\fR tape format, and bears no resemblance to
+\fBIBM\fR or \fBANSI\fR-standard tape labels.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBm\fR
+.ad
+.RS 19n
+.rt
+Extract by inode numbers rather than by filename to avoid regenerating complete
+pathnames. Regardless of where the files are located in the dump hierarchy,
+they are restored into the current directory and renamed with their inode
+number. This is useful if only a few files are being extracted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBo\fR
+.ad
+.RS 19n
+.rt
+Offline. Take the drive off-line when the restore is complete or the
+end-of-media is reached and rewind the tape, or eject the diskette. In the case
+of some autoloading 8mm drives, the tape is removed from the drive
+automatically.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBs \fIn\fR\fR
+.ad
+.RS 19n
+.rt
+Skip to the \fIn\fRth file when there are multiple dump files on the same tape.
+For example, the command:
+.sp
+.in +2
+.nf
+example# ufsrestore xfs /dev/rmt/0hn 5
+.fi
+.in -2
+.sp
+
+would position you to the fifth file on the tape when reading volume 1 of the
+dump. If a dump extends over more than one volume, all volumes except the first
+are assumed to start at position 0, no matter what "\fBs\fR \fIn\fR" value is
+specified.
+.sp
+If "\fBs\fR \fIn\fR" is specified, the backup media must be at \fBBOT\fR
+(beginning of tape). Otherwise, the initial positioning to read the table of
+contents will fail, as it is performed by skipping the tape forward
+\fIn\fR\fB-1\fR files rather than by using absolute positioning. This is
+because on some devices absolute positioning is very time consuming.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBT timeout [hms]\fR
+.ad
+.RS 19n
+.rt
+Sets the amount of time to wait for an autoload command to complete. This
+function modifier is ignored unless the \fBl\fR function modifier has also been
+specified. The default timeout period is two minutes. The time units may be
+specified as a trailing \fBh\fR (hours), \fBm\fR (minutes), or \fBs\fR
+(seconds). The default unit is minutes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBv\fR
+.ad
+.RS 19n
+.rt
+Verbose. \fBufsrestore\fR displays the name and inode number of each file it
+restores, preceded by its file type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBy\fR
+.ad
+.RS 19n
+.rt
+Do not ask whether to abort the restore in the event of tape errors.
+\fBufsrestore\fR tries to skip over the bad tape block(s) and continue as best
+it can.
+.RE
+
+.SS "Interactive Commands"
+.sp
+.LP
+\fBufsrestore\fR enters interactive mode when invoked with the \fBi\fR function
+letters. Interactive commands are reminiscent of the shell. For those commands
+that accept an argument, the default is the current directory. The interactive
+options are:
+.sp
+.ne 2
+.mk
+.na
+\fBadd [\fIfilename\fR]\fR
+.ad
+.RS 22n
+.rt
+Add the named file or directory to the list of files to extract. If a directory
+is specified, add that directory and its files (recursively) to the extraction
+list (unless the \fBh\fR modifier is in effect).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcd \fIdirectory\fR\fR
+.ad
+.RS 22n
+.rt
+Change to \fIdirectory\fR (within the dump file).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdelete [\fIfilename\fR]\fR
+.ad
+.RS 22n
+.rt
+Delete the current directory, or the named file or directory from the list of
+files to extract. If a directory is specified, delete that directory and all
+its descendents from the extraction list (unless the \fBh\fR modifier is in
+effect). The most expedient way to extract a majority of files from a directory
+is to add that directory to the extraction list, and then delete specific files
+to omit.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBextract\fR
+.ad
+.RS 22n
+.rt
+Extract all files on the extraction list from the dump media. \fBufsrestore\fR
+asks which volume the user wishes to mount. The fastest way to extract a small
+number of files is to start with the last volume and work toward the first. If
+"\fBs\fR \fIn\fR" is given on the command line, volume 1 will automatically be
+positioned to file \fIn\fR when it is read.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhelp\fR
+.ad
+.RS 22n
+.rt
+Display a summary of the available commands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBls [\fIdirectory\fR]\fR
+.ad
+.RS 22n
+.rt
+List files in \fIdirectory\fR or the current directory, represented by a
+`\fB\&.\fR' (period). Directories are appended with a `\fB/\fR' (slash).
+Entries marked for extraction are prefixed with a `\fB*\fR' (asterisk). If the
+verbose option is in effect, inode numbers are also listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmarked [\fIdirectory\fR]\fR
+.ad
+.RS 22n
+.rt
+Like \fBls\fR, except only files marked for extraction are listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpager\fR
+.ad
+.RS 22n
+.rt
+Toggle the pagination of the output from the \fBls\fR and \fBmarked\fR
+commands. The pager used is that defined by the \fBPAGER\fR environment
+variable, or more(1) if that envar is not defined. The \fBPAGER\fR envar may
+include white-space-separated arguments for the pagination program.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpwd\fR
+.ad
+.RS 22n
+.rt
+Print the full pathname of the current working directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBquit\fR
+.ad
+.RS 22n
+.rt
+\fBufsrestore\fR exits immediately, even if the extraction list is not empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsetmodes\fR
+.ad
+.RS 22n
+.rt
+Prompts: \fBset owner/mode for\fR `\fB\&.\fR' (period). Type \fBy\fR for yes to
+set the mode (permissions, owner, times) of the current directory `\fB\&.\fR'
+(period) into which files are being restored equal to the mode of the root
+directory of the file system from which they were dumped. Normally, this is
+what you want when restoring a whole file system, or restoring individual files
+into the same locations from which they were dumped. Type \fBn\fR for no, to
+leave the mode of the current directory unchanged. Normally, this is what you
+want when restoring part of a dump to a directory other than the one from which
+the files were dumped.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsetpager \fIcommand\fR\fR
+.ad
+.RS 22n
+.rt
+Sets the command to use for paginating output instead of the default or that
+inherited from the environment. The \fIcommand\fR string may include arguments
+in addition to the command itself.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBverbose\fR
+.ad
+.RS 22n
+.rt
+Toggle the status of the \fBv\fR modifier. While \fBv\fR is in effect, the
+\fBls\fR command lists the inode numbers of all entries, and \fBufsrestore\fR
+displays information about each file as it is extracted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwhat\fR
+.ad
+.RS 22n
+.rt
+Display the dump header on the media.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported.
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the pathname of files (or directories) to be restored to disk. Unless
+the \fBh\fR function modifier is also used, a directory name refers to the
+files it contains, and (recursively) its subdirectories and the files they
+contain. \fIfilename\fR is associated with either the \fBx\fR or \fBt\fR
+function letters, and must come last.
+.RE
+
+.SH USAGE
+.sp
+.LP
+See \fBlargefile\fR(5) for the description of the behavior of \fBufsrestore\fR
+when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred. Verbose messages are displayed.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fBPAGER\fR
+.ad
+.RS 10n
+.rt
+The command to use as a filter for paginating output. This can also be used to
+specify the options to be used. Default is \fBmore\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBTMPDIR\fR
+.ad
+.RS 10n
+.rt
+Selects the directory for temporary files. Defaults to \fB/tmp\fR if not
+defined in the environment.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/dev/rmt/0\fR\fR
+.ad
+.RS 23n
+.rt
+the default tape drive
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$TMPDIR/rstdir*\fR\fR
+.ad
+.RS 23n
+.rt
+file containing directories on the tape
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$TMPDIR/rstmode*\fR\fR
+.ad
+.RS 23n
+.rt
+owner, mode, and timestamps for directories
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&./restoresymtable\fR\fR
+.ad
+.RS 23n
+.rt
+information passed between incremental restores
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmore\fR(1), \fBmkfs\fR(1M), \fBmount\fR(1M), \fBrmt\fR(1M),
+\fBufsdump\fR(1M), \fBufsdump\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+\fBufsrestore\fR complains about bad option characters.
+.sp
+.LP
+Read errors result in complaints. If \fBy\fR has been specified, or the user
+responds \fBy\fR, \fBufsrestore\fR will attempt to continue.
+.sp
+.LP
+If the dump extends over more than one tape, \fBufsrestore\fR asks the user to
+change tapes. If the \fBx\fR or \fBi\fR function letter has been specified,
+\fBufsrestore\fR also asks which volume the user wishes to mount. If the
+\fBs\fR modifier has been specified, and volume 1 is mounted, it is
+automatically positioned to the indicated file.
+.sp
+.LP
+There are numerous consistency checks that can be listed by \fBufsrestore\fR.
+Most checks are self-explanatory or can "never happen". Common errors are given
+below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBConverting to new file system format\fR\fR
+.ad
+.sp .6
+.RS 4n
+A dump tape created from the old file system has been loaded. It is
+automatically converted to the new file system format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fB: not found on tape\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified file name was listed in the tape directory, but was not found on
+the tape. This is caused by tape read errors while looking for the file, using
+a dump tape created on an active file system, or restoring a partial dump with
+the \fBr\fR function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexpected next file\fR \fIinumber\fR\fB, got\fR \fIinumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+A file that was not listed in the directory showed up. This can occur when
+using a dump tape created on an active file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIncremental tape too low\fR\fR
+.ad
+.sp .6
+.RS 4n
+When doing an incremental restore, a tape that was written before the previous
+incremental tape, or that has too low an incremental level has been loaded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIncremental tape too high\fR\fR
+.ad
+.sp .6
+.RS 4n
+When doing incremental restore, a tape that does not begin its coverage where
+the previous incremental tape left off, or one that has too high an incremental
+level has been loaded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmedia\fR \fBread\fR \fBerror:\fR \fBinvalid\fR \fBargument\fR\fR
+.ad
+.sp .6
+.RS 4n
+Blocking factor specified for read is smaller than the blocking factor used to
+write data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTape read error while restoring\fR\fR
+.ad
+.br
+.na
+\fB\fBTape read error while skipping over inode inumber\fR\fR
+.ad
+.br
+.na
+\fB\fBTape read error while trying to resynchronize\fR\fR
+.ad
+.br
+.na
+\fB\fBA tape read error has\ occurred\fR\fR
+.ad
+.sp .6
+.RS 4n
+If a file name is specified, then its contents are probably partially wrong. If
+an inode is being skipped or the tape is trying to resynchronize, then no
+extracted files have been corrupted, though files may not be found on the tape.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBresync ufsrestore, skipped\fR \fInum\fR\fR
+.ad
+.sp .6
+.RS 4n
+After a tape read error, \fBufsrestore\fR may have to resynchronize itself.
+This message lists the number of blocks that were skipped over.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIncorrect tape label. Expected `foo', got `bar'.\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBL\fR option was specified, and its value did not match what was recorded
+in the header of the dump file.
+.RE
+
+.SH NOTES
+.sp
+.LP
+\fBufsrestore\fR can get confused when doing incremental restores from dump
+tapes that were made on active file systems.
+.sp
+.LP
+A \fBlevel 0\fR dump must be done after a full restore. Because
+\fBufsrestore\fR runs in user mode, it has no control over inode allocation.
+This means that \fBufsrestore\fR repositions the files, although it does not
+change their contents. Thus, a full dump must be done to get a new set of
+directories reflecting the new file positions, so that later incremental dumps
+will be correct.
diff --git a/usr/src/man/man1m/unshare.1m b/usr/src/man/man1m/unshare.1m
new file mode 100644
index 0000000000..e94cef40b4
--- /dev/null
+++ b/usr/src/man/man1m/unshare.1m
@@ -0,0 +1,95 @@
+'\" te
+.\" Copyright 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH unshare 1M "23 Jan 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+unshare \- make local resource unavailable for mounting by remote systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBunshare\fR [\fB-p\fR] [\fB-F\fR \fIFSType\fR] [\fB-o\fR \fIspecific_options\fR]
+ [\fIpathname\fR | \fIresourcename\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBunshare\fR command makes a shared local resource unavailable as file
+system type \fIFSType\fR. If the option \fB-F\fR\fIFSType\fR is omitted, then
+the first file system type listed in file \fB/etc/dfs/fstypes\fR will be used
+as the default. \fISpecific_options\fR, as well as the semantics of
+\fIresourcename\fR, are specific to particular distributed file systems.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the file system type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIspecific_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify options specific to the file system provided by the \fB-F\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove resource from shared status in a way that persists across reboots.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists distributed file system utilities packages installed on the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/sharetab\fR\fR
+.ad
+.sp .6
+.RS 4n
+Contains a table of local resources shared by the \fBshare\fR command.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBshare\fR(1M), \fBshareall\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+If \fIpathname\fR or \fIresourcename\fR is not found in the shared information,
+an error message will be sent to standard error.
+.sp
+.LP
+When an \fBunshare\fR command completes successfully, a client mounting a file
+system specified in that \fBunshare\fR command no longer has access to that
+file system.
diff --git a/usr/src/man/man1m/unshare_nfs.1m b/usr/src/man/man1m/unshare_nfs.1m
new file mode 100644
index 0000000000..1ecf8b3f7d
--- /dev/null
+++ b/usr/src/man/man1m/unshare_nfs.1m
@@ -0,0 +1,93 @@
+'\" te
+.\" Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH unshare_nfs 1M "6 May 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+unshare_nfs \- make local NFS file systems unavailable for mounting by remote
+systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBunshare\fR [\fB-F\fR nfs] \fIpathname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBunshare\fR command makes local file systems unavailable for mounting by
+remote systems. The shared file system must correspond to a line with NFS as
+the \fIFSType\fR in the file \fB/etc/dfs/sharetab\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.RS 6n
+.rt
+This option may be omitted if NFS is the first file system type listed in the
+file \fB/etc/dfs/fstypes\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/fstypes\fR\fR
+.ad
+.RS 22n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/dfs/sharetab \fR\fR
+.ad
+.RS 22n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBnfsd\fR(1M), \fBshare\fR(1M), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+If the file system being unshared is a symbolic link to a valid pathname, the
+canonical path (the path which the symbolic link follows) will be unshared.
+.sp
+.LP
+For example, if \fB/export/foo\fR is a symbolic link to \fB/export/bar\fR
+(\fB/export/foo -> /export/bar\fR), the following \fBunshare\fR command will
+result in \fB/export/bar\fR as the unshared pathname (and not
+\fB/export/foo\fR):
+.sp
+.in +2
+.nf
+example# unshare -F nfs /export/foo
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For file systems that are accessed by NFS Version 4 clients, once the unshare
+is complete, all NFS Version 4 state (open files and file locks) are released
+and unrecoverable by the clients. If the intent is to share the file system
+after some administrative action, the NFS daemon (\fBnfsd\fR) should first be
+stopped and then the file system unshared. After the administrative action is
+complete, the file system would then be shared and the NFS daemon restarted.
+See \fBnfsd\fR(1M)
diff --git a/usr/src/man/man1m/update_drv.1m b/usr/src/man/man1m/update_drv.1m
new file mode 100644
index 0000000000..519feaae8b
--- /dev/null
+++ b/usr/src/man/man1m/update_drv.1m
@@ -0,0 +1,349 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH update_drv 1M "10 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+update_drv \- modify device driver attributes
+.SH SYNOPSIS
+.LP
+.nf
+\fBupdate_drv\fR [\fB-f\fR | \fB-v\fR] [\fB-n\fR] \fIdriver_module\fR
+.fi
+
+.LP
+.nf
+\fBupdate_drv\fR [\fB-b\fR \fIbasedir\fR] [\fB-f\fR | \fB-v\fR] [\fB-n\fR] \fB-a\fR [\fB-m\fR '\fIpermission\fR']
+ [\fB-i\fR '\fIidentify-name\fR'] [\fB-P\fR '\fIprivilege\fR'] [\fB-p\fR '\fIpolicy\fR'] \fIdriver_module\fR
+.fi
+
+.LP
+.nf
+\fBupdate_drv\fR [\fB-b\fR \fIbasedir\fR] [\fB-f\fR | \fB-v\fR] [\fB-n\fR] \fB-d\fR [\fB-m\fR '\fIpermission\fR']
+ [\fB-i\fR '\fIidentify-name\fR'] [\fB-P\fR '\fIprivilege\fR'] [\fB-p\fR '\fIpolicy\fR'] \fIdriver_module\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBupdate_drv\fR command informs the system about attribute changes to an
+installed device driver. It can be used to re-read the \fBdriver.conf\fR(4)
+file, or to add, modify, or delete a driver's minor node permissions or
+aliases.
+.sp
+.LP
+Without options, \fBupdate_drv\fR reloads the \fBdriver.conf\fR file.
+.sp
+.LP
+Upon successfully updating the aliases, the driver binding takes effect upon
+reconfig boot or hotplug of the device.
+.sp
+.LP
+Upon successfully updating the permissions, only the new driver minor nodes get
+created with the modified set of file permissions. Existing driver minor nodes
+do not get modified.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Add a \fIpermission\fR, \fIaliases\fR, \fIprivilege\fR or \fIpolicy\fR entry.
+.sp
+With the \fB-a\fR option specified, a permission entry (using the \fB-m\fR
+option), or a driver's aliases entry (using the \fB-i\fR option), a device
+privilege (using the \fB-P\fR option) or a a device policy (using the \fB-p\fR
+option), can be added or updated. If a matching minor node permissions entry is
+encountered (having the same driver name and the minor node), it is replaced.
+If a matching aliases entry is encountered (having a different driver name and
+the same alias), an error is reported.
+.sp
+The \fB-a\fR and \fB-d\fR options are mutually exclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbasedir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Installs or modifies the driver on the system with a root directory of basedir
+rather than installing on the system executing \fBupdate_drv\fR.
+.LP
+Note -
+.sp
+.RS 2
+The root file system of any non-global zones must not be referenced with the
+\fB-b\fR option. Doing so might damage the global zone's file system, might
+compromise the security of the global zone, and might damage the non-global
+zone's file system. See \fBzones\fR(5).
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete a \fIpermission\fR, \fIaliases\fR, \fIprivilege\fR or \fIpolicy\fR
+entry.
+.sp
+The \fB-m\fR \fIpermission\fR, \fB-i\fR \fIidentify-name\fR, \fB-P\fR
+\fIprivilege\fR or the \fB-p\fR \fIpolicy\fR option needs to be specified with
+the \fB-d\fR option.
+.sp
+The \fB-d\fR and \fB-a\fR options are mutually exclusive.
+.sp
+If the entry doesn't exist \fBupdate_drv\fR returns an error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force the system to reread the \fBdriver.conf\fR file even if the driver module
+cannot be unloaded. See \fBNOTES\fR section for details.
+.sp
+\fBWithout\fR this option, when removing an alias for a driver,
+\fBupdate_drv\fR updates the binding files for the next boot, but returns an
+error if one or more devices that reference the driver-alias binding remains.
+\fBWith\fR the \fB-f\fR option, \fBupdate_drv\fR does not return an error if
+such devices remain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR '\fIidentify-name\fR'\fR
+.ad
+.sp .6
+.RS 4n
+A white-space separated list of aliases for the driver. If \fB-a\fR or \fB-d\fR
+option is not specified then this option is ignored. The \fIidentify-name\fR
+string is mandatory. If all aliases need to be removed, \fBrem_drv\fR(1M) is
+recommended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR '\fIpermission\fR'\fR
+.ad
+.sp .6
+.RS 4n
+Specify a white-space separated list of file system permissions for the device
+node of the device driver. If \fB-a\fR or \fB-d\fR option is not specified
+then, this option is ignored. The permission string is mandatory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not try to load and attach \fIdevice_driver\fR, just modify the system
+configuration files for that driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR '\fIpolicy\fR'\fR
+.ad
+.sp .6
+.RS 4n
+With the \fB-a\fR option, policy is a white-space separated list of complete
+device policies. For the \fB-d\fR option, policy is a white space separated
+list of minor device specifications. The minor device specifications are
+matched exactly against the entries in \fB/etc/security/device_policy\fR, that
+is., no wildcard matching is performed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR '\fIprivilege\fR'\fR
+.ad
+.sp .6
+.RS 4n
+With the \fB-a\fR option, privilege is a comma separated list of additional
+driver privileges. For the \fB-d\fR option, privilege is a single privilege.
+The privileges are added to or removed from the \fB/etc/security/extra_privs\fR
+file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdding or Modifying an Existing Minor Permissions Entry
+.sp
+.LP
+The following command adds or modifies the exisitng minor permissions entry of
+the \fBclone\fR driver:
+
+.sp
+.in +2
+.nf
+example# update_drv -a -m 'llc1 777 joe staff' clone
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRemoving All Minor Permissions Entries
+.sp
+.LP
+The following command removes all minor permission entries of the \fBusbprn\fR
+driver, the USB printer driver:
+
+.sp
+.in +2
+.nf
+example# update_drv -d -m '* 0666 root sys' usbprn
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRAdding a Driver Aliases Entry
+.sp
+.LP
+The following command adds a driver aliases entry of the \fBugen\fR driver with
+the identity string of \fBusb459,20\fR:
+
+.sp
+.in +2
+.nf
+example# update_drv -a -i '"usb459,20"' ugen
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRRe-reading the \fBdriver.conf\fR File For the \fBohci\fR Driver
+.sp
+.LP
+The following command re-reads the \fBdriver.conf\fR(4) file.
+
+.sp
+.in +2
+.nf
+ example# update_drv ohci
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRRequiring a Self-defined Privilege to Open a tcp Socket
+.sp
+.LP
+The following command requires a self-defined privilege to open a tcp socket:
+
+.sp
+.in +2
+.nf
+example# update_drv -a -P net_tcp -p \e
+ 'write_priv_set=net_tcp read_priv_set=net_tcp' tcp
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fREstablishing a Path-oriented Alias
+.sp
+.LP
+The following command establishes a path-oriented alias to force a specific
+driver, \fBqlt\fR, to be used for a particular device path:
+
+.sp
+.in +2
+.nf
+example# update_drv -a -i '"/pci@8,600000/SUNW,qlc@4"' qlt
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB>\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBadd_drv\fR(1M), \fBmodunload\fR(1M), \fBrem_drv\fR(1M),
+\fBdriver.conf\fR(4), \fBattributes\fR(5), \fBprivileges\fR(5)
+.SH NOTES
+.sp
+.LP
+If \fB-a\fR or \fB-d\fR options are specified, \fBupdate_drv\fR does not reread
+the \fBdriver.conf\fR file.
+.sp
+.LP
+A forced update of the \fBdriver.conf\fR file reloads the \fBdriver.conf\fR
+file without reloading the driver binary module. In this case, devices which
+cannot be detached reference driver global properties from the old
+\fBdriver.conf\fR file, while the remaining driver instances reference global
+properties in the new \fBdriver.conf\fR file.
+.sp
+.LP
+It is possible to add an alias , which changes the driver binding of a device
+already being managed by a different driver. A force update with the \fB-a\fR
+option tries to bind to the new driver and report error if it cannot. If you
+specify more than one of the \fB-m\fR, \fB-i\fR, \fB-P\fR or \fB-p\fR options,
+a force flag tries to modify aliases or permissions. This is done even if the
+other operation fails and vice-versa.
diff --git a/usr/src/man/man1m/updatehome.1m b/usr/src/man/man1m/updatehome.1m
new file mode 100644
index 0000000000..497cc4058d
--- /dev/null
+++ b/usr/src/man/man1m/updatehome.1m
@@ -0,0 +1,192 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH updatehome 1M "20 Jul 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+updatehome \- update the home directory copy and link files for the current
+label
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/updatehome\fR [\fB-cirs\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBupdatehome\fR reads the user's minimum-label copy and link-control files
+(\fB\&.copy_files\fR and \fB\&.link_files\fR). These files contain a list of
+files to be copied and symbolically linked from the user's minimum-label home
+directory to the user's home directory at the current label.
+.sp
+.LP
+The Solaris Trusted Extensions \fBdtsession\fR program performs an
+\fBupdatehome\fR whenever a newly labeled workspace is created so that the
+user's favorite files are available for use. For example, the user probably
+wants a symbolic link to such files as \fB\&.profile\fR, \fB\&.login\fR,
+\fB\&.cshrc\fR, \fB\&.exrc\fR, \fB\&.mailrc\fR, and \fB~/bin\fR. The
+\fBupdatehome\fR command provides a convenient mechanism for accomplishing this
+symlink. The user can add files to those to be copied (\fB\&.copy_files\fR) and
+to those to be symbolically linked (\fB\&.link_files\fR).
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Replace existing home-directory copies at the current label. The default is to
+skip over existing copies.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Ignore errors encountered. The default aborts on error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Replace existing home-directory copies or symbolic links at the current label.
+This option implies options \fB-c\fR and \fB-s\fR. The default is to skip over
+existing copies or symbolic links.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Replace existing home-directory symbolic links at the current label. The
+default is to skip over existing symbolic links.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+Upon success, \fBupdatehome\fR returns \fB0\fR. Upon failure, \fBupdatehome\fR
+returns \fB1\fR and writes diagnostic messages to standard error.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRA Sample \fB\&.copy_files\fR File
+.sp
+.LP
+The files that are listed in \fB\&.copy_files\fR can be modified at every
+user's label.
+
+.sp
+.in +2
+.nf
+\&.cshrc
+\&.mailrc
+\&.mozilla/bookmarks.html
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRA Sample \fB\&.link_files\fR File
+.sp
+.LP
+The files that are listed in \fB\&.link_files\fR can be modified at the lowest
+label. The changes propagate to the other labels that are available to the
+user.
+
+.sp
+.in +2
+.nf
+~/bin
+\&.mozilla/preferences
+\&.xrc
+\&.rhosts
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUpdating the Linked and Copied Files
+.sp
+.LP
+The \fB\&.copy_files\fR and \fB\&.link_files\fR were updated by the user at the
+minimum label. At a higher label, the user refreshes the copies and the links.
+No privileges are required to run the command.
+
+.sp
+.in +2
+.nf
+% \fBupdatehome -r\fR
+.fi
+.in -2
+.sp
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.copy_files\fR\fR
+.ad
+.RS 21n
+.rt
+List of files to be copied
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.link_files\fR\fR
+.ad
+.RS 21n
+.rt
+List of files to be symbolically linked
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\&.copy_files and .link_files Files\fR in \fISolaris Trusted Extensions
+Administrator\&'s Procedures\fR
+.SH NOTES
+.sp
+.LP
+The functionality described on this manual page is available only if the system
+is configured with Trusted Extensions.
diff --git a/usr/src/man/man1m/updatemedia.1m b/usr/src/man/man1m/updatemedia.1m
new file mode 100644
index 0000000000..0c6118eb54
--- /dev/null
+++ b/usr/src/man/man1m/updatemedia.1m
@@ -0,0 +1,151 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH updatemedia 1M "23 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+updatemedia \- modify Solaris media with patches and packages
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/updatemedia\fR \fB-d\fR \fImedia-root\fR [\fB-v\fR] [\fB-o\fR \fIiso\fR] [\fB-l\fR \fIlabel\fR]
+ \fIpkg_or_patch\fR [\fIpkg_or_patch\fR ...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBupdatemedia\fR utility takes a list of patches and packages as input and
+updates the install miniroot in \fImedia-root\fR (the root directory of an
+on-disk image of a Solaris installation media) to include the specified patches
+and packages. These patches and packages are also placed in a subdirectory
+called \fBDU\fR under the Solaris install image. For example:
+.sp
+.in +2
+.nf
+\fImedia-root\fR/Solaris_10/DU
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+When booting a system from the updated media, the patches and packages will be
+part of the booted Solaris image. They will also be applied to the target
+system being installed at the end of the installation process.
+.sp
+.LP
+If \fB-o\fR is specified, a bootable ISO image is created in the file
+\fBmedia.iso\fR that contains the Solaris install media. The ISO image can then
+be burned onto a CD/DVD with utilities such as \fBcdrw\fR(1) or
+\fBcdrecord(1)\fR. (The latter is not a SunOS man page.)
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fImedia-root\fR\fR
+.ad
+.sp .6
+.RS 4n
+Top-level directory of on-disk image of Solaris installation media. This is
+option must be specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIiso\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a Solaris ISO image of \fImedia-root\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlabel\fR\fR
+.ad
+.sp .6
+.RS 4n
+Label/volume name of the ISO image (if \fB-o\fR option is specified). If
+\fB-o\fR is not specified, the name of Solaris directory under
+\fImedia-root\fR, for example, \fBSolaris_10\fR, will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. Multiple \fB-v\fR options increase verbosity.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpkg_or_patch\fR [\fIpkg_or_patch\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+One or more patches or packages (you can have both patches and packages in a
+single command) with which the Solaris installation media \fImedia-root\fR will
+be updated.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUpdating a Solaris Install Image with Patch and Package
+.sp
+.LP
+The following command updates the Solaris install image in \fBs10u1\fR by
+adding patch \fB123456-07\fR and package \fBSUNWfoo\fR.
+
+.sp
+.in +2
+.nf
+# \fB/usr/bin/updatemedia -d s10u1 SUNWfoo 123456-07\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcdrw\fR(1), \fBmkbootmedia\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fBmkisofs(8)\fR, (\fB/usr/share/man/man8/mkisofs.8\fR), in the
+\fBSUNWfsman\fR package (not a SunOS man page)
diff --git a/usr/src/man/man1m/useradd.1m b/usr/src/man/man1m/useradd.1m
new file mode 100644
index 0000000000..b8462ad5da
--- /dev/null
+++ b/usr/src/man/man1m/useradd.1m
@@ -0,0 +1,579 @@
+'\" te
+.\" Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH useradd 1M "19 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+useradd \- administer a new user login on the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBuseradd\fR [\fB-A\fR \fIauthorization\fR [,\fIauthorization...\fR]]
+ [\fB-b\fR \fIbase_dir\fR] [\fB-c\fR \fIcomment\fR] [\fB-d\fR \fIdir\fR] [\fB-e\fR \fIexpire\fR]
+ [\fB-f\fR \fIinactive\fR] [\fB-g\fR \fIgroup\fR] [\fB-G\fR \fIgroup\fR [,\fIgroup\fR]...]
+ [\fB-K\fR \fIkey=value\fR] [\fB-m\fR [\fB-k\fR \fIskel_dir\fR]] [\fB-p\fR \fIprojname\fR]
+ [\fB-P\fR \fIprofile\fR [,\fIprofile...\fR]] [\fB-R\fR \fIrole\fR [,\fIrole...\fR]]
+ [\fB-s\fR \fIshell\fR] [\fB-u\fR \fIuid\fR [\fB-o\fR]] \fIlogin\fR
+.fi
+
+.LP
+.nf
+\fBuseradd\fR \fB-D\fR [\fB-A\fR \fIauthorization\fR [,\fIauthorization...\fR]]
+ [\fB-b\fR \fIbase_dir\fR] [\fB-s\fR \fIshell\fR [\fB-k\fR \fIskel_dir\fR]] [\fB-e\fR \fIexpire\fR]
+ [\fB-f\fR \fIinactive\fR] [\fB-g\fR \fIgroup\fR] [\fB-K\fR \fIkey=value\fR] [\fB-p\fR \fIprojname\fR]
+ [\fB-P\fR \fIprofile\fR [,\fIprofile...\fR]] [\fB-R\fR \fIrole\fR [,\fIrole...\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBuseradd\fR adds a new user to the \fB/etc/passwd\fR and \fB/etc/shadow\fR
+and \fB/etc/user_attr\fR files. The \fB-A\fR and \fB-P\fR options respectively
+assign authorizations and profiles to the user. The \fB-R\fR option assigns
+roles to a user. The \fB-p\fR option associates a project with a user. The
+\fB-K\fR option adds a \fIkey=value\fR pair to \fB/etc/user_attr\fR for the
+user. Multiple \fIkey=value\fR pairs may be added with multiple \fB-K\fR
+options.
+.sp
+.LP
+\fBuseradd\fR also creates supplementary group memberships for the user
+(\fB-G\fR option) and creates the home directory (\fB-m\fR option) for the user
+if requested. The new login remains locked until the \fBpasswd\fR(1) command is
+executed.
+.sp
+.LP
+Specifying \fBuseradd\fR \fB-D\fR with the \fB-s\fR, \fB-k\fR,\fB-g\fR,
+\fB-b\fR, \fB-f\fR, \fB-e\fR, \fB-A\fR, \fB-P\fR, \fB-p\fR, \fB-R\fR, or
+\fB-K\fR option (or any combination of these options) sets the default values
+for the respective fields. See the \fB-D\fR option, below. Subsequent
+\fBuseradd\fR commands without the \fB-D\fR option use these arguments.
+.sp
+.LP
+The system file entries created with this command have a limit of 2048
+characters per line. Specifying long arguments to several options can exceed
+this limit.
+.sp
+.LP
+\fBuseradd\fR requires that usernames be in the format described in
+\fBpasswd\fR(4). A warning message is displayed if these restrictions are not
+met. See \fBpasswd\fR(4) for the requirements for usernames.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIauthorization\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more comma separated authorizations defined in \fBauth_attr\fR(4). Only
+a user or role who has \fBgrant\fR rights to the authorization can assign it to
+an account.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbase_dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+The base directory for new login home directories (see the \fB-d\fR option
+below. When a new user account is being created, \fIbase_dir\fR must already
+exist unless the \fB-m\fR option or the \fB-d\fR option is also specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.sp .6
+.RS 4n
+Any text string. It is generally a short description of the login, and is
+currently used as the field for the user's full name. This information is
+stored in the user's \fB/etc/passwd\fR entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+The home directory of the new user. It defaults to
+\fIbase_dir\fR/\fIaccount_name\fR, where \fIbase_dir\fR is the base directory
+for new login home directories and \fIaccount_name\fR is the new login name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the default values for \fBgroup\fR, \fBbase_dir\fR, \fBskel_dir\fR,
+\fBshell\fR, \fBinactive\fR, \fBexpire\fR, \fBproj\fR, \fBprojname\fR and
+\fBkey=value\fR pairs. When used with the \fB-g\fR, \fB-b\fR, \fB-f\fR,
+\fB-e\fR, \fB-A\fR, \fB-P\fR, \fB-p\fR, \fB-R\fR, or \fB-K\fR options, the
+\fB-D\fR option sets the default values for the specified fields. The default
+values are:
+.sp
+.ne 2
+.mk
+.na
+\fBgroup\fR
+.ad
+.sp .6
+.RS 4n
+\fBother\fR (\fBGID\fR of 1)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbase_dir\fR
+.ad
+.sp .6
+.RS 4n
+\fB/home\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBskel_dir\fR
+.ad
+.sp .6
+.RS 4n
+\fB/etc/skel\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBshell\fR
+.ad
+.sp .6
+.RS 4n
+\fB/bin/sh\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinactive\fR
+.ad
+.sp .6
+.RS 4n
+\fB0\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBexpire\fR
+.ad
+.sp .6
+.RS 4n
+null
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBauths\fR
+.ad
+.sp .6
+.RS 4n
+null
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprofiles\fR
+.ad
+.sp .6
+.RS 4n
+null
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBproj\fR
+.ad
+.sp .6
+.RS 4n
+\fB3\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprojname\fR
+.ad
+.sp .6
+.RS 4n
+\fBdefault\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBkey=value (pairs defined in \fBuser_attr\fR(4)\fR
+.ad
+.sp .6
+.RS 4n
+not present
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBroles\fR
+.ad
+.sp .6
+.RS 4n
+null
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIexpire\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the expiration date for a login. After this date, no user will be able
+to access this login. The expire option argument is a date entered using one of
+the date formats included in the template file \fB/etc/datemsk\fR. See
+\fBgetdate\fR(3C).
+.sp
+If the date format that you choose includes spaces, it must be quoted. For
+example, you can enter \fB10/6/90\fR or \fBOctober 6, 1990\fR. A null value
+(\fB" "\fR) defeats the status of the expired date. This option is useful for
+creating temporary logins.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIinactive\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of days allowed between uses of a login ID before that
+\fBID\fR is declared invalid. Normal values are positive integers. A value of
+\fB0\fR defeats the status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+An existing group's integer \fBID\fR or character-string name. Without the
+\fB-D\fR option, it defines the new user's primary group membership and
+defaults to the default group. You can reset this default value by invoking
+\fBuseradd\fR \fB-D\fR \fB-g\fR \fIgroup\fR. GIDs 0-99 are reserved for
+allocation by the Solaris Operating System.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+An existing group's integer \fBID\fR or character-string name. It defines the
+new user's supplementary group membership. Duplicates between \fIgroup\fR with
+the \fB-g\fR and \fB-G\fR options are ignored. No more than \fBNGROUPS_MAX\fR
+groups can be specified. GIDs 0-99 are reserved for allocation by the Solaris
+Operating System.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR \fIkey=value\fR\fR
+.ad
+.sp .6
+.RS 4n
+A \fIkey=value\fR pair to add to the user's attributes. Multiple \fB-K\fR
+options may be used to add multiple \fIkey=value\fR pairs. The generic \fB-K\fR
+option with the appropriate key may be used instead of the specific implied key
+options (\fB-A\fR, \fB-P\fR, \fB-R\fR, \fB-p\fR). See \fBuser_attr\fR(4) for a
+list of valid \fIkey=value\fR pairs. The "type" key is not a valid key for this
+option. Keys may not be repeated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIskel_dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+A directory that contains skeleton information (such as \fB\&.profile\fR) that
+can be copied into a new user's home directory. This directory must already
+exist. The system provides the \fB/etc/skel\fR directory that can be used for
+this purpose.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create the new user's home directory if it does not already exist. If the
+directory already exists, it must have read, write, and execute permissions by
+\fIgroup\fR, where \fIgroup\fR is the user's primary group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option allows a \fBUID\fR to be duplicated (non-unique).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprofile\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more comma-separated execution profiles defined in \fBprof_attr\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIprojname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of the project with which the added user is associated. See the
+\fIprojname\fR field as defined in \fBproject\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIrole\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more comma-separated execution profiles defined in \fBuser_attr\fR(4).
+Roles cannot be assigned to other roles.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIshell\fR\fR
+.ad
+.sp .6
+.RS 4n
+Full pathname of the program used as the user's shell on login. It defaults to
+an empty field causing the system to use \fB/bin/sh\fR as the default. The
+value of \fIshell\fR must be a valid executable file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBUID\fR of the new user. This \fBUID\fR must be a non-negative decimal
+integer below \fBMAXUID\fR as defined in \fB<sys/param.h>\fR\&. The \fBUID\fR
+defaults to the next available (unique) number above the highest number
+currently assigned. For example, if \fBUID\fRs 100, 105, and 200 are assigned,
+the next default \fBUID\fR number will be 201. \fBUID\fRs \fB0\fR-\fB99\fR are
+reserved for allocation by the Solaris Operating System.
+.RE
+
+.SH FILES
+.sp
+.LP
+\fB/etc/datemsk\fR
+.sp
+.LP
+\fB/etc/passwd\fR
+.sp
+.LP
+\fB/etc/shadow\fR
+.sp
+.LP
+\fB/etc/group\fR
+.sp
+.LP
+\fB/etc/skel\fR
+.sp
+.LP
+\fB/usr/include/limits.h\fR
+.sp
+.LP
+\fB/etc/user_attr\fR
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpasswd\fR(1), \fBprofiles\fR(1), \fBroles\fR(1), \fBusers\fR(1B),
+\fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M), \fBgrpck\fR(1M),
+\fBlogins\fR(1M), \fBpwck\fR(1M), \fBuserdel\fR(1M), \fBusermod\fR(1M),
+\fBgetdate\fR(3C), \fBauth_attr\fR(4), \fBpasswd\fR(4), \fBprof_attr\fR(4),
+\fBproject\fR(4), \fBuser_attr\fR(4), \fBattributes\fR(5)
+.SH DIAGNOSTICS
+.sp
+.LP
+In case of an error, \fBuseradd\fR prints an error message and exits with a
+non-zero status.
+.sp
+.LP
+The following indicates that \fBlogin\fR specified is already in use:
+.sp
+.in +2
+.nf
+UX: useradd: ERROR: login is already in use. Choose another.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fIuid\fR specified with the \fB-u\fR option
+is not unique:
+.sp
+.in +2
+.nf
+UX: useradd: ERROR: uid \fIuid\fR is already in use. Choose another.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fIgroup\fR specified with the \fB-g\fR option
+is already in use:
+.sp
+.in +2
+.nf
+UX: useradd: ERROR: group \fIgroup\fR does not exist. Choose another.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fIuid\fR specified with the \fB-u\fR option
+is in the range of reserved \fBUID\fRs (from \fB0\fR-\fB99\fR):
+.sp
+.in +2
+.nf
+UX: useradd: WARNING: uid \fIuid\fR is reserved.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fIuid\fR specified with the \fB-u\fR option
+exceeds \fBMAXUID\fR as defined in \fB<sys/param.h>\fR:
+.sp
+.in +2
+.nf
+UX: useradd: ERROR: uid \fIuid\fR is too big. Choose another.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following indicates that the \fB/etc/passwd\fR or \fB/etc/shadow\fR files
+do not exist:
+.sp
+.in +2
+.nf
+UX: useradd: ERROR: Cannot update system files - login cannot be created.
+.fi
+.in -2
+.sp
+
+.SH NOTES
+.sp
+.LP
+The \fBuseradd\fR utility adds definitions to only the local \fB/etc/group\fR,
+\fBetc/passwd\fR, \fB/etc/passwd\fR, \fB/etc/shadow\fR, \fB/etc/project\fR, and
+\fB/etc/user_attr\fR files. If a network name service such as \fBNIS\fR or
+\fBNIS+\fR is being used to supplement the local \fB/etc/passwd\fR file with
+additional entries, \fBuseradd\fR cannot change information supplied by the
+network name service. However \fBuseradd\fR will verify the uniqueness of the
+user name (or role) and user id and the existence of any group names specified
+against the external name service.
diff --git a/usr/src/man/man1m/userdel.1m b/usr/src/man/man1m/userdel.1m
new file mode 100644
index 0000000000..080fdad62a
--- /dev/null
+++ b/usr/src/man/man1m/userdel.1m
@@ -0,0 +1,186 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1999,
+.\" Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH userdel 1M "8 Sep 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+userdel \- delete a user's login from the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBuserdel\fR [\fB-r\fR] \fIlogin\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBuserdel\fR utility deletes a user account from the system and makes the
+appropriate account-related changes to the system file and file system.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 6n
+.rt
+Remove the user's home directory from the system. This directory must exist.
+The files and directories under the home directory will no longer be accessible
+following successful execution of the command.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fIlogin\fR\fR\fR
+.ad
+.RS 9n
+.rt
+An existing login name to be deleted.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt
+Invalid command syntax. A usage message for the \fBuserdel\fR command is
+displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.RS 6n
+.rt
+The account to be removed does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB8\fR\fR
+.ad
+.RS 6n
+.rt
+The account to be removed is in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot update the \fB/etc/group\fR or \fB/etc/user_attr\fR file but the login
+is removed from the \fB/etc/passwd\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB12\fR\fR
+.ad
+.RS 6n
+.rt
+Cannot remove or otherwise modify the home directory.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 18n
+.rt
+system password file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/shadow\fR\fR
+.ad
+.RS 18n
+.rt
+system file contain users' encrypted passwords and related information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.RS 18n
+.rt
+system file containing group definitions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/user_attr\fR\fR
+.ad
+.RS 18n
+.rt
+system file containing additional user attributes
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBauths\fR(1), \fBpasswd\fR(1), \fBprofiles\fR(1), \fBroles\fR(1),
+\fBusers\fR(1B), \fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M),
+\fBlogins\fR(1M), \fBroleadd\fR(1M), \fBrolemod\fR(1M), \fBuseradd\fR(1M),
+\fBuserdel\fR(1M), \fBusermod\fR(1M), \fBpasswd\fR(4), \fBprof_attr\fR(4),
+\fBuser_attr\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBuserdel\fR utility only deletes an account definition that is in the
+local \fB/etc/group\fR, \fB/etc/passwd\fR, \fB/etc/shadow\fR, and
+\fB/etc/user_attr\fR file. file. If a network name service such as \fBNIS\fR or
+\fBNIS+\fR is being used to supplement the local \fB/etc/passwd\fR file with
+additional entries, \fBuserdel\fR cannot change information supplied by the
+network name service.
diff --git a/usr/src/man/man1m/usermod.1m b/usr/src/man/man1m/usermod.1m
new file mode 100644
index 0000000000..4d9dfb1326
--- /dev/null
+++ b/usr/src/man/man1m/usermod.1m
@@ -0,0 +1,601 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2004, 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH usermod 1M "22 Feb 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+usermod \- modify a user's login information on the system
+.SH SYNOPSIS
+.LP
+.nf
+\fBusermod\fR [\fB-u\fR \fIuid\fR [\fB-o\fR]] [\fB-g\fR \fIgroup\fR] [\fB-G\fR \fIgroup\fR [, \fIgroup\fR...]]
+ [\fB-d\fR \fIdir\fR [\fB-m\fR]] [\fB-s\fR \fIshell\fR] [\fB-c\fR \fIcomment\fR] [\fB-l\fR \fInew_name\fR]
+ [\fB-f\fR \fIinactive\fR] [\fB-e\fR \fIexpire\fR]
+ [\fB-A\fR \fIauthorization\fR [, \fIauthorization\fR]]
+ [\fB-P\fR \fIprofile\fR [, \fIprofile\fR]] [\fB-R\fR \fIrole\fR [, \fIrole\fR]]
+ [\fB-K\fR \fIkey=value\fR] \fIlogin\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBusermod\fR utility modifies a user's login definition on the system. It
+changes the definition of the specified login and makes the appropriate
+login-related system file and file system changes.
+.sp
+.LP
+The system file entries created with this command have a limit of 512
+characters per line. Specifying long arguments to several options might exceed
+this limit.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-A\fR \fIauthorization\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more comma separated authorizations as defined in \fBauth_attr\fR(4).
+Only a user or role who has \fBgrant\fR rights to the \fBauthorization\fR can
+assign it to an account. This replaces any existing authorization setting. If
+no authorization list is specified, the existing setting is removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcomment\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a comment string. \fIcomment\fR can be any text string. It is generally
+a short description of the login, and is currently used as the field for the
+user's full name. This information is stored in the user's \fB/etc/passwd\fR
+entry.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the new home directory of the user. It defaults to
+\fIbase_dir/login\fR, where \fIbase_dir\fR is the base directory for new login
+home directories, and \fBlogin\fR is the new login.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR \fIexpire\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the expiration date for a login. After this date, no user will be able
+to access this login. The expire option argument is a date entered using one of
+the date formats included in the template file \fB/etc/datemsk\fR. See
+\fBgetdate\fR(3C).
+.sp
+For example, you may enter \fB10/6/90\fR or \fBOctober 6, 1990\fR. A value of
+\fB`` ''\fR defeats the status of the expired date.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIinactive\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the maximum number of days allowed between uses of a login \fBID\fR
+before that login \fBID\fR is declared invalid. Normal values are positive
+integers. A value of \fB0\fR defeats the status.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-g\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an existing group's integer \fBID\fR or character-string name. It
+redefines the user's primary group membership.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-G\fR \fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an existing group's integer "ID" "," or character string name. It
+redefines the user's supplementary group membership. Duplicates between
+\fIgroup\fR with the \fB-g\fR and \fB-G\fR options are ignored. No more than
+\fBNGROUPS_UMAX\fR groups may be specified as defined in \fB<param.h>\fR\&.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR \fIkey=value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Replace existing or add to a user's \fIkey=value\fR pair attributes. Multiple
+\fB-K\fR options can be used to replace or add multiple \fIkey=value\fR pairs.
+However, keys must not be repeated. The generic \fB-K\fR option with the
+appropriate key can be used instead of the specific implied key options
+(\fB-A\fR, \fB-P\fR, \fB-R\fR, \fB-p\fR). See \fBuser_attr\fR(4) for a list of
+valid \fIkey\fRs. Values for these keys are usually found in man pages or other
+sources related to those keys. For example, see \fBproject\fR(4) for guidance
+on values for the \fBproject\fR key. Use the command \fBppriv\fR(1) with the
+\fB-v\fR and \fB-l\fR options for a list of values for the keys
+\fBdefaultpriv\fR and \fBlimitpriv\fR.
+.sp
+The keyword \fBtype\fR can be specified with the value \fBrole\fR or the value
+\fBnormal\fR. When using the value \fBrole\fR, the account changes from a
+normal user to a role; using the value \fBnormal\fR keeps the account a normal
+user.
+.sp
+As a \fBrole\fR account, no roles (\fB-R\fR or \fIroles=value\fR) can be
+present.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fInew_logname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the new login name for the user. See \fBpasswd\fR(4) for the
+requirements for usernames.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Move the user's home directory to the new directory specified with the \fB-d\fR
+option. If the directory already exists, it must have permissions
+read/write/execute by \fIgroup\fR, where \fIgroup\fR is the user's primary
+group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.sp .6
+.RS 4n
+This option allows the specified \fBUID\fR to be duplicated (non-unique).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprofile\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more comma-separated rights profiles defined in \fBprof_attr\fR(4). This
+replaces any existing profile setting in \fBuser_attr\fR(4). If an empty
+profile list is specified, the existing setting is removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIrole\fR\fR
+.ad
+.sp .6
+.RS 4n
+One or more comma-separated roles (see \fBroleadd\fR(1M)). This replaces any
+existing role setting. If no role list is specified, the existing setting is
+removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIshell\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the full pathname of the program that is used as the user's shell on
+login. The value of \fIshell\fR must be a valid executable file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a new \fBUID\fR for the user. It must be a non-negative decimal integer
+less than \fBMAXUID\fR as defined in \fB<param.h>\fR\&. The \fBUID\fR
+associated with the user's home directory is not modified with this option; a
+user will not have access to their home directory until the \fBUID\fR is
+manually reassigned using \fBchown\fR(1).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogin\fR\fR
+.ad
+.sp .6
+.RS 4n
+An existing login name to be modified.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAssigning Privileges to a User
+.sp
+.LP
+The following command adds the privilege that affects high resolution times to
+a user's initial, inheritable set of privileges.
+
+.sp
+.in +2
+.nf
+# \fBusermod -K defaultpriv=basic,proc_clock_highres jdoe\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command results in the following entry in \fBuser_attr\fR:
+
+.sp
+.in +2
+.nf
+jdoe::::type=normal;defaultpriv=basic,proc_clock_highres
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRRemoving a Privilege from a User's Limit Set
+.sp
+.LP
+The following command removes the privilege that allows the specified user to
+create hard links to directories and to unlink directories.
+
+.sp
+.in +2
+.nf
+# \fBusermod -K limitpriv=all,!sys_linkdir jdoe\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command results in the following entry in \fBuser_attr\fR:
+
+.sp
+.in +2
+.nf
+jdoe::::type=normal;defaultpriv=basic,limitpriv=all,!sys_linkdir
+.fi
+.in -2
+
+.LP
+\fBExample 3 \fRRemoving a Privilege from a User's Basic Set
+.sp
+.LP
+The following command removes the privilege that allows the specified user to
+examine processes outside the user's session.
+
+.sp
+.in +2
+.nf
+# \fBusermod -K defaultpriv=basic,!proc_session jdoe\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command results in the following entry in \fBuser_attr\fR:
+
+.sp
+.in +2
+.nf
+jdoe::::type=normal;defaultpriv=basic,!proc_session;limitpriv=all
+.fi
+.in -2
+
+.LP
+\fBExample 4 \fRAssigning a Role to a User
+.sp
+.LP
+The following command assigns a role to a user. The role must have been created
+prior to this command, either through use of the Solaris Management Console GUI
+or through \fBroleadd\fR(1M).
+
+.sp
+.in +2
+.nf
+# \fBusermod -R mailadm jdoe\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This command results in the following entry in \fBuser_attr\fR:
+
+.sp
+.in +2
+.nf
+jdoe::::type=normal;roles=mailadm;defaultpriv=basic;limitpriv=all
+.fi
+.in -2
+
+.LP
+\fBExample 5 \fRRemoving All Profiles from a User
+.sp
+.LP
+The following command removes all profiles that were granted to a user
+directly. The user will still have any rights profiles that are granted by
+means of the \fBPROFS_GRANTED\fR key in \fBpolicy.conf\fR(4).
+
+.sp
+.in +2
+.nf
+# \fBusermod -P "" jdoe\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+In case of an error, \fBusermod\fR prints an error message and exits with one
+of the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+The command syntax was invalid. A usage message for the \fBusermod\fR command
+is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.sp .6
+.RS 4n
+An invalid argument was provided to an option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB4\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIuid\fR given with the \fB-u\fR option is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.sp .6
+.RS 4n
+The password files contain an error. \fBpwconv\fR(1M) can be used to correct
+possible errors. See \fBpasswd\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB6\fR\fR
+.ad
+.sp .6
+.RS 4n
+The login to be modified does not exist, the \fIgroup\fR does not exist, or the
+login shell does not exist.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB8\fR\fR
+.ad
+.sp .6
+.RS 4n
+The login to be modified is in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB9\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fInew_logname\fR is already in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB10\fR\fR
+.ad
+.sp .6
+.RS 4n
+Cannot update the \fB/etc/group\fR or \fB/etc/user_attr\fR file. Other update
+requests will be implemented.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB11\fR\fR
+.ad
+.sp .6
+.RS 4n
+Insufficient space to move the home directory (\fB-m\fR option). Other update
+requests will be implemented.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB12\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unable to complete the move of the home directory to the new home directory.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/group\fR\fR
+.ad
+.sp .6
+.RS 4n
+system file containing group definitions
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/datemsk\fR\fR
+.ad
+.sp .6
+.RS 4n
+system file of date formats
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.sp .6
+.RS 4n
+system password file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/shadow\fR\fR
+.ad
+.sp .6
+.RS 4n
+system file containing users' encrypted passwords and related information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/user_attr\fR\fR
+.ad
+.sp .6
+.RS 4n
+system file containing additional user and role attributes
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBchown\fR(1), \fBpasswd\fR(1), \fBusers\fR(1B), \fBgroupadd\fR(1M),
+\fBgroupdel\fR(1M), \fBgroupmod\fR(1M), \fBlogins\fR(1M), \fBpwconv\fR(1M),
+\fBroleadd\fR(1M), \fBroledel\fR(1M), \fBrolemod\fR(1M), \fBuseradd\fR(1M),
+\fBuserdel\fR(1M), \fBgetdate\fR(3C), \fBauth_attr\fR(4), \fBpasswd\fR(4),
+\fBpolicy.conf\fR(4), \fBprof_attr\fR(4), \fBuser_attr\fR(4),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBusermod\fR utility modifies \fBpasswd\fR definitions only in the local
+\fB/etc/passwd\fR and \fB/etc/shadow\fR files. If a network nameservice such as
+\fBNIS\fR or \fBNIS+\fR is being used to supplement the local files with
+additional entries, \fBusermod\fR cannot change information supplied by the
+network nameservice. However \fBusermod\fR will verify the uniqueness of user
+name and user \fBID\fR against the external nameservice.
+.sp
+.LP
+The \fBusermod\fR utility uses the \fB/etc/datemsk\fR file, available with
+SUNWaccr, for date formatting.
diff --git a/usr/src/man/man1m/utmpd.1m b/usr/src/man/man1m/utmpd.1m
new file mode 100644
index 0000000000..7e69d8db20
--- /dev/null
+++ b/usr/src/man/man1m/utmpd.1m
@@ -0,0 +1,177 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH utmpd 1M "4 Jun 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+utmpd \- utmpx monitoring daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fButmpd\fR [\fB-debug\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fButmpd\fR daemon monitors the \fB/var/adm/utmpx\fR file. See
+\fButmpx\fR(4) (and \fButmp\fR(4) for historical information).
+.sp
+.LP
+\fButmpd\fR receives requests from \fBpututxline\fR(3C) by way of a named pipe.
+It maintains a table of processes and uses \fBpoll\fR(2) on \fB/proc\fR files
+to detect process termination. When \fButmpd\fR detects that a process has
+terminated, it checks that the process has removed its \fButmpx\fR entry from
+\fB/var/adm/utmpx\fR. If the process' \fButmpx\fR entry has not been removed,
+\fButmpd\fR removes the entry. By periodically scanning the
+\fB/var/adm/utmpx\fR file, \fButmpd\fR also monitors processes that are not in
+its table.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-debug\fR\fR
+.ad
+.sp .6
+.RS 4n
+Run in debug mode, leaving the process connected to the controlling terminal.
+Write debugging information to standard output.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/utmpd\fR\fR
+.ad
+.sp .6
+.RS 4n
+You can set default values for the flags listed below. For example:
+\fBSCAN_PERIOD=600\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSCAN_PERIOD\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of seconds that \fButmpd\fR sleeps between checks of \fB/proc\fR to
+see if monitored processes are still alive. The default is 300.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBMAX_FDS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of processes that \fButmpd\fR attempts to monitor. The
+default value is 4096.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBWTMPX_UPDATE_FREQ\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of seconds that \fButmpd\fR sleeps between read accesses of the
+\fBwtmpx\fR file. The \fBwtmpx\fR file's last access time is used by
+\fBinit\fR(1M) on reboot to determine when the operating system became
+unavailable. The default is 60.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/utmpx\fR\fR
+.ad
+.sp .6
+.RS 4n
+File containing user and accounting information for commands such as
+\fBwho\fR(1), \fBwrite\fR(1), and \fBlogin\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/proc\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory containing files for processes whose \fButmpx\fR entries are being
+monitored.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBinit\fR(1M), \fBsvcadm\fR(1M), \fBpoll\fR(2),
+\fBpututxline\fR(3C), \fBproc\fR(4), \fButmp\fR(4), \fButmpx\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+If the filesystem holding \fB/var/adm/wtmpx\fR is mounted with options which
+inhibit or defer access time updates, an unknown amount of error will be
+introduced into the \fButmp\fR \fBDOWN_TIME\fR record's timestamp in the event
+of an uncontrolled shutdown (for example, a crash or loss of power ).
+Controlled shutdowns will update the modify time of \fB/var/adm/wtmpx\fR, which
+will be used on the next boot to determine when the previous shutdown ocurred,
+regardless of access time deferral or inhibition.
+.sp
+.LP
+The \fButmpd\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/utmp:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/uucheck.1m b/usr/src/man/man1m/uucheck.1m
new file mode 100644
index 0000000000..d2f9ff9ef0
--- /dev/null
+++ b/usr/src/man/man1m/uucheck.1m
@@ -0,0 +1,141 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH uucheck 1M "18 May 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+uucheck \- check the uucp directories and permissions file
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/uucp/uucheck\fR [\fB-v\fR] [\fB-x\fR \fIdebug-level\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBuucheck\fR checks for the presence of the \fBuucp\fR system required files
+and directories. \fBuucheck\fR also does error checking of the
+\fBPermissions\fR file (\fB/etc/uucp/Permissions\fR).
+.sp
+.LP
+\fBuucheck\fR is executed during package installation. \fBuucheck\fR can only
+be used by the super-user or \fBuucp\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 18n
+.rt
+Give a detailed (verbose) explanation of how the \fBuucp\fR programs will
+interpret the \fBPermissions\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fI debug-level\fR\fR
+.ad
+.RS 18n
+.rt
+Produce debugging output on the standard output. \fIdebug-level\fR is a number
+from \fB0\fR to \fB9\fR. Higher numbers give more detailed debugging
+information.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Devices\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Limits\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Permissions\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Systems\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/locks/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucp/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucppublic/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuucp\fR(1C), \fBuustat\fR(1C), \fBuux\fR(1C), \fBuucico\fR(1M),
+\fBuusched\fR(1M), \fBattributes \fR(5)
+.SH BUGS
+.sp
+.LP
+The program does not check file/directory modes or some errors in the
+\fBPermissions\fR file such as duplicate login or machine name.
diff --git a/usr/src/man/man1m/uucico.1m b/usr/src/man/man1m/uucico.1m
new file mode 100644
index 0000000000..fffadc6965
--- /dev/null
+++ b/usr/src/man/man1m/uucico.1m
@@ -0,0 +1,225 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH uucico 1M "19 May 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+uucico \- file transport program for the uucp system
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/uucp/uucico\fR [\fB-f\fR] [\fB-c\fR \fItype\fR] [\fB-d\fR \fIspool-directory\fR]
+ [\fB-i\fR \fIinterface\fR] [\fB-r\fR \fIrole-number\fR] [\fB-s\fR \fIsystem-name\fR]
+ [\fB-x\fR \fIdebug-level\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBuucico\fR is the file transport program for \fBuucp\fR work file transfers.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 22n
+.rt
+This option is used to "force execution" of \fBuucico\fR by ignoring the limit
+on the maximum number of uucicos defined in the \fB/etc/uucp/Limits\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fI type\fR\fR
+.ad
+.RS 22n
+.rt
+The first field in the \fBDevices\fR file is the "Type" field. The \fB-c\fR
+option forces \fBuucico\fR to only use entries in the "Type" field that match
+the user specified \fBtype\fR. The specified \fBtype\fR is usually the name of
+a local area network.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fI spool-directory\fR\fR
+.ad
+.RS 22n
+.rt
+This option specifies the directory \fIspool-directory\fR that contains the
+\fBuucp\fR work files to be transferred. The default spool directory is
+\fB/var/spool/uucp\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fI interface\fR\fR
+.ad
+.RS 22n
+.rt
+This option defines the \fIinterface\fR used with \fBuucico\fR. The interface
+only affects slave mode. Known interfaces are UNIX (default), TLI (basic
+Transport Layer Interface), and TLIS (Transport Layer Interface with Streams
+modules, read/write).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fI role-number\fR\fR
+.ad
+.RS 22n
+.rt
+The \fIrole-number\fR \fB1\fR is used for master mode. \fIrole-number\fR
+\fB0\fR is used for slave mode (default). When \fBuucico\fR is started by a
+program or \fBcron\fR, \fIrole-number\fR \fB1\fR should be used for master
+mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fI system-name\fR\fR
+.ad
+.RS 22n
+.rt
+The \fB-s\fR option defines the remote system (\fIsystem-name\fR) that
+\fBuucico\fR will try to contact. It is required when the role is master;
+\fIsystem-name\fR must be defined in the \fBSystems\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fI debug-level\fR\fR
+.ad
+.RS 22n
+.rt
+Both \fBuux\fR and \fBuucp\fR queue jobs that will be transferred by
+\fBuucico\fR. These jobs are normally started by the \fBuusched\fR scheduler,
+for debugging purposes, and can be started manually. For example, the shell
+\fBUutry\fR starts \fBuucico\fR with debugging turned on. The \fIdebug-level\fR
+is a number between \fB0\fR and \fB9\fR. Higher numbers give more detailed
+debugging information.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Devconfig\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Devices\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Limits\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Permissions\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Sysfiles\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Systems\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/locks/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucp/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucppublic/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuucp\fR(1C), \fBuustat\fR(1C), \fBuux\fR(1C), \fBUutry\fR(1M),
+\fBcron\fR(1M), \fBuusched\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/uucleanup.1m b/usr/src/man/man1m/uucleanup.1m
new file mode 100644
index 0000000000..af1522b42e
--- /dev/null
+++ b/usr/src/man/man1m/uucleanup.1m
@@ -0,0 +1,185 @@
+'\" te
+.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH uucleanup 1M "19 May 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+uucleanup \- uucp spool directory clean-up
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/uucp/uucleanup\fR [\fB-C\fR\fItime\fR] [\fB-D\fR\fItime\fR] [\fB-m\fR\fIstring\fR]
+ [\fB-o\fR\fItime\fR] [\fB-s\fR\fIsystem\fR] [\fB-W\fR\fItime\fR] [\fB-x\fR\fIdebug-level\fR] [\fB-X\fR\fItime\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBuucleanup\fR will scan the spool directories for old files and take
+appropriate action to remove them in a useful way:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Inform the requester of send/receive requests for systems that can not be
+reached.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Return undeliverable mail to the sender.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Deliver \fBrnews\fR files addressed to the local system.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Remove all other files.
+.RE
+.sp
+.LP
+In addition, there is a provision to warn users of requests that have been
+waiting for a given number of days (default 1 day). Note: \fBuucleanup\fR will
+process as if all option \fBtimes\fR were specified to the default values
+unless \fBtime\fR is specifically set.
+.sp
+.LP
+This program is typically started by the shell \fBuudemon.cleanup\fR, which
+should be started by \fBcron\fR(1M).
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fBtime\fR\fR
+.ad
+.RS 17n
+.rt
+Remove any \fBC.\fR files greater or equal to \fBtime\fR days old and send
+appropriate information to the requester (default 7 days).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fBtime\fR\fR
+.ad
+.RS 17n
+.rt
+Remove any \fBD.\fR files greater or equal to \fBtime\fR days old, make an
+attempt to deliver mail messages, and execute \fBrnews\fR when appropriate
+(default 7 days).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fIstring\fR\fR
+.ad
+.RS 17n
+.rt
+Include \fIstring\fR in the warning message generated by the \fB-W\fR option.
+The default line is "See your local administrator to locate the problem".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fBtime\fR\fR
+.ad
+.RS 17n
+.rt
+Delete other files whose age is more than \fBtime\fR days (default 2 days).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fIsystem\fR\fR
+.ad
+.RS 17n
+.rt
+Execute for \fIsystem\fR spool directory only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-W\fR\fBtime\fR\fR
+.ad
+.RS 17n
+.rt
+Any \fBC.\fR files equal to \fBtime\fR days old will cause a mail message to be
+sent to the requester warning about the delay in contacting the remote. The
+message includes the \fIJOBID\fR, and in the case of mail, the mail message.
+The administrator may include a message line telling whom to call to check the
+problem (\fB-m\fR option) (default 1 day).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fIdebug-level\fR\fR
+.ad
+.RS 17n
+.rt
+Produce debugging output on standard ouput. \fIdebug-level\fR is a single digit
+between 0 and 9; higher numbers give more detailed debugging information. (This
+option may not be available on all systems.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-X\fR\fBtime\fR\fR
+.ad
+.RS 17n
+.rt
+Any \fBX.\fR files greater or equal to \fBtime\fR days old will be removed. The
+\fBD.\fR files are probably not present (if they were, the \fBX.\fR could get
+executed). But if there are \fBD.\fR files, they will be taken care of by D.
+processing (default 2 days).
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/uucp\fR\fR
+.ad
+.RS 19n
+.rt
+directory with commands used by \fBuucleanup\fR internally
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucp\fR\fR
+.ad
+.RS 19n
+.rt
+spool directory
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuucp\fR(1C), \fBuux\fR(1C), \fBcron\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/uusched.1m b/usr/src/man/man1m/uusched.1m
new file mode 100644
index 0000000000..45526a89d5
--- /dev/null
+++ b/usr/src/man/man1m/uusched.1m
@@ -0,0 +1,127 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH uusched 1M "19 May 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+uusched \- uucp file transport program scheduler
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/uucp/uusched\fR [\fB-u\fR \fIdebug-level\fR] [\fB-x\fR \fIdebug-level\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBuusched\fR is the \fBuucp\fR(1C) file transport scheduler. It is usually
+started by the daemon \fIuudemon.hour\fR that is started by \fBcron\fR(1M)
+from an entry in user \fBuucp\fR's crontab file:
+.sp
+.LP
+\fB11,41 * * * * /etc/uucp/uucp/uudemon.hour\fR
+.SH OPTIONS
+.sp
+.LP
+The options are for debugging purposes only. \fIdebug-level\fR is a number
+between \fB0\fR and \fB9\fR. Higher numbers give more detailed debugging
+information:
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fI debug-level\fR\fR
+.ad
+.RS 18n
+.rt
+Passes the \fB-u\fR\fI debug-level\fR option \fBuucico\fR(1M) as \fB-x\fR\fI
+debug-level.\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fI debug-level\fR\fR
+.ad
+.RS 18n
+.rt
+Outputs debugging messages from \fBuusched\fR.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Devices\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Permissions\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Systems\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/locks/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucp/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucppublic/*\fR\fR
+.ad
+.RS 27n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBuucp\fR(1C), \fBuustat\fR(1C), \fBuux\fR(1C), \fBcron\fR(1M),
+\fBuucico\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/uuxqt.1m b/usr/src/man/man1m/uuxqt.1m
new file mode 100644
index 0000000000..a54eab99c8
--- /dev/null
+++ b/usr/src/man/man1m/uuxqt.1m
@@ -0,0 +1,121 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH uuxqt 1M "19 May 1993" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+uuxqt \- execute remote command requests
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/uucp/uuxqt\fR [\fB-s\fR \fIsystem\fR] [\fB-x\fR \fIdebug-level\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBuuxqt\fR is the program that executes remote job requests from remote
+systems generated by the use of the \fBuux\fR command. (\fBmail\fR uses
+\fBuux\fR for remote mail requests). \fBuuxqt\fR searches the spool directories
+looking for execution requests. For each request, \fBuuxqt\fR checks to see if
+all the required data files are available, accessible, and the requested
+commands are permitted for the requesting system. The \fBPermissions\fR file is
+used to validate file accessibility and command execution permission.
+.sp
+.LP
+There are two environment variables that are set before the \fBuuxqt\fR command
+is executed:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBUU_MACHINE\fR is the machine that sent the job (the previous one).
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBUU_USER\fR is the user that sent the job.
+.RE
+.sp
+.LP
+These can be used in writing commands that remote systems can execute to
+provide information, auditing, or restrictions.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fI system\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies the remote \fIsystem\fR name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fI debug-level\fR\fR
+.ad
+.RS 18n
+.rt
+\fIdebug-level\fR is a number from \fB0\fR to \fB9\fR. Higher numbers give more
+detailed debugging information.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Limits\fR\fR
+.ad
+.RS 25n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/uucp/Permissions\fR\fR
+.ad
+.RS 25n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/locks/*\fR\fR
+.ad
+.RS 25n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/spool/uucp/*\fR\fR
+.ad
+.RS 25n
+.rt
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmail\fR(1), \fBuucp\fR(1C), \fBuustat\fR(1C), \fBuux\fR(1C),
+\fBuucico\fR(1M), \fB attributes\fR(5)
diff --git a/usr/src/man/man1m/vmstat.1m b/usr/src/man/man1m/vmstat.1m
new file mode 100644
index 0000000000..14a6d6d3de
--- /dev/null
+++ b/usr/src/man/man1m/vmstat.1m
@@ -0,0 +1,633 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH vmstat 1M "23 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+vmstat \- report virtual memory statistics
+.SH SYNOPSIS
+.LP
+.nf
+\fBvmstat\fR [\fB-cipqsS\fR] [\fB-T\fR u | d] [\fIdisks\fR] [\fIinterval\fR [\fIcount\fR]]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBvmstat\fR reports virtual memory statistics regarding kernel thread, virtual
+memory, disk, trap, and \fBCPU\fR activity.
+.sp
+.LP
+On \fBMP\fR (multi-processor) systems, \fBvmstat\fR averages the number of
+\fBCPUs\fR into the output. For per-processor statistics, see \fBmpstat\fR(1M).
+.sp
+.LP
+\fBvmstat\fR only supports statistics for certain devices. For more general
+system statistics, use \fBsar\fR(1), \fBiostat\fR(1M), or \fBsar\fR(1M).
+.sp
+.LP
+Without options, \fBvmstat\fR displays a one-line summary of the virtual memory
+activity since the system was booted.
+.sp
+.LP
+During execution of the kernel status command, the \fBstate\fR of the system
+can change. If relevant, a state change message is included in the \fBvmstat\fR
+output, in one of the following forms:
+.sp
+.in +2
+.nf
+<<device added: sd0>>
+<<device removed: sd0>>
+<<processors added: 1, 3>>
+<<processors removed: 1, 3>>
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+See \fI\fR for device naming conventions for disks.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 13n
+.rt
+Report cache flushing statistics. This option is obsolete, and no longer
+meaningful. This option might be removed in a future version of Solaris.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 13n
+.rt
+Report the number of interrupts per device. \fIcount\fR and \fIinterval\fR does
+not apply to the \fB-i\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.RS 13n
+.rt
+Report paging activity in details. This option will display the following,
+respectively:
+.sp
+.ne 2
+.mk
+.na
+\fBepi\fR
+.ad
+.RS 7n
+.rt
+Executable page-ins.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBepo\fR
+.ad
+.RS 7n
+.rt
+Executable page-outs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBepf\fR
+.ad
+.RS 7n
+.rt
+Executable page-frees.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBapi\fR
+.ad
+.RS 7n
+.rt
+Anonymous page-ins.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBapo\fR
+.ad
+.RS 7n
+.rt
+Anonymous page-outs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBapf\fR
+.ad
+.RS 7n
+.rt
+Anonymous page-frees.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfpi\fR
+.ad
+.RS 7n
+.rt
+File system page-ins.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfpo\fR
+.ad
+.RS 7n
+.rt
+File system page-outs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfpf\fR
+.ad
+.RS 7n
+.rt
+File system page-frees.
+.RE
+
+When executed in a \fBzone\fR and if the pools facility is active, all of the
+above only report actitivity on the processors in the processor set of the
+\fBzone\fR's pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 13n
+.rt
+Suppress messages related to state changes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 13n
+.rt
+Display the total number of various system events since boot. \fIcount\fR and
+\fIinterval\fR does not apply to the \fB-s\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.RS 13n
+.rt
+Report on swapping rather than paging activity. This option will change two
+fields in \fBvmstat\fR's ``paging'' display: rather than the ``re'' and ``mf''
+fields, \fBvmstat\fR will report ``si'' (swap-ins) and ``so'' (swap-outs).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.RS 13n
+.rt
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcount\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the number of times that the statistics are repeated. \fIcount\fR
+does not apply to the \fB-i\fR and \fB-s\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdisks\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies which disks are to be given priority in the output (only four disks
+fit on a line). Common disk names are \fBid\fR, \fBsd\fR, \fBxd\fR, or
+\fBxy,\fR followed by a number (for example, \fBsd2\fR, \fBxd0\fR, and so
+forth).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIinterval\fR\fR
+.ad
+.RS 12n
+.rt
+Specifies the last number of seconds over which \fBvmstat\fR summarizes
+activity. This number of seconds repeats forever. \fIinterval\fR does not apply
+to the \fB-i\fR and \fB-s\fR options.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing \fBvmstat\fR
+.sp
+.LP
+The following command displays a summary of what the system is doing every five
+seconds.
+
+.sp
+.in +2
+.nf
+example% \fBvmstat 5\fR
+
+
+kthr memory page disk faults cpu
+r b w swap free re mf pi p fr de sr s0 s1 s2 s3 in sy cs us sy id
+0 0 0 11456 4120 1 41 19 1 3 0 2 0 4 0 0 48 112 130 4 14 82
+0 0 1 10132 4280 0 4 44 0 0 0 0 0 23 0 0 211 230 144 3 35 62
+0 0 1 10132 4616 0 0 20 0 0 0 0 0 19 0 0 150 172 146 3 33 64
+0 0 1 10132 5292 0 0 9 0 0 0 0 0 21 0 0 165 105 130 1 21 78
+1 1 1 10132 5496 0 0 5 0 0 0 0 0 23 0 0 183 92 134 1 20 79
+1 0 1 10132 5564 0 0 25 0 0 0 0 0 18 0 0 131 231 116 4 34 62
+1 0 1 10124 5412 0 0 37 0 0 0 0 0 22 0 0 166 179 118 1 33 67
+1 0 1 10124 5236 0 0 24 0 0 0 0 0 14 0 0 109 243 113 4 56 39
+^C
+
+example%
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The fields of \fBvmstat\fR's display are
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBkthr\fR\fR
+.ad
+.RS 10n
+.rt
+Report the number of kernel threads in each of the three following states:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBr\fR\fR
+.ad
+.RS 5n
+.rt
+the number of kernel threads in run queue
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBb\fR\fR
+.ad
+.RS 5n
+.rt
+the number of blocked kernel threads that are waiting for resources \fBI/O,\fR
+paging, and so forth
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBw\fR\fR
+.ad
+.RS 5n
+.rt
+the number of swapped out lightweight processes (LWPs) that are waiting for
+processing resources to finish.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmemory\fR\fR
+.ad
+.RS 10n
+.rt
+Report on usage of virtual and real memory.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBswap\fR\fR
+.ad
+.RS 8n
+.rt
+available swap space (Kbytes)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfree\fR\fR
+.ad
+.RS 8n
+.rt
+size of the free list (Kbytes)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpage\fR\fR
+.ad
+.RS 10n
+.rt
+Report information about page faults and paging activity. The information on
+each of the following activities is given in units per second.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBre\fR\fR
+.ad
+.RS 6n
+.rt
+page reclaims \(em but see the \fB-S\fR option for how this field is modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmf\fR\fR
+.ad
+.RS 6n
+.rt
+minor faults \(em but see the \fB-S\fR option for how this field is modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpi\fR\fR
+.ad
+.RS 6n
+.rt
+kilobytes paged in
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpo\fR\fR
+.ad
+.RS 6n
+.rt
+kilobytes paged out
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfr\fR\fR
+.ad
+.RS 6n
+.rt
+kilobytes freed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBde\fR\fR
+.ad
+.RS 6n
+.rt
+anticipated short-term memory shortfall (Kbytes)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsr\fR\fR
+.ad
+.RS 6n
+.rt
+pages scanned by clock algorithm
+.RE
+
+When executed in a \fBzone\fR and if the pools facility is active, all of the
+above (except for "de") only report activity on the processors in the processor
+set of the \fBzone\fR's pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisk\fR\fR
+.ad
+.RS 10n
+.rt
+Report the number of disk operations per second. There are slots for up to four
+disks, labeled with a single letter and number. The letter indicates the type
+of disk (s = \fBSCSI\fR, i = \fBIPI\fR, and so forth); the number is the
+logical unit number.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfaults\fR\fR
+.ad
+.RS 10n
+.rt
+Report the trap/interrupt rates (per second).
+.sp
+.ne 2
+.mk
+.na
+\fB\fBin\fR\fR
+.ad
+.RS 6n
+.rt
+interrupts
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsy\fR\fR
+.ad
+.RS 6n
+.rt
+system calls
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcs\fR\fR
+.ad
+.RS 6n
+.rt
+\fBCPU\fR context switches
+.RE
+
+When executed in a \fBzone\fR and if the pools facility is active, all of the
+above only report actitivity on the processors in the processor set of the
+\fBzone\fR's pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcpu\fR\fR
+.ad
+.RS 10n
+.rt
+Give a breakdown of percentage usage of \fBCPU\fR time. On \fBMP\fR systems,
+this is an average across all processors.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBus\fR\fR
+.ad
+.RS 6n
+.rt
+user time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsy\fR\fR
+.ad
+.RS 6n
+.rt
+system time
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBid\fR\fR
+.ad
+.RS 6n
+.rt
+idle time
+.RE
+
+When executed in a \fBzone\fR and if the pools facility is active, all of the
+above only report actitivity on the processors in the processor set of the
+\fBzone\fR's pool.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilitySee below.
+.TE
+
+.sp
+.LP
+Invocation is evolving. Human readable output is unstable.
+.SH SEE ALSO
+.sp
+.LP
+\fBdate\fR(1), \fBsar\fR(1), \fBiostat\fR(1M), \fBmpstat\fR(1M), \fBsar\fR(1M),
+\fBtime\fR(2), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The sum of CPU utilization might vary slightly from 100 because of rounding
+errors in the production of a percentage figure.
+.sp
+.LP
+The \fB-c\fR option (Report cache flushing statistics) is not supported in this
+release.
diff --git a/usr/src/man/man1m/vntsd.1m b/usr/src/man/man1m/vntsd.1m
new file mode 100644
index 0000000000..2d47716b79
--- /dev/null
+++ b/usr/src/man/man1m/vntsd.1m
@@ -0,0 +1,474 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH vntsd 1M "31 Mar 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+vntsd \- virtual network terminal server daemon for Logical Domains
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/ldoms/vntsd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBvntsd\fR daemon is a server that supports connections to the Logical
+Domains (LDoms) console by using \fBtelnet\fR(1). When a \fBtelnet\fR session
+starts, \fBvntsd\fR sends \fBtelnet\fR options to the client indicating a
+willingness to remotely echo characters and to suppress go ahead.
+.sp
+.LP
+Consoles are organized into groups by the LDoms Manager. Each console group is
+assigned a unique group name and TCP port number. \fBvntsd\fR uses the group's
+port number to export access to the consoles within that group. To establish a
+connection with a console or console group, a user starts a \fBtelnet\fR(1)
+session with the corresponding group's port number. Depending on the number of
+consoles within that group, \fBvntsd\fR does one of two things:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If there is only one console in the group, \fBvntsd\fR connects a session to
+that LDoms console.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If there are multiple consoles in the group, \fBvntsd\fR prompts the user to
+select the console to which they would like to connect, as shown in
+"Multiple-Console Options," below.
+.RE
+.sp
+.LP
+For each console, \fBvntsd\fR provides write access only to the first user
+connecting to the console. Subsequent users connecting to the console are
+allowed only to read from the console and wait for write access. When the first
+user disconnects, write privileges are transferred to the next user waiting in
+the queue. If a user who does not have write privileges attempts to write to a
+console, the \fBvntsd\fR displays the following message:
+.sp
+.in +2
+.nf
+You do not have write access
+.fi
+.in -2
+
+.sp
+.LP
+A user who has no write access can acquire write access forcibly by using the
+\fB~w\fR special console command, described in "Special Console Commands,"
+below.
+.sp
+.LP
+\fBvntsd\fR can be invoked only with superuser privileges or by someone in the
+Primary Administrator role.
+.SH OPTIONS
+.sp
+.LP
+The options for \fBvntsd\fR are divided into multiple-console options and
+console commands.
+.SS "Multiple-Console Options"
+.sp
+.LP
+The options listed below are supported when there are multiple LDoms consoles
+in a group. The syntax for the use of these options is:
+.sp
+.in +2
+.nf
+\fI<hostname>\fR-vnts-\fI<group-name>\fR: \fI<option>\fR
+.fi
+.in -2
+
+.sp
+.LP
+For example:
+.sp
+.in +2
+.nf
+myhost-vnts-salesgroup: h
+.fi
+.in -2
+
+.sp
+.LP
+The \fBh\fR option invokes help, as described below.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBh\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the following help text:
+.sp
+.in +2
+.nf
+h -- this help
+l -- list of consoles
+q -- quit
+c{id}, n{name} -- connect to console of domain {id} or domain name
+.fi
+.in -2
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBl\fR\fR
+.ad
+.sp .6
+.RS 4n
+List all consoles in the group. For example:
+.sp
+.in +2
+.nf
+DOMAIN ID DOMAIN NAME DOMAIN STATE
+0 ldg1 online
+1 ldg2 connected
+\&... ... ...
+.fi
+.in -2
+
+The two domain states and their meanings are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBonline\fR\fR
+.ad
+.sp .6
+.RS 4n
+No one is connected to the console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnected\fR\fR
+.ad
+.sp .6
+.RS 4n
+At least one user is already connected to the console.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBq\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disconnect from \fBvntsd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBc\fI{id}\fR, n\fI{name}\fR\fR\fR
+.ad
+.sp .6
+.RS 4n
+Connect to specified console. Upon connection, the following message is
+displayed:
+.sp
+.in +2
+.nf
+Connecting to console \fI<domain-name>\fR in group \fI<group-name>\fR
+Press ~? for control options ....
+.fi
+.in -2
+
+.RE
+
+.SS "Special Console Commands"
+.sp
+.LP
+A tilde (\fB~\fR) appearing as the first character of a line is an escape
+signal that directs \fBvntsd\fR to perform a special console command. The
+tilde-tilde (\fB~~\fR) sequence outputs a tilde. In conjunction with the
+initial tilde, \fBvntsd\fR accepts the following special console commands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB~.\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disconnect from the console or console group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB~w\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force write access to the console.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB~p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disconnect from this console, and connect to the console that precedes this
+console in the list of consoles.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB~n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disconnect from this console, and connect to the console that follows this
+console in the list of consoles.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB~#\fR\fR
+.ad
+.sp .6
+.RS 4n
+Send break.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB~^B\fR\fR
+.ad
+.sp .6
+.RS 4n
+Send alternate break.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB~?\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display \fBvntsd\fR help, as follows:
+.sp
+.in +2
+.nf
+~# - Send break
+~^B - Send alternate break
+~. - Exit from this console
+~w - Force write access
+~n - Console next
+~p - Console previous
+~? - Help
+.fi
+.in -2
+
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/ldoms/vntsd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Binary executable \fBvntsd\fR file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/ldoms/vntsd.xml\fR\fR
+.ad
+.sp .6
+.RS 4n
+Service management facility (\fBsmf\fR(5)) manifest file for \fBvntsd\fR.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBtelnet\fR(1), \fBsvccfg\fR(1M), \fBusermod\fR(1M), \fBauth_attr\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBvntsd\fR is managed by the service management facility, \fBsmf\fR(5),
+under the service identifier:
+.sp
+.in +2
+.nf
+svc:/ldoms/vntsd
+.fi
+.in -2
+
+.sp
+.LP
+You can change the following properties using the \fBsvccfg\fR(1M) command:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvntsd/vcc_device\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set an instance of the virtual console concentrator (\fBvcc\fR) driver to which
+\fBvntsd\fR is connected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvntsd/listen_addr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set the IP address to which \fBvntsd\fR listens, using the following syntax:
+.sp
+.in +2
+.nf
+vntsd/listen_addr:"\fIxxx.xxx.xxx.xxx\fR"
+.fi
+.in -2
+
+\&...where \fIxxx.xxx.xxx.xxx\fR is a valid IP address. The default value of
+this property is to listen on IP address 127.0.0.1. Users can connect to a
+guest console over a network if the value is set to the IP address of the
+control domain.
+.LP
+Note -
+.sp
+.RS 2
+Enabling network access to a console has security implications. Any user can
+connect to a console and for this reason it is disabled by default.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvntsd/timeout_minutes\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set timeout in minutes. \fBvntsd\fR will timeout (close) \fBtelnet\fR
+connection if there is no activity (input or output) on the console. The
+default value is 0, which disables timeout.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvntsd/authorization\fR\fR
+.ad
+.sp .6
+.RS 4n
+Enable the authorization checking of users and roles for the domain console or
+consoles that are being accessed. The default value of this property is
+\fBfalse\fR to maintain backward compatibility. To enable authorization
+checking, use the \fBsvccfg\fR(1M) command to set the property value to
+\fBtrue\fR. While this option is enabled, \fBvntsd\fR listens and accepts
+connections on \fBlocalhost\fR. If the \fBlisten_addr\fR property specifies an
+alternate IP address when this option is enabled, \fBvntsd\fR ignores the
+alternate IP address and continues to listen on \fBlocalhost\fR. Connections
+that are initiated from other hosts will also fail. Authorizations are
+available to access all consoles or console groups, or to access specific
+consoles or console groups. When the \fBvntsd\fR service is enabled, the
+following authorization is added to the authorization description database,
+\fBauth_attr\fR(4):
+.sp
+.in +2
+.nf
+solaris.vntsd.consoles:::Access All LDoms Guest Consoles::
+.fi
+.in -2
+.sp
+
+Add any fine-grained authorizations based on the name of the console group. For
+example, if the name of the console group to be authorized is \fBldg1\fR, add
+the following entry to the \fBauth_attr\fR(4) file:
+.sp
+.in +2
+.nf
+solaris.vntsd.console-ldg1:::Access Specific LDoms Guest Console::
+.fi
+.in -2
+.sp
+
+By default, the authorization to access all consoles is assigned to the root
+user or role. The Primary Administrator (superuser) can use the
+\fBusermod\fR(1M) command to assign the required authorization or
+authorizations to other users or roles.
+.sp
+The following example gives user \fBuser1\fR the authorization to access all
+domain consoles:
+.sp
+.in +2
+.nf
+# \fBusermod -A "solaris.vntsd.consoles" user1\fR
+.fi
+.in -2
+.sp
+
+The following example gives user \fBuser1\fR the authorization to access the
+console group named \fBldg1\fR:
+.sp
+.in +2
+.nf
+# \fBusermod -A "solaris.vntsd.console-ldg1" user1\fR
+.fi
+.in -2
+.sp
+
+.RE
+
diff --git a/usr/src/man/man1m/volcopy.1m b/usr/src/man/man1m/volcopy.1m
new file mode 100644
index 0000000000..43ed2f55d8
--- /dev/null
+++ b/usr/src/man/man1m/volcopy.1m
@@ -0,0 +1,183 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH volcopy 1M "20 Mar 1995" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+volcopy \- make an image copy of file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBvolcopy\fR [\fB-F\fR \fIFSType\fR] [\fB-V\fR] [\fIgeneric_options\fR]
+ [\fB-o\fR \fIFSType-specific_options\fR] \fIoperands\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBvolcopy\fR makes a literal copy of the file system. This command may not be
+supported for all \fIFSTypes\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR \fIFSType\fR\fR
+.ad
+.RS 30n
+.rt
+Specify the \fIFSType\fR on which to operate. The \fIFSType\fR should either be
+specified here or be determinable from \fB/etc/vfstab\fR by matching the
+\fIoperands\fR with an entry in the table. Otherwise, the default file system
+type specified in \fB/etc/default/fs\fR will be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 30n
+.rt
+Echo the complete command line, but do not execute the command. The command
+line is generated by using the options and arguments provided by the user and
+adding to them information derived from \fB/etc/vfstab\fR. This option should
+be used to verify and validate the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 30n
+.rt
+Options that are commonly supported by most \fIFSType\fR-specific command
+modules. The following options are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 6n
+.rt
+Require the operator to respond "yes" or "no" instead of simply waiting ten
+seconds before the copy is made.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+(Default) Invoke the DEL if wrong verification sequence.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIFSType-specific_options\fR\fR
+.ad
+.RS 30n
+.rt
+Specify \fIFSType\fR-specific options in a comma separated (without spaces)
+list of suboptions and keyword-attribute pairs for interpretation by the
+\fIFSType\fR-specific module of the command.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIoperands\fR\fR
+.ad
+.RS 12n
+.rt
+generally include the device and volume names and are file system specific. A
+detailed description of the \fIoperands\fR can be found on the
+\fIFSType\fR-specific man pages of \fBvolcopy\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful file system copy
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error has occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/vfstab\fR\fR
+.ad
+.RS 19n
+.rt
+list of default parameters for each file system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/default/fs\fR\fR
+.ad
+.RS 19n
+.rt
+default local file system type. Default values can be set for the following
+flags in \fB/etc/default/fs\fR. For example: \fBLOCAL=ufs.\fR
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLOCAL:\fR\fR
+.ad
+.RS 10n
+.rt
+The default partition for a command if no \fIFSType\fR is specified.
+.RE
+
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlabelit\fR(1M), \fBvfstab\fR(4), \fBattributes\fR(5) Manual pages for the
+\fIFSType\fR-specific modules of \fBvolcopy\fR.
diff --git a/usr/src/man/man1m/volcopy_ufs.1m b/usr/src/man/man1m/volcopy_ufs.1m
new file mode 100644
index 0000000000..b2ab930599
--- /dev/null
+++ b/usr/src/man/man1m/volcopy_ufs.1m
@@ -0,0 +1,139 @@
+'\" te
+.\" Copyright 1989 AT&T, Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH volcopy_ufs 1M "15 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+volcopy_ufs \- make an image copy of a ufs file system
+.SH SYNOPSIS
+.LP
+.nf
+\fBvolcopy\fR [\fB-F\fR ufs] [\fIgeneric_options\fR] \fIfsname\fR \fIsrcdevice\fR \fIvolname1\fR \fIdestdevice\fR \fIvolname2\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBvolcopy\fR makes a literal copy of the \fBufs\fR file system using a
+blocksize matched to the device.
+.SH OPTIONS
+.sp
+.LP
+The following option is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIgeneric_options\fR\fR
+.ad
+.RS 19n
+.rt
+options supported by the generic \fBvolcopy\fR command. See
+\fBvolcopy\fR(1M).
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfsname\fR\fR
+.ad
+.RS 27n
+.rt
+represents the mount point (for example, \fBroot\fR, \fBu1\fR, etc.) of the
+file system being copied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsrcdevice\fR or \fIdestdevice\fR\fR
+.ad
+.RS 27n
+.rt
+the disk partition specified using the raw device (for example,
+\fB/dev/rdsk/cld0s8\fR, \fB/dev/rdsk/cld1s8\fR, etc.).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsrcdevice\fR and \fIvolname1\fR\fR
+.ad
+.RS 27n
+.rt
+the device and physical volume from which the copy of the file system is being
+extracted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdestdevice\fR and \fIvolname2\fR\fR
+.ad
+.RS 27n
+.rt
+the target device and physical volume.
+.RE
+
+.sp
+.LP
+\fIfsname\fR and \fIvolname\fR are limited to six or fewer characters and
+recorded in the superblock. \fIvolname\fR may be `\fB\(mi\fR\&' to use the
+existing volume name.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful file system copy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error has occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/filesave.log\fR\fR
+.ad
+.RS 25n
+.rt
+a record of file systems/volumes copied
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcpio\fR(1), \fBdd\fR(1M), \fBlabelit\fR(1M), \fBvolcopy\fR(1M),
+\fBattributes\fR(5), \fBufs\fR(7FS)
+.SH NOTES
+.sp
+.LP
+\fBvolcopy\fR does not support copying to tape devices. Use \fBdd\fR(1M) for
+copying to and from tape devices.
diff --git a/usr/src/man/man1m/vscanadm.1m b/usr/src/man/man1m/vscanadm.1m
new file mode 100644
index 0000000000..594059f463
--- /dev/null
+++ b/usr/src/man/man1m/vscanadm.1m
@@ -0,0 +1,732 @@
+'\" te
+.\" Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH vscanadm 1M "7 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+vscanadm \- vscan service configuration utility
+.SH SYNOPSIS
+.LP
+.nf
+\fBvscanadm\fR \fBset\fR \fB-p\fR \fIproperty\fR=\fIvalue\fR [\fB-p\fR \fIproperty\fR=\fIvalue\fR]...
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBget\fR [\fB-p\fR \fIproperty\fR]...
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBimport\fR \fB-p\fR \fIproperty\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBexport\fR \fB-p\fR \fIproperty\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBvalidate\fR \fB-p\fR \fIproperty\fR \fIfilename\fR
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBadd-engine\fR [\fB-p\fR \fIproperty\fR=\fIvalue\fR]... \fIengine_id\fR
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBremove-engine\fR \fIengine_id\fR
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBset-engine\fR \fB-p\fR\fIproperty\fR=\fIvalue\fR [\fB-p\fR \fIproperty\fR=\fIvalue\fR]... \fIengine_id\fR
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBget-engine\fR [\fB-p\fR \fIproperty\fR=\fIvalue\fR]... [\fIengine_id\fR]
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBshow\fR
+.fi
+
+.LP
+.nf
+\fBvscanadm\fR \fBstats\fR [\fB-z\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBvscanadm\fR command sets and displays properties of the \fBvscan\fR
+service, \fBvscand\fR(1M), and provides scan statistics.
+.sp
+.LP
+File system exemption from virus scanning may be configured per file system
+using the appropriate file system administrative command, for example
+\fBzfs\fR(1M).
+.sp
+.LP
+Scan engines are third-party applications on external hosts that perform the
+actual virus scanning operation on files. Multiple scan engines can be
+configured for use by the \fBvscan\fR service. A minimum of two scan engines is
+recommended. File scan requests are distributed among the configured scan
+engines to achieve load balancing. A scan engine is identified by its
+\fIengine_id\fR. The \fIengine_id\fR is a user defined string of up to 64
+bytes.
+.sp
+.LP
+The \fBvscan\fR service properties are divided into two categories: scan engine
+properties, which are specific to a scan engine definition, and general
+properties, which apply to the service and are not scan engine-specific.
+.SH SUBCOMMANDS
+.sp
+.LP
+\fBvscanadm\fR recognizes the following subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm set\fR \fB-p\fR \fIproperty\fR=\fIvalue\fR [\fB-p\fR
+\fIproperty\fR=\fIvalue\fR]...\fR
+.ad
+.sp .6
+.RS 4n
+Sets the values of \fBvscan\fR service general properties.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.RS 21n
+.rt
+Specifies a property value
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm get\fR [\fB-p\fR \fIproperty\fR]...\fR
+.ad
+.sp .6
+.RS 4n
+Displays the values of \fBvscan\fR service general properties. If no properties
+are specified, all \fBvscan\fR service general properties are displayed.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIproperty\fR\fR
+.ad
+.RS 15n
+.rt
+Specifies a property value
+.RE
+
+.RE
+
+.sp
+.LP
+The following properties are available for the \fBvscanadm set\fR and
+\fBvscanadm get\fR subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmax-size\fR\fR
+.ad
+.RS 19n
+.rt
+The maximum size of files that should be virus scanned. Files exceeding
+\fImax-size\fR are not scanned. The \fImax-size-action\fR property determines
+whether access should be allowed or denied to files that exceed \fImax-size\fR.
+.sp
+The value of \fImax-size\fR is a string with a numeric (decimal) component and
+an optional letter component that specifies a unit size, in the format
+"N[.N][KMGTP][B]".
+.sp
+Following the numeric component, the optional unit can be specified as either
+one or two characters. For example, either "K" or "KB" can be used to specify
+kilobytes. Unit specifiers are not case-sensitive, and must follow the numeric
+value immediately with no intervening whitespace.
+.sp
+With either no unit specifier, or a unit specifier of only "B", the numeric
+value is assumed to be in bytes. The default value is 1GB.
+.sp
+Note that while the \fBvscan\fR service defines a maximum file size for
+scanning, scan engines also typically define their own maximum file size
+setting. It is recommended that \fImax-size\fR be set to a value less than or
+equal to the maximum file size for the scan engine(s).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmax-size-action\fR\fR
+.ad
+.RS 19n
+.rt
+Specifies whether access will be allowed or denied to files larger than
+\fImax-size\fR. Files larger than \fImax-size\fR are not virus scanned. Valid
+values are:
+.sp
+.ne 2
+.mk
+.na
+\fBallow\fR
+.ad
+.RS 9n
+.rt
+allow access to files larger than \fImax-size\fR (no virus scan). This is the
+default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdeny\fR
+.ad
+.RS 9n
+.rt
+deny access to files larger than \fImax-size\fR (no virus scan)
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm import\fR \fB-p\fR \fIproperty\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Imports the property value from the specified file. The file must contain a
+single line specifying the value of a single property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm export\fR \fB-p\fR \fIproperty\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Exports the property value to the specified file. The file must contain a
+single line specifying the value of a single property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm validate\fR \fB-p\fR \fIproperty\fR \fIfilename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Validates the property value in the specified file. The file must contain a
+single line specifying the value of a single property.
+.RE
+
+.sp
+.LP
+The following properties are available for the \fBvscanadm import\fR,
+\fBvscanadm export\fR, and \fBvscanadm validate\fR subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtypes\fR\fR
+.ad
+.RS 9n
+.rt
+A comma-separated list of file type extension matching rules. This list defines
+which types of files are scanned and which should be excluded during virus
+scanning. Each rule comprises the rule indicator [+|-], followed by a file type
+\fIexpresssion\fR against which a file's type extension is compared. The file
+type \fIexpresssion\fR is case insensitive and may include the "*" and "?"
+wildcards. There should be no whitespace between the rule indicator and the
+file type \fIexpresssion\fR. If a comma is included within the file type
+expression, it must be escaped using a "\e" (backslash). A file type extension
+does not include its preceding dot.
+.sp
+The rule indicator is a single character and can be one of:
+.sp
+.in +2
+.nf
++ include file type in virus scanning
+- exclude file type from virus scanning
+.fi
+.in -2
+.sp
+
+When a file is being evaluated as a candidate for virus scanning, its file type
+will be compared with the rules defined in types. The first rule matched will
+be applied. If no match is found, the file will be virus scanned. The total
+length of the types string can not exceed 4096 bytes. The default content of
+the types list is "+*".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm add-engine\fR [\fB-p\fR \fIproperty\fR=\fIvalue\fR]...
+\fIengine_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a new scan engine identified by \fIengine_id\fR. The default values are
+used for any scan engine properties that are not specified. The hostname
+defaults to the \fIengine_id\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.RS 21n
+.rt
+Specifies a property value
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm remove-engine\fR \fIengine_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove scan engine identified by \fIengine_id\fR, removing all of its
+configuration property values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm set-engine\fR \fB-p\fR\fIproperty\fR=\fIvalue\fR [\fB-p\fR
+\fIproperty\fR=\fIvalue\fR]... \fIengine_id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates or updates the configuration property values for the scan engine
+identified by \fIengine_id\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.RS 21n
+.rt
+Specifies a property value
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm get-engine\fR [\fB-p\fR \fIproperty\fR=\fIvalue\fR]...
+[\fIengine_id\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Displays the values of the specified scan engine properties for the scan engine
+identified by \fIengine_id\fR. If no \fIengine_id\fR is specified, this
+subcommand displays the specified scan engine property values for all
+configured scan engines. If no properties are specified, this subcommand
+displays all \fBvscan\fR service scan engine properties.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.RS 21n
+.rt
+Specifies a property value
+.RE
+
+.RE
+
+.sp
+.LP
+The following properties are available for the \fBvscanadm add-engine\fR,
+\fBvscanadm remove-engine\fR, \fBvscanadm set-engine\fR, and \fBvscanadm
+get-engine\fR subcommands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies whether the scan engine is enabled or disabled. Valid values are "on"
+(enabled) and "off" (disabled). The default is "on" (enabled). A scan engine
+cannot be enabled if its host property is invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhost\fR\fR
+.ad
+.RS 18n
+.rt
+Hostname or \fBIPv4\fR format \fBIP\fR address of the scan engine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBport\fR\fR
+.ad
+.RS 18n
+.rt
+\fBICAP\fR port number of the scan engine. The numeric value ranges from 0 to
+65535. The default \fBICAP\fR port is 1344.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmax-connection\fR\fR
+.ad
+.RS 18n
+.rt
+The maximum number of concurrent connections that may be established with a
+scan engine. The numeric value ranges from 1 to 512. This property defaults to
+8.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm show\fR\fR
+.ad
+.RS 23n
+.rt
+Displays the values of all \fBvscan\fR service general properties and scan
+engine properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscanadm stats\fR [\fB-z\fR]\fR
+.ad
+.RS 23n
+.rt
+Displays or resets the following \fBvscan\fR service statistics:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+number of files scanned
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+number of infected files
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+number of failed scan requests
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+scan errors (including a per scan engine error count)
+.RE
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR\fR
+.ad
+.RS 6n
+.rt
+Resets \fBvscan\fR service statistics counters to zero
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSetting the Maximum Size Limit
+.sp
+.LP
+To set the maximum size limit for files to be virus scanned to 128 megabytes,
+enter
+
+.sp
+.in +2
+.nf
+# vscanadm set -p max-size=128M
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAllowing Access to Files
+.sp
+.LP
+To allow access to files exceeding the maximum file size, enter
+
+.sp
+.in +2
+.nf
+# vscanadm set -p max-size-action=allow
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSetting File Types
+.sp
+.LP
+To set the types so that only files of type "odt", "exe" and "jpg" are virus
+scanned, enter
+
+.sp
+.in +2
+.nf
+# vscanadm set -p types=+odt,+exe,+jpg,-*
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To set the types so that all file types except "doc" are virus scanned, enter
+
+.sp
+.in +2
+.nf
+# vscanadm set -p types=-doc,+*
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisplaying the File Types List
+.sp
+.LP
+To display the file types list, enter
+
+.sp
+.in +2
+.nf
+# vscanadm get -p types
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRAdding the Scan Engine
+.sp
+.LP
+To add the scan engine "\fBmy_eng\fR" using the default values, enter
+
+.sp
+.in +2
+.nf
+# vscanadm add-engine my_eng
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDisabling the Scan Engine
+.sp
+.LP
+To disable the scan engine "\fBmy_eng\fR", enter
+
+.sp
+.in +2
+.nf
+# vscanadm set-engine -p enable=off my_eng
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRDisplaying Scan Engine Properties
+.sp
+.LP
+To display the properties of the scan engine "\fBmy_eng\fR", enter
+
+.sp
+.in +2
+.nf
+# vscanadm get-engine my_eng
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRRemoving Scan Engine
+.sp
+.LP
+To remove the scan engine "\fBmy_eng\fR", enter
+
+.sp
+.in +2
+.nf
+# vscanadm remove-engine my_eng
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRDisplaying Vscan Service General and Scan Engine Properties
+.sp
+.LP
+To Display all vscan service general properties and scan engine properties,
+enter
+
+.sp
+.in +2
+.nf
+# vscanadm show
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+_
+Utility output formatNot-An-Interface
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBvscand\fR(1M), \fBzfs\fR(1M), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+All users are permitted to use \fBvscanadm\fR to view \fBvscan\fR properties
+and statistics. To set property values or reset statistics, the following
+authorizations are required:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsolaris.smf.value.vscan\fR\fR
+.ad
+.sp .6
+.RS 4n
+change the property values or reset statistics
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsolaris.manage.vscan\fR\fR
+.ad
+.sp .6
+.RS 4n
+refresh the service to apply property value changes
+.RE
+
+.sp
+.LP
+To add or remove properties (\fBadd-engine\fR, \fBremove-engine\fR) the
+following authorizations are required:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsolaris.smf.modify.application\fR\fR
+.ad
+.sp .6
+.RS 4n
+add or remove property group
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsolaris.manage.vscan\fR\fR
+.ad
+.sp .6
+.RS 4n
+refresh the service to apply property value changes
+.RE
+
+.sp
+.LP
+All of these authorizations are included in the "\fBVSCAN\fR Management"
+profile.
diff --git a/usr/src/man/man1m/vscand.1m b/usr/src/man/man1m/vscand.1m
new file mode 100644
index 0000000000..94513039c2
--- /dev/null
+++ b/usr/src/man/man1m/vscand.1m
@@ -0,0 +1,129 @@
+'\" te
+.\" Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH vscand 1M "6 Nov 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+vscand \- vscan service daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/vscan/vscand\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBvscand\fR is the daemon that handles virus scan requests from file systems
+on file open and close operations. A file system may support enabling and
+disabling of virus scanning on a per dataset basis, using that file system's
+administrative command, for example \fBzfs\fR(1M).
+.sp
+.LP
+If the file state or scan policy (see \fBvscanadm\fR(1M) requires that a file
+be scanned, \fBvscand\fR communicates with external third-party virus scanners
+(scan engines) using the Internet Content Adaptation Protocol (\fBICAP\fR,
+\fBRFC\fR 3507) to have the file scanned.
+.sp
+.LP
+A file is submitted to a scan engine if it has been modified since it was last
+scanned, or if it has not been scanned with the latest scan engine
+configuration (Virus definitions). The file's modified attribute and
+\fBscanstamp\fR attribute are used to store this information. Once the file is
+scanned, the modified attribute is cleared and the \fBscanstamp\fR attribute is
+updated.
+.sp
+.LP
+If the file is found to contain a virus, the virus is logged in
+\fBsyslogd\fR(1M), an audit record is written, and the file is quarantined (by
+setting its quarantine attribute). Once a file is quarantined, attempts to
+read, execute or rename the file will be denied by the file system. The
+\fBsyslogd\fR(1M) entry and the audit record specify the name of the infected
+file and the violations detected in the file. Each violation is specified as
+"ID - threat description", where \fBID\fR and threat description are defined in
+the X-Infection-Found-Header in \fBICAP\fR \fBRFC\fR 3507; Extensions.
+.sp
+.LP
+By default, \fBvscand\fR connects to scan engines on port 1344. The port and
+other service configuration parameters can be configured using
+\fBvscanadm\fR(1M).
+.sp
+.LP
+The \fBvscan\fR service is disabled by default, and can be enabled using
+\fBsvcadm\fR(1M).
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Daemon started successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+Daemon failed to start.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBps\fR(1), \fBsvcs\fR(1), \fBlogadm\fR(1M), \fBsvcadm\fR(1M),
+\fBsyslogd\fR(1M), \fBvscandadm\fR(1M), \fBzfs\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+If a file is accessed using a protocol which does not invoke the file system
+open and close operations, for example \fBNFSv3\fR, virus scanning is not
+initiated on the file.
+.sp
+.LP
+File content is transferred to the scan engines as \fBcleartext\fR data.
+.sp
+.LP
+Administrative actions for the \fBvscan\fR service, such as enabling,
+disabling, or requesting a restart, can be performed using \fBsvcadm\fR(1M).
+The \fBvscan\fR service status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+The \fBvscan\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/filesystem/vscan
+.fi
+.in -2
+.sp
+
diff --git a/usr/src/man/man1m/wall.1m b/usr/src/man/man1m/wall.1m
new file mode 100644
index 0000000000..e947df22cf
--- /dev/null
+++ b/usr/src/man/man1m/wall.1m
@@ -0,0 +1,104 @@
+'\" te
+.\" Copyright (c) 2000 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wall 1M "13 Jul 1994" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wall \- write to all users
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/wall\fR [\fB-a\fR] [\fB-g\fR \fIgrpname\fR] [\fIfilename\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBwall\fR reads its standard input until an end-of-file. It then sends this
+message to all currently logged-in users preceded by:
+.sp
+.in +2
+.nf
+Broadcast Message from .\|.\|.
+.fi
+.in -2
+
+.sp
+.LP
+If \fIfilename\fR is given, then the message is read in from that file.
+Normally, pseudo-terminals that do not correspond to rlogin sessions are
+ignored. Thus, when using a window system, the message appears only on the
+console window. However, \fB-a\fR will send the message even to such
+pseudo-terminals.
+.sp
+.LP
+It is used to warn all users, typically prior to shutting down the system.
+.sp
+.LP
+The sender must be superuser to override any protections the users may have
+invoked See \fBmesg\fR(1).
+.sp
+.LP
+\fBwall\fR runs \fBsetgid()\fR to the group \fBID\fR \fBtty\fR, in order to
+have write permissions on other user's terminals. See \fBsetuid\fR(2).
+.sp
+.LP
+\fBwall\fR will detect non-printable characters before sending them to the
+user's terminal. Control characters will appear as a "\fB ^ \fR" followed by
+the appropriate \fBASCII\fR character; characters with the high-order bit set
+will appear in "meta" notation. For example, `\fB\e003\fR\&' is displayed as
+`\fB^C\fR' and `\fB\e372\fR\&' as `\fBM\(miz\fR'.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 14n
+.rt
+Broadcast message to the console and pseudo-terminals.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-\fR\fBg\fR \fIgrpname\fR\fR
+.ad
+.RS 14n
+.rt
+Broadcast to the users in a specified group only, per the group database (see
+\fBgroup\fR(4)).
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+If the \fBLC_*\fR variables (\fBLC_CTYPE\fR, \fBLC_TIME\fR, \fBLC_COLLATE\fR,
+\fBLC_NUMERIC\fR, and \fBLC_MONETARY\fR) are not set in the environment, the
+operational behavior of \fBwall\fR for each corresponding locale category is
+determined by the value of the \fBLANG\fR environment variable. See
+\fBenviron\fR(5). If \fBLC_ALL\fR is set, its contents are used to override
+both the \fBLANG\fR and the other \fBLC_*\fR variables. If none of the above
+variables are set in the environment, the "C" (U.S. style) locale determines
+how \fBwall\fR behaves.
+.SH FILES
+.sp
+.LP
+\fB/dev/tty*\fR
+.SH SEE ALSO
+.sp
+.LP
+\fBmesg\fR(1), \fBwrite\fR(1), \fBsetuid\fR(2), \fBattributes\fR(5),
+\fBenviron\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBwall\fR displays ``Cannot send to \|.\|.\|.'' when the open on a user's
+\fBtty\fR file fails.
diff --git a/usr/src/man/man1m/wanboot_keygen.1m b/usr/src/man/man1m/wanboot_keygen.1m
new file mode 100644
index 0000000000..87dce1c292
--- /dev/null
+++ b/usr/src/man/man1m/wanboot_keygen.1m
@@ -0,0 +1,204 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wanboot_keygen 1M "18 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wanboot_keygen \- create and display client and server keys for WAN booting
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/keygen\fR \fB-c\fR \fB-o\fR net=\fIa.b.c.d\fR ,cid=\fIclient_ID\fR,type=3des
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/keygen\fR \fB-c\fR \fB-o\fR net=\fIa.b.c.d\fR ,cid=\fIclient_ID\fR,type=aes
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/keygen\fR \fB-m\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/keygen\fR \fB-c\fR \fB-o\fR net=\fIa.b.c.d\fR ,cid=\fIclient_ID\fR,type=sha1
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/keygen\fR \fB-d\fR \fB-m\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/keygen\fR \fB-c\fR \fB-o\fR net=\fIa.b.c.d\fR ,cid=\fIclient_ID\fR,type=\fIkeytype\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBkeygen\fR utility has three purposes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Using the \fB-c\fR flag, to generate and store per-client 3DES/AES encryption
+keys, avoiding any DES weak keys.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Using the \fB-m\fR flag, to generate and store a "master" HMAC SHA-1 key for
+WAN install, and to derive from the master key per-client HMAC SHA-1 hashing
+keys, in a manner described in RFC 3118, Appendix A.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Using the \fB-d\fR flag along with either the \fB-c\fR or \fB-m\fR flag to
+indicate the key repository, to display a key of type specified by
+\fIkeytype\fR, which must be one of \fB3des\fR, \fBaes\fR, or \fBsha1\fR.
+.RE
+.sp
+.LP
+The \fBnet\fR and \fBcid\fR arguments are used to identify a specific client.
+Both arguments are optional. If the \fBcid\fR option is not provided, the key
+being created or displayed will have a per-network scope. If the \fBnet\fR
+option is not provided, then the key will have a global scope. Default net and
+code values are used to derive an HMAC SHA-1 key if the values are not provided
+by the user.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt
+Generate and store per-client 3DES/AES encryption keys, avoiding any DES weak
+keys. Also generates and stores per-client HMAC SHA-1 keys. Used in conjunction
+with \fB-o\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt
+Display a key of type specified by \fIkeytype\fR, which must be one of
+\fB3des\fR, \fBaes\fR, or \fBsha1\fR. Use \fB-d\fR with \fB-m\fR or with
+\fB-c\fR and \fB-o\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 6n
+.rt
+Generate and store a "master" HMAC SHA-1 key for WAN install.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR\fR
+.ad
+.RS 6n
+.rt
+Specifies the WANboot client and/or keytype.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRGenerate a Master HMAC SHA-1 Key
+.sp
+.in +2
+.nf
+# keygen -m
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRGenerate and Then Display a Client-Specific Master HMAC SHA-1
+Key
+.sp
+.in +2
+.nf
+# keygen -c -o net=172.16.174.0,cid=010003BA0E6A36,type=sha1
+# keygen -d -c -o net=172.16.174.0,cid=010003BA0E6A36,type=sha1
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRGenerate and Display a 3DES Key with a Per-Network Scope
+.sp
+.in +2
+.nf
+# keygen -c -o net=172.16.174.0,type=3des
+# keygen -d -o net=172.16.174.0,type=3des
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/wanboot_keymgmt.1m b/usr/src/man/man1m/wanboot_keymgmt.1m
new file mode 100644
index 0000000000..63b266662c
--- /dev/null
+++ b/usr/src/man/man1m/wanboot_keymgmt.1m
@@ -0,0 +1,165 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wanboot_keymgmt 1M "18 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wanboot_keymgmt \- insert and extract keys
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/keymgmt\fR \fB-i\fR \fB-k\fR \fIkey_file\fR \fB-s\fR \fIkeystore\fR \fB-o\fR type=\fIkeytype\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/keymgmt\fR \fB-x\fR \fB-f\fR \fIoutfile\fR \fB-s\fR \fIkeystore\fR \fB-o\fR type=\fIkeytype\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBkeymgmt\fR utility has two purposes:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+To take a raw key, stored in \fIkey_file\fR, and insert it in the repository
+specified by \fIkeystore\fR.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+To extract a key of a specified type from the repository specified by
+\fIkeystore\fR, depositing it in \fIoutfile\fR.
+.RE
+.sp
+.LP
+\fIoutfile\fR will be created if it does not already exist. The type of key
+being added or extracted is specified by \fIkeytype\fR and may have one of four
+values: \fB3des\fR, \fBaes\fR, \fBrsa\fR, or \fBsha1\fR (the last used by HMAC
+SHA-1). When extracting a key, the first key with an OID matching the supplied
+type is used.
+.SH ARGUMENTS
+.sp
+.LP
+The following arguments are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 19n
+.rt
+Used in conjunction with \fB-k\fR to insert a raw key in \fIkeystore\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIoutfile\fR\fR
+.ad
+.RS 19n
+.rt
+Used to specify a file to receive an extracted key.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIkey_file\fR\fR
+.ad
+.RS 19n
+.rt
+Used in conjunction with \fB-i\fR to specify the file in which a raw key is
+stored. This key will be inserted in \fIkeystore\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR type=\fIkeytype\fR\fR
+.ad
+.RS 19n
+.rt
+Specifies the type of key being inserted or extracted. Must be one of
+\fB3des\fR, \fBaes\fR, \fBrsa\fR, or \fBsha1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIkeystore\fR\fR
+.ad
+.RS 19n
+.rt
+Specifies a repository in which a key will be inserted or from which a key will
+be extracted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 19n
+.rt
+Used in conjunction with \fB-f\fR to extract a key of a specified type and
+deposit it in \fIoutfile\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
+.sp
+.LP
+ITU-T Recommendation X.208
diff --git a/usr/src/man/man1m/wanboot_p12split.1m b/usr/src/man/man1m/wanboot_p12split.1m
new file mode 100644
index 0000000000..43612f4b29
--- /dev/null
+++ b/usr/src/man/man1m/wanboot_p12split.1m
@@ -0,0 +1,142 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wanboot_p12split 1M "18 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wanboot_p12split \- split a PKCS #12 file into separate certificate and key
+files
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/wanboot/p12split\fR \fB-i\fR \fIp12file\fR \fB-c\fR \fIout_cert\fR \fB-k\fR \fIout_key\fR
+ [\fB-t\fR \fIout_trust\fR \fB-l\fR \fIid\fR \fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBp12split\fR utility extracts a certificate and private key from the
+repository specified by \fIp12file\fR, depositing the certificate in
+\fIout_cert\fR and the key in \fIout_key\fR. If supplied, the \fB-l\fR option
+specifies the value for the \fBLocalKeyId\fR that will be used in the new
+certificate and key files. \fBp12split\fR can optionally extract a trust
+certificate into the \fIout_trust\fR file if the \fB-t\fR option is specified.
+Use the \fB-v\fR option to get a verbose description of the split displayed to
+standard output.
+.SH OPTIONS
+.sp
+.LP
+The following arguments and options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIout_cert\fR\fR
+.ad
+.RS 16n
+.rt
+Specifies a repository that receives a extracted certificate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIp12file\fR\fR
+.ad
+.RS 16n
+.rt
+Specifies a repository from which a certificate and private key is extracted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIout_key\fR\fR
+.ad
+.RS 16n
+.rt
+Specifies a repository that receives a extracted private key.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIid\fR\fR
+.ad
+.RS 16n
+.rt
+Specifies the value for the \fBLocalKeyId\fR that will be used in the new
+certificate and key files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIout_trust\fR\fR
+.ad
+.RS 16n
+.rt
+Specifies a file for receiving an extracted trust certificate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 16n
+.rt
+Displays a verbose description of the split to stdout.
+.RE
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5)
diff --git a/usr/src/man/man1m/wanbootutil.1m b/usr/src/man/man1m/wanbootutil.1m
new file mode 100644
index 0000000000..efa5d5eee5
--- /dev/null
+++ b/usr/src/man/man1m/wanbootutil.1m
@@ -0,0 +1,149 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wanbootutil 1M "18 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wanbootutil \- manage keys and certificates for WAN booting
+.SH SYNOPSIS
+.LP
+.nf
+\fBwanbootutil\fR [keygen] [\fIoption_specific_arguments\fR]
+.fi
+
+.LP
+.nf
+\fBwanbootutil\fR [keymgmt] [\fIoption_specific_arguments\fR]
+.fi
+
+.LP
+.nf
+\fBwanbootutil\fR [p12split] [\fIoption_specific_arguments\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBwanbootutil\fR command creates and manages WANboot encyrption and
+hashing keys and manipulates PKCS #12 files for use by WAN boot.
+.sp
+.LP
+\fBwanbootutil\fR has three subcommands, each covered in a separate man page:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwanboot_keygen\fR(1M)\fR
+.ad
+.RS 24n
+.rt
+Generates encryption and hashing keys.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwanboot_keymgmt\fR(1M)\fR
+.ad
+.RS 24n
+.rt
+Inserts and extracts keys from WAN boot key repositories.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwanboot_p12split\fR(1M)\fR
+.ad
+.RS 24n
+.rt
+Splits a PKCS #12 file into separate certificate and key files for use by WAN
+boot.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The options are supported for \fBwanbootutil\fR are the use of \fBkeygen\fR,
+\fBkeymgmt\fR, or \fBp12split\fR. The options for these subcommands are
+described in their respective man pages.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRGenerate a 3DES Client Key
+.sp
+.in +2
+.nf
+# wanbootutil keygen -c -o net=172.16.174.0,cid=010003BA0E6A36,type=3des
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRInsert an RSA Private Client Key
+.sp
+.in +2
+.nf
+wanbootutil keymgmt -i -k keyfile \e
+ -s /etc/netboot/172.16.174.0/010003BA0E6A36/keystore -o type=rsa
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRSplit a PKCS #12 File into Certificate and Key Components
+.sp
+.in +2
+.nf
+# wanbootutil p12split -i p12file -c out_cert -k out_key
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnon-zero\fR\fR
+.ad
+.RS 12n
+.rt
+An error occurred. Writes an appropriate error message to standard error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBwanboot_keygen\fR(1M), \fBwanboot_keymgmt\fR(1M),
+\fBwanboot_p12split\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/whodo.1m b/usr/src/man/man1m/whodo.1m
new file mode 100644
index 0000000000..5acbc1ae5d
--- /dev/null
+++ b/usr/src/man/man1m/whodo.1m
@@ -0,0 +1,224 @@
+'\" te
+.\" Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH whodo 1M "18 Jun 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+whodo \- who is doing what
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/whodo\fR [\fB-h\fR] [\fB-l\fR] [\fIuser\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBwhodo\fR command produces formatted and dated output from information in
+the \fB/var/adm/utmpx\fR and \fB/proc/pid\fR files.
+.sp
+.LP
+The display is headed by the date, time, and machine name. For each user logged
+in, device name, user-ID and login time is shown, followed by a list of active
+processes associated with the user-ID. The list includes the device name,
+process-ID, CPU minutes and seconds used, and process name.
+.sp
+.LP
+If \fIuser\fR is specified, output is restricted to all sessions pertaining to
+that user.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 6n
+.rt
+Suppress the heading.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+Produce a long form of output. The fields displayed are: the user's login name,
+the name of the tty the user is on, the time of day the user logged in (in
+\fIhours\fR\fB:\fR\fIminutes\fR), the idle time \(em that is, the time since
+the user last typed anything (in \fIhours\fR\fB:\fR\fIminutes\fR), the CPU time
+used by all processes and their children on that terminal (in
+\fIminutes\fR\fB:\fR\fIseconds\fR), the CPU time used by the currently active
+processes (in \fIminutes\fR\fB:\fR\fIseconds\fR), and the name and arguments of
+the current process.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the whodo Command
+.sp
+.LP
+The command:
+
+.sp
+.in +2
+.nf
+example% whodo
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+produces a display like this:
+
+.sp
+.in +2
+.nf
+Tue Mar 12 15:48:03 1985
+bailey
+tty09 mcn 8:51
+ tty09 28158 0:29 sh
+
+tty52 bdr 15:23
+ tty52 21688 0:05 sh
+ tty52 22788 0:01 whodo
+ tty52 22017 0:03 vi
+ tty52 22549 0:01 sh
+
+xt162 lee 10:20
+ tty08 6748 0:01 layers
+ xt162 6751 0:01 sh
+ xt163 6761 0:05 sh
+ tty08 6536 0:05 sh
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+If any of the \fBLC_*\fR variables ( \fB\fR\fBLC_CTYPE\fR\fB,\fR
+\fBLC_MESSAGES\fR\fB,\fR \fBLC_TIME\fR\fB,\fR \fBLC_COLLATE\fR\fB,\fR
+\fBLC_NUMERIC\fR\fB,\fR and \fBLC_MONETARY\fR ) (see \fBenviron\fR(5)) are not
+set in the environment, the operational behavior of \fBtar\fR(1) for each
+corresponding locale category is determined by the value of the \fBLANG\fR
+environment variable. If \fBLC_ALL\fR is set, its contents are used to override
+both the \fBLANG\fR and the other \fBLC_*\fR variables. If none of the above
+variables is set in the environment, the "C" (U.S. style) locale determines how
+\fBwhodo\fR behaves.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_CTYPE\fR\fR
+.ad
+.RS 15n
+.rt
+Determines how \fBwhodo\fR handles characters. When \fBLC_CTYPE\fR is set to a
+valid value, \fBwhodo\fR can display and handle text and filenames containing
+valid characters for that locale. The \fBwhodo\fR command can display and
+handle Extended Unix code (EUC) characters where any individual character can
+be 1, 2, or 3 bytes wide. \fBwhodo\fR can also handle EUC characters of 1, 2,
+or more column widths. In the "C" locale, only characters from ISO 8859-1 are
+valid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_MESSAGES\fR\fR
+.ad
+.RS 15n
+.rt
+Determines how diagnostic and informative messages are presented. This includes
+the language and style of the messages, and the correct form of affirmative and
+negative responses. In the "C" locale, the messages are presented in the
+default form found in the program itself (in most cases, U.S. English).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLC_TIME\fR\fR
+.ad
+.RS 15n
+.rt
+Determines how \fBwhodo\fR handles date and time formats. In the "C" locale,
+date and time handling follow the U.S. rules.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 12n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnon-zero\fR
+.ad
+.RS 12n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/passwd\fR\fR
+.ad
+.RS 18n
+.rt
+System password file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/utmpx\fR\fR
+.ad
+.RS 18n
+.rt
+User access and administration information
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/proc/pid\fR\fR
+.ad
+.RS 18n
+.rt
+Contains PID
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBps\fR(1), \fBwho\fR(1), \fBattributes\fR(5), \fBenviron\fR(5)
diff --git a/usr/src/man/man1m/wificonfig.1m b/usr/src/man/man1m/wificonfig.1m
new file mode 100644
index 0000000000..3cd1da6caa
--- /dev/null
+++ b/usr/src/man/man1m/wificonfig.1m
@@ -0,0 +1,1115 @@
+'\" te
+.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wificonfig 1M "31 Oct 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wificonfig \- WLAN configuration
+.SH SYNOPSIS
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] autoconf
+ [\fIwait\fR={\fIn\fR|\fIforever\fR}]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] connect profile
+ [\fIwait\fR={\fIn\fR|\fIforever\fR}]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] connect essid
+ [\fIwait\fR={\fIn\fR|\fIforever\fR}]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] disconnect
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] getparam
+ [\fIparameter\fR []...]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] setparam
+ [\fIparameter\fR=\fIvalue\fR []...]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] restoredef
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] scan
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] showstatus
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] [\fB-i\fR \fIinterface\fR] setwepkey 1|2|3|4
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] createprofile profile
+ [\fIparameter\fR=\fIvalue\fR []...]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] deleteprofile \fIprofile1\fR
+ [\fIprofile2\fR []...]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] showprofile [\fIprofile\fR]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] setprofilewepkey \fIprofile\fR 1|2|3|4
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] getprofileparam \fIprofile\fR
+ [\fIparameter\fR []...]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] setprofileparam
+ [\fIparameter\fR=\fIvalue\fR []...]
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] history
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] listprefer
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] removeprefer \fIprofile\fR
+.fi
+
+.LP
+.nf
+\fBwificonfig\fR [\fB-R\fR \fIroot_path\fR] setprefer \fIprofile\fR [\fIn\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBwificonfig\fR defines a set of subcommands and parameters to configure
+\fBWiFi\fR interfaces in the system. A driver may support all parameters or a
+subset of these parameters.
+.sp
+.LP
+\fBwificonfig\fR uses \fBrbac\fR(5) to control user access to the interface.
+Only users with the "solaris.network.wifi.config" authorization can manage a
+\fBWiFi\fR interface, while only users with
+"solaris.network.wifi.wep"authorizations can configure the \fBWEP\fR (Wired
+Equivalent Privacy) key. Other users can only read parameters from the
+interface. By default, the "solaris.network.wifi.config" and
+"solaris.network.wifi.wep" authorizations are not granted to any user apart
+from root.
+.sp
+.LP
+\fBWificonfig\fR comes in two classes of forms. The first class, shown as the
+first set of synopsis combined with the optional interface name, is the
+subcommands used to a manipulate a particular \fBWiFi\fR network interface. The
+second class, shown as the second set of synopsis, is used to create and
+operate on \fBWiFi\fR Configuration Profiles. A Configuration Profile allows
+the user to pre-specify a set of parameters which can later be applied to a
+\fBWiFi\fR network interface using the \fBconnect\fR or \fBautoconf\fR
+subcommands.
+.sp
+.LP
+In the interface subcommands, if the interface is not specified (that is, the
+\fB-i\fR option is missing), \fBwificonfig\fR selects a random interface from
+the known \fBWiFi\fR interfaces on the system. If there are multiple \fBWiFi\fR
+network interfaces on the system, then the selection will be the same over time
+as long as the number of and names of the \fBWiFi\fR interfaces does not
+change.
+.sp
+.LP
+A Configuration Profile can be created for a \fBWLAN\fR by using the
+\fBcreateprofile\fR subcommand (see the SUBCOMMANDS section). The actual
+\fBWLAN\fR may be present or not.
+.sp
+.LP
+\fBwificonfig\fR also maintains a list of Configuration Profiles called the
+Preference List. This list makes automatic configuration possible. When the
+\fBautoconf\fR subcommand is used, \fBwificonfig\fR tries to connect to each
+pre-configured \fBWLAN\fR according to the order of the Preference List. If the
+Preference List is empty or none of the \fBWLAN\fRs in the Preference List can
+be found, \fBwificonfig\fR uses its built-in heuristics to automatically
+configure the interface. (See the \fBautoconf\fR subcommand for the
+heuristics). A few subcommands (\fBlistprefer\fR, \fBsetprefer\fR,
+\fBremoveprefer\fR) are defined to manipulate the Preference List.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterface\fR\fR
+.ad
+.RS 16n
+.rt
+Specifies a wireless network interface to do the configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot_path\fR\fR
+.ad
+.RS 16n
+.rt
+Defines the full path name of a directory to use as the \fIroot_path\fR. This
+affects the location of the private files where \fBwificonfig\fR stores the
+Configuration Profiles and \fBWEP\fR keys.
+.RE
+
+.SS "OPERANDS"
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fBprofile\fR
+.ad
+.RS 11n
+.rt
+The name of a \fBWiFi\fR profile. It can be a string between 1 and 32
+characters. However, "all", "{preference}", "{history}", "{active_profile}",
+and any strings contained in brackets, such as "[foo]", are not allowed as a
+profile name.
+.RE
+
+.SS "SUBCOMMANDS"
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBautoconf\fR [wait={\fIn\fR|\fIforever\fR}]\fR
+.ad
+.sp .6
+.RS 4n
+Configures the interface automatically. The interface is configured according
+to the previously saved Preference List found in \fB/etc/inet/wifi\fR.
+\fBwificonfig\fR first gets a list of available \fBWLAN\fRs by scanning the
+radio. It then compares the list of available \fBWLAN\fRs with the Preference
+List. If the Preference List is empty, or if none of the \fBWLAN\fRs in the
+Preference List can be found, \fBwificonfig\fR chooses a \fBWLAN\fR to connect
+to using the following priorities: 1) the \fBWLAN\fRs without encryption, 2)
+the \fBWLAN\fRs with stronger signal strength, and 3) the \fBWLAN\fRs with
+higher transmit rates.
+.sp
+If the \fBWLAN\fRs in the Preference list are available, the user can specify
+the number of seconds to wait before \fBautoconf\fR returns using the wait
+option. By default (without the wait option), \fBautoconf\fR returns within 10
+seconds. If "\fIforever\fR" or -1 follows the wait option, \fBwificonfig\fR
+waits until the \fBNIC\fR is successfully connected to the \fBWLAN\fR specified
+by the profile in the Preference list.
+.sp
+The "solaris.network.wifi.config" authorization is required for this
+subcommand.
+.sp
+The \fBWiFi\fR device driver can not guarantee to retain the state for the
+connection when it is not held open. For this reason, it is strongly
+recommended that the \fBplumb\fR subcommand for \fBifconfig\fR(1M) is done
+before the \fBwificonfig autoconf\fR subcommand is given.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnect\fR \fIprofile\fR[wait={\fIn\fR|\fIforever\fR}]\fR
+.ad
+.br
+.na
+\fB\fBconnect\fR \fIessid\fR[wait={\fIn\fR|\fIforever\fR}]\fR
+.ad
+.sp .6
+.RS 4n
+Connects to a wireless network according to a pre-configured "profile". If the
+specified Configuration Profile exists in /etc/inet/wifi, the \fBconnect\fR
+subcommand uses that Configuration Profile to configure the interface. That
+profile subsequently becomes the current active profile of the interface after
+the \fBconnect\fR subcommand succeeds. If no existing Configuration Profile
+matches the specified name, the behavior of the \fBconnect\fR subcommand is
+equivalent to the \fBrestoredef\fR subcommand, except that the "essid"
+parameter is set as "profile".
+.sp
+If the \fBWLAN\fRs in the Preference list are available, the user can specify
+the number of seconds to wait before \fBconnect\fR returns using the wait
+option. By default (without the wait option), \fBconnect\fR trys for 10
+seconds. If "\fIforever\fR" or -1 follows the wait option, \fBwificonfig\fR
+tries until the \fBNIC\fR is successfully connected to the profile or essid
+that was specified.
+.sp
+The \fBconnect\fR subcommand prints one of the following lines depending on
+whether or not a Configuration Profile was found for the specified name:
+.sp
+.in +2
+.nf
+Connecting to profile <name>
+Connecting to essid <name>
+.fi
+.in -2
+.sp
+
+The "solaris.network.wifi.config" authorization is required for this
+subcommand.
+.sp
+The \fBWiFi\fR device driver can not guarantee to retain the state for the
+connection when it is not held open. For this reason, it is strongly
+recommended that the \fBplumb\fR subcommand for \fBifconfig\fR(1M) is done
+before the \fBwificonfig autoconf\fR subcommand is given.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisconnect\fR\fR
+.ad
+.sp .6
+.RS 4n
+Disconnects the interface from the currently associated wireless network. The
+interface associates with none of the wireless networks.
+.sp
+The "solaris.network.wifi.config" authorization is required for this
+subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgetparam\fR [parameter [...]]\fR
+.ad
+.br
+.na
+\fB\fBsetparam\fR [parameter=value [...]]\fR
+.ad
+.sp .6
+.RS 4n
+Gets or sets parameters in the network interface. This does not affect any
+profile. The \fBsetprofileparam\fR subcommand can be used to set and change
+parameters in a profile that has already been created.
+.sp
+The \fBsetparam\fR subcommand without any parameters displays the set of
+parameters supported by the network interface, including whether they are
+read/write or read only. The \fBgetparam\fR subcommand without any parameters
+displays all the parameters and their values.
+.sp
+The \fBsetparam wepkey1|wepkey2|wepkey3|wepkey4\fR subcommand requires the
+"solaris.network.wifi.wep" authorization. For all other parameters, the
+\fBsetparam\fR subcommand requires the
+"solaris.network.wifi.config"authorization.
+.sp
+For example,
+.sp
+.in +2
+.nf
+$ wificonfig setparam <parameter1=value1> [parameter2=value2 [...]]
+$ wificonfig getparam <parameter1> [parameter2 [...]]
+.fi
+.in -2
+.sp
+
+\fBwificonfig\fR currently supports the following parameters (the values are
+case insensitive).
+.sp
+.ne 2
+.mk
+.na
+\fB\fIbssid\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBMAC\fR address of the associated Access Point. The valid value is a hex
+value of 6 bytes. The \fIbssid\fR can also be the \fBIBSSID\fR in an ad-hoc
+configuration. If the network interface is not connected to any \fBWLAN\fR,
+then the string "none" is shown instead of a 6 byte \fBMAC\fR address.
+Otherwise, the network interface is connected to a \fBWLAN\fR. The default
+value is "none". This parameter is read-only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIessid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Network name. The valid value is a string of up to 32 chars. If \fIessid\fR is
+an empty string, the driver automatically scans and joins the \fBWLAN\fR using
+the built-in heuristics. The default value is an empty string.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIbsstype\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether the Infrastructure Mode or Ad-Hoc Mode is used. The valid
+values are "ap", "bss", or "infrastructure" to join a \fBWLAN\fR through an
+Access Point, that is, to use infrastructure mode. The valid values are "ibss"
+or "ad-hoc" to join a peer-to-peer WLAN (also named "ad-hoc"). The valid value
+of "auto" automatically switches between the two types. The default value is
+"infrastructure'".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIcreateibss\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether to create an ad-hoc network (also called an \fIIBSS\fR if the
+\fBconnect\fR does not result in finding the desired network. This enables the
+user to start an ad-hoc network so that other hosts can join. The valid values
+are YES to start a new ad-hoc \fBWLAN\fR (instead of joining one) and NO to not
+start an ad-hoc \fBWLAN\fR. The default value is NO. The \fBNIC\fR always tries
+to join a \fBWLAN\fR first. If this is successful, the setting of
+\fIcreateibss\fR is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIchannel\fR\fR
+.ad
+.sp .6
+.RS 4n
+An integer indicating the operating frequency. This channel number varies by
+regulatory domain. When the channel number is obtained by the \fBgetparam\fR
+subcommand, the value indicates the actual channel the card uses to connect to
+the network. The channel number is set by the \fBsetparam\fR subcommand, and
+the value is only applicable when the card is in ad-hoc mode. It indicates the
+operating channel of the \fIIBSS\fR. The default value is the channel number on
+the card.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrates\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the transmission rates. The valid values (in Mbit/s) are 1, 2, 5.5,
+6, 9, 11, 12, 18, 22, 24, 33, 36, 48, and 54. A \fBNIC\fR may support multiple
+transmission rates depending on its capability. This is the only parameter that
+accepts multiple values. When multiple values are supplied to set this
+parameter, each value must be separated by a comma (,). See the \fBEXAMPLES\fR
+section for details. The default values are the data rates supported by the
+chip.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpowermode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the power management mode. The valid values are "off" to disable
+power management, "mps" for maximum power saving, and "fast" for the best
+combination of speed and power saving. The default value is "off".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIauthmode\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the authorization type. The valid values are "opensystem" for an open
+system, where anyone can be authenticated and "shared_key" for a Shared Key
+authentication mode. The default value is "opensystem".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIencryption\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the encryption algorithm to be used. The valid values are "none" for
+no encryption algorithm and "wep" to turn on \fBWEP\fR encryption. The default
+value is "none".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIwepkey1\fR|\fIwepkey2\fR|\fIwepkey3\fR|\fIwepkey4\fR\fR
+.ad
+.sp .6
+.RS 4n
+A maximum of 4 \fBWEP\fR keys (indexed 1 through 4) can be set in an \fBNIC\fR.
+They are write-only parameters which can be set by the \fBsetparam\fR
+subcommand, but cannot be read back by the \fBgetparam\fR subcommand. \fBWEP\fR
+keys can either be set by the \fBsetwepkey\fR or the \fBsetparam\fR subcommand.
+\fBsetparam\fR uses plain text but it's scriptable. See the \fBsetwepkey\fR
+subcommand for more information about how a \fBWEP\fR key is encoded. Setting
+\fBWEP\fR keys requires "solaris.network.wifi.wep"authorization.
+.sp
+When these subcommands are used to set a \fBWEP\fR key, any user on the system
+can read the key from the \fBps\fR(1) output. Thus, the \fBsetwepkey\fR
+subcommand is recommended for setting the \fBWEP\fR keys since it does not
+allow \fBps\fR(1) to read the keys.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIwepkeyindex\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the encryption keys. The valid values are 1 to use wepkey1, 2 to use
+wepkey2, 3 to use wepkey3, and 4 to use wepkey4. The default value is 1. This
+subcommand is only valid when \fBWEP\fR is on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsignal\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the strength of the received radio signal. The valid values are 0 -
+15 , where 0 is the weakest signal and 15 is the strongest signal. This
+parameter is read-only and indicates the radio signal strength received by the
+\fBNIC\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIradio\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies whether the radio is turned on or off. The valid values are "on" to
+turn on the radio and "off" to turn off the radio. The default value is "on".
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrestoredef\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces the \fBNIC\fR to restore the network interface to use the default values
+for all the parameters. See the \fBgetparam\fR and \fBsetparam\fR subcommands
+for the default values of the parameters.
+.sp
+The "solaris.network.wifi.config" authorization is required for this
+subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBscan\fR\fR
+.ad
+.sp .6
+.RS 4n
+Scans and lists the currently available \fBWLAN\fRs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshowstatus\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display the basic status of a \fBWLAN\fR interface. If the \fBWLAN\fR interface
+is connected, the basic status includes: the name of the current active
+profile, the name of the network, the \fIbssid\fR, whether the network is
+encrypted or not, and the signal strength.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsetwepkey\fR 1|2|3|4\fR
+.ad
+.sp .6
+.RS 4n
+Sets one of the 4 \fBWEP\fR encryption keys. \fBWEP\fR keys are used to
+encrypt the content of the network packets which are transmitted on air. There
+are 4 \fBWEP\fR keys in the \fBNIC\fR according to the 802.11 standards. The
+\fBsetwepkey\fR subcommand is used to update one of the 4 keys by prompting the
+user for the key. The user must enter the key twice. The input is not echoed.
+For example, to update setwepkey2:
+.sp
+.in +2
+.nf
+example% wificonfig -i ath0 setwepkey 2
+input wepkey2: < user input here>
+confirm wepkey2: < user input here>
+.fi
+.in -2
+.sp
+
+A \fBWEP\fR key can be 5 bytes or 13 bytes long. There are two ways to enter a
+\fBWEP\fR key, by \fBASCII\fR values or by hex values. If the user enters 5 or
+13 characters, it is considered the \fBASCII\fR representation of the key. If
+the user enters 10 or 26 characters, it is considered the hex representation of
+the key. For example "1234" is equivalent to "6162636465". If the user enters
+other number of characters, the subcommand fails. \fBWEP\fR keys are
+write-only; they cannot be read back via \fBwificonfig\fR.
+.sp
+The \fBWEP\fR keys can also be set in plain text form by the \fBsetparam\fR
+subcommand. This makes setting \fBWEP\fR keys scriptable (see the parameters of
+\fBsetparam\fR for the details).
+.sp
+The "solaris.network.wifi.wep" authorization is required for this subcommand.
+.RE
+
+.sp
+.LP
+The following profile subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreateprofile\fR \fIprofile\fR [parameter=value] [...]\fR
+.ad
+.sp .6
+.RS 4n
+Creates a Configuration Profile named \fIprofile\fR off-line. The specified
+parameters are saved as items of this Configuration Profile. The user can
+specify a group of parameters. At a minimum, the \fIessid\fR must be specified.
+.sp
+The "solaris.network.wifi.config" authorization is required for this
+subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdeleteprofile\fR \fIprofile1\fR [\fIprofile2\fR [...]]\fR
+.ad
+.sp .6
+.RS 4n
+Deletes one or more Configuration Profiles according to the specified names. If
+the specified Configuration Profile does not exist, this subcommand fails. The
+wild-card "all" can be used to delete all profiles.
+.sp
+The "solaris.network.wifi.config" authorization is required for this
+subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshowprofile\fR [\fIprofile\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Displays the parameters in the Configuration Profile according to the specified
+\fIprofile\fR. \fBWEP\fR (wired equivalent privacy) keys are not printed
+because they are write-only parameters. If no \fIprofile\fR is specified, all
+the profiles are shown.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsetprofilewepkey\fR 1|2|3|4\fR
+.ad
+.sp .6
+.RS 4n
+Sets one of the 4 \fBWEP\fR encryption keys in the specified Configuration
+Profile "profile". Like the other \fBprofile\fR subcommands,
+\fBsetprofilewepkey\fR does not affect the configuration of a network
+interface, even if a \fBWiFi\fR interface is currently running with the
+specified profile. In order for the modified profile to be applied to the
+network interface, the \fBconnect\fR or \fBautoconf\fR subcommands have to be
+used after the profile has been updated.
+.sp
+Other than that difference, the usage of \fBsetprofilewepkey\fR is the same as
+the \fBsetwepkey\fR subcommand. For example, to update wepkey 2 in profile
+"\fIhome\fR":
+.sp
+.in +2
+.nf
+example% wificonfig setprofilewepkey home 2
+input wepkey2: < user input here>
+confirm wepkey2: < user input here>
+.fi
+.in -2
+.sp
+
+The "solaris.network.wifi.wep" authorization is required for this subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgetprofileparam\fR \fIprofile\fR [parameter]\ [...]]\fR
+.ad
+.br
+.na
+\fB\fBsetprofileparam\fR \fIprofile\fR [parameter=value]\ [...]]\fR
+.ad
+.sp .6
+.RS 4n
+Gets or sets parameters in the specified Configuration Profile "\fIprofile\fR".
+Like the other profile subcommands, these subcommands do not affect the
+configuration of a network interface, even if a \fBWiFi\fR interface is
+currently running with the specified profile. In order for the modified
+profile to be applied to the network interface, the \fBconnect\fR or
+\fBautoconf\fR subcommands have to be used after the profile has been updated.
+.sp
+A \fBgetprofileparam\fR without any parameters will display all the parameters
+and their values.
+.sp
+"Solaris.network.wifi.wep" authorization is required when the \fBsetparam\fR
+subcommand is used with the
+\fIwepkey1\fR|\fIwepkey2\fR|\fIwepkey3\fR|\fIwepkey4\fR parameter. For all
+other parameters, the \fBsetparam\fR subcommand requires
+"solaris.network.wifi.config"authorization.
+.sp
+For example, to change the settings for the "\fIhome\fR" Configuration Profile,
+use:
+.sp
+.in +2
+.nf
+$ wificonfig setprofileparam home <parameter1=value1> \e
+[parameter2=value2 [...]]
+$ wificonfig getprofileparam home <parameter1> [parameter2 [...]]
+.fi
+.in -2
+.sp
+
+The set of parameters and their allowed values are the same as those specified
+for the \fBsetparam\fR subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhistory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the \fBWLAN\fRs in the History List. \fBwificonfig\fR automatically
+records the \fBWLAN\fRs that appear in every scanning attempt. The History List
+contains a maximum of 10 records of the most recent \fBWLAN\fRs, sorted by
+time. These records can be listed by using this subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlistprefer\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the content of the Preference List.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremoveprefer\fR \fIprofile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes one or more profiles from the Preference List. The wild-card "all" can
+be used to delete all profiles.
+.sp
+The "solaris.network.wifi.config" authorization is required for this
+subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsetprefer\fR \fIprofile\fR [\fIn\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Sets the position of a \fIprofile\fR in the Preference List. This may add or
+change the position of a \fIprofile\fR in the Preference List. The valid values
+of "\fIn\fR" range from 1 to 10. If "\fIn\fR" is missing, the default value of
+1 is assumed. If the specified position is already occupied, the occupying
+\fIprofile\fR is moved lower on the list. If "\fIn\fR" is off the end of the
+list, \fIprofile\fR is added to the end of the list. The Preference List can
+also be created by using this subcommand. If the \fBautoconf\fR subcommand is
+used at a later time, \fBwificonfig\fR tries to join the \fBWLAN\fRs according
+to the Preference List.
+.sp
+The "solaris.network.wifi.config" authorization is required for this
+subcommand.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRListing the Parameters Supported by a Driver
+.sp
+.LP
+To display what parameters the \fIath\fR driver supports and the read/write
+modes of the parameters:
+
+.sp
+.in +2
+.nf
+% wificonfig -i ath0 setparam
+ parameter property
+ bssid read only
+ essid read/write
+ bsstype read/write
+ rates read/write
+ authmode read/write
+ encryption read/write
+ wepkeyindex read/write
+ signal read only
+
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRGetting and Setting Parameters on the WiFi interface
+.sp
+.LP
+To get the current rates and signal strength from the driver:
+
+.sp
+.in +2
+.nf
+% wificonfig -i ath0 getparam rates signal
+ ath0:
+ rates = 1,2,5.5,11
+ signal = 10
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRManaging Configuration Profiles
+.sp
+.LP
+A Configuration Profile can be created offline and then connected to the
+network with the created Configuration Profile. The following series of
+commands creates the Configuration Profile, displays the contents of that
+profile, and connects to the network with the Configuration Profile:
+
+.sp
+.in +2
+.nf
+% wificonfig createprofile myXXX essid=rover encryption=WEP \e
+ wepkey1=12345
+% wificonfig showprofile myXXX
+ [myXXX]
+ essid=rover
+ encryption=WEP
+ wepkey1=[secret]
+
+% ifconfig ath0 plumb
+% wificonfig -i ath0 connect myXXX
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRManaging the Preference List
+.sp
+.LP
+A profile can be added to the Preference List and then used by the
+\fBautoconf\fR subcommand. The following series of commands adds a profile
+named \fImyXXX\fR to the top of the Preference List, automatically connects
+\fIath0\fR to the first available \fBWLAN\fR in the Preference List, and
+removes \fImy_neighbor\fR from the Preference List
+
+.sp
+.in +2
+.nf
+% wificonfig setprefer myXXX 1
+% ifconfig ath0 plumb
+% wificonfig -i ath0 autoconf
+% wificonfig removeprefer my_neighbor
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRViewing the History List
+.sp
+.LP
+To display the history of the \fBWLAN\fRs:
+
+.sp
+.in +2
+.nf
+% wificonfig history
+
+ WLAN history:
+
+ essid bssid encryption last seen
+ myXXX 00:0f:24:11:12:14 WEP Fri Sep 13 09:15:24 2004
+ my_office_ssid 00:0f:24:11:12:15 WEP Fri Sep 13 13:20:04 2004
+ my_neighbor1 00:0f:24:11:12:16 NONE Fri Sep 14 08:01:26 2004
+ my_neighbor2 00:0f:24:11:12:17 WEP Fri Sep 18 21:33:12 2004
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRAutomatic Configuration
+.sp
+.LP
+To configure the interface according to the previously saved Preference List:
+
+.sp
+.in +2
+.nf
+% ifconfig ath0 plumb
+% wificonfig -i ath0 autoconf
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the Preference List is empty, or none of the \fBWLAN\fRs listed by the
+Proference List can be found, \fBwificonfig\fR uses the default configuration,
+directs the interface to scan and join the \fBWLAN\fR using the built-in
+heuristics specified above.
+
+.LP
+\fBExample 7 \fRConnecting To a WLAN
+.sp
+.LP
+To search for a Configuration Profile with the name \fImyXXX\fR and configure
+the interface accordingly:
+
+.sp
+.in +2
+.nf
+% ifconfig ath0 plumb
+% wificonfig -i ath0 connect myXXX
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the specified Configuration Profile does not exist, \fBwificonfig\fR
+interprets it as an \fIessid\fR and sets \fIath0\fR to use \fIessid\fR
+\fImyXXX\fR, and no other parameters are set.
+
+.LP
+\fBExample 8 \fRDisplaying the Content of a Configuration Profile
+.sp
+.LP
+To print the parameters of the previously Configured Profile named
+\fImy_home_ssid\fR:
+
+.sp
+.in +2
+.nf
+% wificonfig showprofile my_home_ssid
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRMonitoring the link status
+.sp
+.LP
+To monitor the link status:
+
+.sp
+.in +2
+.nf
+% wificonfig -i ath0 showstatus
+ ath0:
+ linkstatus: not connected,
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+or
+
+.sp
+.in +2
+.nf
+ ath0:
+ linkstatus: connected
+ active profile: [home]
+ essid: myhome
+ bssid: 00:0b:0e:12:e2:02
+ encryption: WEP
+ signal: medium(10)
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRScanning for available networks
+.sp
+.LP
+To scan for available networks:
+
+.sp
+.in +2
+.nf
+% wificonfig -i ath0 scan
+essid bssid type encryption signal
+ level
+ietf64-secure 00:0b:0e:12:e2:02 access point WEP 9
+roomlinx 00:40:96:a1:13:70 access point none 6
+ietf64 00:0b:0e:13:32:00 access point none 3
+ietf64-secure 00:0b:0e:13:32:02 access point WEP 3
+ietf64 00:0b:0e:12:e2:00 access point none 9
+ietf64-secure 00:0b:0e:12:e4:c2 access point WEP 8
+ietf64 00:0b:0e:12:e4:c0 access point none 8
+roomlinx 00:40:96:a0:aa:aa access point none 1
+roomlinx 00:40:96:a0:ab:39 access point none 8
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful operation
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+Fatal Error; the operation failed. For example, a connect failed to associate
+with an Access Point.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Improper Use; help information will be printed
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Minor error
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBps\fR(1), \fBifconfig\fR(1M), \fBattributes\fR(5), \fBath\fR(7D)
diff --git a/usr/src/man/man1m/wpad.1m b/usr/src/man/man1m/wpad.1m
new file mode 100644
index 0000000000..5d35617303
--- /dev/null
+++ b/usr/src/man/man1m/wpad.1m
@@ -0,0 +1,171 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wpad 1M "11 Mar 2008" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wpad \- WPA and WPA2 protocol daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/inet/wpad\fR [\fB-i\fR \fIinterface\fR] [\fB-k\fR \fIpre_shared_key_name\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBwpad\fR daemon provides common client functionality for the WiFi
+Protected Access (WPA) versions 1 and 2, as defined by IEEE802.11i standard.
+WPA was created by the WiFi Alliance, an industry trade group. WPA implements
+the majority of the IEEE 802.11i standard, and was intended as an intermediate
+measure to take the place of Wired Equivalent Privacy (WEP) while 802.11i was
+prepared. WPA2 implements the full standard.
+.sp
+.LP
+\fBwpad\fR provides the following WPA/IEEE 802.11i features:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+WPA-PSK ("WPA-Personal")
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Key management for CCMP, TKIP, WEP104, WEP40
+.RE
+.sp
+.LP
+Stop and start the \fBwpad\fR daemon using \fBdladm\fR(1M). Use:
+.sp
+.in +2
+.nf
+# \fBdladm connect-wifi\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...to start the \fBwpad\fR daemon. Use:
+.sp
+.in +2
+.nf
+# \fBdladm disconnect-wifi\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\&...to stop the daemon.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIinterface\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify a WiFi Link interface to start the \fBwpad\fR daemon.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR \fIpre_shared_key_name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the pre-shared key used for the WiFi Link.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRStarting the \fBwpad\fR Daemon on Specific WiFi Link
+.sp
+.LP
+To create the WPA key \fBpsk\fR, enter the following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm create-secobj -c wpa psk\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To use key \fBpsk\fR to connect to ESSID \fBwlan\fR on link \fBath0\fR, enter
+the following command:
+
+.sp
+.in +2
+.nf
+# \fBdladm connect-wifi -k psk -e wlan ath0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRStopping the \fBwpad\fR Daemon on Specific WiFi Link
+.sp
+.LP
+To stop the daemon on the link \fBath0\fR, enter:
+
+.sp
+.in +2
+.nf
+# \fBdladm disconnect-wifi ath0\fR
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBdladm\fR(1M), \fBsvcadm\fR(1M), \fBattributes\fR(5),
+\fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBwpad\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/wpa:\fI<link>\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/wracct.1m b/usr/src/man/man1m/wracct.1m
new file mode 100644
index 0000000000..039890e42d
--- /dev/null
+++ b/usr/src/man/man1m/wracct.1m
@@ -0,0 +1,198 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wracct 1M "13 July 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wracct \- write extended accounting records for active processes and tasks
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/wracct\fR \fB-i\fR \fIid_list\fR [\fB-t\fR \fIrecord_type\fR]
+ {process | task}
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBwracct\fR utility allows the administrator to invoke the extended
+accounting system, if active, to write intermediate records representing the
+resource usage of a selected set of processes or tasks. For tasks, a
+\fIrecord_type\fR option is also supported, allowing the administrator to
+request the writing of:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+an interval record, which reflects task usage since a previous interval record
+(or since task creation if there is no interval record), or
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a partial record, which reflects usage since task creation.
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIid_list\fR\fR
+.ad
+.RS 18n
+.rt
+Select the \fBID\fRs of the tasks or processes to write records for. Specify
+\fIid_list\fR as a comma- or space-separated list of IDs, presented as a single
+argument. For some shells, this requires appropriate quoting of the argument.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIrecord_type\fR\fR
+.ad
+.RS 18n
+.rt
+Select type of record to write for the selected task or process. For tasks,
+\fIrecord_type\fR can be \fBpartial\fR or \fBinterval\fR. \fBpartial\fR is the
+default type, and the only type available for process records.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprocess\fR\fR
+.ad
+.RS 11n
+.rt
+Treat the given \fBID\fR as a process \fBID\fR for the purposes of constructing
+and writing an extended accounting record.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtask\fR\fR
+.ad
+.RS 11n
+.rt
+Treat the given \fBID\fR as a task \fBID\fR for the purposes of constructing
+and writing an extended accounting record.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRWriting a Partial Record
+.sp
+.LP
+Write a partial record for all active \fBsendmail\fR processes.
+
+.sp
+.in +2
+.nf
+# /usr/sbin/wracct -i "`pgrep sendmail`" process
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRWriting an Interval Record
+.sp
+.LP
+Write an interval record for the task with \fBID 182\fR.
+
+.sp
+.in +2
+.nf
+# /usr/sbin/wracct -t interval -i 182 task
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 5n
+.rt
+Pertinent components of extended accounting facility are not active.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/exacct/task\fR\fR
+.ad
+.RS 24n
+.rt
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/adm/exacct/proc\fR\fR
+.ad
+.RS 24n
+.rt
+Extended accounting data files.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBacctadm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/wusbadm.1m b/usr/src/man/man1m/wusbadm.1m
new file mode 100644
index 0000000000..7f99660de6
--- /dev/null
+++ b/usr/src/man/man1m/wusbadm.1m
@@ -0,0 +1,703 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH wusbadm 1M "22 Apr 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+wusbadm \- administer wireless USB hosts and devices
+.SH SYNOPSIS
+.LP
+.nf
+\fBwusbadm\fR list [\fB-h\fR | \fB-d\fR] [\fB-o\fR \fIfield\fR[,...]]
+.fi
+
+.LP
+.nf
+\fBwusbadm\fR associate [\fB-h\fR \fIhost-id\fR] [[\fB-c\fR [\fB-f\fR]] | \fB-n\fR] [\fB-o\fR]
+.fi
+
+.LP
+.nf
+\fBwusbadm\fR remove-dev [[\fB-d\fR \fIdev-id\fR] | [\fB-h\fR \fIhost-id\fR]] [\fB-f\fR]
+.fi
+
+.LP
+.nf
+\fBwusbadm\fR remove-host [\fB-h\fR \fIhost-id\fR] [\fB-f\fR]
+.fi
+
+.LP
+.nf
+\fBwusbadm\fR enable-host [\fB-h\fR \fIhost-id\fR]
+.fi
+
+.LP
+.nf
+\fBwusbadm\fR disable-host [\fB-h\fR \fIhost-id\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBwusbadm\fR command provides a command line interface to administer
+wireless USB hosts and devices, including listing hosts and devices
+information, associating the host with the device, removing host or device
+information from the system, and enabling or disabling hosts.
+.sp
+.LP
+Before connecting a wireless USB device to a host for the first time, a user
+needs to set up the association information between them by running the wusbadm
+associate subcommand. Following this, the user can connect or disconnect the
+device by simply turning on or off the device radio (perhaps a button on the
+device, depending on the manufacturer). The device radio's turning on and off
+are analogous to the hotplugging of wired USB devices.
+.sp
+.LP
+The association information created by the \fBassociate\fR subcommand is
+maintained in the non-volatile memory of the device and the host. On the host,
+it can be removed by the \fBremove-dev\fR or \fBremove-host\fR subcommands. On
+the device, it can be overwritten by another association. For a device is
+associated with multiple hosts, the way that the device prioritizes or updates
+its multiple records of association depends on the manufacturer.
+.sp
+.LP
+Each \fBwusbadm\fR subcommand operates on one of the following objects:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIhost-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+A two-digit number (in the range from 01 to 99) that uniquely identifies a
+wireless USB host on a system. It is generated when the \fBwusb\fR service (see
+\fBNOTES\fR section) is successfully enabled and finds the host instance for
+the first time. The number is maintained until removed by \fBremove-host\fR
+subcommand.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIdev-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+A five-digit number that uniquely identifies a wireless USB device associated
+with a wireless USB host. The first two digits are the host-id of the wireless
+USB host with which the device is associated. The last three-digit number (in
+the range from 001 to 999) is used to differentiate devices associated with the
+same host. In the five-digit number, the first two digits and the last three
+are separated by a dot.
+.sp
+\fIdev-id\fR is generated during the device association process. It is
+maintained for the device until removed by the \fBremove-dev\fR subcommand or
+until updated by another association between the same host and device.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The following subcommands are supported. Except for the \fBlist\fR subcommand,
+each subcommand displays subcommand-specific usage information if you run it
+without any options or operands.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR [\fB-h\fR | \fB-d\fR] [\fB-o\fR \fIfield\fR[,...]]\fR
+.ad
+.sp .6
+.RS 4n
+List wireless USB hosts and devices on a system, displaying the ID, state, and
+type for all hosts and devices. By default, \fBlist\fR will list all hosts and
+devices and all fields. Each host and its devices will be displayed as a group.
+This subcommand supports the following options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...], \fB--output\fR=\fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+A case-insensitive, comma-separated list of output fields to display. The field
+name must be one of the fields listed below, or the special value \fBall\fR to
+display all fields. By default (without \fB-o\fR), \fBlist\fR displays all
+fields.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBID\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIhost-id\fR or \fIdev-id\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTYPE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBhost\fR or \fBdevice\fR types.
+.sp
+For \fBhost\fR, the types include \fBwhci\fR (on-board host) and \fBhwa\fR
+(hot-pluggable host).
+.sp
+For \fBdevice\fR, the types include \fBkbd\fR, \fBmouse\fR, \fBstorage\fR,
+\fBprinter\fR, \fBdwa\fR (wireless USB hub), \fBaudio\fR, \fBvideo\fR, and so
+forth.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSTATE\fR\fR
+.ad
+.sp .6
+.RS 4n
+There are the following states for the host:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+The host is ready to work or is already working, including performing
+association, connecting devices, performing data communication, and so forth.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+The host is not ready to work with any devices and no devices are connected to
+the host. It might be stopped by a \fBdisable-host\fR subcommand, or the host
+might not be available because it is physically unplugged or because of a
+driver detach.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisconnected\fR\fR
+.ad
+.sp .6
+.RS 4n
+The host is not attached to the system. An \fBhwa\fR device is in this state
+after it is unplugged from the USB port on the system.
+.RE
+
+There are the folllowing states for the device:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBconnected\fR\fR
+.ad
+.sp .6
+.RS 4n
+The device is connected with a host and ready to be opened, or it is already
+opened and working. By default, the device tries to get into this state after
+the association is complete and its radio is turned on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisconnected\fR\fR
+.ad
+.sp .6
+.RS 4n
+The device is not connected to a host or not ready to be opened yet. The device
+might be in this state because its radio is out of range, power is off,
+hardware problems, and so forth.
+.RE
+
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR, \fB--host\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the wireless USB hosts only.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR, \fB--device\fR\fR
+.ad
+.sp .6
+.RS 4n
+List the wireless USB devices only.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBassociate\fR [\fB-h\fR \fIhost-id\fR] [[\fB-c\fR [\fB-f\fR]] | \fB-n\fR]
+[\fB-o\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Designate the host to start an association process. Association is the initial
+step before a wireless USB device can be connected with a wireless USB host.
+.sp
+There are two association models:
+.sp
+.ne 2
+.mk
+.na
+\fBCable association\fR
+.ad
+.sp .6
+.RS 4n
+A user connects the device and host with a USB cable first, and then run this
+subcommand to designate the host to setup the association information with the
+device. After the association is in effect, the cable is no longer needed in
+the subsequent connections between the same host and the device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBNumeric association\fR
+.ad
+.sp .6
+.RS 4n
+A user turns on the device radio and runs this subcommand to designate the host
+to talk to the device. A short number is then displayed on both host and
+device. The user compares the values of the numbers and confirms on both the
+host and the device.
+.RE
+
+Following a successful association, the associated USB host and device are able
+to proceed with the wireless connection process. By default, the association
+information will be kept both on the host and the device until it is removed or
+overwritten.
+.sp
+If there are multiple devices available for association, this subcommand will
+list all of them, enabling a user to choose among them. This subcommand has the
+following options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost-id\fR, \fB--host\fR \fIhost-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the host for which the association will be done. If this option is not
+specified, this subcommand lists all enabled hosts for users to choose.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR, \fB--cable\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start the cable association process. A user plugs the wireless USB device to
+the host and runs the associate subcommand with this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR, \fB--numeric\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start the numeric association process. This subcommand prompts the user to
+compare the number displayed on the host and the device.
+.RE
+
+If neither of the preceding two association model options (\fB-n\fR or
+\fB-c\fR) is specified, this subcommand prompts the user to specify one of the
+following association model options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Start the cable association process. A user plugs the wireless USB device to
+the host and runs the associate subcommand with this option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR, \fB--onetime\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicate that this association is for a one-time connection. That is, after the
+association, if the device is connected and then disconnected, the association
+information for this device will be removed from the host system. A user would
+need to perform another association for the next connection.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove-dev\fR [[\fB-d\fR \fIdev-id\fR] | [\fB-h\fR
+\fIhost-id\fR]][\fB-f\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Remove the association information of the wireless USB device from the system.
+After the removal, the device cannot be connected with the host until the user
+runs the \fBassociate\fR subcommand again, for the host and device. This
+subcommand has the following options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR, \fB--device\fR=\fIdev-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the association information of the wireless USB device specified by
+\fIdev-id\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost-id\fR, \fB--host\fR=\fIhost-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Remove the association information of all the wireless USB devices associated
+with the host specified by \fIhost-id\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform the removal without asking for confirmation. If the device is being
+connected with the host, then this subcommand will force it to disconnect.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove-host\fR [\fB-h\fR \fIhost-id\fR] [\fB-f\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Remove the host information from the system, including \fIhost-id\fR and the
+association information of all the devices associated with the host. This
+subcommand is used most often for removing the temporarily used hot-pluggable
+wireless USB host, for example, a \fBhwa\fR dongle. The host can be brought
+back by being re-enumerated, for example, physically hot-plugging a \fBhwa\fR
+dongle. The host-id will then be updated and no device association information
+can be restored. It is not recommended to remove a on-board host. This
+subcommand has the following options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost-id\fR, \fB--host\fR=\fIhost-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIhost-id\fR to be removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform the removal without asking for confirmation. If there are one or more
+devices connected with the host, then force them to disconnect.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBenable-host\fR [\fB-h\fR \fIhost-id\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Take the host to the enabled state. By default, the host is in the enabled
+state. This subcommand has the following option.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost-id\fR, \fB--host\fR=\fIhost-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIhost-id\fR to be enabled.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable-host\fR [\fB-h\fR \fIhost-id\fR] [\fB-f\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Take the host to the disabled state. The \fIhost-id\fR and all the association
+information of the host are maintained. Issuing an \fBenable-host\fR subcommand
+brings the host back to the enabled state. This subcommand has the following
+options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost-id\fR, \fB--host\fR=\fIhost-id\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the \fIhost-id\fR to be disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR, \fB--force\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform the disable operation without asking for confirmation. If there are one
+or more devices connected with the host, this option forces them to disconnect.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRListing All Hosts and Devices
+.sp
+.LP
+The following command lists all wireless USB hosts and devices.
+
+.sp
+.in +2
+.nf
+# \fBwusbadm list\fR
+01 enabled hwa
+01.001 connected mouse
+01.002 connected kbd
+02 enabled whci
+02.001 connected printer
+02.002 disconnected storage
+03 disabled hwa
+03.001 disconnected storage
+03.002 disconnected dwa
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAssociating to a Device Using Cable
+.sp
+.LP
+The following command associates a device to a specific host (host-id
+\fB01\fR), using the cable association approach.
+
+.sp
+.in +2
+.nf
+# \fBwusbadm associate -h 01 -c\fR
+Associate a device with host (01) via cable.
+Continue (yes/no)?
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRemoving a Device's Association
+.sp
+.LP
+The following command removes a device's association information from the host
+system.
+
+.sp
+.in +2
+.nf
+# \fBwusbadm remove-dev -d 01.002\fR
+Remove the information of device (01.002) from system.
+This device can not be connected with the host until it is associated
+again. Continue (yes/no)?
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRRemoving Associations for All Devices
+.sp
+.LP
+The following command removes the association information for all devices
+associated with a specific host.
+
+.sp
+.in +2
+.nf
+# \fBwusbadm remove-dev -h 02\fR
+Remove the information of all the devices associated with host (02)
+from the system.
+All the devices associated with the host cannot be connected with it
+until they are associated again. Continue (yes/no)?
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+Error: the operation failed. For example, a device failed to associate with a
+host.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Usage error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+.LP
+\fB/usr/sbin\fR
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBattributes\fR(5), \fBhwahc\fR(7D), \fBusba\fR(7D)
+.SH NOTES
+.sp
+.LP
+The \fBwusb\fR (wireless USB administration) service is managed by the service
+management facility, \fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/wusb:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+The \fBwusb\fR service is implemented by the \fBwusbd\fR daemon, a private
+interface. As with the \fBwusb\fR service, the daemon is started by the SMF.
+Specify the daemon with the service instance:
+.sp
+.in +2
+.nf
+svc:/system/wusbd:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBwusbd\fR daemon should not be invoked directly.
diff --git a/usr/src/man/man1m/ypbind.1m b/usr/src/man/man1m/ypbind.1m
new file mode 100644
index 0000000000..778c97ce0c
--- /dev/null
+++ b/usr/src/man/man1m/ypbind.1m
@@ -0,0 +1,175 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2004, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ypbind 1M "20 Dec 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ypbind \- NIS binder process
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/ypbind\fR [\fB-broadcast\fR | \fB-ypset\fR | \fB-ypsetme\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+NIS provides a simple network lookup service consisting of databases and
+processes. The databases are stored at the machine that runs an NIS server
+process. The programmatic interface to NIS is described in \fBypclnt\fR(3NSL).
+Administrative tools are described in \fBypinit\fR(1M), \fBypwhich\fR(1), and
+\fBypset\fR(1M). Tools to see the contents of NIS maps are described in
+\fBypcat\fR(1), and \fBypmatch\fR(1).
+.sp
+.LP
+\fBypbind\fR is a daemon process that is activated at system startup time from
+the \fBsvc:/network/nis/client:default\fR service. By default, it is invoked as
+\fBypbind\fR \fB-broadcast\fR. \fBypbind\fR runs on all client machines that
+are set up to use \fBNIS\fR. See \fBsysidtool\fR(1M). The function of
+\fBypbind\fR is to remember information that lets all \fBNIS\fR client
+processes on a node communicate with some \fBNIS\fR server process.
+\fBypbind\fR must run on every machine which has \fBNIS\fR client processes.
+The \fBNIS\fR server may or may not be running on the same node, but must be
+running somewhere on the network. If the \fBNIS\fR server is a \fBNIS+\fR
+server in \fBNIS\fR (YP) compatibility mode, see the \fBNOTES\fR section of the
+\fBypfiles\fR(4)man page for more information.
+.sp
+.LP
+The information \fBypbind\fR remembers is called a \fIbinding\fR \(em the
+association of a domain name with a \fBNIS\fR server. The process of binding is
+driven by client requests. As a request for an unbound domain comes in, if
+started with the \fB-broadcast\fR option, the \fBypbind\fR process broadcasts
+on the net trying to find an \fBNIS\fR server, either a \fBypserv\fR process
+serving the domain or an \fBrpc.nisd\fR process in "YP-compatibility mode"
+serving \fBNIS+\fR directory with name the same as (case sensitive) the domain
+in the client request. Since the binding is established by broadcasting, there
+must be at least one \fBNIS\fR server on the net. If started without the
+\fB-broadcast\fR option, \fBypbind\fR process steps through the list of
+\fBNIS\fR servers that was created by \fBypinit\fR \fB-c\fR for the requested
+domain. There must be an \fBNIS\fR server process on at least one of the hosts
+in the \fBNIS\fR servers file. It is recommended that you list each of these
+NIS servers by name and numeric IP address in \fB/etc/hosts\fR. Though the
+practice is not recommended, NIS allows you to list servers by numeric address
+only, bypassing \fB/etc/hosts\fR. In such a configuration, \fBypwhich\fR(1)
+returns a numeric address instead of a name.
+.sp
+.LP
+Once a domain is bound by \fBypbind\fR, that same binding is given to every
+client process on the node. The \fBypbind\fR process on the local node or a
+remote node may be queried for the binding of a particular domain by using the
+\fBypwhich\fR(1) command.
+.sp
+.LP
+If \fBypbind\fR is unable to speak to the \fBNIS\fR server process it is bound
+to, it marks the domain as unbound, tells the client process that the domain is
+unbound, and tries to bind the domain once again. Requests received for an
+unbound domain will wait until the requested domain is bound. In general, a
+bound domain is marked as unbound when the node running the \fBNIS\fR server
+crashes or gets overloaded. In such a case, \fBypbind\fR will try to bind to
+another \fBNIS\fR server using the process described above.\fBypbind\fR also
+accepts requests to set its binding for a particular domain. The request is
+usually generated by the \fBypset\fR(1M) command. In order for \fBypset\fR to
+work, \fBypbind\fR must have been invoked with flags \fB-ypset\fR or
+\fB-ypsetme\fR.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-broadcast\fR\fR
+.ad
+.sp .6
+.RS 4n
+Send a broadcast datagram using \fBUDP/IP\fR that requests the information
+needed to bind to a specific \fBNIS\fR server. This option is analogous to
+\fBypbind\fR with no options in earlier Sun releases and is recommended for
+ease of use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ypset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allow users from any remote machine to change the binding by means of the
+\fBypset\fR command. By default, no one can change the binding. This option is
+insecure.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ypsetme\fR\fR
+.ad
+.sp .6
+.RS 4n
+Only allow \fBroot\fR on the local machine to change the binding to a desired
+server by means of the \fBypset\fR command. \fBypbind\fR can verify the caller
+is indeed a \fBroot\fR user by accepting such requests only on the loopback
+transport. By default, no external process can change the binding.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/binding/\fIypdomain\fR/ypservers\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the servers to which the NIS client is allowed to bind.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/hosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+File in which it is recommended that NIS servers be listed.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBypcat\fR(1), \fBypmatch\fR(1), \fBypwhich\fR(1),
+\fBifconfig\fR(1M), \fBrpc.nisd\fR(1M), \fBsvcadm\fR(1M), \fBypinit\fR(1M),
+\fBypset\fR(1M), \fBypclnt\fR(3NSL), \fBhosts\fR(4), \fBypfiles\fR(4),
+\fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+\fBypbind\fR supports multiple domains. The \fBypbind\fR process can maintain
+bindings to several domains and their servers, the default domain is the one
+specified by the \fBdomainname\fR(1M) command at startup time.
+.sp
+.LP
+The \fB-broadcast\fR option works only on the \fBUDP\fR transport. It is
+insecure since it trusts "any" machine on the net that responds to the
+broadcast request and poses itself as an \fBNIS\fR server.
+.sp
+.LP
+The \fBypbind\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nis/client:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/ypinit.1m b/usr/src/man/man1m/ypinit.1m
new file mode 100644
index 0000000000..b0a3a5c74b
--- /dev/null
+++ b/usr/src/man/man1m/ypinit.1m
@@ -0,0 +1,130 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ypinit 1M "20 Dec 2007" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ypinit \- set up NIS client
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ypinit\fR [\fB-c\fR] [\fB-m\fR] [\fB-s\fR \fImaster_server\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBypinit\fR can be used to set up an \fBNIS\fR client system. You must be the
+superuser to run this command. This script need not be used at all if
+\fBypbind\fR(1M) is started with the \fB-broadcast\fR option (it is invoked
+with this option from the \fBsvc:/network/nis/client:default service\fR).
+.sp
+.LP
+Normally, \fBypinit\fR is run only once after installing the system. It may be
+run whenever a new \fBNIS\fR server is added to the network or an existing one
+is decommissioned.
+.sp
+.LP
+\fBypinit\fR prompts for a list of \fBNIS\fR servers to bind the client to;
+this list should be ordered from the closest to the furthest server. It is
+recommended that you list each of these NIS servers by name and numeric IP
+address in \fB/etc/hosts\fR. Though the practice is not recommended, NIS allows
+you to list servers by numeric address only, bypassing \fB/etc/hosts\fR. In
+such a configuration, \fBypwhich\fR(1) returns a numeric address instead of a
+name.
+.sp
+.LP
+\fBypinit\fR stores the list of servers to which a client can bind in the file
+\fB/var/yp/binding/\fIdomain\fR/ypservers\fR. This file is used by \fBypbind\fR
+when run without the \fB-broadcast\fR option.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set up a \fBypclient\fR system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Build a master \fBypserver\fR data base.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fImaster_server\fR\fR
+.ad
+.sp .6
+.RS 4n
+Slave data base. \fImaster_server\fR must be the same master configured in the
+\fBYP\fR maps and returned by the \fBypwhich\fR \fB-m\fR command.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/hosts\fR\fR
+.ad
+.sp .6
+.RS 4n
+File in which it is recommended that NIS servers be listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/binding/\fIdomain\fR/ypservers\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the servers to which the NIS client is allowed to bind.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBypwhich\fR(1), \fBsvcadm\fR(1M), \fBypbind\fR(1M),
+\fBsysinfo\fR(2), \fBhosts\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBNIS client\fR service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nis/client:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.SH BUGS
+.sp
+.LP
+\fBypinit\fR sets up the list of \fBNIS\fR servers only for the current domain
+on the system when it is run, that is, the domain returned by the
+\fBSI_SRPC_DOMAIN\fR command to \fBsysinfo\fR(2). Care should be taken to
+ensure that this is the same as the desired domain for \fBNIS\fR client
+processes.
diff --git a/usr/src/man/man1m/ypmake.1m b/usr/src/man/man1m/ypmake.1m
new file mode 100644
index 0000000000..8ad322a89a
--- /dev/null
+++ b/usr/src/man/man1m/ypmake.1m
@@ -0,0 +1,124 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ypmake 1M "17 Aug 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ypmake \- rebuild NIS database
+.SH SYNOPSIS
+.LP
+.nf
+\fBcd\fR \fB/var/yp\fR ; \fBmake\fR [\fImap\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The file called \fBMakefile\fR in \fB/var/yp\fR is used by \fBmake\fR(1S) to
+build the Network Information Service (\fBNIS\fR) database. With no arguments,
+\fBmake\fR creates \fBdbm\fR databases for any \fBNIS\fR maps that are
+out-of-date, and then executes \fByppush\fR(1M) to notify slave databases that
+there has been a change.
+.sp
+.LP
+If you supply a \fImap\fR on the command line, \fBmake\fR will update that map
+only. Typing \fBmake passwd\fR will create and \fByppush\fR the password
+database (assuming it is out of date). Likewise, \fBmake ipnodes\fR and \fBmake
+networks\fR will create and \fByppush\fR the \fBipnodes\fR and \fBnetwork\fR
+files, \fB$(INETDIR)/ipnodes\fR and \fB$(DIR)/networks\fR.
+.sp
+.LP
+There are four special variables used by \fBmake\fR: \fBDIR\fR, which gives the
+directory of the source files; \fBNOPUSH\fR, which when non-null inhibits doing
+a \fByppush\fR of the new database files; \fBINETDIR\fR, which gives the
+directory of the \fBipnodes\fR source file; and \fBDOM\fR, which is used to
+construct a domain other than the master's default domain. The default for
+\fBDIR\fR is \fB/etc\fR, and the default for \fBINETDIR\fR is \fB/etc/inet\fR.
+The default for \fBNOPUSH\fR is the null string.
+.sp
+.LP
+Refer to \fBypfiles\fR(4) and \fBypserv\fR(1M) for an overview of the
+\fBNIS\fR service.
+.sp
+.LP
+If a \fBNIS\fR to LDAP (N2L) configuration file, \fB/var/yp/NISLDAPmapping\fR,
+is present, the \fBNIS\fR server components run in N2L mode. In N2L mode, the
+server components use a new set of map files with an LDAP-prefix, based on the
+LDAP DIT. In N2L mode, authoritative NIS information is obtained from the DIT.
+The NIS source files and \fBypmake\fR have no role, and they should not be
+used. If \fBypmake\fR is accidentally run, then the server components will
+detect this, and will log a warning message. For additional information, see
+\fBypfiles\fR(4).
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp\fR\fR
+.ad
+.RS 19n
+.rt
+Directory containing \fBNIS\fR configuration files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc/inet/hosts\fR\fR
+.ad
+.RS 19n
+.rt
+System hosts file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/etc\fR\fR
+.ad
+.RS 19n
+.rt
+Default directory for source files.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBmake\fR(1S), \fBnis+\fR(1), \fBmakedbm\fR(1M), \fBrpc.nisd\fR(1M),
+\fBypbind\fR(1M), \fByppush\fR(1M), \fBypserv\fR(1M), \fBypclnt\fR(3NSL),
+\fBNISLDAPmapping\fR(4), \fBypfiles\fR(4), \fBypserv\fR(4)
+.SH NOTES
+.sp
+.LP
+The \fBNIS\fR makefile is only used when running the \fBypserv\fR(1M) server
+to provide \fBNIS\fR services. If these are being provided by the \fBNIS+\fR
+server running in \fBNIS\fR compatibility mode, see \fBrpc.nisd\fR(1M); this
+makefile is not relevant. See \fBypfiles\fR(4) for more details.
+.sp
+.LP
+The Network Information Service (\fBNIS\fR) was formerly known as Sun Yellow
+Pages (\fBYP\fR). The functionality of the two remains the same. Only the name
+has changed. The name Yellow Pages is a registered trademark in the United
+Kingdom of British Telecommunications plc, and may not be used without
+permission.
diff --git a/usr/src/man/man1m/ypmap2src.1m b/usr/src/man/man1m/ypmap2src.1m
new file mode 100644
index 0000000000..62123b73fe
--- /dev/null
+++ b/usr/src/man/man1m/ypmap2src.1m
@@ -0,0 +1,163 @@
+'\" te
+.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ypmap2src 1M "10 Apr 2003" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ypmap2src \- convert NIS maps to NIS source files
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/ypmap2src\fR [\fB-t\fR]
+ [ [\fB-c\fR \fIcustom-map-name\fR]]... [\fB-d\fR \fIdomain\fR] \fB-o\fR \fIoutput-directory\fR
+ [ [ \fIsource-file\fR]]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Use the \fBypmap2src\fR utility to convert standard NIS maps to approximations
+of the equivalent NIS source files. This utility functions like the reverse of
+\fBypmake\fR(1M).
+.sp
+.LP
+The primary use for \fBypmap2src\fR is to convert from a NIS server that uses
+the NIS to LDAP(N2L) transition mechanism, which does not use NIS source files,
+to traditional NIS, where source files are required. The \fBypmap2src\fR
+utility is also used by NIS administrators who wish to discover the contents of
+NIS maps for which the sources are not available.
+.sp
+.LP
+Generally, this operation is not necessary. More often, administrators will
+switch from traditional NIS to N2L in anticipation of the eventual transition
+to LDAP naming. When this switch is made, authoritative information is moved
+into the LDAP DIT, and the NIS sources have no further role. N2L supports NIS
+clients until such time as they can be converted to LDAP, and the NIS service
+suspended.
+.sp
+.LP
+The \fBypmap2src\fR utility does not guarantee that the files that are
+generated are identical to the original NIS source files. Some information
+might have been thrown away by \fBypmake\fR and cannot be recovered. N2L also
+might have updated the maps to reflect changes made by LDAP clients. It is
+essential that the sources generated are checked to confirm no problems have
+occurred.
+.sp
+.LP
+Per entry comment fields, from existing source files, are not merged into
+source files generated by \fBypmap2src\fR. If a user wishes N2L to maintain
+comment information, then the \fBNISLDAPmapping\fR configuration file should be
+modified so that the comment fields are mapped into LDAP. This will ensure
+that the comments are visible to native LDAP clients and present in the N2L map
+files.
+.sp
+.LP
+When \fBypmap2src\fR is run, it will take up-to-date comments from the map file
+and insert them into the NIS source file generated.
+.SS "Handling Custom Maps"
+.sp
+.LP
+\fBypmap2src\fR only knows about the standard NIS maps and standard source to
+map conversion. If an advanced user has changed these, that is, the user has
+modified the NIS makefile, the equivalent changes must also be made to the
+\fBypmap2src\fR script.
+.SH OPTIONS
+.sp
+.LP
+\fBypmap2src\fR supports the following options:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies that \fIcustom-map-name\fR should be converted to a source
+file by running \fBmakedbm\fR \fB-u\fR on it. This is a short cut so that
+simple custom maps can be handled without editing \fBypmap2src\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdomain-name\fR\fR
+.ad
+.RS 18n
+.rt
+ Specifies the domain to convert. The \fIdomain-name\fR can be a fully
+qualified file path, such as \fB/var/yp/a.b.c\fR, or just a domain name,
+a.b.c\fB\fR. In the latter case, \fBypmaptosrc\fR looks in \fB/var/yp\fR for
+the domain directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIdest\fR\fR
+.ad
+.RS 18n
+.rt
+ Specifies the destination directory for the converted files. A directory other
+than \fB/etc\fR should be specified. The maps generated are copied to the
+correct location, \fB/etc\fR, \fB/etc/security\fR or other source directory, as
+appropriate.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 18n
+.rt
+Specifies that traditional NIS maps, without N2L's \fBLDAP_\fR prefix, should
+be converted. By default, maps with the \fBLDAP_\fR prefix are converted.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+\fBypmap2src\fR supports the following operands:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsource-file\fR\fR
+.ad
+.RS 15n
+.rt
+Lists the standard source files to convert. If this option is not given, then
+all the standard source files, plus any custom files pecified by the \fB-c\fR
+option, are converted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityObsolete
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBypmake\fR(1M), \fBypserv\fR(1M), \fBNISLDAPmapping\fR(4),
+\fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
diff --git a/usr/src/man/man1m/yppoll.1m b/usr/src/man/man1m/yppoll.1m
new file mode 100644
index 0000000000..356a833b36
--- /dev/null
+++ b/usr/src/man/man1m/yppoll.1m
@@ -0,0 +1,48 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 1988 Sun Microsystems, Inc. - All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH yppoll 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+yppoll \- return current version of a NIS map at a NIS server host
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/yppoll\fR [\fB-d\fR \fIypdomain\fR] [\fB-h\fR \fIhost\fR] \fImapname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fByppoll\fR command asks a \fBypserv\fR(\|) process what the order number
+is, and which host is the master NIS server for the named map.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-d\fR\fB \fR\fIypdomain\fR\fR
+.ad
+.RS 15n
+.rt
+Use \fIypdomain\fR instead of the default domain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\fR\fB-h\fR\fB \fR\fIhost\fR\fR
+.ad
+.RS 15n
+.rt
+Ask the \fBypserv\fR process at \fIhost\fR about the map parameters. If
+\fIhost\fR is not specified, the NIS server for the local host is used. That
+is, the default host is the one returned by \fBypwhich\fR(1).
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBypwhich\fR(1), \fBypfiles\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/yppush.1m b/usr/src/man/man1m/yppush.1m
new file mode 100644
index 0000000000..f24d8fdd77
--- /dev/null
+++ b/usr/src/man/man1m/yppush.1m
@@ -0,0 +1,135 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH yppush 1M "26 Aug 1999" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+yppush \- force propagation of changed NIS map
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/yppush\fR [\fB-v\fR] [\fB-h\fR \fIhost\fR] [\fB-d\fR \fIdomain\fR]
+ [\fB-p\fR \fI#parallel-xfrs\fR] \fImapname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fByppush\fR copies a new version of a Network Information Service (\fBNIS\fR)
+map from the master \fBNIS\fR server to the slave \fBNIS\fR servers. It is
+normally run only on the master \fBNIS\fR server by the \fBMakefile\fR in
+\fB/var/yp\fR after the master databases are changed. It first constructs a
+list of \fBNIS\fR server hosts by reading the \fBNIS\fR \fBypservers\fR map
+within the \fIdomain\fR. Keys within the \fBypservers\fR map are the
+\fBASCII\fR names of the machines on which the \fBNIS\fR servers run.
+.sp
+.LP
+A "transfer map" request is sent to the \fBNIS\fR server at each host, along
+with the information needed by the transfer agent (the program that actually
+moves the map) to call back the \fByppush\fR. When the attempt has completed
+(successfully or not), and the transfer agent has sent \fByppush\fR a status
+message, the results can be printed to \fBstdout\fR. Messages are also printed
+when a transfer is not possible, for instance, when the request message is
+undeliverable, or when the timeout period on responses has expired.
+.sp
+.LP
+Refer to \fBypfiles\fR(4) and \fBypserv\fR(1M) for an overview of the \fBNIS\fR
+service.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdomain\fR\fR
+.ad
+.RS 21n
+.rt
+Specifies a \fIdomain\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost\fR\fR
+.ad
+.RS 21n
+.rt
+Propagates only to the named \fIhost\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fI#parallel-xfrs\fR\fR
+.ad
+.RS 21n
+.rt
+Allows the specified number of map transfers to occur in parallel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 21n
+.rt
+Verbose. This prints messages when each server is called, and for each
+response. If this flag is omitted, only error messages are printed.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory where \fBNIS\fR configuration files reside.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/\fIdomain\fR/ypservers.\|{\fIdir\fR,\fI pag\|\fR}\fR\fR
+.ad
+.sp .6
+.RS 4n
+Map containing list of \fBNIS\fR servers to bind to when running in server
+mode.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBypserv\fR(1M), \fBypxfr\fR(1M), \fBypfiles\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The Network Information Service (\fBNIS\fR) was formerly known as Sun Yellow
+Pages (\fBYP\fR). The functionality of the two remains the same; only the name
+has changed. The name Yellow Pages is a registered trademark in the United
+Kingdom of British Telecommunications PLC, and must not be used without
+permission.
+.SH BUGS
+.sp
+.LP
+In the current implementation (version 2 \fBNIS\fR protocol), the transfer
+agent is \fBypxfr\fR(1M), which is started by the \fBypserv\fR program. If
+\fByppush\fR detects that it is speaking to a version 1 \fBNIS\fR protocol
+server, it uses the older protocol, sending a version 1 \fBYPPROC_GET\fR
+request and issues a message to that effect. Unfortunately, there is no way of
+knowing if or when the map transfer is performed for version 1 servers.
+\fByppush\fR prints a message saying that an "old-style" message has been sent.
+The system administrator should later check to see that the transfer has
+actually taken place.
diff --git a/usr/src/man/man1m/ypserv.1m b/usr/src/man/man1m/ypserv.1m
new file mode 100644
index 0000000000..f24fa4824b
--- /dev/null
+++ b/usr/src/man/man1m/ypserv.1m
@@ -0,0 +1,377 @@
+'\" te
+.\" Copyright (C) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ypserv 1M "15 Dec 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ypserv, ypxfrd \- NIS server and binder processes
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/ypserv\fR [\fB-dv\fR] [\fB-i\fR | \fB-I\fR] [\fB-r\fR | \fB-R\fR]
+.fi
+
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/ypxfrd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The Network Information Service (\fBNIS\fR) provides a simple network lookup
+service consisting of databases and processes. The databases are \fBndbm\fR
+files in a directory tree rooted at \fB/var/yp\fR. See \fBndbm\fR(3C). These
+files are described in \fBypfiles\fR(4). The processes are
+\fB/usr/lib/netsvc/yp/ypserv\fR, the \fBNIS\fR database lookup server, and
+\fB/usr/lib/netsvc/yp/ypbind\fR, the \fBNIS\fR binder. The programmatic
+interface to the \fBNIS\fR service is described in \fBypclnt\fR(3NSL).
+Administrative tools are described in \fByppoll\fR(1M), \fByppush\fR(1M),
+\fBypset\fR(1M), \fBypxfr\fR(1M), and \fBypwhich\fR(1). Tools to see the
+contents of \fBNIS\fR maps are described in \fBypcat\fR(1), and
+\fBypmatch\fR(1). Database generation and maintenance tools are described in
+\fBypinit\fR(1M), \fBypmake\fR(1M), and \fBmakedbm\fR(1M).
+.sp
+.LP
+The \fBypserv\fR utility is a daemon process typically activated at system
+startup from \fBsvc:/network/nis/server:default\fR. Alternatively, you can, as
+the root user, start \fBNIS\fR services using \fBypstart\fR(1M) from the
+command-line. \fBypserv\fR runs only on \fBNIS\fR server machines with a
+complete \fBNIS\fR database. You can halt all \fBNIS\fR services using the
+\fBypstop\fR(1M) command.
+.sp
+.LP
+The \fBypxfrd\fR utility transfers entire \fBNIS\fR maps in an efficient
+manner. For systems that use this daemon, map transfers are 10 to 100 times
+faster, depending on the map. To use this daemon, be sure \fBypxfrd\fR is
+running on the master server. See \fB/usr/lib/netsvc/yp/ypstart\fR. \fBypxfr\fR
+attempts to use \fBypxfrd\fR first. If that fails, it prints a warning, then
+uses the older transfer method.
+.sp
+.LP
+The \fBypserv\fR daemon's primary function is to look up information in its
+local database of \fBNIS\fR maps.
+.sp
+.LP
+The operations performed by \fBypserv\fR are defined for the implementor by the
+\fIYP Protocol Specification\fR, and for the programmer by the header file
+<\fBrpcsvc/yp_prot.h\fR>.
+.sp
+.LP
+Communication to and from \fBypserv\fR is by means of \fBRPC\fR calls. Lookup
+functions are described in \fBypclnt\fR(3NSL), and are supplied as C-callable
+functions in the \fBlibnsl\fR(3LIB) library. There are four lookup functions,
+all of which are performed on a specified map within some \fBNIS\fR domain:
+\fByp_match\fR(3NSL), \fByp_first\fR(3NSL), \fByp_next\fR(3NSL), and
+\fByp_all\fR(3NSL). The \fByp_match\fR operation takes a key, and returns the
+associated value. The \fByp_first\fR operation returns the first key-value pair
+from the map, and \fByp_next\fR can be used to enumerate the remainder.
+\fByp_all\fR ships the entire map to the requester as the response to a single
+\fBRPC\fR request.
+.sp
+.LP
+A number of special keys in the \fBDBM\fR files can alter the way in which
+\fBypserv\fR operates. The keys of interest are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBYP_INTERDOMAIN\fR\fR
+.ad
+.RS 21n
+.rt
+The presence of this key causes \fBypserv\fR to forward to a \fBDNS\fR server
+host lookups that cannot be satisfied by the \fBDBM\fR files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBYP_SECURE\fR\fR
+.ad
+.RS 21n
+.rt
+This key causes \fBypserv\fR to answer only questions coming from clients on
+reserved ports.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBYP_MULTI_\fR\fIhostname\fR\fR
+.ad
+.RS 21n
+.rt
+This is a special key in the form, \fBYP_MULTI_\fR\fIhostname
+addr1,...,addrN.\fR A client looking for \fIhostname\fR receives the closest
+address.
+.RE
+
+.sp
+.LP
+Two other functions supply information about the map, rather than map entries:
+\fByp_order\fR(3NSL), and \fByp_master\fR(3NSL). In fact, both order number and
+master name exist in the map as key-value pairs, but the server will not return
+either through the normal lookup functions. If you examine the map with
+\fBmakedbm\fR(1M), however, they are visible. Other functions are used within
+the \fBNIS\fR service subsystem itself, and are not of general interest to
+\fBNIS\fR clients. These functions include \fBdo_you_serve_this_domain?\fR,
+\fBtransfer_map\fR, and \fBreinitialize_internal_state\fR.
+.sp
+.LP
+On start up, \fBypserv\fR checks for the existence of the NIS to LDAP (N2L)
+configuration file \fB/var/yp/NISLDAPmapping\fR. If it is present then a master
+server starts in N2L mode. If the file is not present it starts in
+"traditional" (non N2L) mode. Slave servers always start in traditional mode.
+.sp
+.LP
+In N2L mode, a new set of map files, with an \fBLDAP_\fR prefix, are generated,
+based on the contents of the LDAP DIT. The old map files, NIS source files and
+\fBypmake\fR(1M) are not used.
+.sp
+.LP
+It is possible that \fBypmake\fR(1M) can be accidentally run in N2L mode. If
+the occurs, the old style map files are overwritten. That the map files are
+overwritten is harmless. However, any resulting \fByppush\fR(1M) operation will
+push information based on the DIT rather than the source files. The user may
+not expect information based on the DIT. \fBypserv\fR keeps track of the last
+modification date of the old style map files. If the map files have been
+updated, a warning is logged that suggests that the user call \fByppush\fR
+directly instead of \fBypmake\fR.
+.sp
+.LP
+If a server attempts to run in N2L mode and a LDAP server cannot be contacted,
+it behaves as follows:
+.RS +4
+.TP
+1.
+When \fBypserv\fR is started, a warning will be logged.
+.RE
+.RS +4
+.TP
+2.
+When a NIS read access is made and the TTL entry has expired, a warning is
+logged.Information that is returned from the cache has not been updated.
+.RE
+.RS +4
+.TP
+3.
+When a NIS write access is made, a warning is logged. The cache will not be
+updated, and a NIS failure will be returned.
+.RE
+.sp
+.LP
+If \fBypxfrd\fR is running in N2L mode and is asked to transfer a map,
+\fBypxfrd\fR first checks whether the map is out of date. If the map is out of
+date, \fBypxfrd\fR initiates an update from the DIT. \fBypxfrd\fR cannot wait
+for the update to complete. If \fBypxfrd\fR waited, the client end \fBypxfr\fR
+operation could time out. To prevent \fBypxfrd\fR from timing out, the existing
+map is transferred from the cache. The most up to date map will be transferred
+on subsequent \fBypxfrd\fR operations.
+.SH OPTIONS
+.SS "ypserv"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 7n
+.rt
+The \fBNIS\fR service should go to the \fBDNS\fR for more host information.
+This requires the existence of a correct \fB/etc/resolv.conf\fR file pointing
+to a \fBDNS\fR server. This option turns on \fBDNS\fR forwarding regardless of
+whether or not the \fBYP_INTERDOMAIN\fR flag is set in the \fBhosts\fR maps.
+See \fBmakedbm\fR(1M). In the absence of an \fB/etc/resolv.conf\fR file,
+\fBypserv\fR complains, but ignores the \fB-d\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 7n
+.rt
+If in N2L mode, initialize the NIS related parts of the \fBDIT\fR based on the
+current, non \fBLDAP_\fR prefixed, map files. The \fBLDAP_\fR prefixed maps are
+not created or updated. If you require that \fBLDAP_\fR prefixed maps be
+updated or created, then use the \fB-ir\fR option.
+.sp
+The \fB-i\fR option does not attempt to create any NIS domain or container
+objects. If any NIS domain or container objects have not already been created,
+then errors will occur, as entries are written to nonexistent containers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fR
+.ad
+.RS 7n
+.rt
+Identical to \fB-i\fR, except that any missing domain and container objects are
+created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 7n
+.rt
+If in N2L mode, then refresh the \fBLDAP_\fR prefixed map files based on the
+contents of the \fBDIT\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-ir\fR\fR
+.ad
+.RS 7n
+.rt
+If both \fB-i\fR and \fB-r\fR are specified in N2L mode, then the \fBDIT\fR
+will first be initialized from the current non \fBLDAP_\fR prefixed map files.
+A new set of \fBLDAP_\fR prefixed maps will then be generated from the contents
+of the \fBDIT\fR. A new set of \fBLDAP_\fR prefixed maps is required when
+moving from traditional NIS to N2L mode NIS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Ir\fR\fR
+.ad
+.RS 7n
+.rt
+Identical to \fB-ir\fR, except that any missing domain and container objects
+are created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 7n
+.rt
+Operate in the verbose mode, printing diagnostic messages to stderr.
+.RE
+
+.sp
+.LP
+When run with the \fB-i\fR, \fB-r\fR, \fB-I\fR, \fB-ir\fR or \fB-Ir\fR options,
+the \fBypserv\fR command runs in the foreground and exits once map
+initialization has been completed. Once the \fBypserv\fR command exits, the
+user knows the maps are ready and can restart \fBypserv\fR and the other
+\fByp\fR daemons by running \fBypstart\fR(1M).
+.sp
+.LP
+If there is a requirement to initialize the \fBDIT\fR from the NIS source
+files, which may have been modified since the maps were last remade, run
+\fBypmake\fR before running \fBypserv\fR \fB-i\fR or \fBypserv\fR \fB-ir\fR.
+\fBypmake\fR regenerated old style NIS maps. Then \fBypserv\fR \fB-ir\fR dumps
+them into the \fBDIT\fR. When the \fB-ir\fR option is used, the \fBLDAP_\fR
+prefixe maps are also generated or updated. Since these maps will be more
+recent than the old style maps, \fBypmake\fR will not be reported as erroneous
+when it is run.
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/securenets\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines the hosts and networks that are granted access to information in the
+served domain. It is read at startup time by both \fBypserv\fR and
+\fBypxfrd\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/ypserv.log\fR\fR
+.ad
+.sp .6
+.RS 4n
+If the \fB/var/yp/ypserv.log\fR file exists when \fBypserv\fR starts up, log
+information is written to it when error conditions arise.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/binding/domainname/ypservers\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the \fBNIS\fR server hosts that \fBypbind\fR can bind to.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBypcat\fR(1), \fBypmatch\fR(1), \fBypwhich\fR(1),
+\fBdomainname\fR(1M), \fBmakedbm\fR(1M), \fBsvcadm\fR(1M), \fBypbind\fR(1M),
+\fBypinit\fR(1M), \fBypmake\fR(1M), \fByppoll\fR(1M), \fByppush\fR(1M),
+\fBypset\fR(1M), \fBypstart\fR(1M), \fBypstop\fR(1M), \fBypxfr\fR(1M),
+\fBndbm\fR(3C), \fBypclnt\fR(3NSL), \fBlibnsl\fR(3LIB),
+\fBNISLDAPmapping\fR(4), \fBsecurenets\fR(4), \fBypfiles\fR(4),
+\fBypserv\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
+.sp
+.LP
+
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+\fBypserv\fR supports multiple domains. The \fBypserv\fR process determines the
+domains it serves by looking for directories of the same name in the directory
+\fB/var/yp\fR. It replies to all broadcasts requesting yp service for that
+domain.
+.sp
+.LP
+The Network Information Service (\fBNIS\fR) was formerly known as Sun Yellow
+Pages (\fBYP\fR). The functionality of the two remains the same; only the name
+has changed. The name Yellow Pages is a registered trademark in the United
+Kingdom of British Telecommunications PLC, and must not be used without
+permission.
+.sp
+.LP
+\fBNIS\fR uses \fBndbm()\fR files to store maps. Therefore, it is subject to
+the 1024 byte limitations described in the USAGE and NOTES sections of the
+\fBndbm\fR(3C) man page.
+.sp
+.LP
+The NIS server service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/network/nis/server:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/ypset.1m b/usr/src/man/man1m/ypset.1m
new file mode 100644
index 0000000000..f7bf025a1e
--- /dev/null
+++ b/usr/src/man/man1m/ypset.1m
@@ -0,0 +1,96 @@
+'\" te
+.\" Copyright (c) 2000 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ypset 1M "14 Sep 1992" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ypset \- point ypbind at a particular server
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/sbin/ypset\fR [\fB-d\fR \fIypdomain\fR] [\fB-h\fR \fIhost\fR] \fIserver\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+In order to run \fBypset\fR, \fBypbind\fR must be initiated with the
+\fB\(miypset\fR or \fB\(miypsetme\fR options. See \fBypbind\fR(1M). \fBypset\fR
+tells \fBypbind\fR to get NIS services for the specified \fIypdomain\fR from
+the \fBypserv\fR process running on \fIserver\fR. If \fIserver\fR is down, or
+is not running \fBypserv\fR, this might not be discovered until an NIS client
+process tries to obtain a binding for the domain. At this point, the binding
+set by \fBypset\fR is tested by \fBypbind\fR. If the binding is invalid,
+\fBypbind\fR attempts to rebind for the same domain.
+.sp
+.LP
+\fBypset\fR is useful for binding a client node that is not on a broadcast net,
+or is on a broadcast net that is not running an NIS server host. It is also
+useful for debugging NIS client applications, for instance, where an NIS map
+exists only at a single NIS server host.
+.sp
+.LP
+Where several hosts on the local net are supplying NIS services, \fBypbind\fR
+can rebind to another host, even while you attempt to find out if the
+\fBypset\fR operation succeeded. For example, if you enter the \fBypset\fR
+command below, you might get the subsequent response from \fBypwhich\fR:
+.sp
+.in +2
+.nf
+example% ypset host1
+example% ypwhich
+host2
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The sequence shown above is a function of the NIS subsystem's attempt to
+load-balance among the available NIS servers, and occurs when \fBhost1\fR does
+not respond to \fBypbind\fR because it is not running \fBypserv\fR (or is
+overloaded), and \fBhost2\fR, running \fBypserv\fR, obtains the binding.
+.sp
+.LP
+\fIserver\fR indicates which NIS server to bind to, and must be specified as a
+name or an IP address. This works only if the node has a current valid binding
+for the domain in question and \fBypbind\fR has been set to allow use of
+\fBypset\fR. In most cases, \fIserver\fR should be specified as an IP address.
+.sp
+.LP
+\fBypset\fR tries to bind over a connectionless transport. The NIS library
+call, \fByp_all()\fR, uses connection-oriented transport and derives the NIS
+server's address based on the connectionless address supplied by \fBypset\fR.
+.sp
+.LP
+Refer to \fBypfiles\fR(4) for an overview of the NIS name service.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fI ypdomain\fR\fR
+.ad
+.RS 15n
+.rt
+Use \fIypdomain\fR, instead of the default domain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fI host\fR\fR
+.ad
+.RS 15n
+.rt
+Set \fBypbind\fR's binding on \fIhost\fR, instead of locally. Specify
+\fIhost\fR as a name.
+.RE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBypwhich\fR(1), \fBypfiles\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/ypstart.1m b/usr/src/man/man1m/ypstart.1m
new file mode 100644
index 0000000000..1b19bf889d
--- /dev/null
+++ b/usr/src/man/man1m/ypstart.1m
@@ -0,0 +1,46 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc.
+.\" All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ypstart 1M "24 Oct 1996" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ypstart, ypstop \- Start and stop NIS services
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/ypstart\fR
+.fi
+
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/ypstop\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBypstart\fR command is used to start the Network Information Service
+(NIS). After the host has been configured using the \fBypinit\fR(1M) command,
+\fBypstart\fR automatically determines the \fBNIS\fR status of the machine and
+starts the appropriate daemons.
+.sp
+.LP
+The \fBypstop\fR command is used to stop the Network Information Service
+(NIS).
+.SH SEE ALSO
+.sp
+.LP
+\fBypinit\fR(1M), \fBattributes\fR(5)
+.sp
+.LP
+\fI\fR
+.SH NOTES
+.sp
+.LP
+The Network Information Service (\fBNIS\fR) was formerly known as Sun Yellow
+Pages (\fBYP\fR). The functionality of the two services remains the same; only
+the name has changed. The name Yellow Pages is a registered trademark in the
+United Kingdom of British Telecommunications \fBPLC\fR, and must not be used
+without permission.
diff --git a/usr/src/man/man1m/ypxfr.1m b/usr/src/man/man1m/ypxfr.1m
new file mode 100644
index 0000000000..70b7fd3e16
--- /dev/null
+++ b/usr/src/man/man1m/ypxfr.1m
@@ -0,0 +1,202 @@
+'\" te
+.\" Copyright (c) 2000 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ypxfr 1M "11 Mar 1998" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+ypxfr, ypxfr_1perday, ypxfr_1perhour, ypxfr_2perday \- transfer NIS map from a
+NIS server to host
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/netsvc/yp/ypxfr\fR [\fB-c\fR] [\fB-f\fR] [\fB-C\fR \fItid\fR \fIprog\fR \fIserver\fR]
+ [\fB-d\fR \fIypdomain\fR] [\fB-h\fR \fIhost\fR] [\fB-s\fR \fIypdomain\fR] \fImapname\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBypxfr\fR command moves an \fBNIS\fR map in the default domain for the
+local host to the local host by making use of normal \fBNIS\fR services. It
+creates a temporary map in the directory \fB/var/yp/\fR\fIypdomain\fR (this
+directory must already exist; \fIypdomain\fR is the default domain for the
+local host), fills it by enumerating the map's entries, fetches the map
+parameters (master and order number), and loads them. It then deletes any old
+versions of the map and moves the temporary map to the real \fIname\fR.
+.sp
+.LP
+If run interactively, \fBypxfr\fR writes its output to the terminal. However,
+if it is started without a controlling terminal, and if the log file
+\fB/var/yp/ypxfr.log\fR exists, it appends all its output to that file. Since
+\fBypxfr\fR is most often run from the privileged user's \fBcrontab\fR file, or
+by \fBypserv\fR, the log file can retain a record of what was attempted, and
+what the results were.
+.sp
+.LP
+For consistency between servers, \fBypxfr\fR should be run periodically for
+every map in the \fBNIS\fR data base. Different maps change at different rates:
+a map might not change for months at a time, for instance, and can therefore be
+checked only once a day. Some maps might change several times per day. In such
+a case, you might want to check hourly for updates. A \fBcrontab\fR(1) entry
+can be used to automatically perform periodic updates. Rather than having a
+separate \fBcrontab\fR entry for each map, you can group commands to update
+several maps in a shell script. Examples (mnemonically named) are in
+\fB/usr/sbin/yp\fR: \fBypxfr_1perday\fR, \fBypxfr_2perday\fR, and
+\fBypxfr_1perhour\fR.
+.sp
+.LP
+Refer to \fBypfiles\fR(4) for an overview of the NIS name service.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 22n
+.rt
+Do not send a "Clear current map" request to the local \fBypserv\fR process.
+Use this flag if \fBypserv\fR is not running locally at the time you are
+running \fBypxfr\fR. Otherwise, \fBypxfr\fR complains that it cannot
+communicate with the local \fBypserv\fR, and the transfer fails.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 22n
+.rt
+Force the transfer to occur even if the version at the master is not more
+recent than the local version.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fI tid prog server\fR\fR
+.ad
+.RS 22n
+.rt
+This option is for use \fIonly\fR by \fBypserv\fR. When \fBypserv\fR starts
+\fBypxfr\fR, it specifies that \fBypxfr\fR should call back a \fByppush\fR
+process at the host \fIserver\fR, registered as program number \fIprog\fR, and
+waiting for a response to transaction \fItid\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fI ypdomain\fR\fR
+.ad
+.RS 22n
+.rt
+Specify a domain other than the default domain.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR \fIhost\fR\fR
+.ad
+.RS 22n
+.rt
+Get the map from \fIhost\fR, regardless of the master. If \fIhost\fR is not
+specified, \fBypxfr\fR asks the \fBNIS\fR service for the name of the master,
+and tries to get the map from there. \fIhost\fR must be a valid host name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fI ypdomain\fR\fR
+.ad
+.RS 22n
+.rt
+Specify a source domain from which to transfer a map that should be the same
+across domains.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/ypxfr.log\fR\fR
+.ad
+.sp .6
+.RS 4n
+Log file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/netsvc/yp/ypxfr_1perday\fR\fR
+.ad
+.sp .6
+.RS 4n
+Script to run one transfer per day, for use with \fBcron\fR(1M)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/netsvc/yp/ypxfr_2perday\fR\fR
+.ad
+.sp .6
+.RS 4n
+Script to run two transfer per day, for use with \fBcron\fR(1M)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/netsvc/yp/ypxfr_1perhour\fR\fR
+.ad
+.sp .6
+.RS 4n
+Script for hourly transfers of volatile maps
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/yp/\fR\fIypdomain\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBNIS\fR domain
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/spool/cron/crontabs/root\fR\fR
+.ad
+.sp .6
+.RS 4n
+Privileged user's \fBcrontab\fR file
+.RE
+
+.SS "ypxfr_1perday, ypxfr_1perhour, and ypxfr_2perday"
+.sp
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcrontab\fR(1), \fBcron\fR(1M), \fBypinit\fR(1M), \fByppush\fR(1M),
+\fBypserv\fR(1M), \fBypfiles\fR(4), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/zdb.1m b/usr/src/man/man1m/zdb.1m
new file mode 100644
index 0000000000..661165d584
--- /dev/null
+++ b/usr/src/man/man1m/zdb.1m
@@ -0,0 +1,87 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zdb 1M "31 Oct 2005" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zdb \- ZFS debugger
+.SH SYNOPSIS
+.LP
+.nf
+\fBzdb\fR \fIpool\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBzdb\fR command is used by support engineers to diagnose failures and
+gather statistics. Since the \fBZFS\fR file system is always consistent on disk
+and is self-repairing, \fBzdb\fR should only be run under the direction by a
+support engineer.
+.sp
+.LP
+If no arguments are specified, \fBzdb\fR, performs basic consistency checks on
+the pool and associated datasets, and report any problems detected.
+.sp
+.LP
+Any options supported by this command are internal to Sun and subject to change
+at any time.
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+The pool is consistent.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error was detected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUnstable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBzfs\fR(1M), \fBzpool\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/zdump.1m b/usr/src/man/man1m/zdump.1m
new file mode 100644
index 0000000000..9d63653941
--- /dev/null
+++ b/usr/src/man/man1m/zdump.1m
@@ -0,0 +1,133 @@
+'\" te
+.\" Copyright (c) 2000 Sun Microsystems, Inc. All Rights Reserved.
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zdump 1M "3 Jan 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zdump \- time zone dumper
+.SH SYNOPSIS
+.LP
+.nf
+\fBzdump\fR [\fB--\fR\fIversion\fR] [\fB-v\fR] [\fB-c\fR [\fIloyear\fR,]\fIhiyear\fR] [\fIzonename\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBzdump\fR command prints the current time for each time zone
+(\fIzonename\fR) listed on the command line. Specify \fIzonename\fR as the name
+of the time zone database file relative to \fB/usr/share/lib/zoneinfo\fR.
+.sp
+.LP
+Specifying an invalid time zone (\fIzonename\fR) to \fBzdump\fR does not return
+an error, rather \fBzdump\fR uses \fBGMTO.\fR This is consistent with the
+behavior of the library calls; \fBzdump\fR reflects the same behavior of the
+time routines in \fBlibc\fR. See \fBctime\fR(3C) and \fBmktime\fR(3C).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--\fR\fIversion\fR\fR
+.ad
+.RS 22n
+.rt
+Outputs version information and exits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 22n
+.rt
+Displays the entire contents of the time zone database file for \fIzonename\fR.
+Prints the time at the lowest possible time value; the time one day after the
+lowest possible time value; the times both one second before and exactly at
+each time at which the rules for computing local time change; the time at the
+highest possible time value; and the time at one day less than the highest
+possible time value. See \fBmktime\fR(3C) and \fBctime\fR(3C) for information
+regarding time value (\fBtime_t\fR). Each line of output ends with
+\fBisdst=1\fR if the given time is Daylight Saving Time, or \fBisdst=0\fR
+otherwise.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR [\fIloyear\fR],\fIhiyear\fR\fR
+.ad
+.RS 22n
+.rt
+Cuts off the verbose output near the start of the given year(s) . By default,
+the program cuts off verbose output near the start of the years -500 and 2500.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/zoneinfo\fR\fR
+.ad
+.RS 27n
+.rt
+Standard zone information directory
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityStable
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBzic\fR(1M), \fBctime\fR(3C), \fBmktime\fR(3C), \fBattributes\fR(5),
+\fBenviron\fR(5)
diff --git a/usr/src/man/man1m/zfs.1m b/usr/src/man/man1m/zfs.1m
new file mode 100644
index 0000000000..68244c7107
--- /dev/null
+++ b/usr/src/man/man1m/zfs.1m
@@ -0,0 +1,3781 @@
+'\" te
+.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zfs 1M "24 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zfs \- configures ZFS file systems
+.SH SYNOPSIS
+.LP
+.nf
+\fBzfs\fR [\fB-?\fR]
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBcreate\fR [\fB-p\fR] [\fB-o\fR \fIproperty\fR=\fIvalue\fR] ... \fIfilesystem\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBcreate\fR [\fB-ps\fR] [\fB-b\fR \fIblocksize\fR] [\fB-o\fR \fIproperty\fR=\fIvalue\fR] ... \fB-V\fR \fIsize\fR \fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBdestroy\fR [\fB-rRf\fR] \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBdestroy\fR [\fB-rRd\fR] \fIsnapshot\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBsnapshot\fR [\fB-r\fR] [\fB-o\fR \fIproperty\fR=\fIvalue\fR]...
+ \fIfilesystem@snapname\fR|\fIvolume@snapname\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBrollback\fR [\fB-rRf\fR] \fIsnapshot\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBclone\fR [\fB-p\fR] [\fB-o\fR \fIproperty\fR=\fIvalue\fR] ... \fIsnapshot\fR \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBpromote\fR \fIclone-filesystem\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBrename\fR \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR
+ \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBrename\fR [\fB-p\fR] \fIfilesystem\fR|\fIvolume\fR \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBrename\fR \fB-r\fR \fIsnapshot\fR \fIsnapshot\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBlist\fR [\fB-r\fR|\fB-d\fR \fIdepth\fR][\fB-H\fR][\fB-o\fR \fIproperty\fR[,...]] [\fB-t\fR \fItype\fR[,...]]
+ [\fB-s\fR \fIproperty\fR] ... [\fB-S\fR \fIproperty\fR] ... [\fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR] ...
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBset\fR \fIproperty\fR=\fIvalue\fR \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBget\fR [\fB-r\fR|\fB-d\fR \fIdepth\fR][\fB-Hp\fR][\fB-o\fR \fIfield\fR[,...]] [\fB-s\fR \fIsource\fR[,...]]
+ "\fIall\fR" | \fIproperty\fR[,...] \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBinherit\fR [\fB-r\fR] \fIproperty\fR \fIfilesystem\fR|\fIvolume|snapshot\fR ...
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBupgrade\fR [\fB-v\fR]
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBupgrade\fR [\fB-r\fR] [\fB-V\fR \fIversion\fR] \fB-a\fR | \fIfilesystem\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBuserspace\fR [\fB-niHp\fR] [\fB-o\fR \fIfield\fR[,...]] [\fB-sS\fR \fIfield\fR] ...
+ [\fB-t\fR \fItype\fR [,...]] \fIfilesystem\fR|\fIsnapshot\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBgroupspace\fR [\fB-niHp\fR] [\fB-o\fR \fIfield\fR[,...]] [\fB-sS\fR \fIfield\fR] ...
+ [\fB-t\fR \fItype\fR [,...]] \fIfilesystem\fR|\fIsnapshot\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBmount\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBmount\fR [\fB-vO\fR] [\fB-o \fIoptions\fR\fR] \fB-a\fR | \fIfilesystem\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBunmount\fR [\fB-f\fR] \fB-a\fR | \fIfilesystem\fR|\fImountpoint\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBshare\fR \fB-a\fR | \fIfilesystem\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBunshare\fR \fB-a\fR \fIfilesystem\fR|\fImountpoint\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBsend\fR [\fB-vR\fR] [\fB-\fR[\fBiI\fR] \fIsnapshot\fR] \fIsnapshot\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBreceive\fR [\fB-vnFu\fR] \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBreceive\fR [\fB-vnFu\fR] \fB-d\fR \fIfilesystem\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBallow\fR \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBallow\fR [\fB-ldug\fR] "\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...] \fIperm\fR|\fI@setname\fR[,...]
+ \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBallow\fR [\fB-ld\fR] \fB-e\fR \fIperm\fR|@\fIsetname\fR[,...] \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBallow\fR \fB-c\fR \fIperm\fR|@\fIsetname\fR[,...] \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBallow\fR \fB-s\fR @\fIsetname\fR \fIperm\fR|@\fIsetname\fR[,...] \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBunallow\fR [\fB-rldug\fR] "\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...] [\fIperm\fR|@\fIsetname\fR[,... ]]
+ \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBunallow\fR [\fB-rld\fR] \fB-e\fR [\fIperm\fR|@\fIsetname\fR[,... ]] \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBunallow\fR [\fB-r\fR] \fB-c\fR [\fIperm\fR|@\fIsetname\fR[ ... ]] \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBunallow\fR [\fB-r\fR] \fB-s\fR @\fIsetname\fR [\fIperm\fR|@\fIsetname\fR[,... ]] \fIfilesystem\fR|\fIvolume\fR
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBhold\fR [\fB-r\fR] \fItag\fR \fIsnapshot\fR...
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBholds\fR [\fB-r\fR] \fIsnapshot\fR...
+.fi
+
+.LP
+.nf
+\fBzfs\fR \fBrelease\fR [\fB-r\fR] \fItag\fR \fIsnapshot\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBzfs\fR command configures \fBZFS\fR datasets within a \fBZFS\fR storage
+pool, as described in \fBzpool\fR(1M). A dataset is identified by a unique path
+within the \fBZFS\fR namespace. For example:
+.sp
+.in +2
+.nf
+pool/{filesystem,volume,snapshot}
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where the maximum length of a dataset name is \fBMAXNAMELEN\fR (256 bytes).
+.sp
+.LP
+A dataset can be one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile system\fR\fR
+.ad
+.sp .6
+.RS 4n
+A \fBZFS\fR dataset of type \fBfilesystem\fR can be mounted within the standard
+system namespace and behaves like other file systems. While \fBZFS\fR file
+systems are designed to be \fBPOSIX\fR compliant, known issues exist that
+prevent compliance in some cases. Applications that depend on standards
+conformance might fail due to nonstandard behavior when checking file system
+free space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+A logical volume exported as a raw or block device. This type of dataset should
+only be used under special circumstances. File systems are typically used in
+most environments.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+A read-only version of a file system or volume at a given point in time. It is
+specified as \fIfilesystem@name\fR or \fIvolume@name\fR.
+.RE
+
+.SS "ZFS File System Hierarchy"
+.sp
+.LP
+A \fBZFS\fR storage pool is a logical collection of devices that provide space
+for datasets. A storage pool is also the root of the \fBZFS\fR file system
+hierarchy.
+.sp
+.LP
+The root of the pool can be accessed as a file system, such as mounting and
+unmounting, taking snapshots, and setting properties. The physical storage
+characteristics, however, are managed by the \fBzpool\fR(1M) command.
+.sp
+.LP
+See \fBzpool\fR(1M) for more information on creating and administering pools.
+.SS "Snapshots"
+.sp
+.LP
+A snapshot is a read-only copy of a file system or volume. Snapshots can be
+created extremely quickly, and initially consume no additional space within the
+pool. As data within the active dataset changes, the snapshot consumes more
+data than would otherwise be shared with the active dataset.
+.sp
+.LP
+Snapshots can have arbitrary names. Snapshots of volumes can be cloned or
+rolled back, but cannot be accessed independently.
+.sp
+.LP
+File system snapshots can be accessed under the \fB\&.zfs/snapshot\fR directory
+in the root of the file system. Snapshots are automatically mounted on demand
+and may be unmounted at regular intervals. The visibility of the \fB\&.zfs\fR
+directory can be controlled by the \fBsnapdir\fR property.
+.SS "Clones"
+.sp
+.LP
+A clone is a writable volume or file system whose initial contents are the same
+as another dataset. As with snapshots, creating a clone is nearly
+instantaneous, and initially consumes no additional space.
+.sp
+.LP
+Clones can only be created from a snapshot. When a snapshot is cloned, it
+creates an implicit dependency between the parent and child. Even though the
+clone is created somewhere else in the dataset hierarchy, the original snapshot
+cannot be destroyed as long as a clone exists. The \fBorigin\fR property
+exposes this dependency, and the \fBdestroy\fR command lists any such
+dependencies, if they exist.
+.sp
+.LP
+The clone parent-child dependency relationship can be reversed by using the
+\fBpromote\fR subcommand. This causes the "origin" file system to become a
+clone of the specified file system, which makes it possible to destroy the file
+system that the clone was created from.
+.SS "Mount Points"
+.sp
+.LP
+Creating a \fBZFS\fR file system is a simple operation, so the number of file
+systems per system is likely to be numerous. To cope with this, \fBZFS\fR
+automatically manages mounting and unmounting file systems without the need to
+edit the \fB/etc/vfstab\fR file. All automatically managed file systems are
+mounted by \fBZFS\fR at boot time.
+.sp
+.LP
+By default, file systems are mounted under \fB/\fIpath\fR\fR, where \fIpath\fR
+is the name of the file system in the \fBZFS\fR namespace. Directories are
+created and destroyed as needed.
+.sp
+.LP
+A file system can also have a mount point set in the \fBmountpoint\fR property.
+This directory is created as needed, and \fBZFS\fR automatically mounts the
+file system when the \fBzfs mount -a\fR command is invoked (without editing
+\fB/etc/vfstab\fR). The \fBmountpoint\fR property can be inherited, so if
+\fBpool/home\fR has a mount point of \fB/export/stuff\fR, then
+\fBpool/home/user\fR automatically inherits a mount point of
+\fB/export/stuff/user\fR.
+.sp
+.LP
+A file system \fBmountpoint\fR property of \fBnone\fR prevents the file system
+from being mounted.
+.sp
+.LP
+If needed, \fBZFS\fR file systems can also be managed with traditional tools
+(\fBmount\fR, \fBumount\fR, \fB/etc/vfstab\fR). If a file system's mount point
+is set to \fBlegacy\fR, \fBZFS\fR makes no attempt to manage the file system,
+and the administrator is responsible for mounting and unmounting the file
+system.
+.SS "Zones"
+.sp
+.LP
+A \fBZFS\fR file system can be added to a non-global zone by using the
+\fBzonecfg\fR \fBadd fs\fR subcommand. A \fBZFS\fR file system that is added to
+a non-global zone must have its \fBmountpoint\fR property set to \fBlegacy\fR.
+.sp
+.LP
+The physical properties of an added file system are controlled by the global
+administrator. However, the zone administrator can create, modify, or destroy
+files within the added file system, depending on how the file system is
+mounted.
+.sp
+.LP
+A dataset can also be delegated to a non-global zone by using the \fBzonecfg\fR
+\fBadd dataset\fR subcommand. You cannot delegate a dataset to one zone and the
+children of the same dataset to another zone. The zone administrator can change
+properties of the dataset or any of its children. However, the \fBquota\fR
+property is controlled by the global administrator.
+.sp
+.LP
+A \fBZFS\fR volume can be added as a device to a non-global zone by using the
+\fBzonecfg\fR \fBadd device\fR subcommand. However, its physical properties can
+be modified only by the global administrator.
+.sp
+.LP
+For more information about \fBzonecfg\fR syntax, see \fBzonecfg\fR(1M).
+.sp
+.LP
+After a dataset is delegated to a non-global zone, the \fBzoned\fR property is
+automatically set. A zoned file system cannot be mounted in the global zone,
+since the zone administrator might have to set the mount point to an
+unacceptable value.
+.sp
+.LP
+The global administrator can forcibly clear the \fBzoned\fR property, though
+this should be done with extreme care. The global administrator should verify
+that all the mount points are acceptable before clearing the property.
+.SS "Native Properties"
+.sp
+.LP
+Properties are divided into two types, native properties and user-defined (or
+"user") properties. Native properties either export internal statistics or
+control \fBZFS\fR behavior. In addition, native properties are either editable
+or read-only. User properties have no effect on \fBZFS\fR behavior, but you can
+use them to annotate datasets in a way that is meaningful in your environment.
+For more information about user properties, see the "User Properties" section,
+below.
+.sp
+.LP
+Every dataset has a set of properties that export statistics about the dataset
+as well as control various behaviors. Properties are inherited from the parent
+unless overridden by the child. Some properties apply only to certain types of
+datasets (file systems, volumes, or snapshots).
+.sp
+.LP
+The values of numeric properties can be specified using human-readable suffixes
+(for example, \fBk\fR, \fBKB\fR, \fBM\fR, \fBGb\fR, and so forth, up to \fBZ\fR
+for zettabyte). The following are all valid (and equal) specifications:
+.sp
+.in +2
+.nf
+1536M, 1.5g, 1.50GB
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The values of non-numeric properties are case sensitive and must be lowercase,
+except for \fBmountpoint\fR, \fBsharenfs\fR, and \fBsharesmb\fR.
+.sp
+.LP
+The following native properties consist of read-only statistics about the
+dataset. These properties can be neither set, nor inherited. Native properties
+apply to all dataset types unless otherwise noted.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBavailable\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of space available to the dataset and all its children, assuming
+that there is no other activity in the pool. Because space is shared within a
+pool, availability can be limited by any number of factors, including physical
+pool size, quotas, reservations, or other datasets within the pool.
+.sp
+This property can also be referred to by its shortened column name,
+\fBavail\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcompressratio\fR\fR
+.ad
+.sp .6
+.RS 4n
+The compression ratio achieved for this dataset, expressed as a multiplier.
+Compression can be turned on by running: \fBzfs set compression=on
+\fIdataset\fR\fR. The default value is \fBoff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreation\fR\fR
+.ad
+.sp .6
+.RS 4n
+The time this dataset was created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefer_destroy\fR\fR
+.ad
+.sp .6
+.RS 4n
+This property is \fBon\fR if the snapshot has been marked for deferred destroy
+by using the \fBzfs destroy\fR \fB-d\fR command. Otherwise, the property is
+\fBoff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmounted\fR\fR
+.ad
+.sp .6
+.RS 4n
+For file systems, indicates whether the file system is currently mounted. This
+property can be either \fByes\fR or \fBno\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBorigin\fR\fR
+.ad
+.sp .6
+.RS 4n
+For cloned file systems or volumes, the snapshot from which the clone was
+created. The origin cannot be destroyed (even with the \fB-r\fR or \fB-f\fR
+options) so long as a clone exists.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreferenced\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of data that is accessible by this dataset, which may or may not be
+shared with other datasets in the pool. When a snapshot or clone is created, it
+initially references the same amount of space as the file system or snapshot it
+was created from, since its contents are identical.
+.sp
+This property can also be referred to by its shortened column name,
+\fBrefer\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtype\fR\fR
+.ad
+.sp .6
+.RS 4n
+The type of dataset: \fBfilesystem\fR, \fBvolume\fR, or \fBsnapshot\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBused\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of space consumed by this dataset and all its descendents. This is
+the value that is checked against this dataset's quota and reservation. The
+space used does not include this dataset's reservation, but does take into
+account the reservations of any descendent datasets. The amount of space that a
+dataset consumes from its parent, as well as the amount of space that are freed
+if this dataset is recursively destroyed, is the greater of its space used and
+its reservation.
+.sp
+When snapshots (see the "Snapshots" section) are created, their space is
+initially shared between the snapshot and the file system, and possibly with
+previous snapshots. As the file system changes, space that was previously
+shared becomes unique to the snapshot, and counted in the snapshot's space
+used. Additionally, deleting snapshots can increase the amount of space unique
+to (and used by) other snapshots.
+.sp
+The amount of space used, available, or referenced does not take into account
+pending changes. Pending changes are generally accounted for within a few
+seconds. Committing a change to a disk using \fBfsync\fR(3c) or \fBO_SYNC\fR
+does not necessarily guarantee that the space usage information is updated
+immediately.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusedby*\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBusedby*\fR properties decompose the \fBused\fR properties into the
+various reasons that space is used. Specifically, \fBused\fR =
+\fBusedbychildren\fR + \fBusedbydataset\fR + \fBusedbyrefreservation\fR +,
+\fBusedbysnapshots\fR. These properties are only available for datasets created
+on \fBzpool\fR "version 13" pools.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusedbychildren\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of space used by children of this dataset, which would be freed if
+all the dataset's children were destroyed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusedbydataset\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of space used by this dataset itself, which would be freed if the
+dataset were destroyed (after first removing any \fBrefreservation\fR and
+destroying any necessary snapshots or descendents).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusedbyrefreservation\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of space used by a \fBrefreservation\fR set on this dataset, which
+would be freed if the \fBrefreservation\fR was removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusedbysnapshots\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of space consumed by snapshots of this dataset. In particular, it is
+the amount of space that would be freed if all of this dataset's snapshots were
+destroyed. Note that this is not simply the sum of the snapshots' \fBused\fR
+properties because space can be shared by multiple snapshots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuserused@\fR\fIuser\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of space consumed by the specified user in this dataset. Space is
+charged to the owner of each file, as displayed by \fBls\fR \fB-l\fR. The
+amount of space charged is displayed by \fBdu\fR and \fBls\fR \fB-s\fR. See the
+\fBzfs userspace\fR subcommand for more information.
+.sp
+Unprivileged users can access only their own space usage. The root user, or a
+user who has been granted the \fBuserused\fR privilege with \fBzfs allow\fR,
+can access everyone's usage.
+.sp
+The \fBuserused@\fR... properties are not displayed by \fBzfs get all\fR. The
+user's name must be appended after the \fB@\fR symbol, using one of the
+following forms:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIPOSIX name\fR (for example, \fBjoe\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIPOSIX numeric ID\fR (for example, \fB789\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fISID name\fR (for example, \fBjoe.smith@mydomain\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fISID numeric ID\fR (for example, \fBS-1-123-456-789\fR)
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuserrefs\fR\fR
+.ad
+.sp .6
+.RS 4n
+This property is set to the number of user holds on this snapshot. User holds
+are set by using the \fBzfs hold\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroupused@\fR\fIgroup\fR\fR
+.ad
+.sp .6
+.RS 4n
+The amount of space consumed by the specified group in this dataset. Space is
+charged to the group of each file, as displayed by \fBls\fR \fB-l\fR. See the
+\fBuserused@\fR\fIuser\fR property for more information.
+.sp
+Unprivileged users can only access their own groups' space usage. The root
+user, or a user who has been granted the \fBgroupused\fR privilege with \fBzfs
+allow\fR, can access all groups' usage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvolblocksize\fR=\fIblocksize\fR\fR
+.ad
+.sp .6
+.RS 4n
+For volumes, specifies the block size of the volume. The \fBblocksize\fR cannot
+be changed once the volume has been written, so it should be set at volume
+creation time. The default \fBblocksize\fR for volumes is 8 Kbytes. Any power
+of 2 from 512 bytes to 128 Kbytes is valid.
+.sp
+This property can also be referred to by its shortened column name,
+\fBvolblock\fR.
+.RE
+
+.sp
+.LP
+The following native properties can be used to change the behavior of a
+\fBZFS\fR dataset.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaclinherit\fR=\fBdiscard\fR | \fBnoallow\fR | \fBrestricted\fR |
+\fBpassthrough\fR | \fBpassthrough-x\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls how \fBACL\fR entries are inherited when files and directories are
+created. A file system with an \fBaclinherit\fR property of \fBdiscard\fR does
+not inherit any \fBACL\fR entries. A file system with an \fBaclinherit\fR
+property value of \fBnoallow\fR only inherits inheritable \fBACL\fR entries
+that specify "deny" permissions. The property value \fBrestricted\fR (the
+default) removes the \fBwrite_acl\fR and \fBwrite_owner\fR permissions when the
+\fBACL\fR entry is inherited. A file system with an \fBaclinherit\fR property
+value of \fBpassthrough\fR inherits all inheritable \fBACL\fR entries without
+any modifications made to the \fBACL\fR entries when they are inherited. A file
+system with an \fBaclinherit\fR property value of \fBpassthrough-x\fR has the
+same meaning as \fBpassthrough\fR, except that the \fBowner@\fR, \fBgroup@\fR,
+and \fBeveryone@\fR \fBACE\fRs inherit the execute permission only if the file
+creation mode also requests the execute bit.
+.sp
+When the property value is set to \fBpassthrough\fR, files are created with a
+mode determined by the inheritable \fBACE\fRs. If no inheritable \fBACE\fRs
+exist that affect the mode, then the mode is set in accordance to the requested
+mode from the application.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaclmode\fR=\fBdiscard\fR | \fBgroupmask\fR | \fBpassthrough\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls how an \fBACL\fR is modified during \fBchmod\fR(2). A file system with
+an \fBaclmode\fR property of \fBdiscard\fR deletes all \fBACL\fR entries that
+do not represent the mode of the file. An \fBaclmode\fR property of
+\fBgroupmask\fR (the default) reduces user or group permissions. The
+permissions are reduced, such that they are no greater than the group
+permission bits, unless it is a user entry that has the same \fBUID\fR as the
+owner of the file or directory. In this case, the \fBACL\fR permissions are
+reduced so that they are no greater than owner permission bits. A file system
+with an \fBaclmode\fR property of \fBpassthrough\fR indicates that no changes
+are made to the \fBACL\fR other than generating the necessary \fBACL\fR entries
+to represent the new mode of the file or directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBatime\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether the access time for files is updated when they are read.
+Turning this property off avoids producing write traffic when reading files and
+can result in significant performance gains, though it might confuse mailers
+and other similar utilities. The default value is \fBon\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcanmount\fR=\fBon\fR | \fBoff\fR | \fBnoauto\fR\fR
+.ad
+.sp .6
+.RS 4n
+If this property is set to \fBoff\fR, the file system cannot be mounted, and is
+ignored by \fBzfs mount -a\fR. Setting this property to \fBoff\fR is similar to
+setting the \fBmountpoint\fR property to \fBnone\fR, except that the dataset
+still has a normal \fBmountpoint\fR property, which can be inherited. Setting
+this property to \fBoff\fR allows datasets to be used solely as a mechanism to
+inherit properties. One example of setting \fBcanmount=\fR\fBoff\fR is to have
+two datasets with the same \fBmountpoint\fR, so that the children of both
+datasets appear in the same directory, but might have different inherited
+characteristics.
+.sp
+When the \fBnoauto\fR option is set, a dataset can only be mounted and
+unmounted explicitly. The dataset is not mounted automatically when the dataset
+is created or imported, nor is it mounted by the \fBzfs mount -a\fR command or
+unmounted by the \fBzfs unmount -a\fR command.
+.sp
+This property is not inherited.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBchecksum\fR=\fBon\fR | \fBoff\fR | \fBfletcher2,\fR| \fBfletcher4\fR |
+\fBsha256\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls the checksum used to verify data integrity. The default value is
+\fBon\fR, which automatically selects an appropriate algorithm (currently,
+\fBfletcher2\fR, but this may change in future releases). The value \fBoff\fR
+disables integrity checking on user data. Disabling checksums is \fBNOT\fR a
+recommended practice.
+.sp
+Changing this property affects only newly-written data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcompression\fR=\fBon\fR | \fBoff\fR | \fBlzjb\fR | \fBgzip\fR |
+\fBgzip-\fR\fIN\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls the compression algorithm used for this dataset. The \fBlzjb\fR
+compression algorithm is optimized for performance while providing decent data
+compression. Setting compression to \fBon\fR uses the \fBlzjb\fR compression
+algorithm. The \fBgzip\fR compression algorithm uses the same compression as
+the \fBgzip\fR(1) command. You can specify the \fBgzip\fR level by using the
+value \fBgzip-\fR\fIN\fR where \fIN\fR is an integer from 1 (fastest) to 9
+(best compression ratio). Currently, \fBgzip\fR is equivalent to \fBgzip-6\fR
+(which is also the default for \fBgzip\fR(1)).
+.sp
+This property can also be referred to by its shortened column name
+\fBcompress\fR. Changing this property affects only newly-written data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcopies\fR=\fB1\fR | \fB2\fR | \fB3\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls the number of copies of data stored for this dataset. These copies are
+in addition to any redundancy provided by the pool, for example, mirroring or
+RAID-Z. The copies are stored on different disks, if possible. The space used
+by multiple copies is charged to the associated file and dataset, changing the
+\fBused\fR property and counting against quotas and reservations.
+.sp
+Changing this property only affects newly-written data. Therefore, set this
+property at file system creation time by using the \fB-o\fR
+\fBcopies=\fR\fIN\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdevices\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether device nodes can be opened on this file system. The default
+value is \fBon\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexec\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether processes can be executed from within this file system. The
+default value is \fBon\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmountpoint\fR=\fIpath\fR | \fBnone\fR | \fBlegacy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls the mount point used for this file system. See the "Mount Points"
+section for more information on how this property is used.
+.sp
+When the \fBmountpoint\fR property is changed for a file system, the file
+system and any children that inherit the mount point are unmounted. If the new
+value is \fBlegacy\fR, then they remain unmounted. Otherwise, they are
+automatically remounted in the new location if the property was previously
+\fBlegacy\fR or \fBnone\fR, or if they were mounted before the property was
+changed. In addition, any shared file systems are unshared and shared in the
+new location.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnbmand\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether the file system should be mounted with \fBnbmand\fR (Non
+Blocking mandatory locks). This is used for \fBCIFS\fR clients. Changes to this
+property only take effect when the file system is umounted and remounted. See
+\fBmount\fR(1M) for more information on \fBnbmand\fR mounts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprimarycache\fR=\fBall\fR | \fBnone\fR | \fBmetadata\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls what is cached in the primary cache (ARC). If this property is set to
+\fBall\fR, then both user data and metadata is cached. If this property is set
+to \fBnone\fR, then neither user data nor metadata is cached. If this property
+is set to \fBmetadata\fR, then only metadata is cached. The default value is
+\fBall\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBquota\fR=\fIsize\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits the amount of space a dataset and its descendents can consume. This
+property enforces a hard limit on the amount of space used. This includes all
+space consumed by descendents, including file systems and snapshots. Setting a
+quota on a descendent of a dataset that already has a quota does not override
+the ancestor's quota, but rather imposes an additional limit.
+.sp
+Quotas cannot be set on volumes, as the \fBvolsize\fR property acts as an
+implicit quota.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuserquota@\fR\fIuser\fR=\fIsize\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits the amount of space consumed by the specified user. User space
+consumption is identified by the \fBuserspace@\fR\fIuser\fR property.
+.sp
+Enforcement of user quotas may be delayed by several seconds. This delay means
+that a user might exceed their quota before the system notices that they are
+over quota and begins to refuse additional writes with the \fBEDQUOT\fR error
+message . See the \fBzfs userspace\fR subcommand for more information.
+.sp
+Unprivileged users can only access their own groups' space usage. The root
+user, or a user who has been granted the \fBuserquota\fR privilege with \fBzfs
+allow\fR, can get and set everyone's quota.
+.sp
+This property is not available on volumes, on file systems before version 4, or
+on pools before version 15. The \fBuserquota@\fR... properties are not
+displayed by \fBzfs get all\fR. The user's name must be appended after the
+\fB@\fR symbol, using one of the following forms:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIPOSIX name\fR (for example, \fBjoe\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fIPOSIX numeric ID\fR (for example, \fB789\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fISID name\fR (for example, \fBjoe.smith@mydomain\fR)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fISID numeric ID\fR (for example, \fBS-1-123-456-789\fR)
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroupquota@\fR\fIgroup\fR=\fIsize\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits the amount of space consumed by the specified group. Group space
+consumption is identified by the \fBuserquota@\fR\fIuser\fR property.
+.sp
+Unprivileged users can access only their own groups' space usage. The root
+user, or a user who has been granted the \fBgroupquota\fR privilege with \fBzfs
+allow\fR, can get and set all groups' quotas.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreadonly\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether this dataset can be modified. The default value is \fBoff\fR.
+.sp
+This property can also be referred to by its shortened column name,
+\fBrdonly\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrecordsize\fR=\fIsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies a suggested block size for files in the file system. This property is
+designed solely for use with database workloads that access files in fixed-size
+records. \fBZFS\fR automatically tunes block sizes according to internal
+algorithms optimized for typical access patterns.
+.sp
+For databases that create very large files but access them in small random
+chunks, these algorithms may be suboptimal. Specifying a \fBrecordsize\fR
+greater than or equal to the record size of the database can result in
+significant performance gains. Use of this property for general purpose file
+systems is strongly discouraged, and may adversely affect performance.
+.sp
+The size specified must be a power of two greater than or equal to 512 and less
+than or equal to 128 Kbytes.
+.sp
+Changing the file system's \fBrecordsize\fR affects only files created
+afterward; existing files are unaffected.
+.sp
+This property can also be referred to by its shortened column name,
+\fBrecsize\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefquota\fR=\fIsize\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits the amount of space a dataset can consume. This property enforces a hard
+limit on the amount of space used. This hard limit does not include space used
+by descendents, including file systems and snapshots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrefreservation\fR=\fIsize\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+The minimum amount of space guaranteed to a dataset, not including its
+descendents. When the amount of space used is below this value, the dataset is
+treated as if it were taking up the amount of space specified by
+\fBrefreservation\fR. The \fBrefreservation\fR reservation is accounted for in
+the parent datasets' space used, and counts against the parent datasets' quotas
+and reservations.
+.sp
+If \fBrefreservation\fR is set, a snapshot is only allowed if there is enough
+free pool space outside of this reservation to accommodate the current number
+of "referenced" bytes in the dataset.
+.sp
+This property can also be referred to by its shortened column name,
+\fBrefreserv\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreservation\fR=\fIsize\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+The minimum amount of space guaranteed to a dataset and its descendents. When
+the amount of space used is below this value, the dataset is treated as if it
+were taking up the amount of space specified by its reservation. Reservations
+are accounted for in the parent datasets' space used, and count against the
+parent datasets' quotas and reservations.
+.sp
+This property can also be referred to by its shortened column name,
+\fBreserv\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsecondarycache\fR=\fBall\fR | \fBnone\fR | \fBmetadata\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls what is cached in the secondary cache (L2ARC). If this property is set
+to \fBall\fR, then both user data and metadata is cached. If this property is
+set to \fBnone\fR, then neither user data nor metadata is cached. If this
+property is set to \fBmetadata\fR, then only metadata is cached. The default
+value is \fBall\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsetuid\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether the set-\fBUID\fR bit is respected for the file system. The
+default value is \fBon\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBshareiscsi\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Like the \fBsharenfs\fR property, \fBshareiscsi\fR indicates whether a
+\fBZFS\fR volume is exported as an \fBiSCSI\fR target. The acceptable values
+for this property are \fBon\fR, \fBoff\fR, and \fBtype=disk\fR. The default
+value is \fBoff\fR. In the future, other target types might be supported. For
+example, \fBtape\fR.
+.sp
+You might want to set \fBshareiscsi=on\fR for a file system so that all
+\fBZFS\fR volumes within the file system are shared by default. However,
+setting this property on a file system has no direct effect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsharesmb\fR=\fBon\fR | \fBoff\fR | \fIopts\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether the file system is shared by using the Solaris \fBCIFS\fR
+service, and what options are to be used. A file system with the \fBsharesmb\fR
+property set to \fBoff\fR is managed through traditional tools such as
+\fBsharemgr\fR(1M). Otherwise, the file system is automatically shared and
+unshared with the \fBzfs share\fR and \fBzfs unshare\fR commands. If the
+property is set to \fBon\fR, the \fBsharemgr\fR(1M) command is invoked with no
+options. Otherwise, the \fBsharemgr\fR(1M) command is invoked with options
+equivalent to the contents of this property.
+.sp
+Because \fBSMB\fR shares requires a resource name, a unique resource name is
+constructed from the dataset name. The constructed name is a copy of the
+dataset name except that the characters in the dataset name, which would be
+illegal in the resource name, are replaced with underscore (\fB_\fR)
+characters. A pseudo property "name" is also supported that allows you to
+replace the data set name with a specified name. The specified name is then
+used to replace the prefix dataset in the case of inheritance. For example, if
+the dataset \fBdata/home/john\fR is set to \fBname=john\fR, then
+\fBdata/home/john\fR has a resource name of \fBjohn\fR. If a child dataset of
+\fBdata/home/john/backups\fR, it has a resource name of \fBjohn_backups\fR.
+.sp
+When SMB shares are created, the SMB share name appears as an entry in the
+\fB\&.zfs/shares\fR directory. You can use the \fBls\fR or \fBchmod\fR command
+to display the share-level ACLs on the entries in this directory.
+.sp
+When the \fBsharesmb\fR property is changed for a dataset, the dataset and any
+children inheriting the property are re-shared with the new options, only if
+the property was previously set to \fBoff\fR, or if they were shared before the
+property was changed. If the new property is set to \fBoff\fR, the file systems
+are unshared.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsharenfs\fR=\fBon\fR | \fBoff\fR | \fIopts\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether the file system is shared via \fBNFS\fR, and what options are
+used. A file system with a \fBsharenfs\fR property of \fBoff\fR is managed
+through traditional tools such as \fBshare\fR(1M), \fBunshare\fR(1M), and
+\fBdfstab\fR(4). Otherwise, the file system is automatically shared and
+unshared with the \fBzfs share\fR and \fBzfs unshare\fR commands. If the
+property is set to \fBon\fR, the \fBshare\fR(1M) command is invoked with no
+options. Otherwise, the \fBshare\fR(1M) command is invoked with options
+equivalent to the contents of this property.
+.sp
+When the \fBsharenfs\fR property is changed for a dataset, the dataset and any
+children inheriting the property are re-shared with the new options, only if
+the property was previously \fBoff\fR, or if they were shared before the
+property was changed. If the new property is \fBoff\fR, the file systems are
+unshared.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogbias\fR = \fBlatency\fR | \fBthroughput\fR\fR
+.ad
+.sp .6
+.RS 4n
+Provide a hint to ZFS about handling of synchronous requests in this dataset.
+If \fBlogbias\fR is set to \fBlatency\fR (the default), ZFS will use pool log
+devices (if configured) to handle the requests at low latency. If \fBlogbias\fR
+is set to \fBthroughput\fR, ZFS will not use configured pool log devices. ZFS
+will instead optimize synchronous operations for global pool throughput and
+efficient use of resources.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsnapdir\fR=\fBhidden\fR | \fBvisible\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether the \fB\&.zfs\fR directory is hidden or visible in the root of
+the file system as discussed in the "Snapshots" section. The default value is
+\fBhidden\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBversion\fR=\fB1\fR | \fB2\fR | \fBcurrent\fR\fR
+.ad
+.sp .6
+.RS 4n
+The on-disk version of this file system, which is independent of the pool
+version. This property can only be set to later supported versions. See the
+\fBzfs upgrade\fR command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvolsize\fR=\fIsize\fR\fR
+.ad
+.sp .6
+.RS 4n
+For volumes, specifies the logical size of the volume. By default, creating a
+volume establishes a reservation of equal size. For storage pools with a
+version number of 9 or higher, a \fBrefreservation\fR is set instead. Any
+changes to \fBvolsize\fR are reflected in an equivalent change to the
+reservation (or \fBrefreservation\fR). The \fBvolsize\fR can only be set to a
+multiple of \fBvolblocksize\fR, and cannot be zero.
+.sp
+The reservation is kept equal to the volume's logical size to prevent
+unexpected behavior for consumers. Without the reservation, the volume could
+run out of space, resulting in undefined behavior or data corruption, depending
+on how the volume is used. These effects can also occur when the volume size is
+changed while it is in use (particularly when shrinking the size). Extreme care
+should be used when adjusting the volume size.
+.sp
+Though not recommended, a "sparse volume" (also known as "thin provisioning")
+can be created by specifying the \fB-s\fR option to the \fBzfs create -V\fR
+command, or by changing the reservation after the volume has been created. A
+"sparse volume" is a volume where the reservation is less then the volume size.
+Consequently, writes to a sparse volume can fail with \fBENOSPC\fR when the
+pool is low on space. For a sparse volume, changes to \fBvolsize\fR are not
+reflected in the reservation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvscan\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether regular files should be scanned for viruses when a file is
+opened and closed. In addition to enabling this property, the virus scan
+service must also be enabled for virus scanning to occur. The default value is
+\fBoff\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBxattr\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether extended attributes are enabled for this file system. The
+default value is \fBon\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzoned\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether the dataset is managed from a non-global zone. See the "Zones"
+section for more information. The default value is \fBoff\fR.
+.RE
+
+.sp
+.LP
+The following three properties cannot be changed after the file system is
+created, and therefore, should be set when the file system is created. If the
+properties are not set with the \fBzfs create\fR or \fBzpool create\fR
+commands, these properties are inherited from the parent dataset. If the parent
+dataset lacks these properties due to having been created prior to these
+features being supported, the new file system will have the default values for
+these properties.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcasesensitivity\fR=\fBsensitive\fR | \fBinsensitive\fR | \fBmixed\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates whether the file name matching algorithm used by the file system
+should be case-sensitive, case-insensitive, or allow a combination of both
+styles of matching. The default value for the \fBcasesensitivity\fR property is
+\fBsensitive\fR. Traditionally, UNIX and POSIX file systems have case-sensitive
+file names.
+.sp
+The \fBmixed\fR value for the \fBcasesensitivity\fR property indicates that the
+file system can support requests for both case-sensitive and case-insensitive
+matching behavior. Currently, case-insensitive matching behavior on a file
+system that supports mixed behavior is limited to the Solaris CIFS server
+product. For more information about the \fBmixed\fR value behavior, see the
+\fISolaris ZFS Administration Guide\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnormalization\fR = \fBnone\fR | \fBformC\fR | \fBformD\fR | \fBformKC\fR
+| \fBformKD\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates whether the file system should perform a \fBunicode\fR normalization
+of file names whenever two file names are compared, and which normalization
+algorithm should be used. File names are always stored unmodified, names are
+normalized as part of any comparison process. If this property is set to a
+legal value other than \fBnone\fR, and the \fButf8only\fR property was left
+unspecified, the \fButf8only\fR property is automatically set to \fBon\fR. The
+default value of the \fBnormalization\fR property is \fBnone\fR. This property
+cannot be changed after the file system is created.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fButf8only\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Indicates whether the file system should reject file names that include
+characters that are not present in the \fBUTF-8\fR character code set. If this
+property is explicitly set to \fBoff\fR, the normalization property must either
+not be explicitly set or be set to \fBnone\fR. The default value for the
+\fButf8only\fR property is \fBoff\fR. This property cannot be changed after the
+file system is created.
+.RE
+
+.sp
+.LP
+The \fBcasesensitivity\fR, \fBnormalization\fR, and \fButf8only\fR properties
+are also new permissions that can be assigned to non-privileged users by using
+the \fBZFS\fR delegated administration feature.
+.SS "Temporary Mount Point Properties"
+.sp
+.LP
+When a file system is mounted, either through \fBmount\fR(1M) for legacy mounts
+or the \fBzfs mount\fR command for normal file systems, its mount options are
+set according to its properties. The correlation between properties and mount
+options is as follows:
+.sp
+.in +2
+.nf
+ PROPERTY MOUNT OPTION
+ devices devices/nodevices
+ exec exec/noexec
+ readonly ro/rw
+ setuid setuid/nosetuid
+ xattr xattr/noxattr
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In addition, these options can be set on a per-mount basis using the \fB-o\fR
+option, without affecting the property that is stored on disk. The values
+specified on the command line override the values stored in the dataset. The
+\fB-nosuid\fR option is an alias for \fBnodevices,nosetuid\fR. These properties
+are reported as "temporary" by the \fBzfs get\fR command. If the properties are
+changed while the dataset is mounted, the new setting overrides any temporary
+settings.
+.SS "User Properties"
+.sp
+.LP
+In addition to the standard native properties, \fBZFS\fR supports arbitrary
+user properties. User properties have no effect on \fBZFS\fR behavior, but
+applications or administrators can use them to annotate datasets (file systems,
+volumes, and snapshots).
+.sp
+.LP
+User property names must contain a colon (\fB:\fR) character to distinguish
+them from native properties. They may contain lowercase letters, numbers, and
+the following punctuation characters: colon (\fB:\fR), dash (\fB-\fR), period
+(\fB\&.\fR), and underscore (\fB_\fR). The expected convention is that the
+property name is divided into two portions such as
+\fImodule\fR\fB:\fR\fIproperty\fR, but this namespace is not enforced by
+\fBZFS\fR. User property names can be at most 256 characters, and cannot begin
+with a dash (\fB-\fR).
+.sp
+.LP
+When making programmatic use of user properties, it is strongly suggested to
+use a reversed \fBDNS\fR domain name for the \fImodule\fR component of property
+names to reduce the chance that two independently-developed packages use the
+same property name for different purposes. Property names beginning with
+\fBcom.sun\fR. are reserved for use by Sun Microsystems.
+.sp
+.LP
+The values of user properties are arbitrary strings, are always inherited, and
+are never validated. All of the commands that operate on properties (\fBzfs
+list\fR, \fBzfs get\fR, \fBzfs set\fR, and so forth) can be used to manipulate
+both native properties and user properties. Use the \fBzfs inherit\fR command
+to clear a user property . If the property is not defined in any parent
+dataset, it is removed entirely. Property values are limited to 1024
+characters.
+.SS "ZFS Volumes as Swap or Dump Devices"
+.sp
+.LP
+During an initial installation a swap device and dump device are created on
+\fBZFS\fR volumes in the \fBZFS\fR root pool. By default, the swap area size is
+based on 1/2 the size of physical memory up to 2 Gbytes. The size of the dump
+device depends on the kernel's requirements at installation time. Separate
+\fBZFS\fR volumes must be used for the swap area and dump devices. Do not swap
+to a file on a \fBZFS\fR file system. A \fBZFS\fR swap file configuration is
+not supported.
+.sp
+.LP
+If you need to change your swap area or dump device after the system is
+installed or upgraded, use the \fBswap\fR(1M) and \fBdumpadm\fR(1M) commands.
+If you need to change the size of your swap area or dump device, see the
+\fISolaris ZFS Administration Guide\fR.
+.SH SUBCOMMANDS
+.sp
+.LP
+All subcommands that modify state are logged persistently to the pool in their
+original form.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs ?\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a help message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs create\fR [\fB-p\fR] [\fB-o\fR \fIproperty\fR=\fIvalue\fR] ...
+\fIfilesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a new \fBZFS\fR file system. The file system is automatically mounted
+according to the \fBmountpoint\fR property inherited from the parent.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates all the non-existing parent datasets. Datasets created in this manner
+are automatically mounted according to the \fBmountpoint\fR property inherited
+from their parent. Any property specified on the command line using the
+\fB-o\fR option is ignored. If the target filesystem already exists, the
+operation completes successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the specified property as if the command \fBzfs set\fR
+\fIproperty\fR=\fIvalue\fR was invoked at the same time the dataset was
+created. Any editable \fBZFS\fR property can also be set at creation time.
+Multiple \fB-o\fR options can be specified. An error results if the same
+property is specified in multiple \fB-o\fR options.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs create\fR [\fB-ps\fR] [\fB-b\fR \fIblocksize\fR] [\fB-o\fR
+\fIproperty\fR=\fIvalue\fR] ... \fB-V\fR \fIsize\fR \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a volume of the given size. The volume is exported as a block device in
+\fB/dev/zvol/{dsk,rdsk}/\fR\fIpath\fR, where \fIpath\fR is the name of the
+volume in the \fBZFS\fR namespace. The size represents the logical size as
+exported by the device. By default, a reservation of equal size is created.
+.sp
+\fIsize\fR is automatically rounded up to the nearest 128 Kbytes to ensure that
+the volume has an integral number of blocks regardless of \fIblocksize\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates all the non-existing parent datasets. Datasets created in this manner
+are automatically mounted according to the \fBmountpoint\fR property inherited
+from their parent. Any property specified on the command line using the
+\fB-o\fR option is ignored. If the target filesystem already exists, the
+operation completes successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a sparse volume with no reservation. See \fBvolsize\fR in the Native
+Properties section for more information about sparse volumes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the specified property as if the \fBzfs set\fR \fIproperty\fR=\fIvalue\fR
+command was invoked at the same time the dataset was created. Any editable
+\fBZFS\fR property can also be set at creation time. Multiple \fB-o\fR options
+can be specified. An error results if the same property is specified in
+multiple \fB-o\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIblocksize\fR\fR
+.ad
+.sp .6
+.RS 4n
+Equivalent to \fB-o\fR \fBvolblocksize\fR=\fIblocksize\fR. If this option is
+specified in conjunction with \fB-o\fR \fBvolblocksize\fR, the resulting
+behavior is undefined.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs destroy\fR [\fB-rRf\fR] \fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Destroys the given dataset. By default, the command unshares any file systems
+that are currently shared, unmounts any file systems that are currently
+mounted, and refuses to destroy a dataset that has active dependents (children
+or clones).
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively destroy all children.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively destroy all dependents, including cloned file systems outside the
+target hierarchy.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force an unmount of any file systems using the \fBunmount -f\fR command. This
+option has no effect on non-file systems or unmounted file systems.
+.RE
+
+Extreme care should be taken when applying either the \fB-r\fR or the \fB-f\fR
+options, as they can destroy large portions of a pool and cause unexpected
+behavior for mounted file systems in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs destroy\fR [\fB-rRd\fR] \fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+The given snapshot is destroyed immediately if and only if the \fBzfs
+destroy\fR command without the \fB-d\fR option would have destroyed it. Such
+immediate destruction would occur, for example, if the snapshot had no clones
+and the user-initiated reference count were zero.
+.sp
+If the snapshot does not qualify for immediate destruction, it is marked for
+deferred deletion. In this state, it exists as a usable, visible snapshot until
+both of the preconditions listed above are met, at which point it is destroyed.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defer snapshot deletion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Destroy (or mark for deferred deletion) all snapshots with this name in
+descendent file systems.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively destroy all dependents.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs snapshot\fR [\fB-r\fR] [\fB-o\fR \fIproperty\fR=\fIvalue\fR] ...
+\fIfilesystem@snapname\fR|\fIvolume@snapname\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a snapshot with the given name. All previous modifications by
+successful system calls to the file system are part of the snapshot. See the
+"Snapshots" section for details.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively create snapshots of all descendent datasets. Snapshots are taken
+atomically, so that all recursive snapshots correspond to the same moment in
+time.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the specified property; see \fBzfs create\fR for details.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs rollback\fR [\fB-rRf\fR] \fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Roll back the given dataset to a previous snapshot. When a dataset is rolled
+back, all data that has changed since the snapshot is discarded, and the
+dataset reverts to the state at the time of the snapshot. By default, the
+command refuses to roll back to a snapshot other than the most recent one. In
+order to do so, all intermediate snapshots must be destroyed by specifying the
+\fB-r\fR option.
+.sp
+The \fB-rR\fR options do not recursively destroy the child snapshots of a
+recursive snapshot. Only the top-level recursive snapshot is destroyed by
+either of these options. To completely roll back a recursive snapshot, you must
+rollback the individual child snapshots.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively destroy any snapshots more recent than the one specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively destroy any more recent snapshots, as well as any clones of those
+snapshots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-R\fR option to force an unmount of any clone file systems
+that are to be destroyed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs clone\fR [\fB-p\fR] [\fB-o\fR \fIproperty\fR=\fIvalue\fR] ...
+\fIsnapshot\fR \fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a clone of the given snapshot. See the "Clones" section for details.
+The target dataset can be located anywhere in the \fBZFS\fR hierarchy, and is
+created as the same type as the original.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates all the non-existing parent datasets. Datasets created in this manner
+are automatically mounted according to the \fBmountpoint\fR property inherited
+from their parent. If the target filesystem or volume already exists, the
+operation completes successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the specified property; see \fBzfs create\fR for details.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs promote\fR \fIclone-filesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Promotes a clone file system to no longer be dependent on its "origin"
+snapshot. This makes it possible to destroy the file system that the clone was
+created from. The clone parent-child dependency relationship is reversed, so
+that the origin file system becomes a clone of the specified file system.
+.sp
+The snapshot that was cloned, and any snapshots previous to this snapshot, are
+now owned by the promoted clone. The space they use moves from the origin file
+system to the promoted clone, so enough space must be available to accommodate
+these snapshots. No new space is consumed by this operation, but the space
+accounting is adjusted. The promoted clone must not have any conflicting
+snapshot names of its own. The \fBrename\fR subcommand can be used to rename
+any conflicting snapshots.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs rename\fR \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR\fR
+.ad
+.br
+.na
+\fB\fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR\fR
+.ad
+.br
+.na
+\fB\fBzfs rename\fR [\fB-p\fR] \fIfilesystem\fR|\fIvolume\fR
+\fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Renames the given dataset. The new target can be located anywhere in the
+\fBZFS\fR hierarchy, with the exception of snapshots. Snapshots can only be
+renamed within the parent file system or volume. When renaming a snapshot, the
+parent file system of the snapshot does not need to be specified as part of the
+second argument. Renamed file systems can inherit new mount points, in which
+case they are unmounted and remounted at the new mount point.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates all the nonexistent parent datasets. Datasets created in this manner
+are automatically mounted according to the \fBmountpoint\fR property inherited
+from their parent.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs rename\fR \fB-r\fR \fIsnapshot\fR \fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively rename the snapshots of all descendent datasets. Snapshots are the
+only dataset that can be renamed recursively.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs\fR \fBlist\fR [\fB-r\fR|\fB-d\fR \fIdepth\fR] [\fB-H\fR] [\fB-o\fR
+\fIproperty\fR[,\fI\&...\fR]] [ \fB-t\fR \fItype\fR[,\fI\&...\fR]] [ \fB-s\fR
+\fIproperty\fR ] ... [ \fB-S\fR \fIproperty\fR ] ...
+[\fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Lists the property information for the given datasets in tabular form. If
+specified, you can list property information by the absolute pathname or the
+relative pathname. By default, all file systems and volumes are displayed.
+Snapshots are displayed if the \fBlistsnaps\fR property is \fBon\fR (the
+default is \fBoff\fR) . The following fields are displayed,
+\fBname,used,available,referenced,mountpoint\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used for scripting mode. Do not print headers and separate fields by a single
+tab instead of arbitrary white space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively display any children of the dataset on the command line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdepth\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively display any children of the dataset, limiting the recursion to
+\fIdepth\fR. A depth of \fB1\fR will display only the dataset and its direct
+children.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIproperty\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of properties to display. The property must be:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+One of the properties described in the "Native Properties" section
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A user property
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The value \fBname\fR to display the dataset name
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The value \fBspace\fR to display space usage properties on file systems and
+volumes. This is a shortcut for specifying \fB-o
+name,avail,used,usedsnap,usedds,usedrefreserv,usedchild\fR \fB-t
+filesystem,volume\fR syntax.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIproperty\fR\fR
+.ad
+.sp .6
+.RS 4n
+A property for sorting the output by column in ascending order based on the
+value of the property. The property must be one of the properties described in
+the "Properties" section, or the special value \fBname\fR to sort by the
+dataset name. Multiple properties can be specified at one time using multiple
+\fB-s\fR property options. Multiple \fB-s\fR options are evaluated from left to
+right in decreasing order of importance.
+.sp
+The following is a list of sorting criteria:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Numeric types sort in numeric order.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+String types sort in alphabetical order.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Types inappropriate for a row sort that row to the literal bottom, regardless
+of the specified ordering.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If no sorting options are specified the existing behavior of \fBzfs list\fR is
+preserved.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIproperty\fR\fR
+.ad
+.sp .6
+.RS 4n
+Same as the \fB-s\fR option, but sorts by property in descending order.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItype\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of types to display, where \fItype\fR is one of
+\fBfilesystem\fR, \fBsnapshot\fR , \fBvolume\fR, or \fBall\fR. For example,
+specifying \fB-t snapshot\fR displays only snapshots.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs set\fR \fIproperty\fR=\fIvalue\fR
+\fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Sets the property to the given value for each dataset. Only some properties can
+be edited. See the "Properties" section for more information on what properties
+can be set and acceptable values. Numeric values can be specified as exact
+values, or in a human-readable form with a suffix of \fBB\fR, \fBK\fR, \fBM\fR,
+\fBG\fR, \fBT\fR, \fBP\fR, \fBE\fR, \fBZ\fR (for bytes, kilobytes, megabytes,
+gigabytes, terabytes, petabytes, exabytes, or zettabytes, respectively). User
+properties can be set on snapshots. For more information, see the "User
+Properties" section.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs get\fR [\fB-r\fR|\fB-d\fR \fIdepth\fR] [\fB-Hp\fR] [\fB-o\fR
+\fIfield\fR[,...] [\fB-s\fR \fIsource\fR[,...] "\fIall\fR" |
+\fIproperty\fR[,...] \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Displays properties for the given datasets. If no datasets are specified, then
+the command displays properties for all datasets on the system. For each
+property, the following columns are displayed:
+.sp
+.in +2
+.nf
+ name Dataset name
+ property Property name
+ value Property value
+ source Property source. Can either be local, default,
+ temporary, inherited, or none (-).
+.fi
+.in -2
+.sp
+
+All columns are displayed by default, though this can be controlled by using
+the \fB-o\fR option. This command takes a comma-separated list of properties as
+described in the "Native Properties" and "User Properties" sections.
+.sp
+The special value \fBall\fR can be used to display all properties that apply to
+the given dataset's type (filesystem, volume, or snapshot).
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively display properties for any children.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdepth\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively display any children of the dataset, limiting the recursion to
+\fIdepth\fR. A depth of \fB1\fR will display only the dataset and its direct
+children.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display output in a form more easily parsed by scripts. Any headers are
+omitted, and fields are explicitly separated by a single tab instead of an
+arbitrary amount of space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of columns to display. \fBname,property,value,source\fR
+is the default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsource\fR\fR
+.ad
+.sp .6
+.RS 4n
+A comma-separated list of sources to display. Those properties coming from a
+source other than those in this list are ignored. Each source must be one of
+the following: \fBlocal,default,inherited,temporary,none\fR. The default value
+is all sources.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display numbers in parseable (exact) values.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs inherit\fR [\fB-r\fR] \fIproperty\fR
+\fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Clears the specified property, causing it to be inherited from an ancestor. If
+no ancestor has the property set, then the default value is used. See the
+"Properties" section for a listing of default values, and details on which
+properties can be inherited.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively inherit the given property for all children.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs upgrade\fR [\fB-v\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Displays a list of file systems that are not the most recent version.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs upgrade\fR [\fB-r\fR] [\fB-V\fR \fIversion\fR] [\fB-a\fR |
+\fIfilesystem\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Upgrades file systems to a new on-disk version. Once this is done, the file
+systems will no longer be accessible on systems running older versions of the
+software. \fBzfs send\fR streams generated from new snapshots of these file
+systems cannot be accessed on systems running older versions of the software.
+.sp
+In general, the file system version is independent of the pool version. See
+\fBzpool\fR(1M) for information on the \fBzpool upgrade\fR command.
+.sp
+In some cases, the file system version and the pool version are interrelated
+and the pool version must be upgraded before the file system version can be
+upgraded.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Upgrade all file systems on all imported pools.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Upgrade the specified file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Upgrade the specified file system and all descendent file systems
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fIversion\fR\fR
+.ad
+.sp .6
+.RS 4n
+Upgrade to the specified \fIversion\fR. If the \fB-V\fR flag is not specified,
+this command upgrades to the most recent version. This option can only be used
+to increase the version number, and only up to the most recent version
+supported by this software.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs userspace\fR [\fB-niHp\fR] [\fB-o\fR \fIfield\fR[,...]] [\fB-sS\fR
+\fIfield\fR]... [\fB-t\fR \fItype\fR [,...]] \fIfilesystem\fR |
+\fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays space consumed by, and quotas on, each user in the specified
+filesystem or snapshot. This corresponds to the \fBuserused@\fR\fIuser\fR and
+\fBuserquota@\fR\fIuser\fR properties.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print numeric ID instead of user/group name.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not print headers, use tab-delimited output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use exact (parseable) numeric output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIfield\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+Display only the specified fields from the following set,
+\fBtype,name,used,quota\fR.The default is to display all fields.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIfield\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sort output by this field. The \fIs\fR and \fIS\fR flags may be specified
+multiple times to sort first by one field, then by another. The default is
+\fB-s type\fR \fB-s name\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR \fIfield\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sort by this field in reverse order. See \fB-s\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItype\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+Print only the specified types from the following set,
+\fBall,posixuser,smbuser,posixgroup,smbgroup\fR.
+.sp
+The default is \fB-t posixuser,smbuser\fR
+.sp
+The default can be changed to include group types.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Translate SID to POSIX ID. The POSIX ID may be ephemeral if no mapping exists.
+Normal POSIX interfaces (for example, \fBstat\fR(2), \fBls\fR \fB-l\fR) perform
+this translation, so the \fB-i\fR option allows the output from \fBzfs
+userspace\fR to be compared directly with those utilities. However, \fB-i\fR
+may lead to confusion if some files were created by an SMB user before a
+SMB-to-POSIX name mapping was established. In such a case, some files are owned
+by the SMB entity and some by the POSIX entity. However, the \fB-i\fR option
+will report that the POSIX entity has the total usage and quota for both.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs groupspace\fR [\fB-niHp\fR] [\fB-o\fR \fIfield\fR[,...]] [\fB-sS\fR
+\fIfield\fR]... [\fB-t\fR \fItype\fR [,...]] \fIfilesystem\fR |
+\fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays space consumed by, and quotas on, each group in the specified
+filesystem or snapshot. This subcommand is identical to \fBzfs userspace\fR,
+except that the default types to display are \fB-t posixgroup,smbgroup\fR.
+.sp
+.in +2
+.nf
+-
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs mount\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays all \fBZFS\fR file systems currently mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs mount\fR [\fB-vO\fR] [\fB-o\fR \fIoptions\fR] \fB-a\fR |
+\fIfilesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mounts \fBZFS\fR file systems. Invoked automatically as part of the boot
+process.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoptions\fR\fR
+.ad
+.sp .6
+.RS 4n
+An optional, comma-separated list of mount options to use temporarily for the
+duration of the mount. See the "Temporary Mount Point Properties" section for
+details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform an overlay mount. See \fBmount\fR(1M) for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Report mount progress.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mount all available \fBZFS\fR file systems. Invoked automatically as part of
+the boot process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Mount the specified filesystem.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs unmount\fR [\fB-f\fR] \fB-a\fR | \fIfilesystem\fR|\fImountpoint\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unmounts currently mounted \fBZFS\fR file systems. Invoked automatically as
+part of the shutdown process.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forcefully unmount the file system, even if it is currently in use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unmount all available \fBZFS\fR file systems. Invoked automatically as part of
+the boot process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilesystem\fR|\fImountpoint\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unmount the specified filesystem. The command can also be given a path to a
+\fBZFS\fR file system mount point on the system.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs share\fR \fB-a\fR | \fIfilesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Shares available \fBZFS\fR file systems.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Share all available \fBZFS\fR file systems. Invoked automatically as part of
+the boot process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Share the specified filesystem according to the \fBsharenfs\fR and
+\fBsharesmb\fR properties. File systems are shared when the \fBsharenfs\fR or
+\fBsharesmb\fR property is set.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs unshare\fR \fB-a\fR | \fIfilesystem\fR|\fImountpoint\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unshares currently shared \fBZFS\fR file systems. This is invoked automatically
+as part of the shutdown process.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unshare all available \fBZFS\fR file systems. Invoked automatically as part of
+the boot process.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilesystem\fR|\fImountpoint\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unshare the specified filesystem. The command can also be given a path to a
+\fBZFS\fR file system shared on the system.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs send\fR [\fB-vR\fR] [\fB-\fR[\fBiI\fR] \fIsnapshot\fR]
+\fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a stream representation of the second \fIsnapshot\fR, which is written
+to standard output. The output can be redirected to a file or to a different
+system (for example, using \fBssh\fR(1). By default, a full stream is
+generated.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate an incremental stream from the first \fIsnapshot\fR to the second
+\fIsnapshot\fR. The incremental source (the first \fIsnapshot\fR) can be
+specified as the last component of the snapshot name (for example, the part
+after the \fB@\fR), and it is assumed to be from the same file system as the
+second \fIsnapshot\fR.
+.sp
+If the destination is a clone, the source may be the origin snapshot, which
+must be fully specified (for example, \fBpool/fs@origin\fR, not just
+\fB@origin\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIsnapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate a stream package that sends all intermediary snapshots from the first
+snapshot to the second snapshot. For example, \fB-I @a fs@d\fR is similar to
+\fB-i @a fs@b; -i @b fs@c; -i @c fs@d\fR. The incremental source snapshot may
+be specified as with the \fB-i\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generate a replication stream package, which will replicate the specified
+filesystem, and all descendent file systems, up to the named snapshot. When
+received, all properties, snapshots, descendent file systems, and clones are
+preserved.
+.sp
+If the \fB-i\fR or \fB-I\fR flags are used in conjunction with the \fB-R\fR
+flag, an incremental replication stream is generated. The current values of
+properties, and current snapshot and file system names are set when the stream
+is received. If the \fB-F\fR flag is specified when this stream is received,
+snapshots and file systems that do not exist on the sending side are destroyed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print verbose information about the stream package generated.
+.RE
+
+The format of the stream is committed. You will be able to receive your streams
+on future versions of \fBZFS\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs receive\fR [\fB-vnFu\fR]
+\fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR\fR
+.ad
+.br
+.na
+\fB\fBzfs receive\fR [\fB-vnFu\fR] \fB-d\fR \fIfilesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Creates a snapshot whose contents are as specified in the stream provided on
+standard input. If a full stream is received, then a new file system is created
+as well. Streams are created using the \fBzfs send\fR subcommand, which by
+default creates a full stream. \fBzfs recv\fR can be used as an alias for
+\fBzfs receive\fR.
+.sp
+If an incremental stream is received, then the destination file system must
+already exist, and its most recent snapshot must match the incremental stream's
+source. For \fBzvols\fR, the destination device link is destroyed and
+recreated, which means the \fBzvol\fR cannot be accessed during the
+\fBreceive\fR operation.
+.sp
+When a snapshot replication package stream that is generated by using the
+\fBzfs send\fR \fB-R\fR command is received, any snapshots that do not exist
+on the sending location are destroyed by using the \fBzfs destroy\fR \fB-d\fR
+command.
+.sp
+The name of the snapshot (and file system, if a full stream is received) that
+this subcommand creates depends on the argument type and the \fB-d\fR option.
+.sp
+If the argument is a snapshot name, the specified \fIsnapshot\fR is created. If
+the argument is a file system or volume name, a snapshot with the same name as
+the sent snapshot is created within the specified \fIfilesystem\fR or
+\fIvolume\fR. If the \fB-d\fR option is specified, the snapshot name is
+determined by appending the sent snapshot's name to the specified
+\fIfilesystem\fR. If the \fB-d\fR option is specified, any required file
+systems within the specified one are created.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use the name of the sent snapshot to determine the name of the new snapshot as
+described in the paragraph above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.sp .6
+.RS 4n
+File system that is associated with the received stream is not mounted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print verbose information about the stream and the time required to perform the
+receive operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not actually receive the stream. This can be useful in conjunction with the
+\fB-v\fR option to verify the name the receive operation would use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force a rollback of the file system to the most recent snapshot before
+performing the receive operation. If receiving an incremental replication
+stream (for example, one generated by \fBzfs send -R -[iI]\fR), destroy
+snapshots and file systems that do not exist on the sending side.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs allow\fR \fIfilesystem\fR | \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays permissions that have been delegated on the specified filesystem or
+volume. See the other forms of \fBzfs allow\fR for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs allow\fR [\fB-ldug\fR] "\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...]
+\fIperm\fR|@\fIsetname\fR[,...] \fIfilesystem\fR| \fIvolume\fR\fR
+.ad
+.br
+.na
+\fB\fBzfs allow\fR [\fB-ld\fR] \fB-e\fR \fIperm\fR|@\fIsetname\fR[,...]
+\fIfilesystem\fR | \fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delegates \fBZFS\fR administration permission for the file systems to
+non-privileged users.
+.sp
+.ne 2
+.mk
+.na
+\fB[\fB-ug\fR] "\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies to whom the permissions are delegated. Multiple entities can be
+specified as a comma-separated list. If neither of the \fB-ug\fR options are
+specified, then the argument is interpreted preferentially as the keyword
+"everyone", then as a user name, and lastly as a group name. To specify a user
+or group named "everyone", use the \fB-u\fR or \fB-g\fR options. To specify a
+group with the same name as a user, use the \fB-g\fR options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fB-e\fR] \fIperm\fR|@\fIsetname\fR[,...]\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that the permissions be delegated to "everyone." Multiple permissions
+may be specified as a comma-separated list. Permission names are the same as
+\fBZFS\fR subcommand and property names. See the property list below. Property
+set names, which begin with an at sign (\fB@\fR) , may be specified. See the
+\fB-s\fR form below for details.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fB-ld\fR] \fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies where the permissions are delegated. If neither of the \fB-ld\fR
+options are specified, or both are, then the permissions are allowed for the
+file system or volume, and all of its descendents. If only the \fB-l\fR option
+is used, then is allowed "locally" only for the specified file system. If only
+the \fB-d\fR option is used, then is allowed only for the descendent file
+systems.
+.RE
+
+.RE
+
+.sp
+.LP
+Permissions are generally the ability to use a \fBZFS\fR subcommand or change a
+\fBZFS\fR property. The following permissions are available:
+.sp
+.in +2
+.nf
+NAME TYPE NOTES
+allow subcommand Must also have the permission that is being
+ allowed
+clone subcommand Must also have the 'create' ability and 'mount'
+ ability in the origin file system
+create subcommand Must also have the 'mount' ability
+destroy subcommand Must also have the 'mount' ability
+mount subcommand Allows mount/umount of ZFS datasets
+promote subcommand Must also have the 'mount'
+ and 'promote' ability in the origin file system
+receive subcommand Must also have the 'mount' and 'create' ability
+rename subcommand Must also have the 'mount' and 'create'
+ ability in the new parent
+rollback subcommand Must also have the 'mount' ability
+send subcommand
+share subcommand Allows sharing file systems over NFS or SMB
+ protocols
+snapshot subcommand Must also have the 'mount' ability
+groupquota other Allows accessing any groupquota@... property
+groupused other Allows reading any groupused@... property
+userprop other Allows changing any user property
+userquota other Allows accessing any userquota@... property
+userused other Allows reading any userused@... property
+
+aclinherit property
+aclmode property
+atime property
+canmount property
+casesensitivity property
+checksum property
+compression property
+copies property
+devices property
+exec property
+mountpoint property
+nbmand property
+normalization property
+primarycache property
+quota property
+readonly property
+recordsize property
+refquota property
+refreservation property
+reservation property
+secondarycache property
+setuid property
+shareiscsi property
+sharenfs property
+sharesmb property
+snapdir property
+utf8only property
+version property
+volblocksize property
+volsize property
+vscan property
+xattr property
+zoned property
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs allow\fR \fB-c\fR \fIperm\fR|@\fIsetname\fR[,...]
+\fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets "create time" permissions. These permissions are granted (locally) to the
+creator of any newly-created descendent file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs allow\fR \fB-s\fR @\fIsetname\fR \fIperm\fR|@\fIsetname\fR[,...]
+\fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines or adds permissions to a permission set. The set can be used by other
+\fBzfs allow\fR commands for the specified file system and its descendents.
+Sets are evaluated dynamically, so changes to a set are immediately reflected.
+Permission sets follow the same naming restrictions as ZFS file systems, but
+the name must begin with an "at sign" (\fB@\fR), and can be no more than 64
+characters long.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs unallow\fR [\fB-rldug\fR]
+"\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...]
+[\fIperm\fR|@\fIsetname\fR[, ...]] \fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.br
+.na
+\fB\fBzfs unallow\fR [\fB-rld\fR] \fB-e\fR [\fIperm\fR|@\fIsetname\fR [,...]]
+\fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.br
+.na
+\fB\fBzfs unallow\fR [\fB-r\fR] \fB-c\fR [\fIperm\fR|@\fIsetname\fR[,...]]\fR
+.ad
+.br
+.na
+\fB\fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes permissions that were granted with the \fBzfs allow\fR command. No
+permissions are explicitly denied, so other permissions granted are still in
+effect. For example, if the permission is granted by an ancestor. If no
+permissions are specified, then all permissions for the specified \fIuser\fR,
+\fIgroup\fR, or \fIeveryone\fR are removed. Specifying "everyone" (or using the
+\fB-e\fR option) only removes the permissions that were granted to "everyone",
+not all permissions for every user and group. See the \fBzfs allow\fR command
+for a description of the \fB-ldugec\fR options.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively remove the permissions from this file system and all descendents.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs unallow\fR [\fB-r\fR] \fB-s\fR @\fIsetname\fR
+[\fIperm\fR|@\fIsetname\fR[,...]]\fR
+.ad
+.br
+.na
+\fB\fIfilesystem\fR|\fIvolume\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes permissions from a permission set. If no permissions are specified,
+then all permissions are removed, thus removing the set entirely.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs hold\fR [\fB-r\fR] \fItag\fR \fIsnapshot\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Adds a single reference, named with the \fItag\fR argument, to the specified
+snapshot or snapshots. Each snapshot has its own tag namespace, and tags must
+be unique within that space.
+.sp
+If a hold exists on a snapshot, attempts to destroy that snapshot by using the
+\fBzfs destroy\fR command return \fBEBUSY\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that a hold with the given tag is applied recursively to the
+snapshots of all descendent file systems.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs holds\fR [\fB-r\fR] \fIsnapshot\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Lists all existing user references for the given snapshot or snapshots.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the holds that are set on the named descendent snapshots, in addition to
+listing the holds on the named snapshot.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzfs release\fR [\fB-r\fR] \fItag\fR \fIsnapshot\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Removes a single reference, named with the \fItag\fR argument, from the
+specified snapshot or snapshots. The tag must already exist for each snapshot.
+.sp
+If a hold exists on a snapshot, attempts to destroy that snapshot by using the
+\fBzfs destroy\fR command return \fBEBUSY\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recursively releases a hold with the given tag on the snapshots of all
+descendent file systems.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a ZFS File System Hierarchy
+.sp
+.LP
+The following commands create a file system named \fBpool/home\fR and a file
+system named \fBpool/home/bob\fR. The mount point \fB/export/home\fR is set for
+the parent file system, and is automatically inherited by the child file
+system.
+
+.sp
+.in +2
+.nf
+# \fBzfs create pool/home\fR
+# \fBzfs set mountpoint=/export/home pool/home\fR
+# \fBzfs create pool/home/bob\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a ZFS Snapshot
+.sp
+.LP
+The following command creates a snapshot named \fByesterday\fR. This snapshot
+is mounted on demand in the \fB\&.zfs/snapshot\fR directory at the root of the
+\fBpool/home/bob\fR file system.
+
+.sp
+.in +2
+.nf
+# \fBzfs snapshot pool/home/bob@yesterday\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating and Destroying Multiple Snapshots
+.sp
+.LP
+The following command creates snapshots named \fByesterday\fR of
+\fBpool/home\fR and all of its descendent file systems. Each snapshot is
+mounted on demand in the \fB\&.zfs/snapshot\fR directory at the root of its
+file system. The second command destroys the newly created snapshots.
+
+.sp
+.in +2
+.nf
+# \fBzfs snapshot -r pool/home@yesterday\fR
+# \fBzfs destroy -r pool/home@yesterday\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRDisabling and Enabling File System Compression
+.sp
+.LP
+The following command disables the \fBcompression\fR property for all file
+systems under \fBpool/home\fR. The next command explicitly enables
+\fBcompression\fR for \fBpool/home/anne\fR.
+
+.sp
+.in +2
+.nf
+# \fBzfs set compression=off pool/home\fR
+# \fBzfs set compression=on pool/home/anne\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRListing ZFS Datasets
+.sp
+.LP
+The following command lists all active file systems and volumes in the system.
+Snapshots are displayed if the \fBlistsnaps\fR property is \fBon\fR. The
+default is \fBoff\fR. See \fBzpool\fR(1M) for more information on pool
+properties.
+
+.sp
+.in +2
+.nf
+# \fBzfs list\fR
+ NAME USED AVAIL REFER MOUNTPOINT
+ pool 450K 457G 18K /pool
+ pool/home 315K 457G 21K /export/home
+ pool/home/anne 18K 457G 18K /export/home/anne
+ pool/home/bob 276K 457G 276K /export/home/bob
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRSetting a Quota on a ZFS File System
+.sp
+.LP
+The following command sets a quota of 50 Gbytes for \fBpool/home/bob\fR.
+
+.sp
+.in +2
+.nf
+# \fBzfs set quota=50G pool/home/bob\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRListing ZFS Properties
+.sp
+.LP
+The following command lists all properties for \fBpool/home/bob\fR.
+
+.sp
+.in +2
+.nf
+# \fBzfs get all pool/home/bob\fR
+NAME PROPERTY VALUE SOURCE
+pool/home/bob type filesystem -
+pool/home/bob creation Tue Jul 21 15:53 2009 -
+pool/home/bob used 21K -
+pool/home/bob available 20.0G -
+pool/home/bob referenced 21K -
+pool/home/bob compressratio 1.00x -
+pool/home/bob mounted yes -
+pool/home/bob quota 20G local
+pool/home/bob reservation none default
+pool/home/bob recordsize 128K default
+pool/home/bob mountpoint /pool/home/bob default
+pool/home/bob sharenfs off default
+pool/home/bob checksum on default
+pool/home/bob compression on local
+pool/home/bob atime on default
+pool/home/bob devices on default
+pool/home/bob exec on default
+pool/home/bob setuid on default
+pool/home/bob readonly off default
+pool/home/bob zoned off default
+pool/home/bob snapdir hidden default
+pool/home/bob aclmode groupmask default
+pool/home/bob aclinherit restricted default
+pool/home/bob canmount on default
+pool/home/bob shareiscsi off default
+pool/home/bob xattr on default
+pool/home/bob copies 1 default
+pool/home/bob version 4 -
+pool/home/bob utf8only off -
+pool/home/bob normalization none -
+pool/home/bob casesensitivity sensitive -
+pool/home/bob vscan off default
+pool/home/bob nbmand off default
+pool/home/bob sharesmb off default
+pool/home/bob refquota none default
+pool/home/bob refreservation none default
+pool/home/bob primarycache all default
+pool/home/bob secondarycache all default
+pool/home/bob usedbysnapshots 0 -
+pool/home/bob usedbydataset 21K -
+pool/home/bob usedbychildren 0 -
+pool/home/bob usedbyrefreservation 0 -
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command gets a single property value.
+
+.sp
+.in +2
+.nf
+# \fBzfs get -H -o value compression pool/home/bob\fR
+on
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The following command lists all properties with local settings for
+\fBpool/home/bob\fR.
+
+.sp
+.in +2
+.nf
+# \fBzfs get -r -s local -o name,property,value all pool/home/bob\fR
+NAME PROPERTY VALUE
+pool/home/bob quota 20G
+pool/home/bob compression on
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRRolling Back a ZFS File System
+.sp
+.LP
+The following command reverts the contents of \fBpool/home/anne\fR to the
+snapshot named \fByesterday\fR, deleting all intermediate snapshots.
+
+.sp
+.in +2
+.nf
+# \fBzfs rollback -r pool/home/anne@yesterday\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRCreating a ZFS Clone
+.sp
+.LP
+The following command creates a writable file system whose initial contents are
+the same as \fBpool/home/bob@yesterday\fR.
+
+.sp
+.in +2
+.nf
+# \fBzfs clone pool/home/bob@yesterday pool/clone\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRPromoting a ZFS Clone
+.sp
+.LP
+The following commands illustrate how to test out changes to a file system, and
+then replace the original file system with the changed one, using clones, clone
+promotion, and renaming:
+
+.sp
+.in +2
+.nf
+# \fBzfs create pool/project/production\fR
+ populate /pool/project/production with data
+# \fBzfs snapshot pool/project/production@today\fR
+# \fBzfs clone pool/project/production@today pool/project/beta\fR
+make changes to /pool/project/beta and test them
+# \fBzfs promote pool/project/beta\fR
+# \fBzfs rename pool/project/production pool/project/legacy\fR
+# \fBzfs rename pool/project/beta pool/project/production\fR
+once the legacy version is no longer needed, it can be destroyed
+# \fBzfs destroy pool/project/legacy\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRInheriting ZFS Properties
+.sp
+.LP
+The following command causes \fBpool/home/bob\fR and \fBpool/home/anne\fR to
+inherit the \fBchecksum\fR property from their parent.
+
+.sp
+.in +2
+.nf
+# \fBzfs inherit checksum pool/home/bob pool/home/anne\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRRemotely Replicating ZFS Data
+.sp
+.LP
+The following commands send a full stream and then an incremental stream to a
+remote machine, restoring them into \fBpoolB/received/fs@a\fRand
+\fBpoolB/received/fs@b\fR, respectively. \fBpoolB\fR must contain the file
+system \fBpoolB/received\fR, and must not initially contain
+\fBpoolB/received/fs\fR.
+
+.sp
+.in +2
+.nf
+# \fBzfs send pool/fs@a | \e\fR
+ \fBssh host zfs receive poolB/received/fs@a\fR
+# \fBzfs send -i a pool/fs@b | ssh host \e\fR
+ \fBzfs receive poolB/received/fs\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRUsing the \fBzfs receive\fR \fB-d\fR Option
+.sp
+.LP
+The following command sends a full stream of \fBpoolA/fsA/fsB@snap\fR to a
+remote machine, receiving it into \fBpoolB/received/fsA/fsB@snap\fR. The
+\fBfsA/fsB@snap\fR portion of the received snapshot's name is determined from
+the name of the sent snapshot. \fBpoolB\fR must contain the file system
+\fBpoolB/received\fR. If \fBpoolB/received/fsA\fR does not exist, it is created
+as an empty file system.
+
+.sp
+.in +2
+.nf
+# \fBzfs send poolA/fsA/fsB@snap | \e
+ ssh host zfs receive -d poolB/received\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRSetting User Properties
+.sp
+.LP
+The following example sets the user-defined \fBcom.example:department\fR
+property for a dataset.
+
+.sp
+.in +2
+.nf
+# \fBzfs set com.example:department=12345 tank/accounting\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 15 \fRCreating a ZFS Volume as an iSCSI Target Device
+.sp
+.LP
+The following example shows how to create a \fBZFS\fR volume as an \fBiSCSI\fR
+target.
+
+.sp
+.in +2
+.nf
+# \fBzfs create -V 2g pool/volumes/vol1\fR
+# \fBzfs set shareiscsi=on pool/volumes/vol1\fR
+# \fBiscsitadm list target\fR
+Target: pool/volumes/vol1
+ iSCSI Name:
+ iqn.1986-03.com.sun:02:7b4b02a6-3277-eb1b-e686-a24762c52a8c
+ Connections: 0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+After the \fBiSCSI\fR target is created, set up the \fBiSCSI\fR initiator. For
+more information about the Solaris \fBiSCSI\fR initiator, see
+\fBiscsitadm\fR(1M).
+.LP
+\fBExample 16 \fRPerforming a Rolling Snapshot
+.sp
+.LP
+The following example shows how to maintain a history of snapshots with a
+consistent naming scheme. To keep a week's worth of snapshots, the user
+destroys the oldest snapshot, renames the remaining snapshots, and then creates
+a new snapshot, as follows:
+
+.sp
+.in +2
+.nf
+# \fBzfs destroy -r pool/users@7daysago\fR
+# \fBzfs rename -r pool/users@6daysago @7daysago\fR
+# \fBzfs rename -r pool/users@5daysago @6daysago\fR
+# \fBzfs rename -r pool/users@yesterday @5daysago\fR
+# \fBzfs rename -r pool/users@yesterday @4daysago\fR
+# \fBzfs rename -r pool/users@yesterday @3daysago\fR
+# \fBzfs rename -r pool/users@yesterday @2daysago\fR
+# \fBzfs rename -r pool/users@today @yesterday\fR
+# \fBzfs snapshot -r pool/users@today\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 17 \fRSetting \fBsharenfs\fR Property Options on a ZFS File System
+.sp
+.LP
+The following commands show how to set \fBsharenfs\fR property options to
+enable \fBrw\fR access for a set of \fBIP\fR addresses and to enable root
+access for system \fBneo\fR on the \fBtank/home\fR file system.
+
+.sp
+.in +2
+.nf
+# \fB# zfs set sharenfs='rw=@123.123.0.0/16,root=neo' tank/home\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If you are using \fBDNS\fR for host name resolution, specify the fully
+qualified hostname.
+
+.LP
+\fBExample 18 \fRDelegating ZFS Administration Permissions on a ZFS Dataset
+.sp
+.LP
+The following example shows how to set permissions so that user \fBcindys\fR
+can create, destroy, mount, and take snapshots on \fBtank/cindys\fR. The
+permissions on \fBtank/cindys\fR are also displayed.
+
+.sp
+.in +2
+.nf
+# \fBzfs allow cindys create,destroy,mount,snapshot tank/cindys\fR
+# \fBzfs allow tank/cindys\fR
+-------------------------------------------------------------
+Local+Descendent permissions on (tank/cindys)
+ user cindys create,destroy,mount,snapshot
+-------------------------------------------------------------
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Because the \fBtank/cindys\fR mount point permission is set to 755 by default,
+user \fBcindys\fR will be unable to mount file systems under \fBtank/cindys\fR.
+Set an \fBACL\fR similar to the following syntax to provide mount point access:
+.sp
+.in +2
+.nf
+# \fBchmod A+user:cindys:add_subdirectory:allow /tank/cindys\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 19 \fRDelegating Create Time Permissions on a ZFS Dataset
+.sp
+.LP
+The following example shows how to grant anyone in the group \fBstaff\fR to
+create file systems in \fBtank/users\fR. This syntax also allows staff members
+to destroy their own file systems, but not destroy anyone else's file system.
+The permissions on \fBtank/users\fR are also displayed.
+
+.sp
+.in +2
+.nf
+# \fB# zfs allow staff create,mount tank/users\fR
+# \fBzfs allow -c destroy tank/users\fR
+# \fBzfs allow tank/users\fR
+-------------------------------------------------------------
+Create time permissions on (tank/users)
+ create,destroy
+Local+Descendent permissions on (tank/users)
+ group staff create,mount
+-------------------------------------------------------------
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 20 \fRDefining and Granting a Permission Set on a ZFS Dataset
+.sp
+.LP
+The following example shows how to define and grant a permission set on the
+\fBtank/users\fR file system. The permissions on \fBtank/users\fR are also
+displayed.
+
+.sp
+.in +2
+.nf
+# \fBzfs allow -s @pset create,destroy,snapshot,mount tank/users\fR
+# \fBzfs allow staff @pset tank/users\fR
+# \fBzfs allow tank/users\fR
+-------------------------------------------------------------
+Permission sets on (tank/users)
+ @pset create,destroy,mount,snapshot
+Create time permissions on (tank/users)
+ create,destroy
+Local+Descendent permissions on (tank/users)
+ group staff @pset,create,mount
+-------------------------------------------------------------
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 21 \fRDelegating Property Permissions on a ZFS Dataset
+.sp
+.LP
+The following example shows to grant the ability to set quotas and reservations
+on the \fBusers/home\fR file system. The permissions on \fBusers/home\fR are
+also displayed.
+
+.sp
+.in +2
+.nf
+# \fBzfs allow cindys quota,reservation users/home\fR
+# \fBzfs allow users/home\fR
+-------------------------------------------------------------
+Local+Descendent permissions on (users/home)
+ user cindys quota,reservation
+-------------------------------------------------------------
+cindys% \fBzfs set quota=10G users/home/marks\fR
+cindys% \fBzfs get quota users/home/marks\fR
+NAME PROPERTY VALUE SOURCE
+users/home/marks quota 10G local
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 22 \fRRemoving ZFS Delegated Permissions on a ZFS Dataset
+.sp
+.LP
+The following example shows how to remove the snapshot permission from the
+\fBstaff\fR group on the \fBtank/users\fR file system. The permissions on
+\fBtank/users\fR are also displayed.
+
+.sp
+.in +2
+.nf
+# \fBzfs unallow staff snapshot tank/users\fR
+# \fBzfs allow tank/users\fR
+-------------------------------------------------------------
+Permission sets on (tank/users)
+ @pset create,destroy,mount,snapshot
+Create time permissions on (tank/users)
+ create,destroy
+Local+Descendent permissions on (tank/users)
+ group staff @pset,create,mount
+-------------------------------------------------------------
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid command line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBssh\fR(1), \fBiscsitadm\fR(1M), \fBmount\fR(1M), \fBshare\fR(1M),
+\fBsharemgr\fR(1M), \fBunshare\fR(1M), \fBzonecfg\fR(1M), \fBzpool\fR(1M),
+\fBchmod\fR(2), \fBstat\fR(2), \fBwrite\fR(2), \fBfsync\fR(3C),
+\fBdfstab\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+See the \fBgzip\fR(1) man page, which is not part of the SunOS man page
+collection.
+.sp
+.LP
+For information about using the \fBZFS\fR web-based management tool and other
+\fBZFS\fR features, see the \fISolaris ZFS Administration Guide\fR.
diff --git a/usr/src/man/man1m/zic.1m b/usr/src/man/man1m/zic.1m
new file mode 100644
index 0000000000..75ea74dbc6
--- /dev/null
+++ b/usr/src/man/man1m/zic.1m
@@ -0,0 +1,659 @@
+'\" te
+.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
+.\" Copyright 1989 AT&T
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zic 1M "3 Jan 2006" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zic \- time zone compiler
+.SH SYNOPSIS
+.LP
+.nf
+\fBzic\fR [\fB--\fR\fIversion\fR] [\fB-s\fR] [\fB-v\fR] [\fB-l\fR \fIlocaltime\fR] [\fB-p\fR \fIposixrules\fR]
+ [\fB-d\fR \fIdirectory\fR] [\fB-y\fR \fIyearistype\fR] [\fIfilename\fR]...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBzic\fR reads text from the file(s) named on the command line and creates the
+time conversion information files specified in this input. If a \fIfilename\fR
+is '\fB\(mi\fR\&', the standard input is read.
+.sp
+.LP
+Input lines are made up of fields. Fields are separated by any number of white
+space characters. Leading and trailing white space on input lines is ignored. A
+pound sign (\fB#\fR) indicates a comment that extends to the end of the line.
+White space characters and pound signs can be enclosed within double quotes
+(\fB" "\fR) if they are to be used as part of a field. Any line that is blank
+(after comment stripping) is ignored. Non-blank lines are expected to be of one
+of three types: rule lines, zone lines, or link lines.
+.SS "Rule"
+.sp
+.LP
+A rule line has the form:
+.sp
+.LP
+For example:
+.sp
+.in +2
+.nf
+Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The fields that make up a rule line are:
+.sp
+.in +2
+.nf
+Rule USA 1969 1973 - Apr lastSun 2:00 1:00 D
+.fi
+.in -2
+.sp
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNAME\fR\fR
+.ad
+.RS 12n
+.rt
+Gives the (arbitrary) name of the set of rules this rule is part of.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFROM\fR\fR
+.ad
+.RS 12n
+.rt
+Gives the first year in which the rule applies. The word \fBminimum\fR (or an
+abbreviation) means the minimum year with a representable time value. The word
+\fBmaximum\fR (or an abbreviation) means the maximum year with a representable
+time value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTO\fR\fR
+.ad
+.RS 12n
+.rt
+Gives the final year in which the rule applies. In addition to \fBminimum\fR
+and \fBmaximum\fR (as above), the word \fBonly\fR (or an abbreviation) can be
+used to repeat the value of the \fBFROM\fR field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTYPE\fR\fR
+.ad
+.RS 12n
+.rt
+Gives the type of year in which the rule applies. If \fBTYPE\fR is:
+.sp
+.ne 2
+.mk
+.na
+\fB\&'\fB\(mi\fR\&'\fR
+.ad
+.RS 14n
+.rt
+The rule applies in all years between \fBFROM\fR and \fBTO\fR, inclusive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuspres\fR\fR
+.ad
+.RS 14n
+.rt
+The rule applies in U.S. Presidential election years.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnonpres\fR\fR
+.ad
+.RS 14n
+.rt
+The rule applies in years other than U.S. Presidential election years.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBeven\fR\fR
+.ad
+.RS 14n
+.rt
+The rule applies to even-numbered years.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBodd\fR\fR
+.ad
+.RS 14n
+.rt
+The rule applies to odd-numbered years.
+.RE
+
+If \fBTYPE\fR is something else, then \fBzic\fR will attempt to execute the
+command
+.sp
+.in +2
+.nf
+\fByearistype\fR \fIyear\fR \fBtype\fR
+.fi
+.in -2
+.sp
+
+to check the type of a year: an exit status of \fB0\fR means that the year is
+of the given type; an exit status of \fB1\fR means that the year is not of the
+given type. The \fByearistype\fR command is not currently provided in the
+Solaris environment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBIN\fR\fR
+.ad
+.RS 12n
+.rt
+Names the month in which the rule takes effect. Month names can be abbreviated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBON\fR\fR
+.ad
+.RS 12n
+.rt
+Gives the day on which the rule takes effect. Recognized forms include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB5\fR\fR
+.ad
+.RS 11n
+.rt
+the fifth day of the month
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlastSun\fR\fR
+.ad
+.RS 11n
+.rt
+The last Sunday in the month
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlastMon\fR\fR
+.ad
+.RS 11n
+.rt
+The last Monday in the month
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSun>=8\fR\fR
+.ad
+.RS 11n
+.rt
+First Sunday on or after the eighth
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSun<=25\fR\fR
+.ad
+.RS 11n
+.rt
+Last Sunday on or before the 25th
+.RE
+
+Names of days of the week can be abbreviated or spelled out in full. Note:
+There cannot be spaces within the \fBON\fR field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBAT\fR\fR
+.ad
+.RS 12n
+.rt
+Gives the time of day at which the rule takes effect. Recognized forms include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 11n
+.rt
+Time in hours
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2:00\fR\fR
+.ad
+.RS 11n
+.rt
+Time in hours and minutes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB15:00\fR\fR
+.ad
+.RS 11n
+.rt
+24-hour format time (for times after noon)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1:28:14\fR\fR
+.ad
+.RS 11n
+.rt
+Time in hours, minutes, and seconds, where hour 0 is midnight at the start of
+the day and hour 24 is midnight at the end of the day.
+.RE
+
+Any of these forms can be followed by the letter \fBw\fR if the given time is
+local "wall clock" time; \fBs\fR if the given time is local "standard" time; or
+\fBu\fR (or \fBg\fR or \fBz\fR) if the given time is universal time. In the
+absence of an indicator, wall clock time is assumed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBSAVE\fR\fR
+.ad
+.RS 12n
+.rt
+Gives the amount of time to be added to local standard time when the rule is in
+effect. This field has the same format as the \fBAT\fR field (without the
+\fBw\fR and \fBs\fR suffixes).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLETTER/S\fR\fR
+.ad
+.RS 12n
+.rt
+Gives the "variable part" (for example, the "S" or "D" in "EST" or "EDT" of
+time zone abbreviations to be used when this rule is in effect. If this field
+is '\fB\(mi\fR\&', the variable part is null.
+.RE
+
+.SS "Zone"
+.sp
+.LP
+A zone line has the form:
+.sp
+.in +2
+.nf
+Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For example:
+.sp
+.in +2
+.nf
+Zone Australia/SouthWest 9:30 - CST 1992 Mar 15 12:00
+ 8:30 Aus CST
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The fields that make up a zone line are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBNAME\fR\fR
+.ad
+.RS 14n
+.rt
+The name of the time zone. This is the name used in creating the time
+conversion information file for the zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBGMTOFF\fR\fR
+.ad
+.RS 14n
+.rt
+The amount of time to add to \fBUTC\fR to get standard time in this zone. This
+field has the same format as the \fBAT\fR and \fBSAVE\fR fields of rule lines;
+begin the field with a minus sign to subtract time from \fBUTC\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBRULES/SAVE\fR\fR
+.ad
+.RS 14n
+.rt
+The name of the rule(s) that apply in the time zone or, alternately, an amount
+of time to add to local standard time. If this field is `\fB\(mi\fR\&', then
+standard time always applies in the time zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFORMAT\fR\fR
+.ad
+.RS 14n
+.rt
+The format for time zone abbreviations in this time zone. The pair of
+characters \fB%s\fR is used to show where the "variable part" of the time zone
+abbreviation goes. Alternately, a slash (/) separates standard and daylight
+abbreviations.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUNTIL\fR\fR
+.ad
+.RS 14n
+.rt
+The time at which the \fBUTC\fR offset or the rule(s) change for a location. It
+is specified as a year, a month, a day, and a time of day. The time of day has
+the same format as the \fBAT\fR field of rule lines. If this is specified, the
+time zone information is generated from the given \fBUTC\fR offset and rule
+change until the time specified.
+.sp
+The month, day, and time of day have the same format as the IN, ON, and AT
+columns of a rule; trailing columns can be omitted, and default to the earliest
+possible value for the missing columns.
+.sp
+The next line must be a "continuation" line. This line has the same form as a
+zone line except that the string "Zone" and the name are omitted. The
+continuation line places information starting at the time specified as the
+\fBUNTIL\fR field in the previous line in the file used by the previous line.
+Continuation lines can contain an \fBUNTIL\fR field, just as zone lines do,
+indicating that the next line is a further continuation.
+.RE
+
+.SS "Link"
+.sp
+.LP
+A link line has the form:
+.sp
+.in +2
+.nf
+Link LINK-FROM LINK-TO
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For example:
+.sp
+.in +2
+.nf
+Link Europe/Istanbul Asia/Istanbul
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The \fBLINK-FROM\fR field should appear as the \fBNAME\fR field in some zone
+line; the \fBLINK-TO\fR field is used as an alternate name for that zone.
+.sp
+.LP
+Except for continuation lines, lines can appear in any order in the input.
+.SH OPTIONS
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--\fR\fIversion\fR\fR
+.ad
+.RS 17n
+.rt
+Outputs version information and exits.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdirectory\fR\fR
+.ad
+.RS 17n
+.rt
+Creates time conversion information files in the directory \fIdirectory\fR
+rather than in the standard directory \fB/usr/share/lib/zoneinfo\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlocaltime\fR\fR
+.ad
+.RS 17n
+.rt
+Uses the given time zone as local time \fIlocaltime\fR. \fBzic\fR acts as if
+the file contained a link line of the form:
+.sp
+.in +2
+.nf
+Link \fIlocaltime\fR localtime
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIposixrules\fR\fR
+.ad
+.RS 17n
+.rt
+Uses the rules of the given time zone \fIposixrules\fR when handling
+POSIX-format time zone environment variables. \fBzic\fR acts as if the input
+contained a link line of the form:
+.sp
+.in +2
+.nf
+Link \fIposixrules\fR posixrules
+.fi
+.in -2
+.sp
+
+This option is not used by \fBctime\fR(3C) and \fBmktime\fR(3C) in the Solaris
+environment.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 17n
+.rt
+Limits time values stored in output files to values that are the same whether
+they are taken to be signed or unsigned. You can use this option to generate
+SVVS-compatible files.
+.sp
+This option is obsolete and may be removed in a future release.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 17n
+.rt
+Complains if a year that appears in a data file is outside the range of years
+representable by system time values (\fB0:00:00 a.m.\fR \fBUTC,\fR \fBJanuary
+1\fR, \fB1970\fR, to \fB3:14:07 a.m.\fR \fBUTC,\fR \fBJanuary 19\fR,
+\fB2038\fR). This option also complains if a time of 24:00 (which cannot be
+handled by pre-1998 versions of \fBzic\fR) appears in the input.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-y\fR \fIyearistype\fR\fR
+.ad
+.RS 17n
+.rt
+Uses the given command \fIyearistype\fR rather than \fByearistype\fR when
+checking year types (see \fBRules\fR under \fBDESCRIPTION\fR).
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.RS 12n
+.rt
+A file containing input lines that specify the time conversion information
+files to be created. If a \fIfilename\fR is '\fB\(mi\fR\&', the standard input
+is read.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/zoneinfo\fR\fR
+.ad
+.sp .6
+.RS 4n
+Standard directory used for created files
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/zoneinfo/src\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory containing source files
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted*
+.TE
+
+.sp
+.LP
+* The \fB-s\fR option is obsolete.
+.SH SEE ALSO
+.sp
+.LP
+\fBtime\fR(1), \fBzdump\fR(1M), \fBctime\fR(3C), \fBmktime\fR(3C),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+For areas with more than two types of local time, you might need to use local
+standard time in the \fBAT\fR field of the earliest transition time's rule to
+ensure that the earliest transition time recorded in the compiled file is
+correct.
+.sp
+.LP
+If the current \fItimezone\fR file is edited and compiled using the "\fBzic\fR"
+command, the changes will only be reflected in any new processes that are
+running. The most accurate way to reflect the changes for the whole system
+would be a reboot.
diff --git a/usr/src/man/man1m/zoneadm.1m b/usr/src/man/man1m/zoneadm.1m
new file mode 100644
index 0000000000..16bc48d9a5
--- /dev/null
+++ b/usr/src/man/man1m/zoneadm.1m
@@ -0,0 +1,717 @@
+'\" te
+.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zoneadm 1M "13 Feb 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zoneadm \- administer zones
+.SH SYNOPSIS
+.LP
+.nf
+\fBzoneadm\fR \fB-z\fR \fIzonename\fR [\fB-u\fR \fIuuid-match\fR] \fIsubcommand\fR
+ [\fIsubcommand_options\fR]
+.fi
+
+.LP
+.nf
+\fBzoneadm\fR [\fB-R\fR \fIroot\fR] [\fB-z\fR \fIzonename\fR] [\fB-u\fR \fIuuid-match\fR] list
+ [\fIlist_options\fR]
+.fi
+
+.LP
+.nf
+\fBzoneadm\fR [\fB-R\fR \fIroot\fR] \fB-z\fR \fIzonename\fR [\fB-u\fR \fIuuid-match\fR] mark incomplete
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBzoneadm\fR utility is used to administer system zones. A zone is an
+application container that is maintained by the operating system runtime.
+.SH SECURITY
+.sp
+.LP
+Once a process has been placed in a zone other than zone \fB0\fR, the process
+or any of its children cannot change zones.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify an alternate root (boot environment). This option can only be used in
+conjunction with the "\fBlist\fR" and "\fBmark\fR" subcommands.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR \fIuuid-match\fR\fR
+.ad
+.sp .6
+.RS 4n
+Unique identifier for a zone, as assigned by \fBlibuuid\fR(3LIB). If this
+option is present and the argument is a non-empty string, then the zone
+matching the \fBUUID\fR is selected instead of the one named by the \fB-z\fR
+option, if such a zone is present.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIzonename\fR\fR
+.ad
+.sp .6
+.RS 4n
+String identifier for a zone.
+.RE
+
+.SH SUBCOMMANDS
+.sp
+.LP
+Subcommands which can result in destructive actions or loss of work have a
+\fB-F\fR flag to force the action. If input is from a terminal device, the user
+is prompted if such a command is given without the \fB-F\fR flag; otherwise, if
+such a command is given without the \fB-F\fR flag, the action is disallowed,
+with a diagnostic message written to standard error. If a zone installation or
+uninstallation is interrupted, the zone is left in the incomplete state. Use
+uninstall to reset such a zone back to the configured state.
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBattach\fR [\fB-F\fR] [\fB-n\fR \fIpath\fR] [\fIbrand-specific
+options\fR]\fR
+.ad
+.sp .6
+.RS 4n
+The \fBattach\fR subcommand takes a zone that has been detached from one system
+and attaches the zone onto a new system. Therefore, it is advised (though not
+required) that the \fBdetach\fR subcommand should be run before the "attach"
+takes place. Once you have the new zone in the configured state, use the
+\fBattach\fR subcommand to set up the zone root instead of installing the zone
+as a new zone.
+.sp
+The \fB-F\fR option can be used to force the zone into the "installed" state
+with no validation. This option should be used with care since it can leave the
+zone in an unsupportable state if it was moved from a source system to a target
+system that is unable to properly host the zone. The \fB-n\fR option can be
+used to run the \fBattach\fR subcommand, without executing the command. It uses
+the output of the "\fBdetach\fR \fB-n\fR" subcommand as input and is useful to
+identify any conflicting issues, such as the network device being incompatible,
+and can also determine whether the host is capable of supporting the zone. The
+path can be "\fB-\fR", to read the input from standard input.
+.sp
+The zone's brand may include additional options that govern how the zone will
+be attached. See \fBbrands\fR(5) for specific brand information.
+.sp
+The zone being attached must first be configured using the \fBzonecfg\fR (see
+\fBzonecfg\fR(1M)) command. This does not apply when running "\fBattach\fR
+\fB-n\fR".
+.sp
+Use the following command to attach a zone:
+.sp
+.in +2
+.nf
+# \fBzoneadm -z my-zone attach\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBboot\fR [\fB--\fR \fIboot_options\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Boot (or activate) the specified zones.
+.sp
+The following \fIboot_options\fR are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIaltinit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select an alternative executable to be the primordial Process. \fIaltinit\fR is
+a valid path to an executable. The default primordial process is
+\fBinit\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIsmf_options\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIsmf_options\fR include two categories of options to control booting
+behavior of the service management facility: recovery options and messages
+options.
+.sp
+Message options determine the type and amount of messages that \fBsmf\fR(5)
+displays during boot. Service options determine the services which are used to
+boot the system. See \fBkernel\fR(1M) for a listing of the \fB-m\fR suboptions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.sp .6
+.RS 4n
+Boots only to milestone \fBsvc:/milestone/single-user:default\fR. This
+milestone is equivalent to init level \fBs\fR. See \fBsvc.startd\fR(1M) and
+\fBinit\fR(1M).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclone\fR [\fB-m\fR \fIcopy\fR] [\fB-s\fR \fIzfs_snapshot\fR]
+\fIsource_zone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Install a zone by copying an existing installed zone. This subcommand is an
+alternative way to install the zone.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fIcopy\fR\fR
+.ad
+.sp .6
+.RS 4n
+Force the clone to be a copy, even if a "\fBZFS\fR clone" is possible.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIzfs_snapshot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of a \fBZFS\fR snapshot to use as the source of the clone. The
+\fIsnapshot\fR must be a \fIsnapshot\fR of the source zone taken from a
+previous "\fBzoneadm\fR clone" installation.
+.RE
+
+The source zone must be halted before this subcommand can be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdetach\fR [\fB-n\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Detach the specified zone. Detaching a zone is the first step in moving a zone
+from one system to another. The full procedure to migrate a zone is that the
+zone is detached, the \fIzonepath\fR directory is moved to the new host, and
+then the zone is attached on the new host. Once the zone is detached, it is
+left in the configured state. If you try to install or clone to a configured
+zone that has been detached, you will receive an error message and the
+\fBinstall\fR or \fBclone\fR subcommand will not be allowed to proceed. The
+\fB-n\fR option can be used to run the \fBdetach\fR subcommand, without
+executing the command. This generates the information needed for running the
+"\fBattach\fR \fB-n\fR" subcommand, which is useful to identify any conflicting
+issues, such as the network device being incompatible or if the host is capable
+of supporting the zone. The information is sent to standard output and can be
+saved to a file or piped to the "\fBattach\fR \fB-n\fR" subcommand.
+.sp
+Use the following command to detach a zone:
+.sp
+.in +2
+.nf
+# zoneadm -z my-zone detach
+.fi
+.in -2
+.sp
+
+The source zone must be halted before this subcommand can be used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhalt\fR\fR
+.ad
+.sp .6
+.RS 4n
+Halt the specified zones. \fBhalt\fR bypasses running the shutdown scripts
+inside the zone. It also removes run time resources of the zone.
+.sp
+Use:
+.sp
+.in +2
+.nf
+zlogin \fIzone\fR shutdown
+.fi
+.in -2
+.sp
+
+to cleanly shutdown the zone by running the shutdown scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhelp\fR [\fIsubcommand\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display general help. If you specify \fIsubcommand\fR, displays help on
+\fIsubcommand\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinstall\fR [\fB-x\fR \fInodataset\fR] [\fIbrand-specific options\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Install the specified zone on the system. This subcommand automatically
+attempts to verify first. It refuses to install if the verify step fails. See
+the \fBverify\fR subcommand.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR \fInodataset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Do not create a \fBZFS\fR file system.
+.RE
+
+The zone's brand may include additional options that govern how the software
+will be installed in the zone. See \fBbrands\fR(5) for specific brand
+information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlist\fR [\fIlist_options\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display the name of the current zones, or the specified zone if indicated.
+.sp
+By default, all running zones are listed. If you use this subcommand with the
+\fBzoneadm\fR \fB-z\fR \fIzonename\fR option, it lists only the specified zone,
+regardless of its state. In this case, the \fB-i\fR and \fB-c\fR options are
+disallowed.
+.sp
+If neither the \fB-i\fR or \fB-c\fR options are given, all running zones are
+listed.
+.sp
+The following \fIlist_options\fR are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display all configured zones. This option overides the \fB-i\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Expand the display to all installed zones.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Request machine parsable output. The output format is a list of lines, one per
+zone, with colon- delimited fields. These fields are:
+.sp
+.in +2
+.nf
+zoneid:zonename:state:zonepath:uuid:brand:ip-type
+.fi
+.in -2
+.sp
+
+If the \fBzonepath\fR contains embedded colons, they can be escaped by a
+backslash ("\:"), which is parsable by using the shell \fBread\fR(1) function
+with the environmental variable \fBIFS\fR. The \fIuuid\fR value is assigned by
+\fBlibuuid\fR(3LIB) when the zone is installed, and is useful for identifying
+the same zone when present (or renamed) on alternate boot environments. Any
+software that parses the output of the "\fBzoneadm list -p\fR" command must be
+able to handle any fields that may be added in the future.
+.sp
+The \fB-v\fR and \fB-p\fR options are mutually exclusive. If neither \fB-v\fR
+nor \fB-p\fR is used, just the zone name is listed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display verbose information, including zone name, id, current state, root
+directory, brand type, ip-type, and options.
+.sp
+The \fB-v\fR and \fB-p\fR options are mutually exclusive. If neither \fB-v\fR
+nor \fB-p\fR is used, just the zone name is listed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmark incomplete\fR\fR
+.ad
+.sp .6
+.RS 4n
+Change the state of an installed zone to "incomplete." This command may be
+useful in cases where administrative changes on the system have rendered a zone
+unusable or inconsistent. This change cannot be undone (except by uninstalling
+the zone).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmove\fR \fInew_zonepath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Move the \fIzonepath\fR to \fInew_zonepath\fR. The zone must be halted before
+this subcommand can be used. The \fInew_zonepath\fR must be a local file system
+and normal restrictions for \fIzonepath\fR apply.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBready\fR\fR
+.ad
+.sp .6
+.RS 4n
+Prepares a zone for running applications but does not start any user processes
+in the zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreboot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Restart the zones. This is equivalent to a \fBhalt\fR \fBboot\fR sequence. This
+subcommand fails if the specified zones are not active.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuninstall [\fR\fB-F\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Uninstall the specified zone from the system. Use this subcommand with caution.
+It removes all of the files under the \fIzonepath\fR of the zone in question.
+You can use the \fB-F\fR flag to force the action.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBverify\fR\fR
+.ad
+.sp .6
+.RS 4n
+Check to make sure the configuration of the specified zone can safely be
+installed on the machine. Following is a break-down of the checks by
+\fBresource/property\fR type:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzonepath\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBzonepath\fR and its parent directory exist and are owned by root with
+appropriate modes . The appropriate modes are that \fBzonepath\fR is \fB700\fR,
+its parent is not \fBgroup\fR or \fBworld-writable\fR and so forth.
+\fBzonepath\fR is not over an NFS mount. A sub-directory of the \fBzonepath\fR
+named "root" does not exist.
+.sp
+If \fBzonepath\fR does not exist, the \fBverify\fR does not fail, but merely
+warns that a subsequent install will attempt to create it with proper
+permissions. A \fBverify\fR subsequent to that might fail should anything go
+wrong.
+.sp
+\fBzonepath\fR cannot be a symbolic link.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Any \fBfs\fR resources have their \fItype\fR value checked. An error is
+reported if the value is one of \fBproc\fR, \fBmntfs\fR, \fBautofs\fR,
+\fBcachefs\fR, or \fBnfs\fR or the filesystem does not have an associated mount
+binary at \fB/usr/lib/fs/\fI<fstype>\fR/mount\fR.
+.sp
+It is an error for the \fIdirectory\fR to be a relative path.
+.sp
+It is an error for the path specified by \fBraw\fR to be a relative path or if
+there is no \fBfsck\fR binary for a given filesystem type at
+\fB/usr/lib/fs/\fI<fstype>\fR/fsck\fR. It is also an error if a corresponding
+\fBfsck\fR binary exists but a \fBraw\fR path is not specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnet\fR\fR
+.ad
+.sp .6
+.RS 4n
+All physical network interfaces exist. All network address resources are one
+of:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a valid IPv4 address, optionally followed by "\fB/\fR" and a prefix length;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a valid IPv6 address, which must be followed by "\fB/\fR" and a prefix length;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a host name which resolves to an IPv4 address.
+.RE
+Note that hostnames that resolve to IPv6 addresses are not supported.
+.sp
+The physical interface name is the network interface name.
+.sp
+A zone can be configured to be either exclusive-IP or shared-IP. For a
+shared-IP zone, both the physical and address properties must be set. For an
+exclusive-IP zone, the physical property must be set and the address property
+cannot be set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrctl\fR\fR
+.ad
+.sp .6
+.RS 4n
+It also verifies that any defined resource control values are valid on the
+current machine. This means that the privilege level is \fBprivileged\fR, the
+limit is lower than the currently defined system value, and that the defined
+action agrees with the actions that are valid for the given resource control.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUsing the \fB-m\fR Option
+.sp
+.LP
+The following command illustrates the use of the \fB-m\fR option.
+
+.sp
+.in +2
+.nf
+# \fBzoneadm boot -- -m verbose\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRUsing the \fB-i\fR Option
+.sp
+.LP
+The following command illustrates the use of the \fB-i\fR option.
+
+.sp
+.in +2
+.nf
+# \fBzoneadm boot -- -i /sbin/init\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing the \fB-s\fR Option
+.sp
+.LP
+The following command illustrates the use of the \fB-s\fR option.
+
+.sp
+.in +2
+.nf
+# \fBzoneadm boot -- -s\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid usage.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityCommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBread\fR(1), \fBsvcs\fR(1), \fBzlogin\fR(1), \fBzonename\fR(1),
+\fBinit\fR(1M), \fBkernel\fR(1M), \fBsvcadm\fR(1M), \fBsvc.startd\fR(1M),
+\fBsvc.startd\fR(1M), \fBzonecfg\fR(1M), \fBlibuuid\fR(3LIB),
+\fBattributes\fR(5), \fBbrands\fR(5), \fBnative\fR(5), \fBsmf\fR(5),
+\fBzones\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBzones\fR(5) service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/zones:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
+.sp
+.LP
+The act of installing a new non-global zone is a fresh installation of the
+Solaris operating system. A new installation of Solaris must not require
+interaction with the user (that is, it must be "hands off"). Because of this,
+packages installed in the global zone and all non-global zones cannot contain
+request scripts (see \fBpkgask\fR(1M)). If a package did have a request script,
+then the creation of a non-global zone could not be done without user
+intervention. Any package that contains a request script is added to the global
+zone only. See \fBpkgadd\fR(1M).
diff --git a/usr/src/man/man1m/zoneadmd.1m b/usr/src/man/man1m/zoneadmd.1m
new file mode 100644
index 0000000000..e80a8c336a
--- /dev/null
+++ b/usr/src/man/man1m/zoneadmd.1m
@@ -0,0 +1,68 @@
+'\" te
+.\" Copyright (c) 2004, Sun Microsystems, Inc.
+.\" All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zoneadmd 1M "1 Nov 2004" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zoneadmd \- zone administration daemon
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/lib/zones/zoneadmd\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBzoneadmd\fR is a system daemon that is started when the system needs to
+manage a particular zone. Because each instance of the \fBzoneadmd\fR daemon
+manages a particular zone, it is not unexpected to see multiple \fBzoneadmd\fR
+daemons running.
+.sp
+.LP
+This daemon is started automatically by the zone management software and should
+not be invoked directly. The daemon shuts down automatically when no longer in
+use. It does not constitute a programming interface, but is classified as a
+private interface.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityPrivate
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsvcs\fR(1), \fBzlogin\fR(1), \fBsvcadm\fR(1M), \fBzoneadm\fR(1M),
+\fBattributes\fR(5), \fBsmf\fR(5), \fBzones\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBzones\fR(5) service is managed by the service management facility,
+\fBsmf\fR(5), under the service identifier:
+.sp
+.in +2
+.nf
+svc:/system/zones:default
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Administrative actions on this service, such as enabling, disabling, or
+requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
+status can be queried using the \fBsvcs\fR(1) command.
diff --git a/usr/src/man/man1m/zonecfg.1m b/usr/src/man/man1m/zonecfg.1m
new file mode 100644
index 0000000000..b0d2e1d345
--- /dev/null
+++ b/usr/src/man/man1m/zonecfg.1m
@@ -0,0 +1,2101 @@
+'\" te
+.\" Copyright (c) 2004, 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zonecfg 1M "29 Jul 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zonecfg \- set up zone configuration
+.SH SYNOPSIS
+.LP
+.nf
+\fBzonecfg\fR \fB-z\fR \fIzonename\fR
+.fi
+
+.LP
+.nf
+\fBzonecfg\fR \fB-z\fR \fIzonename\fR \fIsubcommand\fR
+.fi
+
+.LP
+.nf
+\fBzonecfg\fR \fB-z\fR \fIzonename\fR \fB-f\fR \fIcommand_file\fR
+.fi
+
+.LP
+.nf
+\fBzonecfg\fR help
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBzonecfg\fR utility creates and modifies the configuration of a zone.
+Zone configuration consists of a number of resources and properties.
+.sp
+.LP
+To simplify the user interface, \fBzonecfg\fR uses the concept of a scope. The
+default scope is global.
+.sp
+.LP
+The following synopsis of the \fBzonecfg\fR command is for interactive usage:
+.sp
+.in +2
+.nf
+zonecfg \fB-z\fR \fIzonename subcommand\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Parameters changed through \fBzonecfg\fR do not affect a running zone. The zone
+must be rebooted for the changes to take effect.
+.sp
+.LP
+In addition to creating and modifying a zone, the \fBzonecfg\fR utility can
+also be used to persistently specify the resource management settings for the
+global zone.
+.sp
+.LP
+In the following text, "rctl" is used as an abbreviation for "resource
+control". See \fBresource_controls\fR(5).
+.sp
+.LP
+Every zone is configured with an associated brand. The brand determines the
+user-level environment used within the zone, as well as various behaviors for
+the zone when it is installed, boots, or is shutdown. Once a zone has been
+installed the brand cannot be changed. The default brand is determined by the
+installed distribution in the global zone. Some brands do not support all of
+the \fBzonecfg\fR properties and resources. See the brand-specific man page for
+more details on each brand. For an overview of brands, see the \fBbrands\fR(5)
+man page.
+.SS "Resources"
+.sp
+.LP
+The following resource types are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBattr\fR\fR
+.ad
+.sp .6
+.RS 4n
+Generic attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcapped-cpu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits for CPU usage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcapped-memory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits for physical, swap, and locked memory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdataset\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBZFS\fR dataset.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdedicated-cpu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Subset of the system's processors dedicated to this zone while it is running.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfs\fR\fR
+.ad
+.sp .6
+.RS 4n
+file-system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinherit-pkg-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Directory inherited from the global zone. Used for sparse root zones (see the
+discussion of "Sparse and Whole Root Non-Global Zones," below). Software
+packages whose contents have been transferred into that directory are inherited
+in read-only mode by the non-global zone and the non-global zone's packaging
+database is updated to reflect those packages. Such resources are not
+modifiable or removable once a zone has been installed with \fBzoneadm\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnet\fR\fR
+.ad
+.sp .6
+.RS 4n
+Network interface.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrctl\fR\fR
+.ad
+.sp .6
+.RS 4n
+Resource control.
+.RE
+
+.SS "Sparse and Whole Root Non-Global Zones"
+.sp
+.LP
+In the administration of zones, it is useful to distinguish between the global
+zone and non-global zones. Within non-global zones, there are two zone root
+file system models: sparse and whole root. The sparse root zone model optimizes
+the sharing of objects. The whole root zone model provides the maximum
+configurability. Note that not all brands support the sparse zone model.
+.SS "Sparse Root Zones"
+.sp
+.LP
+Non-global zones that have \fBinherit-pkg-dir\fR resources are called sparse
+root zones.
+.sp
+.LP
+The sparse root zone model optimizes the sharing of objects in the following
+ways:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Only a subset of the packages installed in the global zone are installed
+directly into the non-global zone.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Read-only loopback file systems, identified as \fBinherit-pkg-dir\fR resources,
+are used to gain access to other files.
+.RE
+.sp
+.LP
+In this model, all packages appear to be installed in the non-global zone.
+Packages that do not deliver content into read-only loopback mount file systems
+are fully installed. There is no need to install content delivered into
+read-only loopback mounted file systems since that content is inherited (and
+visible) from the global zone.
+.RS +4
+.TP
+.ie t \(bu
+.el o
+As a general guideline, a zone requires about 100 megabytes of free disk space
+per zone when the global zone has been installed with all of the standard
+Solaris packages.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+By default, any additional packages installed in the global zone also populate
+the non-global zones. The amount of disk space required might be increased
+accordingly, depending on whether the additional packages deliver files that
+reside in the \fBinherit-pkg-dir\fR resource space.
+.RE
+.sp
+.LP
+An additional 40 megabytes of RAM per zone are suggested, but not required on a
+machine with sufficient swap space.
+.sp
+.LP
+A sparse zone inherits the following directories:
+.sp
+.in +2
+.nf
+/lib
+/platform
+/sbin
+/usr
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Although \fBzonecfg\fR allows you to remove one of these as an inherited
+directory, you should not do so. You should either follow the whole-root model
+or the sparse model; a subset of the sparse model is not tested and you might
+encounter unexpected problems.
+.sp
+.LP
+Adding an additional \fBinherit-pkg-dir\fR directory, such as \fB/opt\fR, to a
+sparse root zone is acceptable.
+.SS "Whole Root Zones"
+.sp
+.LP
+The whole root zone model provides the maximum configurability. All of the
+required and any selected optional Solaris packages are installed into the
+private file systems of the zone. The advantages of this model include the
+capability for global administrators to customize their zones file system
+layout. This would be done, for example, to add arbitrary unbundled or
+third-party packages.
+.sp
+.LP
+The disk requirements for this model are determined by the disk space used by
+the packages currently installed in the global zone.
+.LP
+Note -
+.sp
+.RS 2
+If you create a sparse root zone that contains the following
+\fBinherit-pkg-dir\fR directories, you must remove these directories from the
+non-global zone's configuration before the zone is installed to have a whole
+root zone:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/lib\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/platform\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/sbin\fR
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fB/usr\fR
+.RE
+.RE
+.SS "Properties"
+.sp
+.LP
+Each resource type has one or more properties. There are also some global
+properties, that is, properties of the configuration as a whole, rather than of
+some particular resource.
+.sp
+.LP
+The following properties are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBzonename\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBzonepath\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBautoboot\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBbootargs\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBpool\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBlimitpriv\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBbrand\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBcpu-shares\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBhostid\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBmax-lwps\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBmax-msg-ids\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBmax-sem-ids\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBmax-shm-ids\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBmax-shm-memory\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB(global)\fR
+.ad
+.sp .6
+.RS 4n
+\fBscheduling-class\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfs\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBdir\fR, \fBspecial\fR, \fBraw\fR, \fBtype\fR, \fBoptions\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinherit-pkg-dir\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBdir\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnet\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBaddress\fR, \fBphysical\fR, \fBdefrouter\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBmatch\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrctl\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBname\fR, \fBvalue\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBattr\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBname\fR, \fBtype\fR, \fBvalue\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdataset\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBname\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdedicated-cpu\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBncpus\fR, \fBimportance\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcapped-memory\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBphysical\fR, \fBswap\fR, \fBlocked\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcapped-cpu\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBncpus\fR
+.RE
+
+.sp
+.LP
+As for the property values which are paired with these names, they are either
+simple, complex, or lists. The type allowed is property-specific. Simple values
+are strings, optionally enclosed within quotation marks. Complex values have
+the syntax:
+.sp
+.in +2
+.nf
+(<\fIname\fR>=<\fIvalue\fR>,<\fIname\fR>=<\fIvalue\fR>,...)
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where each <\fIvalue\fR> is simple, and the <\fIname\fR> strings are unique
+within a given property. Lists have the syntax:
+.sp
+.in +2
+.nf
+[<\fIvalue\fR>,...]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+where each <\fIvalue\fR> is either simple or complex. A list of a single value
+(either simple or complex) is equivalent to specifying that value without the
+list syntax. That is, "foo" is equivalent to "[foo]". A list can be empty
+(denoted by "[]").
+.sp
+.LP
+In interpreting property values, \fBzonecfg\fR accepts regular expressions as
+specified in \fBfnmatch\fR(5). See \fBEXAMPLES\fR.
+.sp
+.LP
+The property types are described as follows:
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBzonename\fR\fR
+.ad
+.sp .6
+.RS 4n
+The name of the zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBzonepath\fR\fR
+.ad
+.sp .6
+.RS 4n
+Path to zone's file system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBautoboot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Boolean indicating that a zone should be booted automatically at system boot.
+Note that if the zones service is disabled, the zone will not autoboot,
+regardless of the setting of this property. You enable the zones service with a
+\fBsvcadm\fR command, such as:
+.sp
+.in +2
+.nf
+# \fBsvcadm enable svc:/system/zones:default\fR
+.fi
+.in -2
+.sp
+
+Replace \fBenable\fR with \fBdisable\fR to disable the zones service. See
+\fBsvcadm\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBbootargs\fR\fR
+.ad
+.sp .6
+.RS 4n
+Arguments (options) to be passed to the zone bootup, unless options are
+supplied to the "\fBzoneadm boot\fR" command, in which case those take
+precedence. The valid arguments are described in \fBzoneadm\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBpool\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of the resource pool that this zone must be bound to when booted. This
+property is incompatible with the \fBdedicated-cpu\fR resource.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBlimitpriv\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum set of privileges any process in this zone can obtain. The property
+should consist of a comma-separated privilege set specification as described in
+\fBpriv_str_to_set\fR(3C). Privileges can be excluded from the resulting set by
+preceding their names with a dash (-) or an exclamation point (!). The special
+privilege string "zone" is not supported in this context. If the special string
+"default" occurs as the first token in the property, it expands into a safe set
+of privileges that preserve the resource and security isolation described in
+\fBzones\fR(5). A missing or empty property is equivalent to this same set of
+safe privileges.
+.sp
+The system administrator must take extreme care when configuring privileges for
+a zone. Some privileges cannot be excluded through this mechanism as they are
+required in order to boot a zone. In addition, there are certain privileges
+which cannot be given to a zone as doing so would allow processes inside a zone
+to unduly affect processes in other zones. \fBzoneadm\fR(1M) indicates when an
+invalid privilege has been added or removed from a zone's privilege set when an
+attempt is made to either "boot" or "ready" the zone.
+.sp
+See \fBprivileges\fR(5) for a description of privileges. The command "\fBppriv
+-l\fR" (see \fBppriv\fR(1)) produces a list of all Solaris privileges. You can
+specify privileges as they are displayed by \fBppriv\fR. In
+\fBprivileges\fR(5), privileges are listed in the form
+PRIV_\fIprivilege_name\fR. For example, the privilege \fIsys_time\fR, as you
+would specify it in this property, is listed in \fBprivileges\fR(5) as
+\fBPRIV_SYS_TIME\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBbrand\fR\fR
+.ad
+.sp .6
+.RS 4n
+The zone's brand type.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBip-type\fR\fR
+.ad
+.sp .6
+.RS 4n
+A zone can either share the IP instance with the global zone, which is the
+default, or have its own exclusive instance of IP.
+.sp
+This property takes the values \fBshared\fR and \fBexclusive\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBhostid\fR\fR
+.ad
+.sp .6
+.RS 4n
+A zone can emulate a 32-bit host identifier to ease system consolidation. A
+zone's \fBhostid\fR property is empty by default, meaning that the zone does
+not emulate a host identifier. Zone host identifiers must be hexadecimal values
+between 0 and FFFFFFFE. A \fB0x\fR or \fB0X\fR prefix is optional. Both
+uppercase and lowercase hexadecimal digits are acceptable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfs\fR: dir, special, raw, type, options\fR
+.ad
+.sp .6
+.RS 4n
+Values needed to determine how, where, and so forth to mount file systems. See
+\fBmount\fR(1M), \fBmount\fR(2), \fBfsck\fR(1M), and \fBvfstab\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinherit-pkg-dir\fR: dir\fR
+.ad
+.sp .6
+.RS 4n
+The directory path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnet\fR: address, physical, defrouter\fR
+.ad
+.sp .6
+.RS 4n
+The network address and physical interface name of the network interface. The
+network address is one of:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a valid IPv4 address, optionally followed by "\fB/\fR" and a prefix length;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a valid IPv6 address, which must be followed by "\fB/\fR" and a prefix length;
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+a host name which resolves to an IPv4 address.
+.RE
+Note that host names that resolve to IPv6 addresses are not supported.
+.sp
+The physical interface name is the network interface name.
+.sp
+The default router is specified similarly to the network address except that it
+must not be followed by a \fB/\fR (slash) and a network prefix length.
+.sp
+A zone can be configured to be either exclusive-IP or shared-IP. For a
+shared-IP zone, you must set both the physical and address properties; setting
+the default router is optional. The interface specified in the physical
+property must be plumbed in the global zone prior to booting the non-global
+zone. However, if the interface is not used by the global zone, it should be
+configured \fBdown\fR in the global zone, and the default router for the
+interface should be specified here.
+.sp
+For an exclusive-IP zone, the physical property must be set and the address and
+default router properties cannot be set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdevice\fR: match\fR
+.ad
+.sp .6
+.RS 4n
+Device name to match.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrctl\fR: name, value\fR
+.ad
+.sp .6
+.RS 4n
+The name and \fIpriv\fR/\fIlimit\fR/\fIaction\fR triple of a resource control.
+See \fBprctl\fR(1) and \fBrctladm\fR(1M). The preferred way to set rctl values
+is to use the global property name associated with a specific rctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBattr\fR: name, type, value\fR
+.ad
+.sp .6
+.RS 4n
+The name, type and value of a generic attribute. The \fBtype\fR must be one of
+\fBint\fR, \fBuint\fR, \fBboolean\fR or \fBstring\fR, and the value must be of
+that type. \fBuint\fR means unsigned , that is, a non-negative integer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdataset\fR: name\fR
+.ad
+.sp .6
+.RS 4n
+The name of a \fBZFS\fR dataset to be accessed from within the zone. See
+\fBzfs\fR(1M).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBcpu-shares\fR\fR
+.ad
+.sp .6
+.RS 4n
+The number of Fair Share Scheduler (FSS) shares to allocate to this zone. This
+property is incompatible with the \fBdedicated-cpu\fR resource. This property
+is the preferred way to set the \fBzone.cpu-shares\fR rctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBmax-lwps\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of LWPs simultaneously available to this zone. This property
+is the preferred way to set the \fBzone.max-lwps\fR rctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBmax-msg-ids\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of message queue IDs allowed for this zone. This property is
+the preferred way to set the \fBzone.max-msg-ids\fR rctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBmax-sem-ids\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of semaphore IDs allowed for this zone. This property is the
+preferred way to set the \fBzone.max-sem-ids\fR rctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBmax-shm-ids\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum number of shared memory IDs allowed for this zone. This property is
+the preferred way to set the \fBzone.max-shm-ids\fR rctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBmax-shm-memory\fR\fR
+.ad
+.sp .6
+.RS 4n
+The maximum amount of shared memory allowed for this zone. This property is the
+preferred way to set the \fBzone.max-shm-memory\fR rctl. A scale (K, M, G, T)
+can be applied to the value for this number (for example, 1M is one megabyte).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBglobal: \fBscheduling-class\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the scheduling class used for processes running in a zone. When this
+property is not specified, the scheduling class is established as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If the \fBcpu-shares\fR property or equivalent rctl is set, the scheduling
+class FSS is used.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+If neither \fBcpu-shares\fR nor the equivalent rctl is set and the zone's pool
+property references a pool that has a default scheduling class, that class is
+used.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Under any other conditions, the system default scheduling class is used.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdedicated-cpu\fR: ncpus, importance\fR
+.ad
+.sp .6
+.RS 4n
+The number of CPUs that should be assigned for this zone's exclusive use. The
+zone will create a pool and processor set when it boots. See \fBpooladm\fR(1M)
+and \fBpoolcfg\fR(1M) for more information on resource pools. The \fBncpu\fR
+property can specify a single value or a range (for example, 1-4) of
+processors. The \fBimportance\fR property is optional; if set, it will specify
+the \fBpset.importance\fR value for use by \fBpoold\fR(1M). If this resource is
+used, there must be enough free processors to allocate to this zone when it
+boots or the zone will not boot. The processors assigned to this zone will not
+be available for the use of the global zone or other zones. This resource is
+incompatible with both the \fBpool\fR and \fBcpu-shares\fR properties. Only a
+single instance of this resource can be added to the zone.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcapped-memory\fR: physical, swap, locked\fR
+.ad
+.sp .6
+.RS 4n
+The caps on the memory that can be used by this zone. A scale (K, M, G, T) can
+be applied to the value for each of these numbers (for example, 1M is one
+megabyte). Each of these properties is optional but at least one property must
+be set when adding this resource. Only a single instance of this resource can
+be added to the zone. The \fBphysical\fR property sets the \fBmax-rss\fR for
+this zone. This will be enforced by \fBrcapd\fR(1M) running in the global zone.
+The \fBswap\fR property is the preferred way to set the \fBzone.max-swap\fR
+rctl. The \fBlocked\fR property is the preferred way to set the
+\fBzone.max-locked-memory\fR rctl.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcapped-cpu\fR: ncpus\fR
+.ad
+.sp .6
+.RS 4n
+Sets a limit on the amount of CPU time that can be used by a zone. The unit
+used translates to the percentage of a single CPU that can be used by all user
+threads in a zone, expressed as a fraction (for example, \fB\&.75\fR) or a
+mixed number (whole number and fraction, for example, \fB1.25\fR). An
+\fBncpu\fR value of \fB1\fR means 100% of a CPU, a value of \fB1.25\fR means
+125%, \fB\&.75\fR mean 75%, and so forth. When projects within a capped zone
+have their own caps, the minimum value takes precedence.
+.sp
+The \fBcapped-cpu\fR property is an alias for \fBzone.cpu-cap\fR resource
+control and is related to the \fBzone.cpu-cap\fR resource control. See
+\fBresource_controls\fR(5).
+.RE
+
+.sp
+.LP
+The following table summarizes resources, property-names, and types:
+.sp
+.in +2
+.nf
+resource property-name type
+(global) zonename simple
+(global) zonepath simple
+(global) autoboot simple
+(global) bootargs simple
+(global) pool simple
+(global) limitpriv simple
+(global) brand simple
+(global) ip-type simple
+(global) hostid simple
+(global) cpu-shares simple
+(global) max-lwps simple
+(global) max-msg-ids simple
+(global) max-sem-ids simple
+(global) max-shm-ids simple
+(global) max-shm-memory simple
+(global) scheduling-class simple
+fs dir simple
+ special simple
+ raw simple
+ type simple
+ options list of simple
+inherit-pkg-dir dir simple
+net address simple
+ physical simple
+device match simple
+rctl name simple
+ value list of complex
+attr name simple
+ type simple
+ value simple
+dataset name simple
+dedicated-cpu ncpus simple or range
+ importance simple
+
+capped-memory physical simple with scale
+ swap simple with scale
+ locked simple with scale
+
+capped-cpu ncpus simple
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+To further specify things, the breakdown of the complex property "value" of the
+"rctl" resource type, it consists of three name/value pairs, the names being
+"priv", "limit" and "action", each of which takes a simple value. The "name"
+property of an "attr" resource is syntactically restricted in a fashion similar
+but not identical to zone names: it must begin with an alphanumeric, and can
+contain alphanumerics plus the hyphen (\fB-\fR), underscore (\fB_\fR), and dot
+(\fB\&.\fR) characters. Attribute names beginning with "zone" are reserved for
+use by the system. Finally, the "autoboot" global property must have a value of
+"true" or "false".
+.SS "Using Kernel Statistics to Monitor CPU Caps"
+.sp
+.LP
+Using the kernel statistics (\fBkstat\fR(3KSTAT)) module \fBcaps\fR, the system
+maintains information for all capped projects and zones. You can access this
+information by reading kernel statistics (\fBkstat\fR(3KSTAT)), specifying
+\fBcaps\fR as the \fBkstat\fR module name. The following command displays
+kernel statistics for all active CPU caps:
+.sp
+.in +2
+.nf
+# \fBkstat caps::'/cpucaps/'\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+A \fBkstat\fR(1M) command running in a zone displays only CPU caps relevant for
+that zone and for projects in that zone. See \fBEXAMPLES\fR.
+.sp
+.LP
+The following are cap-related arguments for use with \fBkstat\fR(1M):
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcaps\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBkstat\fR module.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBproject_caps\fR or \fBzone_caps\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBkstat\fR class, for use with the \fBkstat\fR \fB-c\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcpucaps_project_\fR\fIid\fR or \fBcpucaps_zone_\fR\fIid\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fBkstat\fR name, for use with the \fBkstat\fR \fB-n\fR option. \fIid\fR is the
+project or zone identifier.
+.RE
+
+.sp
+.LP
+The following fields are displayed in response to a \fBkstat\fR(1M) command
+requesting statistics for all CPU caps.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmodule\fR\fR
+.ad
+.sp .6
+.RS 4n
+In this usage of \fBkstat\fR, this field will have the value \fBcaps\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBname\fR\fR
+.ad
+.sp .6
+.RS 4n
+As described above, \fBcpucaps_project_\fR\fIid\fR or
+\fBcpucaps_zone_\fR\fIid\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBabove_sec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Total time, in seconds, spent above the cap.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbelow_sec\fR\fR
+.ad
+.sp .6
+.RS 4n
+Total time, in seconds, spent below the cap.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmaxusage\fR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum observed CPU usage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBnwait\fR\fR
+.ad
+.sp .6
+.RS 4n
+Number of threads on cap wait queue.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusage\fR\fR
+.ad
+.sp .6
+.RS 4n
+Current aggregated CPU usage for all threads belonging to a capped project or
+zone, in terms of a percentage of a single CPU.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+The cap value, in terms of a percentage of a single CPU.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzonename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Name of the zone for which statistics are displayed.
+.RE
+
+.sp
+.LP
+See \fBEXAMPLES\fR for sample output from a \fBkstat\fR command.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIcommand_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of \fBzonecfg\fR command file. \fIcommand_file\fR is a text
+file of \fBzonecfg\fR subcommands, one per line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-z\fR \fIzonename\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specify the name of a zone. Zone names are case sensitive. Zone names must
+begin with an alphanumeric character and can contain alphanumeric characters,
+the underscore (\fB_\fR) the hyphen (\fB-\fR), and the dot (\fB\&.\fR). The
+name \fBglobal\fR and all names beginning with \fBSUNW\fR are reserved and
+cannot be used.
+.RE
+
+.SH SUBCOMMANDS
+.sp
+.LP
+You can use the \fBadd\fR and \fBselect\fR subcommands to select a specific
+resource, at which point the scope changes to that resource. The \fBend\fR and
+\fBcancel\fR subcommands are used to complete the resource specification, at
+which time the scope is reverted back to global. Certain subcommands, such as
+\fBadd\fR, \fBremove\fR and \fBset\fR, have different semantics in each scope.
+.sp
+.LP
+\fBzonecfg\fR supports a semicolon-separated list of subcommands. For example:
+.sp
+.in +2
+.nf
+# \fBzonecfg -z myzone "add net; set physical=myvnic; end"\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Subcommands which can result in destructive actions or loss of work have an
+\fB-F\fR option to force the action. If input is from a terminal device, the
+user is prompted when appropriate if such a command is given without the
+\fB-F\fR option otherwise, if such a command is given without the \fB-F\fR
+option, the action is disallowed, with a diagnostic message written to standard
+error.
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR \fIresource-type\fR (global scope)\fR
+.ad
+.br
+.na
+\fB\fBadd\fR \fIproperty-name property-value\fR (resource scope)\fR
+.ad
+.sp .6
+.RS 4n
+In the global scope, begin the specification for a given resource type. The
+scope is changed to that resource type.
+.sp
+In the resource scope, add a property of the given name with the given value.
+The syntax for property values varies with different property types. In
+general, it is a simple value or a list of simple values enclosed in square
+brackets, separated by commas (\fB[foo,bar,baz]\fR). See \fBPROPERTIES\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcancel\fR\fR
+.ad
+.sp .6
+.RS 4n
+End the resource specification and reset scope to global. Abandons any
+partially specified resources. \fBcancel\fR is only applicable in the resource
+scope.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclear\fR \fIproperty-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Clear the value for the property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcommit\fR\fR
+.ad
+.sp .6
+.RS 4n
+Commit the current configuration from memory to stable storage. The
+configuration must be committed to be used by \fBzoneadm\fR. Until the
+in-memory configuration is committed, you can remove changes with the
+\fBrevert\fR subcommand. The \fBcommit\fR operation is attempted automatically
+upon completion of a \fBzonecfg\fR session. Since a configuration must be
+correct to be committed, this operation automatically does a verify.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcreate [\fR\fB-F\fR\fB] [\fR \fB-a\fR \fIpath\fR |\fB-b\fR \fB|\fR
+\fB-t\fR \fItemplate\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an in-memory configuration for the specified zone. Use \fBcreate\fR to
+begin to configure a new zone. See \fBcommit\fR for saving this to stable
+storage.
+.sp
+If you are overwriting an existing configuration, specify the \fB-F\fR option
+to force the action. Specify the \fB-t\fR \fItemplate\fR option to create a
+configuration identical to \fItemplate\fR, where \fItemplate\fR is the name of
+a configured zone.
+.sp
+Use the \fB-a\fR \fIpath\fR option to facilitate configuring a detached zone on
+a new host. The \fIpath\fR parameter is the zonepath location of a detached
+zone that has been moved on to this new host. Once the detached zone is
+configured, it should be installed using the "\fBzoneadm attach\fR" command
+(see \fBzoneadm\fR(1M)). All validation of the new zone happens during the
+\fBattach\fR process, not during zone configuration.
+.sp
+Use the \fB-b\fR option to create a blank configuration. Without arguments,
+\fBcreate\fR applies the Sun default settings.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete [\fR\fB-F\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the specified configuration from memory and stable storage. This action
+is instantaneous, no commit is necessary. A deleted configuration cannot be
+reverted.
+.sp
+Specify the \fB-F\fR option to force the action.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBend\fR\fR
+.ad
+.sp .6
+.RS 4n
+End the resource specification. This subcommand is only applicable in the
+resource scope. \fBzonecfg\fR checks to make sure the current resource is
+completely specified. If so, it is added to the in-memory configuration (see
+\fBcommit\fR for saving this to stable storage) and the scope reverts to
+global. If the specification is incomplete, it issues an appropriate error
+message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexport [\fR\fB-f\fR \fIoutput-file\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print configuration to standard output. Use the \fB-f\fR option to print the
+configuration to \fIoutput-file\fR. This option produces output in a form
+suitable for use in a command file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhelp [usage] [\fIsubcommand\fR] [syntax] [\fR\fIcommand-name\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Print general help or help about given topic.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinfo zonename | zonepath | autoboot | brand | pool | limitpriv\fR\fR
+.ad
+.br
+.na
+\fB\fBinfo [\fR\fIresource-type\fR
+\fB[\fR\fIproperty-name\fR\fB=\fR\fIproperty-value\fR\fB]*]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display information about the current configuration. If \fIresource-type\fR is
+specified, displays only information about resources of the relevant type. If
+any \fIproperty-name\fR value pairs are specified, displays only information
+about resources meeting the given criteria. In the resource scope, any
+arguments are ignored, and \fBinfo\fR displays information about the resource
+which is currently being added or modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBremove\fR \fIresource-type\fR\fB{\fR\fIproperty-name\fR\fB=\fR\fIproperty
+-value\fR\fB}\fR(global scope)\fR
+.ad
+.sp .6
+.RS 4n
+In the global scope, removes the specified resource. The \fB[]\fR syntax means
+0 or more of whatever is inside the square braces. If you want only to remove a
+single instance of the resource, you must specify enough property name-value
+pairs for the resource to be uniquely identified. If no property name-value
+pairs are specified, all instances will be removed. If there is more than one
+pair is specified, a confirmation is required, unless you use the \fB-F\fR
+option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBselect\fR \fIresource-type\fR
+\fB{\fR\fIproperty-name\fR\fB=\fR\fIproperty-value\fR\fB}\fR\fR
+.ad
+.sp .6
+.RS 4n
+Select the resource of the given type which matches the given
+\fIproperty-name\fR \fIproperty-value\fR pair criteria, for modification. This
+subcommand is applicable only in the global scope. The scope is changed to that
+resource type. The \fB{}\fR syntax means 1 or more of whatever is inside the
+curly braces. You must specify enough \fIproperty -name property-value\fR pairs
+for the resource to be uniquely identified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR \fIproperty-name\fR\fB=\fR\fIproperty\fR\fB-\fR\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Set a given property name to the given value. Some properties (for example,
+\fBzonename\fR and \fBzonepath\fR) are global while others are
+resource-specific. This subcommand is applicable in both the global and
+resource scopes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBverify\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verify the current configuration for correctness:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+All resources have all of their required properties specified.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+A \fBzonepath\fR is specified.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrevert\fR \fB[\fR\fB-F\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Revert the configuration back to the last committed state. The \fB-F\fR option
+can be used to force the action.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexit [\fR\fB-F\fR\fB]\fR\fR
+.ad
+.sp .6
+.RS 4n
+Exit the \fBzonecfg\fR session. A commit is automatically attempted if needed.
+You can also use an \fBEOF\fR character to exit \fBzonecfg\fR. The \fB-F\fR
+option can be used to force the action.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating the Environment for a New Zone
+.sp
+.LP
+In the following example, \fBzonecfg\fR creates the environment for a new zone.
+\fB/usr/local\fR is loopback mounted from the global zone into
+\fB/opt/local\fR. \fB/opt/sfw\fR is loopback mounted from the global zone,
+three logical network interfaces are added, and a limit on the number of
+fair-share scheduler (FSS) CPU shares for a zone is set using the \fBrctl\fR
+resource type. The example also shows how to select a given resource for
+modification.
+
+.sp
+.in +2
+.nf
+example# \fBzonecfg -z myzone3\fR
+my-zone3: No such zone configured
+Use 'create' to begin configuring a new zone.
+zonecfg:myzone3> \fBcreate\fR
+zonecfg:myzone3> \fBset zonepath=/export/home/my-zone3\fR
+zonecfg:myzone3> \fBset autoboot=true\fR
+zonecfg:myzone3> \fBadd fs\fR
+zonecfg:myzone3:fs> \fBset dir=/usr/local\fR
+zonecfg:myzone3:fs> \fBset special=/opt/local\fR
+zonecfg:myzone3:fs> \fBset type=lofs\fR
+zonecfg:myzone3:fs> \fBadd options [ro,nodevices]\fR
+zonecfg:myzone3:fs> \fBend\fR
+zonecfg:myzone3> \fBadd fs\fR
+zonecfg:myzone3:fs> \fBset dir=/mnt\fR
+zonecfg:myzone3:fs> \fBset special=/dev/dsk/c0t0d0s7\fR
+zonecfg:myzone3:fs> \fBset raw=/dev/rdsk/c0t0d0s7\fR
+zonecfg:myzone3:fs> \fBset type=ufs\fR
+zonecfg:myzone3:fs> \fBend\fR
+zonecfg:myzone3> \fBadd inherit-pkg-dir\fR
+zonecfg:myzone3:inherit-pkg-dir> \fBset dir=/opt/sfw\fR
+zonecfg:myzone3:inherit-pkg-dir> \fBend\fR
+zonecfg:myzone3> \fBadd net\fR
+zonecfg:myzone3:net> \fBset address=192.168.0.1/24\fR
+zonecfg:myzone3:net> \fBset physical=eri0\fR
+zonecfg:myzone3:net> \fBend\fR
+zonecfg:myzone3> \fBadd net\fR
+zonecfg:myzone3:net> \fBset address=192.168.1.2/24\fR
+zonecfg:myzone3:net> \fBset physical=eri0\fR
+zonecfg:myzone3:net> \fBend\fR
+zonecfg:myzone3> \fBadd net\fR
+zonecfg:myzone3:net> \fBset address=192.168.2.3/24\fR
+zonecfg:myzone3:net> \fBset physical=eri0\fR
+zonecfg:myzone3:net> \fBend\fR
+zonecfg:my-zone3> \fBset cpu-shares=5\fR
+zonecfg:my-zone3> \fBadd capped-memory\fR
+zonecfg:my-zone3:capped-memory> \fBset physical=50m\fR
+zonecfg:my-zone3:capped-memory> \fBset swap=100m\fR
+zonecfg:my-zone3:capped-memory> \fBend\fR
+zonecfg:myzone3> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a Non-Native Zone
+.sp
+.LP
+The following example creates a new Linux zone:
+
+.sp
+.in +2
+.nf
+example# \fBzonecfg -z lxzone\fR
+lxzone: No such zone configured
+Use 'create' to begin configuring a new zone
+zonecfg:lxzone> \fBcreate -t SUNWlx\fR
+zonecfg:lxzone> \fBset zonepath=/export/zones/lxzone\fR
+zonecfg:lxzone> \fBset autoboot=true\fR
+zonecfg:lxzone> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating an Exclusive-IP Zone
+.sp
+.LP
+The following example creates a zone that is granted exclusive access to
+\fBbge1\fR and \fBbge33000\fR and that is isolated at the IP layer from the
+other zones configured on the system.
+
+.sp
+.LP
+The IP addresses and routing is configured inside the new zone using
+\fBsysidtool\fR(1M).
+
+.sp
+.in +2
+.nf
+example# \fBzonecfg -z excl\fR
+excl: No such zone configured
+Use 'create' to begin configuring a new zone
+zonecfg:excl> \fBcreate\fR
+zonecfg:excl> \fBset zonepath=/export/zones/excl\fR
+zonecfg:excl> \fBset ip-type=exclusive\fR
+zonecfg:excl> \fBadd net\fR
+zonecfg:excl:net> \fBset physical=bge1\fR
+zonecfg:excl:net> \fBend\fR
+zonecfg:excl> \fBadd net\fR
+zonecfg:excl:net> \fBset physical=bge33000\fR
+zonecfg:excl:net> \fBend\fR
+zonecfg:excl> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRAssociating a Zone with a Resource Pool
+.sp
+.LP
+The following example shows how to associate an existing zone with an existing
+resource pool:
+
+.sp
+.in +2
+.nf
+example# \fBzonecfg -z myzone\fR
+zonecfg:myzone> \fBset pool=mypool\fR
+zonecfg:myzone> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+For more information about resource pools, see \fBpooladm\fR(1M) and
+\fBpoolcfg\fR(1M).
+
+.LP
+\fBExample 5 \fRChanging the Name of a Zone
+.sp
+.LP
+The following example shows how to change the name of an existing zone:
+
+.sp
+.in +2
+.nf
+example# \fBzonecfg -z myzone\fR
+zonecfg:myzone> \fBset zonename=myzone2\fR
+zonecfg:myzone2> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRChanging the Privilege Set of a Zone
+.sp
+.LP
+The following example shows how to change the set of privileges an existing
+zone's processes will be limited to the next time the zone is booted. In this
+particular case, the privilege set will be the standard safe set of privileges
+a zone normally has along with the privilege to change the system date and
+time:
+
+.sp
+.in +2
+.nf
+example# \fBzonecfg -z myzone\fR
+zonecfg:myzone> \fBset limitpriv="default,sys_time"\fR
+zonecfg:myzone2> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRSetting the \fBzone.cpu-shares\fR Property for the Global Zone
+.sp
+.LP
+The following command sets the \fBzone.cpu-shares\fR property for the global
+zone:
+
+.sp
+.in +2
+.nf
+example# \fBzonecfg -z global\fR
+zonecfg:global> \fBset cpu-shares=5\fR
+zonecfg:global> \fBexit\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRUsing Pattern Matching
+.sp
+.LP
+The following commands illustrate \fBzonecfg\fR support for pattern matching.
+In the zone \fBflexlm\fR, enter:
+
+.sp
+.in +2
+.nf
+zonecfg:flexlm> \fBadd device\fR
+zonecfg:flexlm:device> \fBset match="/dev/cua/a00[2-5]"\fR
+zonecfg:flexlm:device> \fBend\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the global zone, enter:
+
+.sp
+.in +2
+.nf
+global# \fBls /dev/cua\fR
+a a000 a001 a002 a003 a004 a005 a006 a007 b
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+In the zone \fBflexlm\fR, enter:
+
+.sp
+.in +2
+.nf
+flexlm# \fBls /dev/cua\fR
+a002 a003 a004 a005
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRSetting a Cap for a Zone to Three CPUs
+.sp
+.LP
+The following sequence uses the \fBzonecfg\fR command to set the CPU cap for a
+zone to three CPUs.
+
+.sp
+.in +2
+.nf
+zonecfg:myzone> \fBadd capped-cpu\fR
+zonecfg:myzone>capped-cpu> \fBset ncpus=3\fR
+zonecfg:myzone>capped-cpu>capped-cpu> \fBend\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The preceding sequence, which uses the capped-cpu property, is equivalent to
+the following sequence, which makes use of the \fBzone.cpu-cap\fR resource
+control.
+
+.sp
+.in +2
+.nf
+zonecfg:myzone> \fBadd rctl\fR
+zonecfg:myzone:rctl> \fBset name=zone.cpu-cap\fR
+zonecfg:myzone:rctl> \fBadd value (priv=privileged,limit=300,action=none)\fR
+zonecfg:myzone:rctl> \fBend\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRUsing \fBkstat\fR to Monitor CPU Caps
+.sp
+.LP
+The following command displays information about all CPU caps.
+
+.sp
+.in +2
+.nf
+# \fBkstat -n /cpucaps/\fR
+module: caps instance: 0
+name: cpucaps_project_0 class: project_caps
+ above_sec 0
+ below_sec 2157
+ crtime 821.048183159
+ maxusage 2
+ nwait 0
+ snaptime 235885.637253027
+ usage 0
+ value 18446743151372347932
+ zonename global
+
+module: caps instance: 0
+name: cpucaps_project_1 class: project_caps
+ above_sec 0
+ below_sec 0
+ crtime 225339.192787265
+ maxusage 5
+ nwait 0
+ snaptime 235885.637591677
+ usage 5
+ value 18446743151372347932
+ zonename global
+
+module: caps instance: 0
+name: cpucaps_project_201 class: project_caps
+ above_sec 0
+ below_sec 235105
+ crtime 780.37961782
+ maxusage 100
+ nwait 0
+ snaptime 235885.637789687
+ usage 43
+ value 100
+ zonename global
+
+module: caps instance: 0
+name: cpucaps_project_202 class: project_caps
+ above_sec 0
+ below_sec 235094
+ crtime 791.72983782
+ maxusage 100
+ nwait 0
+ snaptime 235885.637967512
+ usage 48
+ value 100
+ zonename global
+
+module: caps instance: 0
+name: cpucaps_project_203 class: project_caps
+ above_sec 0
+ below_sec 235034
+ crtime 852.104401481
+ maxusage 75
+ nwait 0
+ snaptime 235885.638144304
+ usage 47
+ value 100
+ zonename global
+
+module: caps instance: 0
+name: cpucaps_project_86710 class: project_caps
+ above_sec 22
+ below_sec 235166
+ crtime 698.441717859
+ maxusage 101
+ nwait 0
+ snaptime 235885.638319871
+ usage 54
+ value 100
+ zonename global
+
+module: caps instance: 0
+name: cpucaps_zone_0 class: zone_caps
+ above_sec 100733
+ below_sec 134332
+ crtime 821.048177123
+ maxusage 207
+ nwait 2
+ snaptime 235885.638497731
+ usage 199
+ value 200
+ zonename global
+
+module: caps instance: 1
+name: cpucaps_project_0 class: project_caps
+ above_sec 0
+ below_sec 0
+ crtime 225360.256448422
+ maxusage 7
+ nwait 0
+ snaptime 235885.638714404
+ usage 7
+ value 18446743151372347932
+ zonename test_001
+
+module: caps instance: 1
+name: cpucaps_zone_1 class: zone_caps
+ above_sec 2
+ below_sec 10524
+ crtime 225360.256440278
+ maxusage 106
+ nwait 0
+ snaptime 235885.638896443
+ usage 7
+ value 100
+ zonename test_001
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRDisplaying CPU Caps for a Specific Zone or Project
+.sp
+.LP
+Using the \fBkstat\fR \fB-c\fR and \fB-i\fR options, you can display CPU caps
+for a specific zone or project, as below. The first command produces a display
+for a specific project, the second for the same project within zone 1.
+
+.sp
+.in +2
+.nf
+# \fBkstat -c project_caps\fR
+
+# \fBkstat -c project_caps -i 1\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.sp .6
+.RS 4n
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.sp .6
+.RS 4n
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.sp .6
+.RS 4n
+Invalid usage.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityVolatile
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBppriv\fR(1), \fBprctl\fR(1), \fBzlogin\fR(1), \fBkstat\fR(1M),
+\fBmount\fR(1M), \fBpooladm\fR(1M), \fBpoolcfg\fR(1M), \fBpoold\fR(1M),
+\fBrcapd\fR(1M), \fBrctladm\fR(1M), \fBsvcadm\fR(1M), \fBsysidtool\fR(1M),
+\fBzfs\fR(1M), \fBzoneadm\fR(1M), \fBpriv_str_to_set\fR(3C),
+\fBkstat\fR(3KSTAT), \fBvfstab\fR(4), \fBattributes\fR(5), \fBbrands\fR(5),
+\fBfnmatch\fR(5), \fBlx\fR(5), \fBprivileges\fR(5), \fBresource_controls\fR(5),
+\fBzones\fR(5)
+.sp
+.LP
+\fISystem Administration Guide: Solaris Containers-Resource Management, and
+Solaris Zones\fR
+.SH NOTES
+.sp
+.LP
+All character data used by \fBzonecfg\fR must be in US-ASCII encoding.
diff --git a/usr/src/man/man1m/zpool.1m b/usr/src/man/man1m/zpool.1m
new file mode 100644
index 0000000000..7a67781be2
--- /dev/null
+++ b/usr/src/man/man1m/zpool.1m
@@ -0,0 +1,2146 @@
+'\" te
+.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zpool 1M "21 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zpool \- configures ZFS storage pools
+.SH SYNOPSIS
+.LP
+.nf
+\fBzpool\fR [\fB-?\fR]
+.fi
+
+.LP
+.nf
+\fBzpool add\fR [\fB-fn\fR] \fIpool\fR \fIvdev\fR ...
+.fi
+
+.LP
+.nf
+\fBzpool attach\fR [\fB-f\fR] \fIpool\fR \fIdevice\fR \fInew_device\fR
+.fi
+
+.LP
+.nf
+\fBzpool clear\fR \fIpool\fR [\fIdevice\fR]
+.fi
+
+.LP
+.nf
+\fBzpool create\fR [\fB-fn\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-O\fR \fIfile-system-property=value\fR]
+ ... [\fB-m\fR \fImountpoint\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR \fIvdev\fR ...
+.fi
+
+.LP
+.nf
+\fBzpool destroy\fR [\fB-f\fR] \fIpool\fR
+.fi
+
+.LP
+.nf
+\fBzpool detach\fR \fIpool\fR \fIdevice\fR
+.fi
+
+.LP
+.nf
+\fBzpool export\fR [\fB-f\fR] \fIpool\fR ...
+.fi
+
+.LP
+.nf
+\fBzpool get\fR "\fIall\fR" | \fIproperty\fR[,...] \fIpool\fR ...
+.fi
+
+.LP
+.nf
+\fBzpool history\fR [\fB-il\fR] [\fIpool\fR] ...
+.fi
+
+.LP
+.nf
+\fBzpool import\fR [\fB-d\fR \fIdir\fR] [\fB-D\fR]
+.fi
+
+.LP
+.nf
+\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
+ [\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fB-a\fR
+.fi
+
+.LP
+.nf
+\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
+ [\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR |\fIid\fR [\fInewpool\fR]
+.fi
+
+.LP
+.nf
+\fBzpool iostat\fR [\fB-T\fR u | d ] [\fB-v\fR] [\fIpool\fR] ... [\fIinterval\fR[\fIcount\fR]]
+.fi
+
+.LP
+.nf
+\fBzpool list\fR [\fB-H\fR] [\fB-o\fR \fIproperty\fR[,...]] [\fIpool\fR] ...
+.fi
+
+.LP
+.nf
+\fBzpool offline\fR [\fB-t\fR] \fIpool\fR \fIdevice\fR ...
+.fi
+
+.LP
+.nf
+\fBzpool online\fR \fIpool\fR \fIdevice\fR ...
+.fi
+
+.LP
+.nf
+\fBzpool remove\fR \fIpool\fR \fIdevice\fR ...
+.fi
+
+.LP
+.nf
+\fBzpool replace\fR [\fB-f\fR] \fIpool\fR \fIdevice\fR [\fInew_device\fR]
+.fi
+
+.LP
+.nf
+\fBzpool scrub\fR [\fB-s\fR] \fIpool\fR ...
+.fi
+
+.LP
+.nf
+\fBzpool set\fR \fIproperty\fR=\fIvalue\fR \fIpool\fR
+.fi
+
+.LP
+.nf
+\fBzpool status\fR [\fB-xv\fR] [\fIpool\fR] ...
+.fi
+
+.LP
+.nf
+\fBzpool upgrade\fR
+.fi
+
+.LP
+.nf
+\fBzpool upgrade\fR \fB-v\fR
+.fi
+
+.LP
+.nf
+\fBzpool upgrade\fR [\fB-V\fR \fIversion\fR] \fB-a\fR | \fIpool\fR ...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBzpool\fR command configures \fBZFS\fR storage pools. A storage pool is a
+collection of devices that provides physical storage and data replication for
+\fBZFS\fR datasets.
+.sp
+.LP
+All datasets within a storage pool share the same space. See \fBzfs\fR(1M) for
+information on managing datasets.
+.SS "Virtual Devices (\fBvdev\fRs)"
+.sp
+.LP
+A "virtual device" describes a single device or a collection of devices
+organized according to certain performance and fault characteristics. The
+following virtual devices are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisk\fR\fR
+.ad
+.RS 10n
+.rt
+A block device, typically located under \fB/dev/dsk\fR. \fBZFS\fR can use
+individual slices or partitions, though the recommended mode of operation is to
+use whole disks. A disk can be specified by a full path, or it can be a
+shorthand name (the relative portion of the path under "/dev/dsk"). A whole
+disk can be specified by omitting the slice or partition designation. For
+example, "c0t0d0" is equivalent to "/dev/dsk/c0t0d0s2". When given a whole
+disk, \fBZFS\fR automatically labels the disk, if necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfile\fR\fR
+.ad
+.RS 10n
+.rt
+A regular file. The use of files as a backing store is strongly discouraged. It
+is designed primarily for experimental purposes, as the fault tolerance of a
+file is only as good as the file system of which it is a part. A file must be
+specified by a full path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmirror\fR\fR
+.ad
+.RS 10n
+.rt
+A mirror of two or more devices. Data is replicated in an identical fashion
+across all components of a mirror. A mirror with \fIN\fR disks of size \fIX\fR
+can hold \fIX\fR bytes and can withstand (\fIN-1\fR) devices failing before
+data integrity is compromised.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBraidz\fR\fR
+.ad
+.br
+.na
+\fB\fBraidz1\fR\fR
+.ad
+.br
+.na
+\fB\fBraidz2\fR\fR
+.ad
+.br
+.na
+\fB\fBraidz3\fR\fR
+.ad
+.RS 10n
+.rt
+A variation on \fBRAID-5\fR that allows for better distribution of parity and
+eliminates the "\fBRAID-5\fR write hole" (in which data and parity become
+inconsistent after a power loss). Data and parity is striped across all disks
+within a \fBraidz\fR group.
+.sp
+A \fBraidz\fR group can have single-, double- , or triple parity, meaning that
+the \fBraidz\fR group can sustain one, two, or three failures, respectively,
+without losing any data. The \fBraidz1\fR \fBvdev\fR type specifies a
+single-parity \fBraidz\fR group; the \fBraidz2\fR \fBvdev\fR type specifies a
+double-parity \fBraidz\fR group; and the \fBraidz3\fR \fBvdev\fR type specifies
+a triple-parity \fBraidz\fR group. The \fBraidz\fR \fBvdev\fR type is an alias
+for \fBraidz1\fR.
+.sp
+A \fBraidz\fR group with \fIN\fR disks of size \fIX\fR with \fIP\fR parity
+disks can hold approximately (\fIN-P\fR)*\fIX\fR bytes and can withstand
+\fIP\fR device(s) failing before data integrity is compromised. The minimum
+number of devices in a \fBraidz\fR group is one more than the number of parity
+disks. The recommended number is between 3 and 9 to help increase performance.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBspare\fR\fR
+.ad
+.RS 10n
+.rt
+A special pseudo-\fBvdev\fR which keeps track of available hot spares for a
+pool. For more information, see the "Hot Spares" section.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog\fR\fR
+.ad
+.RS 10n
+.rt
+A separate-intent log device. If more than one log device is specified, then
+writes are load-balanced between devices. Log devices can be mirrored. However,
+\fBraidz\fR \fBvdev\fR types are not supported for the intent log. For more
+information, see the "Intent Log" section.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcache\fR\fR
+.ad
+.RS 10n
+.rt
+A device used to cache storage pool data. A cache device cannot be cannot be
+configured as a mirror or \fBraidz\fR group. For more information, see the
+"Cache Devices" section.
+.RE
+
+.sp
+.LP
+Virtual devices cannot be nested, so a mirror or \fBraidz\fR virtual device can
+only contain files or disks. Mirrors of mirrors (or other combinations) are not
+allowed.
+.sp
+.LP
+A pool can have any number of virtual devices at the top of the configuration
+(known as "root vdevs"). Data is dynamically distributed across all top-level
+devices to balance data among devices. As new virtual devices are added,
+\fBZFS\fR automatically places data on the newly available devices.
+.sp
+.LP
+Virtual devices are specified one at a time on the command line, separated by
+whitespace. The keywords "mirror" and "raidz" are used to distinguish where a
+group ends and another begins. For example, the following creates two root
+vdevs, each a mirror of two disks:
+.sp
+.in +2
+.nf
+# \fBzpool create mypool mirror c0t0d0 c0t1d0 mirror c1t0d0 c1t1d0\fR
+.fi
+.in -2
+.sp
+
+.SS "Device Failure and Recovery"
+.sp
+.LP
+\fBZFS\fR supports a rich set of mechanisms for handling device failure and
+data corruption. All metadata and data is checksummed, and \fBZFS\fR
+automatically repairs bad data from a good copy when corruption is detected.
+.sp
+.LP
+In order to take advantage of these features, a pool must make use of some form
+of redundancy, using either mirrored or \fBraidz\fR groups. While \fBZFS\fR
+supports running in a non-redundant configuration, where each root vdev is
+simply a disk or file, this is strongly discouraged. A single case of bit
+corruption can render some or all of your data unavailable.
+.sp
+.LP
+A pool's health status is described by one of three states: online, degraded,
+or faulted. An online pool has all devices operating normally. A degraded pool
+is one in which one or more devices have failed, but the data is still
+available due to a redundant configuration. A faulted pool has corrupted
+metadata, or one or more faulted devices, and insufficient replicas to continue
+functioning.
+.sp
+.LP
+The health of the top-level vdev, such as mirror or \fBraidz\fR device, is
+potentially impacted by the state of its associated vdevs, or component
+devices. A top-level vdev or component device is in one of the following
+states:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBDEGRADED\fR\fR
+.ad
+.RS 12n
+.rt
+One or more top-level vdevs is in the degraded state because one or more
+component devices are offline. Sufficient replicas exist to continue
+functioning.
+.sp
+One or more component devices is in the degraded or faulted state, but
+sufficient replicas exist to continue functioning. The underlying conditions
+are as follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The number of checksum errors exceeds acceptable levels and the device is
+degraded as an indication that something may be wrong. \fBZFS\fR continues to
+use the device as necessary.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The number of I/O errors exceeds acceptable levels. The device could not be
+marked as faulted because there are insufficient replicas to continue
+functioning.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBFAULTED\fR\fR
+.ad
+.RS 12n
+.rt
+One or more top-level vdevs is in the faulted state because one or more
+component devices are offline. Insufficient replicas exist to continue
+functioning.
+.sp
+One or more component devices is in the faulted state, and insufficient
+replicas exist to continue functioning. The underlying conditions are as
+follows:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The device could be opened, but the contents did not match expected values.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+The number of I/O errors exceeds acceptable levels and the device is faulted to
+prevent further use of the device.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBOFFLINE\fR\fR
+.ad
+.RS 12n
+.rt
+The device was explicitly taken offline by the "\fBzpool offline\fR" command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBONLINE\fR\fR
+.ad
+.RS 12n
+.rt
+The device is online and functioning.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBREMOVED\fR\fR
+.ad
+.RS 12n
+.rt
+The device was physically removed while the system was running. Device removal
+detection is hardware-dependent and may not be supported on all platforms.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBUNAVAIL\fR\fR
+.ad
+.RS 12n
+.rt
+The device could not be opened. If a pool is imported when a device was
+unavailable, then the device will be identified by a unique identifier instead
+of its path since the path was never correct in the first place.
+.RE
+
+.sp
+.LP
+If a device is removed and later re-attached to the system, \fBZFS\fR attempts
+to put the device online automatically. Device attach detection is
+hardware-dependent and might not be supported on all platforms.
+.SS "Hot Spares"
+.sp
+.LP
+\fBZFS\fR allows devices to be associated with pools as "hot spares". These
+devices are not actively used in the pool, but when an active device fails, it
+is automatically replaced by a hot spare. To create a pool with hot spares,
+specify a "spare" \fBvdev\fR with any number of devices. For example,
+.sp
+.in +2
+.nf
+# zpool create pool mirror c0d0 c1d0 spare c2d0 c3d0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Spares can be shared across multiple pools, and can be added with the "\fBzpool
+add\fR" command and removed with the "\fBzpool remove\fR" command. Once a spare
+replacement is initiated, a new "spare" \fBvdev\fR is created within the
+configuration that will remain there until the original device is replaced. At
+this point, the hot spare becomes available again if another device fails.
+.sp
+.LP
+If a pool has a shared spare that is currently being used, the pool can not be
+exported since other pools may use this shared spare, which may lead to
+potential data corruption.
+.sp
+.LP
+An in-progress spare replacement can be cancelled by detaching the hot spare.
+If the original faulted device is detached, then the hot spare assumes its
+place in the configuration, and is removed from the spare list of all active
+pools.
+.sp
+.LP
+Spares cannot replace log devices.
+.SS "Intent Log"
+.sp
+.LP
+The \fBZFS\fR Intent Log (\fBZIL\fR) satisfies \fBPOSIX\fR requirements for
+synchronous transactions. For instance, databases often require their
+transactions to be on stable storage devices when returning from a system call.
+\fBNFS\fR and other applications can also use \fBfsync\fR() to ensure data
+stability. By default, the intent log is allocated from blocks within the main
+pool. However, it might be possible to get better performance using separate
+intent log devices such as \fBNVRAM\fR or a dedicated disk. For example:
+.sp
+.in +2
+.nf
+\fB# zpool create pool c0d0 c1d0 log c2d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Multiple log devices can also be specified, and they can be mirrored. See the
+EXAMPLES section for an example of mirroring multiple log devices.
+.sp
+.LP
+Log devices can be added, replaced, attached, detached, and imported and
+exported as part of the larger pool. Mirrored log devices can be removed by
+specifying the top-level mirror for the log.
+.SS "Cache Devices"
+.sp
+.LP
+Devices can be added to a storage pool as "cache devices." These devices
+provide an additional layer of caching between main memory and disk. For
+read-heavy workloads, where the working set size is much larger than what can
+be cached in main memory, using cache devices allow much more of this working
+set to be served from low latency media. Using cache devices provides the
+greatest performance improvement for random read-workloads of mostly static
+content.
+.sp
+.LP
+To create a pool with cache devices, specify a "cache" \fBvdev\fR with any
+number of devices. For example:
+.sp
+.in +2
+.nf
+\fB# zpool create pool c0d0 c1d0 cache c2d0 c3d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Cache devices cannot be mirrored or part of a \fBraidz\fR configuration. If a
+read error is encountered on a cache device, that read \fBI/O\fR is reissued to
+the original storage pool device, which might be part of a mirrored or
+\fBraidz\fR configuration.
+.sp
+.LP
+The content of the cache devices is considered volatile, as is the case with
+other system caches.
+.SS "Properties"
+.sp
+.LP
+Each pool has several properties associated with it. Some properties are
+read-only statistics while others are configurable and change the behavior of
+the pool. The following are read-only properties:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBavailable\fR\fR
+.ad
+.RS 20n
+.rt
+Amount of storage available within the pool. This property can also be referred
+to by its shortened column name, "avail".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcapacity\fR\fR
+.ad
+.RS 20n
+.rt
+Percentage of pool space used. This property can also be referred to by its
+shortened column name, "cap".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhealth\fR\fR
+.ad
+.RS 20n
+.rt
+The current health of the pool. Health can be "\fBONLINE\fR", "\fBDEGRADED\fR",
+"\fBFAULTED\fR", " \fBOFFLINE\fR", "\fBREMOVED\fR", or "\fBUNAVAIL\fR".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBguid\fR\fR
+.ad
+.RS 20n
+.rt
+A unique identifier for the pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsize\fR\fR
+.ad
+.RS 20n
+.rt
+Total size of the storage pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBused\fR\fR
+.ad
+.RS 20n
+.rt
+Amount of storage space used within the pool.
+.RE
+
+.sp
+.LP
+These space usage properties report actual physical space available to the
+storage pool. The physical space can be different from the total amount of
+space that any contained datasets can actually use. The amount of space used in
+a \fBraidz\fR configuration depends on the characteristics of the data being
+written. In addition, \fBZFS\fR reserves some space for internal accounting
+that the \fBzfs\fR(1M) command takes into account, but the \fBzpool\fR command
+does not. For non-full pools of a reasonable size, these effects should be
+invisible. For small pools, or pools that are close to being completely full,
+these discrepancies may become more noticeable.
+.sp
+.LP
+The following property can be set at creation time and import time:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBaltroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Alternate root directory. If set, this directory is prepended to any mount
+points within the pool. This can be used when examining an unknown pool where
+the mount points cannot be trusted, or in an alternate boot environment, where
+the typical paths are not valid. \fBaltroot\fR is not a persistent property. It
+is valid only while the system is up. Setting \fBaltroot\fR defaults to using
+\fBcachefile\fR=none, though this may be overridden using an explicit setting.
+.RE
+
+.sp
+.LP
+The following properties can be set at creation time and import time, and later
+changed with the \fBzpool set\fR command:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBautoexpand\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls automatic pool expansion when the underlying LUN is grown. If set to
+\fBon\fR, the pool will be resized according to the size of the expanded
+device. If the device is part of a mirror or \fBraidz\fR then all devices
+within that mirror/\fBraidz\fR group must be expanded before the new space is
+made available to the pool. The default behavior is \fBoff\fR. This property
+can also be referred to by its shortened column name, \fBexpand\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBautoreplace\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls automatic device replacement. If set to "\fBoff\fR", device
+replacement must be initiated by the administrator by using the "\fBzpool
+replace\fR" command. If set to "\fBon\fR", any new device, found in the same
+physical location as a device that previously belonged to the pool, is
+automatically formatted and replaced. The default behavior is "\fBoff\fR". This
+property can also be referred to by its shortened column name, "replace".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbootfs\fR=\fIpool\fR/\fIdataset\fR\fR
+.ad
+.sp .6
+.RS 4n
+Identifies the default bootable dataset for the root pool. This property is
+expected to be set mainly by the installation and upgrade programs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcachefile\fR=\fIpath\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls the location of where the pool configuration is cached. Discovering
+all pools on system startup requires a cached copy of the configuration data
+that is stored on the root file system. All pools in this cache are
+automatically imported when the system boots. Some environments, such as
+install and clustering, need to cache this information in a different location
+so that pools are not automatically imported. Setting this property caches the
+pool configuration in a different location that can later be imported with
+"\fBzpool import -c\fR". Setting it to the special value "\fBnone\fR" creates a
+temporary pool that is never cached, and the special value \fB\&''\fR (empty
+string) uses the default location.
+.sp
+Multiple pools can share the same cache file. Because the kernel destroys and
+recreates this file when pools are added and removed, care should be taken when
+attempting to access this file. When the last pool using a \fBcachefile\fR is
+exported or destroyed, the file is removed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelegation\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether a non-privileged user is granted access based on the dataset
+permissions defined on the dataset. See \fBzfs\fR(1M) for more information on
+\fBZFS\fR delegated administration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfailmode\fR=\fBwait\fR | \fBcontinue\fR | \fBpanic\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls the system behavior in the event of catastrophic pool failure. This
+condition is typically a result of a loss of connectivity to the underlying
+storage device(s) or a failure of all devices within the pool. The behavior of
+such an event is determined as follows:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwait\fR\fR
+.ad
+.RS 12n
+.rt
+Blocks all \fBI/O\fR access until the device connectivity is recovered and the
+errors are cleared. This is the default behavior.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcontinue\fR\fR
+.ad
+.RS 12n
+.rt
+Returns \fBEIO\fR to any new write \fBI/O\fR requests but allows reads to any
+of the remaining healthy devices. Any write requests that have yet to be
+committed to disk would be blocked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpanic\fR\fR
+.ad
+.RS 12n
+.rt
+Prints out a message to the console and generates a system crash dump.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlistsnaps\fR=on | off\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether information about snapshots associated with this pool is
+output when "\fBzfs list\fR" is run without the \fB-t\fR option. The default
+value is "off".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBversion\fR=\fIversion\fR\fR
+.ad
+.sp .6
+.RS 4n
+The current on-disk version of the pool. This can be increased, but never
+decreased. The preferred method of updating pools is with the "\fBzpool
+upgrade\fR" command, though this property can be used when a specific version
+is needed for backwards compatibility. This property can be any number between
+1 and the current version reported by "\fBzpool upgrade -v\fR".
+.RE
+
+.SS "Subcommands"
+.sp
+.LP
+All subcommands that modify state are logged persistently to the pool in their
+original form.
+.sp
+.LP
+The \fBzpool\fR command provides subcommands to create and destroy storage
+pools, add capacity to storage pools, and provide information about the storage
+pools. The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool\fR \fB-?\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a help message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool add\fR [\fB-fn\fR] \fIpool\fR \fIvdev\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Adds the specified virtual devices to the given pool. The \fIvdev\fR
+specification is described in the "Virtual Devices" section. The behavior of
+the \fB-f\fR option, and the device checks performed are described in the
+"zpool create" subcommand.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Forces use of \fBvdev\fRs, even if they appear in use or specify a conflicting
+replication level. Not all devices can be overridden in this manner.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 6n
+.rt
+Displays the configuration that would be used without actually adding the
+\fBvdev\fRs. The actual pool creation can still fail due to insufficient
+privileges or device sharing.
+.RE
+
+Do not add a disk that is currently configured as a quorum device to a zpool.
+After a disk is in the pool, that disk can then be configured as a quorum
+device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool attach\fR [\fB-f\fR] \fIpool\fR \fIdevice\fR \fInew_device\fR\fR
+.ad
+.sp .6
+.RS 4n
+Attaches \fInew_device\fR to an existing \fBzpool\fR device. The existing
+device cannot be part of a \fBraidz\fR configuration. If \fIdevice\fR is not
+currently part of a mirrored configuration, \fIdevice\fR automatically
+transforms into a two-way mirror of \fIdevice\fR and \fInew_device\fR. If
+\fIdevice\fR is part of a two-way mirror, attaching \fInew_device\fR creates a
+three-way mirror, and so on. In either case, \fInew_device\fR begins to
+resilver immediately.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Forces use of \fInew_device\fR, even if its appears to be in use. Not all
+devices can be overridden in this manner.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool clear\fR \fIpool\fR [\fIdevice\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Clears device errors in a pool. If no arguments are specified, all device
+errors within the pool are cleared. If one or more devices is specified, only
+those errors associated with the specified device or devices are cleared.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool create\fR [\fB-fn\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-O\fR
+\fIfile-system-property=value\fR] ... [\fB-m\fR \fImountpoint\fR] [\fB-R\fR
+\fIroot\fR] \fIpool\fR \fIvdev\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Creates a new storage pool containing the virtual devices specified on the
+command line. The pool name must begin with a letter, and can only contain
+alphanumeric characters as well as underscore ("_"), dash ("-"), and period
+("."). The pool names "mirror", "raidz", "spare" and "log" are reserved, as are
+names beginning with the pattern "c[0-9]". The \fBvdev\fR specification is
+described in the "Virtual Devices" section.
+.sp
+The command verifies that each device specified is accessible and not currently
+in use by another subsystem. There are some uses, such as being currently
+mounted, or specified as the dedicated dump device, that prevents a device from
+ever being used by \fBZFS\fR. Other uses, such as having a preexisting
+\fBUFS\fR file system, can be overridden with the \fB-f\fR option.
+.sp
+The command also checks that the replication strategy for the pool is
+consistent. An attempt to combine redundant and non-redundant storage in a
+single pool, or to mix disks and files, results in an error unless \fB-f\fR is
+specified. The use of differently sized devices within a single \fBraidz\fR or
+mirror group is also flagged as an error unless \fB-f\fR is specified.
+.sp
+Unless the \fB-R\fR option is specified, the default mount point is
+"/\fIpool\fR". The mount point must not exist or must be empty, or else the
+root dataset cannot be mounted. This can be overridden with the \fB-m\fR
+option.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces use of \fBvdev\fRs, even if they appear in use or specify a conflicting
+replication level. Not all devices can be overridden in this manner.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the configuration that would be used without actually creating the
+pool. The actual pool creation can still fail due to insufficient privileges or
+device sharing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIproperty=value\fR [\fB-o\fR \fIproperty=value\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Sets the given pool properties. See the "Properties" section for a list of
+valid properties that can be set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR \fIfile-system-property=value\fR\fR
+.ad
+.br
+.na
+\fB[\fB-O\fR \fIfile-system-property=value\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Sets the given file system properties in the root file system of the pool. See
+the "Properties" section of \fBzfs\fR(1M) for a list of valid properties that
+can be set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Equivalent to "-o cachefile=none,altroot=\fIroot\fR"
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImountpoint\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the mount point for the root dataset. The default mount point is
+"/\fIpool\fR" or "\fBaltroot\fR/\fIpool\fR" if \fBaltroot\fR is specified. The
+mount point must be an absolute path, "\fBlegacy\fR", or "\fBnone\fR". For more
+information on dataset mount points, see \fBzfs\fR(1M).
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool destroy\fR [\fB-f\fR] \fIpool\fR\fR
+.ad
+.sp .6
+.RS 4n
+Destroys the given pool, freeing up any devices for other use. This command
+tries to unmount any active datasets before destroying the pool.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Forces any active datasets contained within the pool to be unmounted.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool detach\fR \fIpool\fR \fIdevice\fR\fR
+.ad
+.sp .6
+.RS 4n
+Detaches \fIdevice\fR from a mirror. The operation is refused if there are no
+other valid replicas of the data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool export\fR [\fB-f\fR] \fIpool\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Exports the given pools from the system. All devices are marked as exported,
+but are still considered in use by other subsystems. The devices can be moved
+between systems (even those of different endianness) and imported as long as a
+sufficient number of devices are present.
+.sp
+Before exporting the pool, all datasets within the pool are unmounted. A pool
+can not be exported if it has a shared spare that is currently being used.
+.sp
+For pools to be portable, you must give the \fBzpool\fR command whole disks,
+not just slices, so that \fBZFS\fR can label the disks with portable \fBEFI\fR
+labels. Otherwise, disk drivers on platforms of different endianness will not
+recognize the disks.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Forcefully unmount all datasets, using the "\fBunmount -f\fR" command.
+.sp
+This command will forcefully export the pool even if it has a shared spare that
+is currently being used. This may lead to potential data corruption.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool get\fR "\fIall\fR" | \fIproperty\fR[,...] \fIpool\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Retrieves the given list of properties (or all properties if "\fBall\fR" is
+used) for the specified storage pool(s). These properties are displayed with
+the following fields:
+.sp
+.in +2
+.nf
+ name Name of storage pool
+ property Property name
+ value Property value
+ source Property source, either 'default' or 'local'.
+.fi
+.in -2
+.sp
+
+See the "Properties" section for more information on the available pool
+properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool history\fR [\fB-il\fR] [\fIpool\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Displays the command history of the specified pools or all pools if no pool is
+specified.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 6n
+.rt
+Displays internally logged \fBZFS\fR events in addition to user initiated
+events.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 6n
+.rt
+Displays log records in long format, which in addition to standard format
+includes, the user name, the hostname, and the zone in which the operation was
+performed.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool import\fR [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
+[\fB-D\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Lists pools available to import. If the \fB-d\fR option is not specified, this
+command searches for devices in "/dev/dsk". The \fB-d\fR option can be
+specified multiple times, and all directories are searched. If the device
+appears to be part of an exported pool, this command displays a summary of the
+pool with the name of the pool, a numeric identifier, as well as the \fIvdev\fR
+layout and current health of the device for each device or file. Destroyed
+pools, pools that were previously destroyed with the "\fBzpool destroy\fR"
+command, are not listed unless the \fB-D\fR option is specified.
+.sp
+The numeric identifier is unique, and can be used instead of the pool name when
+multiple exported pools of the same name are available.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcachefile\fR\fR
+.ad
+.RS 16n
+.rt
+Reads configuration from the given \fBcachefile\fR that was created with the
+"\fBcachefile\fR" pool property. This \fBcachefile\fR is used instead of
+searching for devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir\fR\fR
+.ad
+.RS 16n
+.rt
+Searches for devices or files in \fIdir\fR. The \fB-d\fR option can be
+specified multiple times.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 16n
+.rt
+Lists destroyed pools only.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool import\fR [\fB-o\fR \fImntopts\fR] [ \fB-o\fR
+\fIproperty\fR=\fIvalue\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
+[\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fB-a\fR\fR
+.ad
+.sp .6
+.RS 4n
+Imports all pools found in the search directories. Identical to the previous
+command, except that all pools with a sufficient number of devices available
+are imported. Destroyed pools, pools that were previously destroyed with the
+"\fBzpool destroy\fR" command, will not be imported unless the \fB-D\fR option
+is specified.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fImntopts\fR\fR
+.ad
+.RS 21n
+.rt
+Comma-separated list of mount options to use when mounting datasets within the
+pool. See \fBzfs\fR(1M) for a description of dataset properties and mount
+options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIproperty=value\fR\fR
+.ad
+.RS 21n
+.rt
+Sets the specified property on the imported pool. See the "Properties" section
+for more information on the available pool properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcachefile\fR\fR
+.ad
+.RS 21n
+.rt
+Reads configuration from the given \fBcachefile\fR that was created with the
+"\fBcachefile\fR" pool property. This \fBcachefile\fR is used instead of
+searching for devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir\fR\fR
+.ad
+.RS 21n
+.rt
+Searches for devices or files in \fIdir\fR. The \fB-d\fR option can be
+specified multiple times. This option is incompatible with the \fB-c\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.RS 21n
+.rt
+Imports destroyed pools only. The \fB-f\fR option is also required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 21n
+.rt
+Forces import, even if the pool appears to be potentially active.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 21n
+.rt
+Searches for and imports all pools found.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot\fR\fR
+.ad
+.RS 21n
+.rt
+Sets the "\fBcachefile\fR" property to "\fBnone\fR" and the "\fIaltroot\fR"
+property to "\fIroot\fR".
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool import\fR [\fB-o\fR \fImntopts\fR] [ \fB-o\fR
+\fIproperty\fR=\fIvalue\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
+[\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR | \fIid\fR
+[\fInewpool\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Imports a specific pool. A pool can be identified by its name or the numeric
+identifier. If \fInewpool\fR is specified, the pool is imported using the name
+\fInewpool\fR. Otherwise, it is imported with the same name as its exported
+name.
+.sp
+If a device is removed from a system without running "\fBzpool export\fR"
+first, the device appears as potentially active. It cannot be determined if
+this was a failed export, or whether the device is really in use from another
+host. To import a pool in this state, the \fB-f\fR option is required.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fImntopts\fR\fR
+.ad
+.sp .6
+.RS 4n
+Comma-separated list of mount options to use when mounting datasets within the
+pool. See \fBzfs\fR(1M) for a description of dataset properties and mount
+options.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIproperty=value\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the specified property on the imported pool. See the "Properties" section
+for more information on the available pool properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcachefile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Reads configuration from the given \fBcachefile\fR that was created with the
+"\fBcachefile\fR" pool property. This \fBcachefile\fR is used instead of
+searching for devices.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Searches for devices or files in \fIdir\fR. The \fB-d\fR option can be
+specified multiple times. This option is incompatible with the \fB-c\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Imports destroyed pool. The \fB-f\fR option is also required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.sp .6
+.RS 4n
+Forces import, even if the pool appears to be potentially active.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the "\fBcachefile\fR" property to "\fBnone\fR" and the "\fIaltroot\fR"
+property to "\fIroot\fR".
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool iostat\fR [\fB-T\fR \fBu\fR | \fBd\fR] [\fB-v\fR] [\fIpool\fR] ...
+[\fIinterval\fR[\fIcount\fR]]\fR
+.ad
+.sp .6
+.RS 4n
+Displays \fBI/O\fR statistics for the given pools. When given an interval, the
+statistics are printed every \fIinterval\fR seconds until \fBCtrl-C\fR is
+pressed. If no \fIpools\fR are specified, statistics for every pool in the
+system is shown. If \fIcount\fR is specified, the command exits after
+\fIcount\fR reports are printed.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+.ad
+.RS 12n
+.rt
+Display a time stamp.
+.sp
+Specify \fBu\fR for a printed representation of the internal representation of
+time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
+\fBdate\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 12n
+.rt
+Verbose statistics. Reports usage statistics for individual \fIvdevs\fR within
+the pool, in addition to the pool-wide statistics.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool list\fR [\fB-H\fR] [\fB-o\fR \fIprops\fR[,...]] [\fIpool\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Lists the given pools along with a health status and space usage. When given no
+arguments, all pools in the system are listed.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-H\fR\fR
+.ad
+.RS 12n
+.rt
+Scripted mode. Do not display headers, and separate fields by a single tab
+instead of arbitrary space.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIprops\fR\fR
+.ad
+.RS 12n
+.rt
+Comma-separated list of properties to display. See the "Properties" section for
+a list of valid properties. The default list is "name, size, used, available,
+capacity, health, altroot"
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool offline\fR [\fB-t\fR] \fIpool\fR \fIdevice\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Takes the specified physical device offline. While the \fIdevice\fR is offline,
+no attempt is made to read or write to the device.
+.sp
+This command is not applicable to spares or cache devices.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR\fR
+.ad
+.RS 6n
+.rt
+Temporary. Upon reboot, the specified physical device reverts to its previous
+state.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool online\fR [\fB-e\fR] \fIpool\fR \fIdevice\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Brings the specified physical device online.
+.sp
+This command is not applicable to spares or cache devices.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.RS 6n
+.rt
+Expand the device to use all available space. If the device is part of a mirror
+or \fBraidz\fR then all devices must be expanded before the new space will
+become available to the pool.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool remove\fR \fIpool\fR \fIdevice\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Removes the specified device from the pool. This command currently only
+supports removing hot spares, cache, and log devices. A mirrored log device can
+be removed by specifying the top-level mirror for the log. Non-log devices that
+are part of a mirrored configuration can be removed using the \fBzpool
+detach\fR command. Non-redundant and \fBraidz\fR devices cannot be removed from
+a pool.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool replace\fR [\fB-f\fR] \fIpool\fR \fIold_device\fR
+[\fInew_device\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Replaces \fIold_device\fR with \fInew_device\fR. This is equivalent to
+attaching \fInew_device\fR, waiting for it to resilver, and then detaching
+\fIold_device\fR.
+.sp
+The size of \fInew_device\fR must be greater than or equal to the minimum size
+of all the devices in a mirror or \fBraidz\fR configuration.
+.sp
+\fInew_device\fR is required if the pool is not redundant. If \fInew_device\fR
+is not specified, it defaults to \fIold_device\fR. This form of replacement is
+useful after an existing disk has failed and has been physically replaced. In
+this case, the new disk may have the same \fB/dev/dsk\fR path as the old
+device, even though it is actually a different disk. \fBZFS\fR recognizes this.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR\fR
+.ad
+.RS 6n
+.rt
+Forces use of \fInew_device\fR, even if its appears to be in use. Not all
+devices can be overridden in this manner.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool scrub\fR [\fB-s\fR] \fIpool\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Begins a scrub. The scrub examines all data in the specified pools to verify
+that it checksums correctly. For replicated (mirror or \fBraidz\fR) devices,
+\fBZFS\fR automatically repairs any damage discovered during the scrub. The
+"\fBzpool status\fR" command reports the progress of the scrub and summarizes
+the results of the scrub upon completion.
+.sp
+Scrubbing and resilvering are very similar operations. The difference is that
+resilvering only examines data that \fBZFS\fR knows to be out of date (for
+example, when attaching a new device to a mirror or replacing an existing
+device), whereas scrubbing examines all data to discover silent errors due to
+hardware faults or disk failure.
+.sp
+Because scrubbing and resilvering are \fBI/O\fR-intensive operations, \fBZFS\fR
+only allows one at a time. If a scrub is already in progress, the "\fBzpool
+scrub\fR" command terminates it and starts a new scrub. If a resilver is in
+progress, \fBZFS\fR does not allow a scrub to be started until the resilver
+completes.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 6n
+.rt
+Stop scrubbing.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool set\fR \fIproperty\fR=\fIvalue\fR \fIpool\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the given property on the specified pool. See the "Properties" section for
+more information on what properties can be set and acceptable values.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool status\fR [\fB-xv\fR] [\fIpool\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Displays the detailed health status for the given pools. If no \fIpool\fR is
+specified, then the status of each pool in the system is displayed. For more
+information on pool and device health, see the "Device Failure and Recovery"
+section.
+.sp
+If a scrub or resilver is in progress, this command reports the percentage done
+and the estimated time to completion. Both of these are only approximate,
+because the amount of data in the pool and the other workloads on the system
+can change.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 6n
+.rt
+Only display status for pools that are exhibiting errors or are otherwise
+unavailable.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 6n
+.rt
+Displays verbose data error information, printing out a complete list of all
+data errors since the last complete pool scrub.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool upgrade\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays all pools formatted using a different \fBZFS\fR on-disk version. Older
+versions can continue to be used, but some features may not be available. These
+pools can be upgraded using "\fBzpool upgrade -a\fR". Pools that are formatted
+with a more recent version are also displayed, although these pools will be
+inaccessible on the system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool upgrade\fR \fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays \fBZFS\fR versions supported by the current software. The current
+\fBZFS\fR versions and all previous supported versions are displayed, along
+with an explanation of the features provided with each version.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool upgrade\fR [\fB-V\fR \fIversion\fR] \fB-a\fR | \fIpool\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Upgrades the given pool to the latest on-disk version. Once this is done, the
+pool will no longer be accessible on systems running older versions of the
+software.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 14n
+.rt
+Upgrades all pools.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR \fIversion\fR\fR
+.ad
+.RS 14n
+.rt
+Upgrade to the specified version. If the \fB-V\fR flag is not specified, the
+pool is upgraded to the most recent version. This option can only be used to
+increase the version number, and only up to the most recent version supported
+by this software.
+.RE
+
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a RAID-Z Storage Pool
+.sp
+.LP
+The following command creates a pool with a single \fBraidz\fR root \fIvdev\fR
+that consists of six disks.
+
+.sp
+.in +2
+.nf
+# \fBzpool create tank raidz c0t0d0 c0t1d0 c0t2d0 c0t3d0 c0t4d0 c0t5d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreating a Mirrored Storage Pool
+.sp
+.LP
+The following command creates a pool with two mirrors, where each mirror
+contains two disks.
+
+.sp
+.in +2
+.nf
+# \fBzpool create tank mirror c0t0d0 c0t1d0 mirror c0t2d0 c0t3d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreating a ZFS Storage Pool by Using Slices
+.sp
+.LP
+The following command creates an unmirrored pool using two disk slices.
+
+.sp
+.in +2
+.nf
+# \fBzpool create tank /dev/dsk/c0t0d0s1 c0t1d0s4\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRCreating a ZFS Storage Pool by Using Files
+.sp
+.LP
+The following command creates an unmirrored pool using files. While not
+recommended, a pool based on files can be useful for experimental purposes.
+
+.sp
+.in +2
+.nf
+# \fBzpool create tank /path/to/file/a /path/to/file/b\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRAdding a Mirror to a ZFS Storage Pool
+.sp
+.LP
+The following command adds two mirrored disks to the pool "\fItank\fR",
+assuming the pool is already made up of two-way mirrors. The additional space
+is immediately available to any datasets within the pool.
+
+.sp
+.in +2
+.nf
+# \fBzpool add tank mirror c1t0d0 c1t1d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRListing Available ZFS Storage Pools
+.sp
+.LP
+The following command lists all available pools on the system. In this case,
+the pool \fIzion\fR is faulted due to a missing device.
+
+.sp
+.LP
+The results from this command are similar to the following:
+
+.sp
+.in +2
+.nf
+# \fBzpool list\fR
+ NAME SIZE USED AVAIL CAP HEALTH ALTROOT
+ pool 67.5G 2.92M 67.5G 0% ONLINE -
+ tank 67.5G 2.92M 67.5G 0% ONLINE -
+ zion - - - 0% FAULTED -
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRDestroying a ZFS Storage Pool
+.sp
+.LP
+The following command destroys the pool "\fItank\fR" and any datasets contained
+within.
+
+.sp
+.in +2
+.nf
+# \fBzpool destroy -f tank\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRExporting a ZFS Storage Pool
+.sp
+.LP
+The following command exports the devices in pool \fItank\fR so that they can
+be relocated or later imported.
+
+.sp
+.in +2
+.nf
+# \fBzpool export tank\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRImporting a ZFS Storage Pool
+.sp
+.LP
+The following command displays available pools, and then imports the pool
+"tank" for use on the system.
+
+.sp
+.LP
+The results from this command are similar to the following:
+
+.sp
+.in +2
+.nf
+# \fBzpool import\fR
+ pool: tank
+ id: 15451357997522795478
+ state: ONLINE
+action: The pool can be imported using its name or numeric identifier.
+config:
+
+ tank ONLINE
+ mirror ONLINE
+ c1t2d0 ONLINE
+ c1t3d0 ONLINE
+
+# \fBzpool import tank\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRUpgrading All ZFS Storage Pools to the Current Version
+.sp
+.LP
+The following command upgrades all ZFS Storage pools to the current version of
+the software.
+
+.sp
+.in +2
+.nf
+# \fBzpool upgrade -a\fR
+This system is currently running ZFS version 2.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRManaging Hot Spares
+.sp
+.LP
+The following command creates a new pool with an available hot spare:
+
+.sp
+.in +2
+.nf
+# \fBzpool create tank mirror c0t0d0 c0t1d0 spare c0t2d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If one of the disks were to fail, the pool would be reduced to the degraded
+state. The failed device can be replaced using the following command:
+
+.sp
+.in +2
+.nf
+# \fBzpool replace tank c0t0d0 c0t3d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Once the data has been resilvered, the spare is automatically removed and is
+made available should another device fails. The hot spare can be permanently
+removed from the pool using the following command:
+
+.sp
+.in +2
+.nf
+# \fBzpool remove tank c0t2d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRCreating a ZFS Pool with Mirrored Separate Intent Logs
+.sp
+.LP
+The following command creates a ZFS storage pool consisting of two, two-way
+mirrors and mirrored log devices:
+
+.sp
+.in +2
+.nf
+# \fBzpool create pool mirror c0d0 c1d0 mirror c2d0 c3d0 log mirror \e
+ c4d0 c5d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRAdding Cache Devices to a ZFS Pool
+.sp
+.LP
+The following command adds two disks for use as cache devices to a ZFS storage
+pool:
+
+.sp
+.in +2
+.nf
+# \fBzpool add pool cache c2d0 c3d0\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Once added, the cache devices gradually fill with content from main memory.
+Depending on the size of your cache devices, it could take over an hour for
+them to fill. Capacity and reads can be monitored using the \fBiostat\fR option
+as follows:
+
+.sp
+.in +2
+.nf
+# \fBzpool iostat -v pool 5\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRRemoving a Mirrored Log Device
+.sp
+.LP
+The following command removes the mirrored log device \fBmirror-2\fR.
+
+.sp
+.LP
+Given this configuration:
+
+.sp
+.in +2
+.nf
+ pool: tank
+ state: ONLINE
+ scrub: none requested
+config:
+
+ NAME STATE READ WRITE CKSUM
+ tank ONLINE 0 0 0
+ mirror-0 ONLINE 0 0 0
+ c6t0d0 ONLINE 0 0 0
+ c6t1d0 ONLINE 0 0 0
+ mirror-1 ONLINE 0 0 0
+ c6t2d0 ONLINE 0 0 0
+ c6t3d0 ONLINE 0 0 0
+ logs
+ mirror-2 ONLINE 0 0 0
+ c4t0d0 ONLINE 0 0 0
+ c4t1d0 ONLINE 0 0 0
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The command to remove the mirrored log \fBmirror-2\fR is:
+
+.sp
+.in +2
+.nf
+# \fBzpool remove tank mirror-2\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt
+Invalid command line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityEvolving
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBzfs\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man1m/zstreamdump.1m b/usr/src/man/man1m/zstreamdump.1m
new file mode 100644
index 0000000000..d8b5e94681
--- /dev/null
+++ b/usr/src/man/man1m/zstreamdump.1m
@@ -0,0 +1,67 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
+.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH zstreamdump 1M "21 Sep 2009" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+zstreamdump \- filter data in zfs send stream
+.SH SYNOPSIS
+.LP
+.nf
+\fBzstreamdump\fR [\fB-C\fR] [\fB-v\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBzstreamdump\fR utility reads from the output of the \fBzfs send\fR
+command, then displays headers and some statistics from that output. See
+\fBzfs\fR(1M).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.sp .6
+.RS 4n
+Suppress the validation of checksums.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Verbose. Dump all headers, not only begin and end headers.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBzfs\fR(1M), \fBattributes\fR(5)