00001
00010 #ifndef _LIBRTAS_H_
00011 #define _LIBRTAS_H_
00012
00013 #include <stdint.h>
00014
00015 #define RTAS_KERNEL_INT -1001
00016 #define RTAS_KERNEL_IMP -1002
00017 #define RTAS_PERM -1003
00018 #define RTAS_NO_MEM -1004
00019 #define RTAS_NO_LOWMEM -1005
00020 #define RTAS_FREE_ERR -1006
00021 #define RTAS_TIMEOUT -1007
00022 #define RTAS_IO_ASSERT -1098
00023 #define RTAS_UNKNOWN_OP -1099
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041 extern int rtas_activate_firmware();
00042 extern int rtas_cfg_connector(char *workarea);
00043 extern int rtas_delay_timeout(uint64_t timeout_ms);
00044 extern int rtas_display_char(char c);
00045 extern int rtas_display_msg(char *buf);
00046 extern int rtas_errinjct(int etoken, int otoken, char *workarea);
00047 extern int rtas_errinjct_close(int otoken);
00048 extern int rtas_errinjct_open(int *otoken);
00049 extern int rtas_free_rmo_buffer(void *buf, uint32_t phys_addr, size_t size);
00050 extern int rtas_get_config_addr_info2(uint32_t cfg_addr, uint64_t phb_id, uint32_t func, uint32_t *info);
00051 extern int rtas_get_dynamic_sensor(int sensor, void *loc_code, int *state);
00052 extern int rtas_get_indices(int is_sensor, int type, char *workarea,
00053 size_t size, int start, int *next);
00054 extern int rtas_get_power_level(int powerdomain, int *level);
00055 extern int rtas_get_rmo_buffer(size_t size, void **buf, uint32_t *phys_addr);
00056 extern int rtas_get_sensor(int sensor, int index, int *state);
00057 extern int rtas_get_sysparm(unsigned int parameter, unsigned int length,
00058 char *data);
00059 extern int rtas_get_time(uint32_t *year, uint32_t *month, uint32_t *day,
00060 uint32_t *hour, uint32_t *min, uint32_t *sec,
00061 uint32_t *nsec);
00062 extern int rtas_get_vpd(char *loc_code, char *workarea, size_t size,
00063 unsigned int sequence, unsigned int *seq_next,
00064 unsigned int *bytes_ret);
00065 extern int rtas_lpar_perftools(int subfunc, char *workarea,
00066 unsigned int length, unsigned int sequence,
00067 unsigned int *seq_next);
00068 extern int rtas_platform_dump(uint64_t dump_tag, uint64_t sequence,
00069 void *buffer, size_t length,
00070 uint64_t *next_seq, uint64_t *bytes_ret);
00071 extern int rtas_read_slot_reset(uint32_t cfg_addr, uint64_t phbid, int *state,
00072 int *eeh);
00073 extern int rtas_scan_log_dump(void *buffer, size_t length);
00074 extern int rtas_set_debug(int level);
00075 extern int rtas_set_dynamic_indicator(int indicator, int new_value,
00076 void *loc_code);
00077 extern int rtas_set_eeh_option(uint32_t cfg_addr, uint64_t phbid,
00078 int function);
00079 extern int rtas_set_indicator(int indicator, int index, int new_value);
00080 extern int rtas_set_power_level(int powerdomain, int level, int *setlevel);
00081 extern int rtas_set_poweron_time(uint32_t year, uint32_t month, uint32_t day,
00082 uint32_t hour, uint32_t min, uint32_t sec,
00083 uint32_t nsec);
00084 extern int rtas_set_sysparm(unsigned int parameter, char *data);
00085 extern int rtas_set_time(uint32_t year, uint32_t month, uint32_t day,
00086 uint32_t hour, uint32_t min, uint32_t sec,
00087 uint32_t nsec);
00088 extern int rtas_suspend_me(uint64_t streamid);
00089 extern int rtas_update_nodes(char *workarea, unsigned int scope);
00090 extern int rtas_update_properties(char *workarea, unsigned int scope);
00091
00092 #ifdef __cplusplus
00093 }
00094 #endif
00095
00096 #endif