File: random.stp

package info (click to toggle)
systemtap 4.8-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 39,000 kB
  • sloc: cpp: 78,785; ansic: 62,419; xml: 49,443; exp: 42,735; sh: 11,254; python: 3,062; perl: 2,252; tcl: 1,305; makefile: 1,072; lisp: 105; awk: 101; asm: 91; java: 56; sed: 16
file content (14 lines) | stat: -rw-r--r-- 432 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * sfunction randint - Return a random number between [0,n)
 * @n: Number past upper limit of range, not larger than 2**20.
 */
function randint:long(n:long) 
%{	/* unprivileged */
#define RANDMAX (1024*1024)
        if ((unsigned long)STAP_ARG_n > RANDMAX)
           CONTEXT->last_error = "range too wide";
        else {
  	   STAP_RETVALUE = (uint64_t) _stp_random_u((unsigned long) STAP_ARG_n);
        }
#undef RANDMAX
%}