On Mon, May 12, 2014 at 4:35 PM, Thierry Thomas <thie...@freebsd.org> wrote: > Hello, > > In the new versions of french/aster, there is this piece of Linux code: > > ----------------------------------------------------------- > static char filename[80]; > static char sbuf[1024]; > char* S; > int fd, num_read; > long lmem; > pid_t numpro; > > pid_t getpid(void); > > numpro = getpid(); > > sprintf(filename, "/proc/%ld/status", (long)numpro); > fd = open(filename, O_RDONLY, 0); > if (fd==-1) return -1; > num_read=read(fd,sbuf,(sizeof sbuf)-1); > close(fd); > > S=strstr(sbuf,"VmData:")+8; > val[0] = (INTEGER)atoi(S); > > S=strstr(sbuf,"VmSize:")+8; > val[1] = (INTEGER)atoi(S); > > if ( strstr(sbuf,"VmPeak:") != NULL ) { > S=strstr(sbuf,"VmPeak:")+8; > val[2] = atoi(S); > } else { > val[2] = -1 ; > } > > S=strstr(sbuf,"VmRSS:")+7; > val[3] = (INTEGER)atoi(S); > > S=strstr(sbuf,"VmStk:")+7; > lmem = atoi(S); > return lmem ; > ----------------------------------------------------------- > > Of course, it does'nt work on FreeBSD, because our status has a > different structure. > > As a quick & dirty work-around, I patched it to replace /proc by > /compat/linux/proc and it works. Unfortunately, this is not a good > solution, because this port is no more packageable (this piece of code > is run at the end of the build). > > It's why I'm looking for help here: does somebody knows how the > corresponding values of these Vm... can be found in FreeBSD? >
You could try reading the source for linprocfs to see how it gets those values: https://svnweb.freebsd.org/base/head/sys/compat/linprocfs/linprocfs.c?revision=263620&view=markup#l748 -- DISCLAIMER: No electrons were maimed while sending this message. Only slightly bruised. _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"