mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-27 02:47:31 +09:00
re-introduce old nss im too tired for this
This commit is contained in:
parent
3c46be320d
commit
3a838106b9
2871 changed files with 1374431 additions and 1762417 deletions
|
|
@ -287,6 +287,49 @@ GiveSystemInfo(void)
|
|||
}
|
||||
#endif /* HPUX */
|
||||
|
||||
#if defined(OSF1)
|
||||
#include <sys/types.h>
|
||||
#include <sys/sysinfo.h>
|
||||
#include <sys/systeminfo.h>
|
||||
#include <c_asm.h>
|
||||
|
||||
static void
|
||||
GiveSystemInfo(void)
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
int rv;
|
||||
int off = 0;
|
||||
|
||||
rv = sysinfo(SI_MACHINE, buf, sizeof(buf));
|
||||
if (rv > 0) {
|
||||
RNG_RandomUpdate(buf, rv);
|
||||
}
|
||||
rv = sysinfo(SI_RELEASE, buf, sizeof(buf));
|
||||
if (rv > 0) {
|
||||
RNG_RandomUpdate(buf, rv);
|
||||
}
|
||||
rv = sysinfo(SI_HW_SERIAL, buf, sizeof(buf));
|
||||
if (rv > 0) {
|
||||
RNG_RandomUpdate(buf, rv);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Use the "get the cycle counter" instruction on the alpha.
|
||||
* The low 32 bits completely turn over in less than a minute.
|
||||
* The high 32 bits are some non-counter gunk that changes sometimes.
|
||||
*/
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
unsigned long t;
|
||||
|
||||
t = asm("rpcc %v0");
|
||||
return CopyLowBits(buf, maxbytes, &t, sizeof(t));
|
||||
}
|
||||
|
||||
#endif /* Alpha */
|
||||
|
||||
#if defined(_IBMR2)
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
|
|
@ -543,6 +586,39 @@ GiveSystemInfo(void)
|
|||
}
|
||||
#endif /* sinix */
|
||||
|
||||
#ifdef BEOS
|
||||
#include <be/kernel/OS.h>
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
bigtime_t bigtime; /* Actually a int64 */
|
||||
|
||||
bigtime = real_time_clock_usecs();
|
||||
return CopyLowBits(buf, maxbytes, &bigtime, sizeof(bigtime));
|
||||
}
|
||||
|
||||
static void
|
||||
GiveSystemInfo(void)
|
||||
{
|
||||
system_info *info = NULL;
|
||||
PRInt32 val;
|
||||
get_system_info(info);
|
||||
if (info) {
|
||||
val = info->boot_time;
|
||||
RNG_RandomUpdate(&val, sizeof(val));
|
||||
val = info->used_pages;
|
||||
RNG_RandomUpdate(&val, sizeof(val));
|
||||
val = info->used_ports;
|
||||
RNG_RandomUpdate(&val, sizeof(val));
|
||||
val = info->used_threads;
|
||||
RNG_RandomUpdate(&val, sizeof(val));
|
||||
val = info->used_teams;
|
||||
RNG_RandomUpdate(&val, sizeof(val));
|
||||
}
|
||||
}
|
||||
#endif /* BEOS */
|
||||
|
||||
#if defined(nec_ews)
|
||||
#include <sys/systeminfo.h>
|
||||
|
||||
|
|
@ -616,6 +692,16 @@ RNG_SystemInfoForRNG(void)
|
|||
#else
|
||||
extern char **environ;
|
||||
#endif
|
||||
#ifdef BEOS
|
||||
static const char *const files[] = {
|
||||
"/boot/var/swap",
|
||||
"/boot/var/log/syslog",
|
||||
"/boot/var/tmp",
|
||||
"/boot/home/config/settings",
|
||||
"/boot/home",
|
||||
0
|
||||
};
|
||||
#else
|
||||
static const char *const files[] = {
|
||||
"/etc/passwd",
|
||||
"/etc/utmp",
|
||||
|
|
@ -624,6 +710,7 @@ RNG_SystemInfoForRNG(void)
|
|||
"/usr/tmp",
|
||||
0
|
||||
};
|
||||
#endif
|
||||
|
||||
GiveSystemInfo();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue