shminfo
lev3mapsize += shminfo.shmall;
struct shminfo shminfo = {
infosize = sizeof(shmsi->shminfo);
nds = shminfo.shmmni;
shmsi->shminfo = shminfo;
for (i = 0; i < shminfo.shmmni; i++) {
if (segnum < 0 || segnum >= shminfo.shmmni ||
if (segnum < 0 || segnum >= shminfo.shmmni ||
shminfo.shmseg * sizeof(struct shmmap_state);
shmmap_h->shmseg = shminfo.shmseg;
if (SCARG(uap, size) < shminfo.shmmin ||
SCARG(uap, size) > shminfo.shmmax)
if (shm_nused >= shminfo.shmmni) /* any shmids left? */
if (shm_committed + atop(size) > shminfo.shmall)
for (segnum = 0; segnum < shminfo.shmmni && shmsegs[segnum];
if (segnum == shminfo.shmmni)
if (++shm_last_free >= shminfo.shmmni || shmsegs[shm_last_free])
shmsegs = mallocarray(shminfo.shmmni, sizeof(struct shmid_ds *),
shmseqs = mallocarray(shminfo.shmmni, sizeof(unsigned short),
shminfo.shmmax *= PAGE_SIZE; /* actually in pages */
shminfo.shmmni * sizeof(struct shmid_ds *));
shminfo.shmmni * sizeof(struct shmid_ds *));
shminfo.shmmni * sizeof(unsigned short));
free(shmseqs, M_SHM, shminfo.shmmni * sizeof(unsigned short));
shminfo.shmmni = val;
&shminfo.shmmax, 0, INT_MAX)) || newp == NULL)
if (atop(round_page(shminfo.shmmax)) > shminfo.shmall)
shminfo.shmall = atop(round_page(shminfo.shmmax));
&shminfo.shmmin, 1, INT_MAX));
val = shminfo.shmmni;
if (error || val == shminfo.shmmni)
&shminfo.shmseg, 1, INT_MAX));
&shminfo.shmall, shminfo.shmall, INT_MAX));
extern struct shminfo shminfo;
struct shminfo shminfo;
extern struct shminfo shminfo;
show_shmtotal(struct shminfo *shminfo)
shminfo->shmmax);
shminfo->shmmin);
shminfo->shmmni);
shminfo->shmseg);
shminfo->shmall);
len = sizeof(struct shminfo);
show_shmtotal(&shmsi->shminfo);
for (i = 0; i < shmsi->shminfo.shmmni; i++) {
struct shminfo shminfo;
(kvm_read(kd, symbols[X_SHMINFO].n_value, &shminfo,
sizeof(shminfo)) == sizeof(shminfo))) {
show_shmtotal(&shminfo);
shminfo.shmmni);
sizeof(struct shmid_ds *) * shminfo.shmmni) !=
sizeof(struct shmid_ds *) * shminfo.shmmni)
for (i = 0; i < shminfo.shmmni; i++) {
void show_shmtotal(struct shminfo *);