1PMDAATTRIBUTE(3)           Library Functions Manual           PMDAATTRIBUTE(3)
2
3
4

NAME

6       pmdaAttribute - informs a PMDA about client connection attributes
7

C SYNOPSIS

9       #include <pcp/pmapi.h>
10       #include <pcp/pmda.h>
11
12       int  pmdaAttribute(int  context,  int  key,  char  *value,  int length,
13       pmdaExt *pmda);
14
15       cc ... -lpcp_pmda -lpcp
16

DESCRIPTION

18       As part of  the  Performance  Metrics  Domain  Agent  (PMDA)  API  (see
19       PMDA(3)),  pmdaAttribute  is  the  generic  callback  for responding to
20       client connection attributes.  These attributes include client  creden‐
21       tial information, such as user ID and group ID.
22
23       A  PMDA  that  supports  connection  attributes  will provide a private
24       pmdaAttribute callback by assignment to  version.six.attribute  of  the
25       pmdaInterface  structure,  and  implement  custom  logic for any of the
26       attribute key-value pairs of interest to it.
27
28       All attributes are associated with a specific client context, and these
29       can  be  uniquely  identified  using  the ctx first argument.  The PMDA
30       should track client connections, and disconnections using  the  pmdaSe‐
31       tEndContextCallBack(3)  interface,  as a result.  The pmdaGetContext(3)
32       interface may be particularly helpful also.
33
34       All attributes are passed as key-value pairs and the  value  is  always
35       passed  as  a  null-terminated  string  of given length.  This includes
36       numeric attributes like the user ID.
37
38       The  most  commonly  used  attributes  would  be  PCP_ATTR_USERID   and
39       PCP_ATTR_GROUPID  but  others  may  also  be optionally passed (such as
40       PCP_ATTR_USERNAME) if they are available.  Some attributes will be con‐
41       sumed by pmcd and never through passed to PMDAs, such as PCP_ATTR_PASS‐
42       WORD.  A complete list of all possible attributes can be found  in  the
43       headers listed above, all are prefixed by PCP_ATTR.
44

DIAGNOSTICS

46       pmdaAttribute  should  return  either  zero  on  success, or a negative
47       return code to indicate an  error  in  handling  the  attribute.   This
48       return  code  cannot  be used to indicate a client should be disallowed
49       access - such functionality must be performed by the agent in  response
50       to  callbacks  for  the client in question (using PM_ERR_PERMISSION for
51       those specific callbacks, for that specific client.   In  other  words,
52       errors  will  be  be passed to PMCD but there is no guarantee made that
53       the error will be return to the client and result in termination of the
54       client, for example.
55

CAVEAT

57       The  PMDA  must  be using PMDA_PROTOCOL_6 or later, as specified in the
58       call to pmdaDSO(3) or pmdaDaemon(3).
59

SEE ALSO

61       PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3), pmdaMain(3) and  pmdaGet‐
62       Context(3).
63
64
65
66Performance Co-Pilot                  PCP                     PMDAATTRIBUTE(3)
Impressum