# 2.11BSD#431 - /usr/src/sys/pdpstand/displaylab.c

##### Functions

    displaylabel      X

##### Macros

    DKTYPENAMES       X

       1: /*
       2:  * 1995/06/08 - Borrowed from disklabel.c
       3:  *
       4:  * Many of the unused or invariant fields are omitted from the display.  This
       5:  * has the benefit of having everything fit on one screen - important since
       6:  * the standalone console driver does not do xon/xoff.
       7:  *
       8:  *  The partition display is jagged because the minimal printf() function
       9:  * does not do field padding or justification.
      10: */
      11:
      12: #define DKTYPENAMES
      13: #include <sys/param.h>
      14: #include "saio.h"
      15:
      16: displaylabel(lp)
      17:     register struct disklabel *lp;
      18:     {
      19:     register int i;
      20:     register struct partition *pp;
      21:     char    junk[32];
      22:
      23:     putchar('\n');
      24:     if  (lp->d_type < DKMAXTYPES)
      25:         printf("type: %s\n", dktypenames[lp->d_type]);
      26:     else
      27:         printf("type: %d\n", lp->d_type);
      28:     strncpy(junk, lp->d_typename, sizeof (lp->d_typename));
      29:     junk[sizeof(lp->d_typename)] = '\0';
      30:     printf("disk: %s\n", junk);
      31:
      32:     strncpy(junk, lp->d_packname, sizeof (lp->d_packname));
      33:     junk[sizeof(lp->d_packname)] = '\0';
      34:     printf("label: %s\n", junk);
      35:
      36:     printf("flags:");
      37:     if  (lp->d_flags & D_REMOVABLE)
      38:         printf(" removeable");
      39:     if  (lp->d_flags & D_ECC)
      40:         printf(" ecc");
      41:     if  (lp->d_flags & D_BADSECT)
      42:         printf(" badsect");
      43:     printf("\n");
      44:     printf("bytes/sector: %d\n", lp->d_secsize);
      45:     printf("sectors/track: %d\n", lp->d_nsectors);
      46:     printf("tracks/cylinder: %d\n", lp->d_ntracks);
      47:     printf("sectors/cylinder: %d\n", lp->d_secpercyl);
      48:     printf("cylinders: %d\n", lp->d_ncylinders);
      49:     printf("rpm: %d\n", lp->d_rpm);
      50:     printf("drivedata: ");
      51:     for (i = 0; i < NDDATA; i++)
      52:         printf("%D ", lp->d_drivedata[i]);
      53:     printf("\n\n%d partitions:\n", lp->d_npartitions);
      54:     printf("#        size   offset    fstype   [fsize bsize]\n");
      55:     pp = lp->d_partitions;
      56:     for (i = 0; i < lp->d_npartitions; i++, pp++)
      57:         {
      58:         if  (pp->p_size == 0)
      59:             continue;
      60:         printf("  %c: %D %D  ", 'a' + i,
      61:             pp->p_size, pp->p_offset);
      62:         if  ((unsigned) pp->p_fstype < FSMAXTYPES)
      63:             printf("%s", fstypenames[pp->p_fstype]);
      64:         else
      65:             printf("%d", pp->p_fstype);
      66:         switch  (pp->p_fstype)
      67:             {
      68:             case FS_V71K:
      69:             case FS_UNUSED:
      70:                 printf("    %d %d ", pp->p_fsize,
      71:                     pp->p_fsize * pp->p_frag);
      72:                 break;
      73:             default:
      74:                 printf("               ");
      75:                 break;
      76:             }
      77:         printf("\t# (Cyl. %D", pp->p_offset / lp->d_secpercyl);
      78:         if  (pp->p_offset % lp->d_secpercyl)
      79:             putchar('*');
      80:         else
      81:             putchar(' ');
      82:         printf("- %D",
      83:             (pp->p_offset +
      84:             pp->p_size + lp->d_secpercyl - 1) /
      85:             lp->d_secpercyl - 1);
      86:         if  (pp->p_size % lp->d_secpercyl)
      87:             putchar('*');
      88:         printf(")\n");
      89:         }
      90:     putchar('\n');
      91:     }

#### Defined functions

displaylabel defined in line 16; used 7 times

- in /usr/src/sys/pdpstand/disklabel.c line 117, 150, 183, 230, 313, 347, 404

#### Defined macros

DKTYPENAMES defined in line 12; never used

Last modified: 1995-06-09 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1163 |