ggGetUserDir(3) GGI ggGetUserDir(3)NAME
ggGetUserDir - Get user home directory
SYNOPSIS
#include <ggi/gg.h>
const char * ggGetUserDir(void);
DESCRIPTION
ggGetUserDir returns a path to the home directory of the user executing an application, whatever it may be on a given system. For example,
on unix systems it will be the contents of the HOME environment variable. If no user home exists, a suitable temporary directory is found.
ggGetUserDir is threadsafe, but is not guaranteed to be safe to use in a thread that may be cancelled during its execution. It is also not
guaranteed to be safe to use in special contexts such as LibGG task handlers, signal handlers and asyncronous procedure calls.
RETURN VALUE
ggGetUserDir returns a NULL-terminated string holding the path the the current user home directory. This string may be a reference to mem-
ory belonging to OS facilities, and *must not* be freed or altered.
libgg-1.0.x 2005-08-26 ggGetUserDir(3)
Check Out this Related Man Page
ggCurTime(3) GGI ggCurTime(3)NAME
ggCurTime, ggUSleep, ggUSlumber - Portable Time Routines
SYNOPSIS
#include <ggi/gg.h>
int ggCurTime(struct timeval *tv);
int ggUSleep(int32_t usecs);
void ggUSlumber(int32_t usecs);
DESCRIPTION
ggCurTime fills the timeval structure pointed to by tv with the current time to the best precision available on the executing platform.
ggUSleep sleeps for at least usecs microseconds, to the best precision available on the executing platform, but may be woken up by a signal
or other unspecified condition. It is not guaranteed that ggUSleep will wake up prematurely for any specific reason. It is mainly useful
for points where the main objective is to avoid using CPU resources, not to perform accurate timing.
ggUSlumber does the same thing as ggUSleep, but is guaranteed not to return until the allotted time has elapsed. It is slightly less effi-
cient than ggUSleep with reguard to CPU utilization.
All times represent wall-clock (real, versus processor) times.
The above routines are often simple macros rather than functions, and as such should not be used by reference.
The above functions are threadsafe, but are not guaranteed to be safe to use in a thread that may be cancelled during their execution.
They are also not guaranteed to be safe to use in special contexts such as LibGG task handlers, signal handlers and asyncronous procedure
calls.
RETURN VALUE
ggCurTime returns GGI_OK on success, or a negative value on failure. On Windows, this function will never report a failure. On platforms
where gettimeofday(2) is used, the error code is the one returned by gettimeofday.
ggUSleep returns GGI_OK when the alloted time interval has elapsed, or a non-zero value if the sleep was interrupted. On platforms where
usleep(3) is used, the error code is the one return by usleep.
EXAMPLE
A demonstration on how to measure a framerate.
struct timeval start, stop, diff;
long time_of_frame = 1;
int framerate;
...
ggCurTime(&start);
/* do something here, i.e. render and display a frame */
ggCurTime(&stop);
diff.tv_sec = stop_tv.tv_sec - start_tv.tv_sec;
diff.tv_usec = stop_tv.tv_usec - start_tv.tv_usec;
if (diff.tv_usec < 0) {
diff.tv_usec += 1000000;
diff.tv_sec--;
}
time_of_frame = diff.tv_sec * 1000 + diff.tv_usec / 1000;
if (time_of_frame == 0)
time_of_frame = 1; /* CPU too fast? */
printf("framerate: %i
", 1000 / time_of_framerate);
SEE ALSO gettimeofday(2), usleep(3)libgg-1.0.x 2005-08-26 ggCurTime(3)
I have a huge matrix file containing some 1.5 million rows and 6000 columns. The matrix looks something like this:
1 2 3
4 5 6
7 8 9
3 4 5
I want to add all the numbers in the columns of this matrix and display the result to my stdout. This means that the numbers in the first column are:
... (2 Replies)
Hi,
Just trying to get to grips with sed and awk for some reporting for work and I need some assistance:
I have a file that lists policy names on the first line and then on the second line whether the policy is active or not.
Policy Name: Policy1
Active: yes
Policy... (8 Replies)
version info :
vi availabe with RHEL 5.4
I have a text file with 10,000 lines. I want to copy lines from 5000th line to 7000th and redirect to a file. Any idea how I can do this?
Note:
The above scenario is just an example. In my actual requirement, the file has 14 million lines and I want... (9 Replies)
Hi everyone,
I know the following questions are noobish questions but I am asking them because I am confused about the basics of history behind UNIX and LINUX.
Ok onto business, my questions are-:
Was/Is UNIX ever an open source operating system ?
If UNIX was... (21 Replies)
Hello,
I couldn't find an actual introduction thread, so I decided to just put this here.
I go by d0wngrade online. I have been programming in multiple languages for about 15+ years. I started with standard web design languages like HTML and CSS, but I then advanced from design to development... (2 Replies)
Hi guys...
The first active code line in AudioScope.sh is set -u .
This causes a complete exit if a variable is used/found but has not been allocated at the start of the program.
However, apart from writing code to do the task, is there a switch to to check which variables have been... (17 Replies)
Hi.
In thread https://www.unix.com/shell-programming-and-scripting/267833-grouping-counting.html rovf and I had a mini-discussion on grep and awk.
Here is a demo script that compares the awk and grep approaches for this single problem:
#!/usr/bin/env bash
# @(#) s2 Demonstrate group... (1 Reply)
Hello,
I have to fish out some specific columns from a file based on the header value. I have the list of columns I need in a different file. I thought I could read in the list of headers I need,
# file with header names of required columns in required order
headers_file=$2
# read contents... (11 Replies)
For those interested in installing dash shell on OSX Lion to help test POSIX compliancy of shell scripts, it is quite easy. I did it like this:
If you don't have gcc on your system:
0. Download and install the Command Line Tools for Xcode package from Sign In - Apple *
1. Download the dash... (2 Replies)
Hello and thanks in advance for any help anyone can offer me
I'm trying to learn the find command and thought I was understanding it... Apparently I was wrong. I was doing compound searches and I started getting weird results with the -size test. I was trying to do a search on a 1G file owned by... (14 Replies)
I have data of an excel files as given below,
file1
org1_1 1 1 2.5 100
org1_2 1 2 5.5 98
org1_3 1 3 7.2 88
file2
org2_1 1 1 2.5 100
org2_2 1 2 5.5 56
org2_3 1 3 7.2 70
I have multiple excel files as above shown.
I have to copy column 1, column 4 and paste into a new excel file as... (26 Replies)
Dear All,
Taking a break from Vue.js coding for the site, SEO and YT videos; and hopefully addressing some well deserved criticism from some here that I have been too focused on the visual aspects of the forums versus the substance and the community....
While the "current generation... (9 Replies)
Hi all...
Well guys and gals, I jumped in at the deep end and found things that PERL cannot do by default.
Many tricky terminal escape codes are not catered for so I had to create workarounds.
One thing I searched for was this:
Passing perl variable to shell command
AND, @Neo this was... (15 Replies)