diff options
| author | Roland McGrath | 1995-05-10 15:03:48 +0000 |
|---|---|---|
| committer | Roland McGrath | 1995-05-10 15:03:48 +0000 |
| commit | bc77c95cdea2e5acd105613cb30fdff901f8a160 (patch) | |
| tree | ed750194f4fa61c2adb8b1b94bd13330db536082 /src/getloadavg.c | |
| parent | e9e7f5f226df28ed883dc96324094437ea04563e (diff) | |
| download | emacs-bc77c95cdea2e5acd105613cb30fdff901f8a160.tar.gz emacs-bc77c95cdea2e5acd105613cb30fdff901f8a160.zip | |
AIX support from Tim Bell <tbel@afsmail.cern.ch>:
[_AIX] (LOAD_AVE_TYPE, FSCALE, NLIST_STRUCT): Define these for AIX.
(getloadavg) [_AIX]: Use `knlist' instead of `nlist'.
Diffstat (limited to 'src/getloadavg.c')
| -rw-r--r-- | src/getloadavg.c | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/src/getloadavg.c b/src/getloadavg.c index f03e22e008b..3d805ab52f0 100644 --- a/src/getloadavg.c +++ b/src/getloadavg.c | |||
| @@ -210,6 +210,10 @@ extern int errno; | |||
| 210 | #define LOAD_AVE_TYPE long | 210 | #define LOAD_AVE_TYPE long |
| 211 | #endif | 211 | #endif |
| 212 | 212 | ||
| 213 | #ifdef _AIX | ||
| 214 | #define LOAD_AVE_TYPE long | ||
| 215 | #endif | ||
| 216 | |||
| 213 | #endif /* No LOAD_AVE_TYPE. */ | 217 | #endif /* No LOAD_AVE_TYPE. */ |
| 214 | 218 | ||
| 215 | #ifdef OSF_ALPHA | 219 | #ifdef OSF_ALPHA |
| @@ -254,6 +258,10 @@ extern int errno; | |||
| 254 | #define FSCALE 100.0 | 258 | #define FSCALE 100.0 |
| 255 | #endif | 259 | #endif |
| 256 | 260 | ||
| 261 | #ifdef _AIX | ||
| 262 | #define FSCALE 65536.0 | ||
| 263 | #endif | ||
| 264 | |||
| 257 | #endif /* Not FSCALE. */ | 265 | #endif /* Not FSCALE. */ |
| 258 | 266 | ||
| 259 | #if !defined (LDAV_CVT) && defined (FSCALE) | 267 | #if !defined (LDAV_CVT) && defined (FSCALE) |
| @@ -315,6 +323,10 @@ extern int errno; | |||
| 315 | #define NLIST_STRUCT | 323 | #define NLIST_STRUCT |
| 316 | #endif | 324 | #endif |
| 317 | 325 | ||
| 326 | #ifdef _AIX | ||
| 327 | #define NLIST_STRUCT | ||
| 328 | #endif | ||
| 329 | |||
| 318 | #endif /* defined (NLIST_STRUCT) */ | 330 | #endif /* defined (NLIST_STRUCT) */ |
| 319 | 331 | ||
| 320 | 332 | ||
| @@ -340,7 +352,7 @@ extern int errno; | |||
| 340 | #define LDAV_SYMBOL "_Loadavg" | 352 | #define LDAV_SYMBOL "_Loadavg" |
| 341 | #endif | 353 | #endif |
| 342 | 354 | ||
| 343 | #if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan))) | 355 | #if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan)) || defined (_AIX)) |
| 344 | #define LDAV_SYMBOL "avenrun" | 356 | #define LDAV_SYMBOL "avenrun" |
| 345 | #endif | 357 | #endif |
| 346 | 358 | ||
| @@ -790,23 +802,29 @@ getloadavg (loadavg, nelem) | |||
| 790 | #endif /* NLIST_STRUCT */ | 802 | #endif /* NLIST_STRUCT */ |
| 791 | 803 | ||
| 792 | #ifndef SUNOS_5 | 804 | #ifndef SUNOS_5 |
| 793 | if (nlist (KERNEL_FILE, nl) >= 0) | 805 | if ( |
| 794 | /* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i. */ | 806 | #ifndef _AIX |
| 795 | { | 807 | nlist (KERNEL_FILE, nl) |
| 808 | #else /* _AIX */ | ||
| 809 | knlist (nl, 1, sizeof (nl[0])) | ||
| 810 | #endif | ||
| 811 | >= 0) | ||
| 812 | /* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i. */ | ||
| 813 | { | ||
| 796 | #ifdef FIXUP_KERNEL_SYMBOL_ADDR | 814 | #ifdef FIXUP_KERNEL_SYMBOL_ADDR |
| 797 | FIXUP_KERNEL_SYMBOL_ADDR (nl); | 815 | FIXUP_KERNEL_SYMBOL_ADDR (nl); |
| 798 | #endif | 816 | #endif |
| 799 | offset = nl[0].n_value; | 817 | offset = nl[0].n_value; |
| 800 | } | 818 | } |
| 801 | #endif /* !SUNOS_5 */ | 819 | #endif /* !SUNOS_5 */ |
| 802 | #else /* sgi */ | 820 | #else /* sgi */ |
| 803 | int ldav_off; | 821 | int ldav_off; |
| 804 | 822 | ||
| 805 | ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN); | 823 | ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN); |
| 806 | if (ldav_off != -1) | 824 | if (ldav_off != -1) |
| 807 | offset = (long) ldav_off & 0x7fffffff; | 825 | offset = (long) ldav_off & 0x7fffffff; |
| 808 | #endif /* sgi */ | 826 | #endif /* sgi */ |
| 809 | } | 827 | } |
| 810 | 828 | ||
| 811 | /* Make sure we have /dev/kmem open. */ | 829 | /* Make sure we have /dev/kmem open. */ |
| 812 | if (!getloadavg_initialized) | 830 | if (!getloadavg_initialized) |