Print this page
7264 Example code is rctlblk_set_value(3c) manpage does not compile.
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Toomas Soome <tsoome@me.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man3c/rctlblk_set_value.3c
          +++ new/usr/src/man/man3c/rctlblk_set_value.3c
   1    1  '\" te
   2    2  .\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved.
   3    3  .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4    4  .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5    5  .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6      -.TH RCTLBLK_SET_VALUE 3C "May 15, 2006"
        6 +.TH RCTLBLK_SET_VALUE 3C "Aug 2, 2016"
   7    7  .SH NAME
   8    8  rctlblk_set_value, rctlblk_get_firing_time, rctlblk_get_global_action,
   9    9  rctlblk_get_global_flags, rctlblk_get_local_action, rctlblk_get_local_flags,
  10   10  rctlblk_get_privilege, rctlblk_get_recipient_pid, rctlblk_get_value,
  11   11  rctlblk_get_enforced_value, rctlblk_set_local_action, rctlblk_set_local_flags,
  12   12  rctlblk_set_privilege, rctlblk_set_recipient_pid, rctlblk_size \- manipulate
  13   13  resource control blocks
  14   14  .SH SYNOPSIS
  15   15  .LP
  16   16  .nf
↓ open down ↓ 67 lines elided ↑ open up ↑
  84   84  .nf
  85   85  \fBvoid\fR  \fBrctlblk_set_recipient_pid\fR(\fBid_t\fR\fIpid\fR);
  86   86  .fi
  87   87  
  88   88  .LP
  89   89  .nf
  90   90  \fBsize_t\fR \fBrctlblk_size\fR(\fBvoid\fR);
  91   91  .fi
  92   92  
  93   93  .SH DESCRIPTION
  94      -.sp
  95   94  .LP
  96   95  The resource control block routines allow the establishment or retrieval of
  97   96  values from a resource control block used to transfer information using the
  98   97  \fBgetrctl\fR(2) and \fBsetrctl\fR(2) functions. Each of the routines accesses
  99   98  or sets the resource control block member corresponding to its name.  Certain
 100   99  of these members are read-only and do not possess set routines.
 101  100  .sp
 102  101  .LP
 103  102  The firing time of a resource control block is 0 if the resource control
 104  103  action-value has not been exceeded for its lifetime on the process.  Otherwise
↓ open down ↓ 242 lines elided ↑ open up ↑
 347  346  \fBrctlblk_get_value()\fR. This capability difference arises with processes
 348  347  using an address space model smaller than the maximum address space model
 349  348  supported by the system.
 350  349  .sp
 351  350  .LP
 352  351  The \fBrctlblk_size()\fR function returns the size of a resource control block
 353  352  for use in memory allocation. The \fBrctlblk_t *\fR type is an opaque pointer
 354  353  whose size is not connected with that of the resource control block itself. Use
 355  354  of \fBrctlblk_size()\fR is illustrated in the example below.
 356  355  .SH RETURN VALUES
 357      -.sp
 358  356  .LP
 359  357  The various set routines have no return values. Incorrectly composed resource
 360  358  control blocks will generate errors when used with \fBsetrctl\fR(2) or
 361  359  \fBgetrctl\fR(2).
 362  360  .SH ERRORS
 363      -.sp
 364  361  .LP
 365  362  No error values are returned. Incorrectly constructed resource control blocks
 366  363  will be rejected by the system calls.
 367  364  .SH EXAMPLES
 368  365  .LP
 369  366  \fBExample 1 \fRDisplay the contents of a fetched resource control block.
 370  367  .sp
 371  368  .LP
 372  369  The following example displays the contents of a fetched resource control
 373  370  block.
 374  371  
 375  372  .sp
 376  373  .in +2
 377  374  .nf
 378  375  #include <rctl.h>
 379  376  #include <stdio.h>
 380  377  #include <stdlib.h>
 381  378  
 382      -rctlblk_t *rblk;
 383      -int rsignal;
 384      -int raction;
      379 +int
      380 +main()
      381 +{
      382 +        rctlblk_t *rblk;
      383 +        int rsignal, raction;
 385  384  
 386      -if ((rblk = malloc(rctlblk_size())) == NULL) {
 387      -       (void) perror("rblk malloc");
 388      -       exit(1);
 389      -}
      385 +        if ((rblk = malloc(rctlblk_size())) == NULL) {
      386 +                (void) perror("rblk malloc");
      387 +                exit(1);
      388 +        }
 390  389  
 391      -if (getrctl("process.max-cpu-time", NULL, rblk, RCTL_FIRST) == -1) {
 392      -       (void) perror("getrctl");
 393      -       exit(1);
 394      -}
      390 +        if (getrctl("process.max-cpu-time", NULL, rblk, RCTL_FIRST) == -1) {
      391 +                (void) perror("getrctl");
      392 +                exit(1);
      393 +        }
 395  394  
 396      -main()
 397      -{
 398      -    raction = rctlblk_get_local_action(rblk, &rsignal),
 399      -    (void) printf("Resource control for %s\en",
 400      -        "process.max-cpu-time");
 401      -    (void) printf("Process ID:     %d\en",
 402      -        rctlblk_get_recipient_pid(rblk));
 403      -    (void) printf("Privilege:      %x\en"
 404      -        rctlblk_get_privilege(rblk));
 405      -    (void) printf("Global flags:   %x\en"
 406      -        rctlblk_get_global_flags(rblk));
 407      -    (void) printf("Global actions: %x\en"
 408      -        rctlblk_get_global_action(rblk));
 409      -    (void) printf("Local flags:    %x\en"
 410      -        rctlblk_get_local_flags(rblk));
 411      -    (void) printf("Local action:   %x (%d)\en"
 412      -        raction, raction == RCTL_LOCAL_SIGNAL ? rsignal : 0);
 413      -    (void) printf("Value:          %llu\en",
 414      -        rctlblk_get_value(rblk));
 415      -    (void) printf("\tEnforced value: %llu\en",
 416      -        rctlblk_get_enforced_value(rblk));
      395 +        raction = rctlblk_get_local_action(rblk, &rsignal),
      396 +        (void) printf("Resource control for %s\en",
      397 +            "process.max-cpu-time");
      398 +        (void) printf("Process ID:     %d\en",
      399 +            (int)rctlblk_get_recipient_pid(rblk));
      400 +        (void) printf("Privilege:      %x\en",
      401 +            rctlblk_get_privilege(rblk));
      402 +        (void) printf("Global flags:   %x\en",
      403 +            rctlblk_get_global_flags(rblk));
      404 +        (void) printf("Global actions: %x\en",
      405 +            rctlblk_get_global_action(rblk));
      406 +        (void) printf("Local flags:    %x\en",
      407 +            rctlblk_get_local_flags(rblk));
      408 +        (void) printf("Local action:   %x (%d)\en",
      409 +            raction, raction == RCTL_LOCAL_SIGNAL ? rsignal : 0);
      410 +        (void) printf("Value:          %llu\en",
      411 +            rctlblk_get_value(rblk));
      412 +        (void) printf("\tEnforced value: %llu\en",
      413 +            rctlblk_get_enforced_value(rblk));
      414 +
      415 +        return (0);
 417  416  }
 418  417  .fi
 419  418  .in -2
 420  419  
 421  420  .SH ATTRIBUTES
 422      -.sp
 423  421  .LP
 424  422  See \fBattributes\fR(5) for descriptions of the following attributes:
 425  423  .sp
 426  424  
 427  425  .sp
 428  426  .TS
 429  427  box;
 430  428  c | c
 431  429  l | l .
 432  430  ATTRIBUTE TYPE  ATTRIBUTE VALUE
 433  431  _
 434  432  Interface Stability     Evolving
 435  433  _
 436  434  MT-Level        MT-Safe
 437  435  .TE
 438  436  
 439  437  .SH SEE ALSO
 440      -.sp
 441  438  .LP
 442  439  \fBrctladm\fR(1M), \fBgetrctl\fR(2), \fBsetrctl\fR(2), \fBgethrtime\fR(3C),
 443  440  \fBattributes\fR(5)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX