SunOS5.8 is a radical departure from SunOs4.X in many ways. one of the important differences is the handling of devices. Adding devices under SunOS4.x required a kernel reconfiguration, recompliation and reboot. Under SunOS5.X, this has changed with the ability to add some drivers on the fly.... (1 Reply)
I know pipelined processors have issues with interupts.... but why? And does the architecture of the CPU affect the kind of software that can run on it?
If someone could help me out that would be awsome. My boss came to me with this question and I can't find anything on the web helping me out.... (1 Reply)
I am curious about one thing.
Lets say I have a file file-a to which new generations are created on demand by simply archiving it (ex: file-a.tar.gz) and having the new one created with the same original filename file-a.
Now what I want to know is if I create a hard/soft link to file-a, what... (1 Reply)
Good day,
I have an rs/6000 server, model 7044-270. I bought a 2nd hard drive for it but im not sure its the right one. (fru:H13060) As you surely know, the 7044-270 hard drives are put in some sort of tray/carrier. There is a cable that will interface the HDD with the tray/carrier so the... (0 Replies)
Hello guys..
well, im kinda newbie with unix because i started to learn it like 2 weeks ago.
then i started to make some exercises, but i got stucked on this one :
so, i need to know how many different 'names' has the 5th field and how many times each name appears.
i was trying with a... (6 Replies)
I am trying to exit this script by cd'ing into a particular directory.
#!/bin/bash
/opt/xxx/xxx/d2h $1
fname=$( /opt/xxx/xxx/d2h $1)
cd /opt/xxx1/xxx1
find . -name '*'$fname'*' -ls
cd /opt/xxx1/xxx1
Upon execution, it returns to my home directory (where I am running this script from.
... (3 Replies)
I have a directory containing a series of files of the format:
A2008001231000.L2
I only care about the 6-8 digits, so the files are effectively:
?????---*.L2
I have files that range from ?????001*.L2 to ?????366*.L2
It should be noted these three digits represent the julian day of the... (2 Replies)
I used to program ksh a while back, but I've been off in Oracle/Windows land (for clients -- not by choice) for so long that I can't remember what should be an easy thing. Here's the scenario:
1)Find all files and directories beneath some directory point (A).
2)If directory, make the... (7 Replies)
dear coders,
i need some inspiration again...
there is something what i always wanted to know... how to code following:
value 1: __________
value 2: __________
important: when my "script" starts the display has to be cleared and two lines are shown (see above), the cursor has to be... (2 Replies)
you are to write a program which will read in a tax rate (as a percentage) and the prices of 5 items. the program is to calculate the total price, before tax, of the items and then the tax payable on those items, and then the total amount due. the tax payable is computed by appliying the tax rate... (1 Reply)
Discussion started by: bunkercrazy
1 Replies
LEARN ABOUT DEBIAN
librrd
librrd(3) rrdtool librrd(3)NAME
librrd - RRD library functions
DESCRIPTION
librrd contains most of the functionality in RRDTool. The command line utilities and language bindings are often just wrappers around the
code contained in librrd.
This manual page documents the librrd API.
NOTE: This document is a work in progress, and should be considered incomplete as long as this warning persists. For more information
about the librrd functions, always consult the source code.
CORE FUNCTIONS
rrd_dump_cb_r(char *filename, int opt_header, rrd_output_callback_t cb, void *user)
In some situations it is necessary to get the output of "rrd_dump" without writing it to a file or the standard output. In such cases
an application can ask rrd_dump_cb_r to call an user-defined function each time there is output to be stored somewhere. This can be
used, to e.g. directly feed an XML parser with the dumped output or transfer the resulting string in memory.
The arguments for rrd_dump_cb_r are the same as for rrd_dump_opt_r except that the output filename parameter is replaced by the user-
defined callback function and an additional parameter for the callback function that is passed untouched, i.e. to store information
about the callback state needed for the user-defined callback to function properly.
Recent versions of rrd_dump_opt_r internally use this callback mechanism to write their output to the file provided by the user.
size_t rrd_dump_opt_cb_fileout(
const void *data,
size_t len,
void *user)
{
return fwrite(data, 1, len, (FILE *)user);
}
The associated call for rrd_dump_cb_r looks like
res = rrd_dump_cb_r(filename, opt_header,
rrd_dump_opt_cb_fileout, (void *)out_file);
where the last parameter specifies the file handle rrd_dump_opt_cb_fileout should write to. There's no specific condition for the
callback to detect when it is called for the first time, nor for the last time. If you require this for initialization and cleanup you
should do those tasks before and after calling rrd_dump_cr_r respectively.
UTILITY FUNCTIONS
rrd_random()
Generates random numbers just like random(). This further ensures that the random number generator is seeded exactly once per process.
rrd_add_ptr(void ***dest, size_t *dest_size, void *src)
Dynamically resize the array pointed to by "dest". "dest_size" is a pointer to the current size of "dest". Upon successful realloc(),
the "dest_size" is incremented by 1 and the "src" pointer is stored at the end of the new "dest". Returns 1 on success, 0 on failure.
type **arr = NULL;
type *elem = "whatever";
size_t arr_size = 0;
if (!rrd_add_ptr(&arr, &arr_size, elem))
handle_failure();
rrd_add_strdup(char ***dest, size_t *dest_size, char *src)
Like "rrd_add_ptr", except adds a "strdup" of the source string.
char **arr = NULL;
size_t arr_size = NULL;
char *str = "example text";
if (!rrd_add_strdup(&arr, &arr_size, str))
handle_failure();
rrd_free_ptrs(void ***src, size_t *cnt)
Free an array of pointers allocated by "rrd_add_ptr" or "rrd_add_strdup". Also frees the array pointer itself. On return, the source
pointer will be NULL and the count will be zero.
/* created as above */
rrd_free_ptrs(&arr, &arr_size);
/* here, arr == NULL && arr_size == 0 */
rrd_mkdir_p(const char *pathname, mode_t mode)
Create the directory named "pathname" including all of its parent directories (similar to "mkdir -p" on the command line - see mkdir(1)
for more information). The argument "mode" specifies the permissions to use. It is modified by the process's "umask". See mkdir(2) for
more details.
The function returns 0 on success, a negative value else. In case of an error, "errno" is set accordingly. Aside from the errors
documented in mkdir(2), the function may fail with the following errors:
EINVAL
"pathname" is "NULL" or the empty string.
ENOMEM
Insufficient memory was available.
any error returned by stat(2)
In contrast to mkdir(2), the function does not fail if "pathname" already exists and is a directory.
AUTHOR
RRD Contributors <rrd-developers@lists.oetiker.ch>
1.4.7 2009-11-15 librrd(3)