CTASSERT(9) BSD Kernel Developer's Manual CTASSERT(9)NAME
CTASSERT -- compile time assertion macro
SYNOPSIS
void
CTASSERT(expression);
DESCRIPTION
The CTASSERT() macro evaluates expression at compile time and causes a compiler error if it is false.
The CTASSERT() macro is useful for asserting the size or alignment of important data structures and variables during compilation, which would
otherwise cause the code to fail at run time.
IMPLEMENTATION NOTES
The CTASSERT() macro should not be used in a header file. It is implemented using a dummy typedef, with a name (based on line number) that
may conflict with a CTASSERT() in a source file including that header.
EXAMPLES
Assert that the size of the uuid structure is 16 bytes.
CTASSERT(sizeof(struct uuid) == 16);
SEE ALSO KASSERT(9)AUTHORS
This manual page was written by Hiten M. Pandya <hmp@FreeBSD.org>.
BSD January 24, 2010 BSD
Check Out this Related Man Page
KASSERT(9) BSD Kernel Developer's Manual KASSERT(9)NAME
KASSERT, KASSERTMSG, KDASSERT, KDASSERTMSG -- kernel expression verification macros
SYNOPSIS
void
KASSERT(expression);
void
KASSERTMSG(expression, format, ...);
void
KDASSERT(expression);
void
KDASSERTMSG(expression, format, ...);
DESCRIPTION
These machine independent assertion-checking macros cause a kernel panic(9) if the given expression evaluates to false. Two compile-time
options(4) define the behavior of the checks.
1. The KASSERT() and KASSERTMSG() tests are included only in kernels compiled with the DIAGNOSTIC configuration option. In a kernel that
does not have this configuration option, the macros are defined to be no-ops.
2. The KDASSERT() and KDASSERTMSG() tests are included only in kernels compiled with the DEBUG configuration option. The KDASSERT() and
KASSERT() macros are identical except for the controlling option (DEBUG vs DIAGNOSTIC). Basically, KASSERT() should be used for
light-weight checks and KDASSERT() should be used for heavier ones.
Callers should not rely on the side effects of expression because, depending on the kernel compile options mentioned above, expression might
not be evaluated at all.
The panic message will display the style of assertion (debugging vs. diagnostic), the expression that failed and the filename, and line num-
ber the failure happened on. The KASSERTMSG() and KDASSERTMSG() macros append to the panic(9) format string the message specified by format
and its subsequent arguments, similar to printf(9) functions.
SEE ALSO config(1), options(4), CTASSERT(9), panic(9), printf(9)AUTHORS
These macros were written by Chris G. Demetriou <cgd@netbsd.org>.
BSD September 27, 2011 BSD
Introduction
I have seen some misinformation regarding Unix file permissions. I will try to set the record straight. Take a look at this example of some output from ls:
$ ls -ld /usr/bin /usr/bin/cat
drwxrwxr-x 3 root bin 8704 Sep 23 2004 /usr/bin
-r-xr-xr-x 1 bin bin ... (6 Replies)
I have a file which looks roughly like this:
996 mmmmmmm
996 xxxxxxxxxxxxx
99600 ssssssssss
9964 fffffffffffff
and would like to sort it numerically on the first field. I tried:
sort -nr --key=1 ....
The output I get is:
99600 ssssssssss
9964 ... (3 Replies)
Suppose I have a main() function with only one malloc statement allocating say some 1 gb memory. Also say my system has 1 gb of ram.
main()
{
malloc(1gb)
return(0)
}
The program above exits without freeing the memory.
In this case will the 1 gb of heap memory be returned... (9 Replies)
I'm trying to install a PGX32 video card on my Sparc 10 Ultra running Solaris 10.
I've got the Oracle installation guide for it and I got as far as:
"4. Insert the CD-ROM labeled “GFX OpenWindows for Solaris 2” into the drive."
I don't have a CD-ROM by that name and a web search for that... (21 Replies)
Hey All,
Quick question...
I'm writing a short script to check if a continuous port is running on a server.
I'm using "ps -ef | grep -v grep | grep processName" and I was wondering if it was better/more reliable to just check the
return code from the command or if its better to pipe to... (12 Replies)
I installed NetBSD 6.1.2 amd64 and can't find the apm utility. Is it not in the base system?
Is it necessary to recompile the default amd64 kernel to use apm?
Or is there a new method for power management and suspend/resume? (2 Replies)
Hi,
I am learning shell scripting for the first time. I use AT&T Korn Shell, Version AJM 93u+ 2012-08-01, compiled from source on NetBSD.
So far I have managed to set up what I think is a useful and pleasing shell prompt, which can be seen in the image attached to this post.
The prompt is... (2 Replies)
Hey gang, I have a list of times I need to sum up. This list can vary from a few to a few thousand entries. Now I had found a closed reference to adding time titled "add up time with xx:yy format in bash how?" In it, the example works great for that formatted list of times... This is the reply code... (5 Replies)
Usually when I on the evening go to bed I take some interesting book with me. I read it for a while to get me down to sleep. Probably most people seek information from the Nett by googleing but I am so oldfashioned I prefer a real book ;)
But what a book. The one I found and ordered is BSD Unix®... (0 Replies)
On the late 1960s I got short hands on experience with a russian "small" computer. It vas a copy of DEC's VAX ... and running some version of BSD-Unix. After that I worked in a university following the development of computing. After retire I started collecting old pc's and installing... (13 Replies)