December 28, 2000 UTRACE 2

### NAME

utrace - insert user record in ktrace log

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```int` utrace(```const char *label``, void *addr``, size_t len`)

### DESCRIPTION

Adds a record to the process trace with information supplied by user. The record is identified by ```label` and contains ```len` bytes from memory pointed to by ```addr`. This call only has an effect if the calling process is being traced.

### RETURN VALUES

Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.

### ERRORS

[```ENOSYS`]
  Currently running kernel was compiled without ktrace(2) support (option KTRACE).

[```EINVAL`]
  Specified data length ```len` was bigger than ```KTR_USER_MAXLEN`.

### SEE ALSO

kdump(1), ktrace(1), ktruss(1), fktrace(2), ktrace(2), options(4)

### HISTORY

The utrace(``) system call first appeared in FreeBSD2.2. It was added to NetBSD in NetBSD1.6. The ```label` argument is a NetBSD extension.