diff options
Diffstat (limited to 'perl-install/c/stuff.xs.pm')
-rw-r--r-- | perl-install/c/stuff.xs.pm | 53 |
1 files changed, 46 insertions, 7 deletions
diff --git a/perl-install/c/stuff.xs.pm b/perl-install/c/stuff.xs.pm index 034996d21..3967392fb 100644 --- a/perl-install/c/stuff.xs.pm +++ b/perl-install/c/stuff.xs.pm @@ -326,12 +326,12 @@ prom_getchild(node) int node void -prom_getproperty(key) +prom_getopt(key) char *key PPCODE: int lenp = 0; char *value = NULL; - value = prom_getproperty(key, &lenp); + value = prom_getopt(key, &lenp); EXTEND(sp, 1); if (value != NULL) { PUSHs(sv_2mortal(newSVpv(value, 0))); @@ -339,23 +339,62 @@ prom_getproperty(key) PUSHs(&PL_sv_undef); } -int -prom_getbool(key) +void +prom_setopt(key, value) + char *key + char *value + +void +prom_getproperty(key) char *key + PPCODE: + int lenp = 0; + char *value = NULL; + value = prom_getproperty(key, &lenp); + EXTEND(sp, 1); + if (value != NULL) { + PUSHs(sv_2mortal(newSVpv(value, lenp))); + } else { + PUSHs(&PL_sv_undef); + } void -prom_getint(key) +prom_getstring(key) char *key PPCODE: int lenp = 0; char *value = NULL; value = prom_getproperty(key, &lenp); EXTEND(sp, 1); - if (value != NULL && lenp == sizeof(int)) { - PUSHs(sv_2mortal(newSViv(*(int *)value))); + if (value != NULL) { + PUSHs(sv_2mortal(newSVpv(value, 0))); } else { PUSHs(&PL_sv_undef); } + +int +prom_getbool(key) + char *key + + + +void +initSilo() + +char * +disk2PromPath(disk) + unsigned char *disk + +int +hasAliases() + +char * +promRootName() + +void +setPromVars(linuxAlias, bootDevice) + char *linuxAlias + char *bootDevice '; $ENV{C_RPM} and print ' |