#include <stdio.h>
#include <pthread.h>
#include "../include/util.h"
Go to the source code of this file.
◆ pkrsrv_ref
Data Fields |
int |
count |
|
void * |
obj |
|
pkrsrv_ref_counted_t * |
ref_counted |
|
◆ _GNU_SOURCE
◆ PKRSRV_REF_BY
#define PKRSRV_REF_BY |
( |
| name | ) |
name##_ref |
◆ PKRSRV_REF
#define PKRSRV_REF |
( |
| type, |
|
|
| name ) |
Value: type name; \
#define PKRSRV_REF_BY(name)
Definition ref.h:72
◆ PKRSRV_REF_NEW
#define PKRSRV_REF_NEW |
( |
| path, |
|
|
| expr ) |
Value: path = expr; \
PKRSRV_REF_BY(path) =
pkrsrv_ref_new((
void *) path, &(path->ref_counted));
pkrsrv_ref_t * pkrsrv_ref_new(void *obj, pkrsrv_ref_counted_t *ref_counted)
◆ PKRSRV_REF_ASSIGN
#define PKRSRV_REF_ASSIGN |
( |
| var, |
|
|
| val ) |
Value:
var = val;
void pkrsrv_ref_assign(pkrsrv_ref_t **dst, pkrsrv_ref_t **src)
◆ PKRSRV_REF_SET
#define PKRSRV_REF_SET |
( |
| ref, |
|
|
| obj ) |
◆ PKRSRV_REF_USE
◆ PKRSRV_REF_LEAVE
◆ PKRSRV_REF_ARG
#define PKRSRV_REF_ARG |
( |
| type, |
|
|
| name ) type name, pkrsrv_ref_t* name##_ref |
◆ PKRSRV_REF_PASS
#define PKRSRV_REF_PASS |
( |
| name | ) |
pkrsrv_ref_new((void *) name, &(name->ref_counted)); |
◆ pkrsrv_ref_free_f_t
typedef void(* pkrsrv_ref_free_f_t) (void *) |
◆ pkrsrv_ref_new()
pkrsrv_ref_t * pkrsrv_ref_new |
( |
void * | obj, |
|
|
pkrsrv_ref_counted_t * | ref_counted ) |
◆ pkrsrv_ref_free()
void pkrsrv_ref_free |
( |
pkrsrv_ref_t * | ref | ) |
|
◆ pkrsrv_ref_use()
void pkrsrv_ref_use |
( |
pkrsrv_ref_t * | ref | ) |
|
◆ pkrsrv_ref_leave()
void pkrsrv_ref_leave |
( |
pkrsrv_ref_t ** | ref | ) |
|
◆ pkrsrv_ref_assign()
void pkrsrv_ref_assign |
( |
pkrsrv_ref_t ** | dst, |
|
|
pkrsrv_ref_t ** | src ) |
◆ pkrsrv_ref_set()
void pkrsrv_ref_set |
( |
pkrsrv_ref_t * | ref, |
|
|
void * | obj ) |