Sun Microsystems CP2500 manual Code Example 1-1System Watchdog Node Management Code Example

Page 30

CODE EXAMPLE 1-1System Watchdog Node Management Code Example (Continued)

ptr = strchr(wd_name, ’:’);

if (ptr == NULL) { /* invalid format */

(void) fprintf(stderr, "%s:Node not found:%d\n", prog, picl2errno(PICL_NODENOTFOUND));

return (PICL_NODENOTFOUND);

}

wd_arg.name = wd_name; wd_arg.action = action; wd_arg.error_code = 0; if (timeout) {

errno = 0;

wd_arg.timeout = strtol(timeout, NULL, 10); if (errno != 0) {

(void) fprintf(stderr, "%s:Illegal timeout value\n", prog);

return (PICL_INVALIDARG);

}

} else {

wd_arg.timeout = ILLEGAL_TIMEOUT; /* need not program timeout */

}

err = picl_walk_tree_by_class(rooth, PICL_WATCHDOG_CONTROLLER, (void *)&wd_arg, wd_set_params);

return (err);

}

/*

*This is the callback function that gets called due to

*picl_walk_tree_by_class function call from control_wd function.

*This function is used to arm/disarm the watchdog controller.

*/

static int

wd_change_state(picl_nodehdl_t nodeh, void *arg)

{

int err = PICL_SUCCESS;

char cntrl_name[PICL_PROPNAMELEN_MAX];

wdadm_args_t *wd_arg = NULL;

wd_arg = (wdadm_args_t *)arg;

if (wd_arg == NULL wd_arg->name == NULL) return (PICL_WALK_TERMINATE);

err = picl_get_propval_by_name(nodeh, PICL_PROP_NAME, (void *)cntrl_name, PICL_PROPNAMELEN_MAX);

if (err != PICL_SUCCESS) {

16 Netra CP2500 Board Programming Guide • March 2007

Image 30
Contents Netra CP2500 Board Programming Guide Page Contents User Flash Figures Vi Netra CP2500 Board Programming Guide March Tables Viii Netra CP2500 Board Programming Guide March Code Samples Netra CP2500 Board Programming Guide March Preface How This Book Is OrganizedUsing Unix Commands Typographic ConventionsShell Prompts Related DocumentationDocumentation, Support, and Training Third-Party Web SitesSun Welcomes Your Comments Watchdog Timer OverviewPicl Plug-In Module 1Watchdog Plug-In Interfaces for Netra CP2500 Board Software 2Properties Under watchdog-controllerNode3Properties Under watchdog-timerNode HEALTHY#Watchdog Node Management Code Code Example 1-1System Watchdog Node Management Code ExampleCode Example 1-1System Watchdog Node Management Code Example Usagestr Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Null Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Notreached Code Example 1-1System Watchdog Node Management Code Example OpenBoot Prom Interface Netra CP2500 Board Programming Guide March Environmental Monitoring Environmental Monitoring Component Compatibility Typical Environmental Monitoring System Application1Compatible Environmental Monitoring Components I2C Typical Cycle From Power Up to Shutdown Environmental Monitoring Protection at the OpenBoot PromPost Shutdown Recovery Hardware Environmental Monitoring Functions 3I2C ComponentsEnvironmental Monitoring CPU Switching Power On and Off Inlet, Exhaust, and CPU Temperature MonitoringNetra CP2500 Board Programming Guide March OpenBoot Prom Environmental Monitoring Critical Temperature Response at OpenBoot PromUsing the show-sensorsCommand at OpenBoot Prom Environmental Monitoring Application ProgrammingReading Temperature Sensor States Using 4PICL Temperature Sensor Class Node PropertiesUsing a Configuration File for Sensor Information Solaris Driver InterfaceSample Application Program Code Example 2-1Sample envmond Application ProgramCode Example 2-1Sample envmond Application Program Code Example 2-1Sample envmond Application Program Code Example 2-1Sample envmond Application Program Reading the CPU Temperature Environmental Limits Prtdiag command example5Description of Values Displayed by Solaris Commands User Flash User Flash Usage and ImplementationOpenBoot Prom Device Tree and Properties User Flash Driver1User Flash Node Properties Interface Header File Application Programming InterfaceUser Flash Device Files 2System CallsStructures to Use in Ioctl Arguments Code Example 3-1PROM Information StructureErrors Example ProgramsCode Example 3-2User Flash Interface Structure Read Example Program Code Example 3-3Read Action on User Flash DeviceWrite Example Program Code Example 3-4Write Action on User Flash DeviceCode Example 3-4Write Action on User Flash Device Block Erase Example Program Code Example 3-5Block Erase Action on User Flash DeviceCode Example 3-5Block Erase Action on User Flash Device Sample User Flash Application Program Code Example 3-6Sample User Flash Application ProgramCode Example 3-6Sample User Flash Application Program Code Example 3-6Sample User Flash Application Program Code Example 3-6Sample User Flash Application Program Code Example 3-6Sample User Flash Application Program Code Example 3-6Sample User Flash Application Program Index PiclWatchdog-controller, 3 Watchdog-timer, 3