beautypg.com

Sun Microsystems Netra CP2500 User Manual

Page 69

background image

Chapter 3

User Flash

55

if ((fd0 = open(devname0, O_RDWR)) < 0) {

fprintf(stderr, "couldn’t open device: %s\n", devname0);

exit(1);

}

/* set the default PROM */

prom_id = 0;

fd = fd0;

/* let them know about the help menu */

fprintf(stderr, "Enter or for help on commands\n");

while (1) {

fprintf(stderr, "[%d]command> ", prom_id);

switch(get_cmd()) {

case ’q’:

goto getout;

case ’h’:

case ’?’:

h = 0;

while (*help[h]){

fprintf(stderr, " %s\n", help[h]);

h++;

}

break;

case ’6’: /* erase flash PROM block */

fprintf(stderr,

"Enter PROM block number[0, 56]> ");

scanf ("%d", &uflash_if.blk_num);

fprintf(stderr,

"Enter number of block> ");

scanf ("%d", &uflash_if.num_of_blks);

if (ioctl(fd, UIOCEBLK, &uflash_if) == -1)

goto getout;

break;

case ’5’: /* clear all locks */

if (ioctl(fd, UIOCCLCK, &uflash_if) == -1)

goto getout;

break;

CODE EXAMPLE 3-6

Sample User Flash Application Program (Continued)