Files
QNX/services/slogger/struct.h
2025-08-20 19:02:58 +08:00

57 lines
1.6 KiB
C

/*
* $QNXLicenseC:
* Copyright 2007, QNX Software Systems. All Rights Reserved.
*
* You must obtain a written license from and pay applicable license fees to QNX
* Software Systems before you may reproduce, modify or distribute this software,
* or any work that includes all or part of this software. Free development
* licenses are available for evaluation and non-commercial purposes. For more
* information visit http://licensing.qnx.com or email licensing@qnx.com.
*
* This file may contain contributions from others. Please review this entire
* file for other proprietary rights or license notices, as well as the QNX
* Development Suite License Guide at http://licensing.qnx.com/license-guide/
* for other information.
* $
*/
struct waiting {
struct waiting *next;
int rcvid;
int priority;
} ;
struct ocbs {
struct ocbs *next;
IOFUNC_OCB_T *ocb;
} ;
struct slogdev {
iofunc_attr_t attr;
iofunc_notify_t notify[3];
struct ocbs *ocbs;
struct waiting *waiting;
int cnt; // Number of ints starting at get
int *put; // Points into buf for putting data
int *get; // Points into buf for getting data
int *beg; // Pointer to begining of buf
int *end; // Pointer to end of buf + 1
int id; // Contains id of /dev/slog
} ;
// The offset in a ocb is 64 bits. We remap it as follows. The offset
// is on a per open basis. A dup() will share the existing offset for
// the dupped fd.
struct ocbget {
int *get;
} ;
#define OCBGET(ocb) ((struct ocbget *)&ocb->offset)->get
/* __SRCVERSION("struct.h $Rev: 153052 $"); */