09-21-2005
Don't dereference the pointer in place. Since you memcpy'ed it in, memcpy it back out. Then deference it.
10 More Discussions You Might Find Interesting
1. Solaris
Hi, I try to marshal a unsigned int and a char * into a buffer, and then unmarshal them later to get them out. I need to put the char * in the front and unsigned int at the end of the buffer. However, my system always give me "BUS ERROR". I am using Sun Sparcs Sloris 2.10.
My code to marshal the... (1 Reply)
Discussion started by: nj302
1 Replies
2. Programming
Hi All
I have a structure pointer and setting that pointer as NULL. When i tried to access the elements in the structure i am getting the error message.
"Cannot access memory at address 0x8". This i tried in LINUX.
When the same program is tried thro UNIX (HP-UX), i am not getting the message... (8 Replies)
Discussion started by: rkraj
8 Replies
3. Solaris
Hi,
The following error message occured when I was trying to reboot my SUN machine:
Memory address not aligned
Its a Sun 280 R , Ultra SPARC III
What should I do.
Varma (3 Replies)
Discussion started by: gunnervarma
3 Replies
4. Solaris
Hi,
Im working on Solaris 9 on SPARC-32 bit running on an Ultra-80, and I have to find out the following:-
1. Total Physical Memory in the system(total RAM).
2. Available Physical Memory(i.e. RAM Usage)
3. Total (Logical) Memory in the system
4. Available (Logical) Memory.
I know... (4 Replies)
Discussion started by: 0ktalmagik
4 Replies
5. Solaris
Is it possible to restrict physical memory in solaris zone with zone.max-locked-memory just like we can do with rcapd ? I do not want to used rcapd (1 Reply)
Discussion started by: fugitive
1 Replies
6. UNIX for Dummies Questions & Answers
hi,
For some special reason , I'd like to control the memory address for the shared libraries in my dynamically linked process.
And it is the "ld" which interpret the dynamically linked library, and in my system, the "ld-linux.so.2" is put at 0x00812000. Then I use "prelink -r" command to change... (0 Replies)
Discussion started by: zerocool_08
0 Replies
7. Linux
hi,
For some special reason , I'd like to control the memory address for the shared libraries in my dynamically linked process.
And it is the "ld" which interpret the dynamically linked library, and in my system, the "ld-linux.so.2" is put at 0x00812000. Then I use "prelink -r" command to... (3 Replies)
Discussion started by: zerocool_08
3 Replies
8. UNIX for Advanced & Expert Users
I want address of current virtual memory block?
i am using fedora10:wall::wall: (1 Reply)
Discussion started by: powyama
1 Replies
9. Solaris
Hi Experts,
Our servers running Solaris 10 with SAP Application. The memory utilization always >90%, but the process on SAP is too less even nothing.
Why memory utilization on solaris always looks high?
I have statement about memory on solaris, is this true:
Memory in solaris is used for... (4 Replies)
Discussion started by: edydsuranta
4 Replies
10. UNIX for Beginners Questions & Answers
How would I write a value to a physical memory address?
I was able to read a physical memory address (for example, 0x400) using this line:
dd if=/dev/mem count=4 bs=1 skip=$(( 0x400 ))
But I get an error:
dd: 'standard input': cannot skip to specified offset
when I try to write using... (1 Reply)
Discussion started by: rabrandt
1 Replies
MEMORY(2) System Calls Manual MEMORY(2)
NAME
memccpy, memchr, memcmp, memcpy, memmove, memset - memory operations
SYNOPSIS
#include <u.h>
#include <libc.h>
void* memccpy(void *s1, void *s2, int c, long n)
void* memchr(void *s, int c, long n)
int memcmp(void *s1, void *s2, long n)
void* memcpy(void *s1, void *s2, long n)
void* memmove(void *s1, void *s2, long n)
void* memset(void *s, int c, long n)
DESCRIPTION
These functions operate efficiently on memory areas (arrays of bytes bounded by a count, not terminated by a zero byte). They do not check
for the overflow of any receiving memory area.
Memccpy copies bytes from memory area s2 into s1, stopping after the first occurrence of byte c has been copied, or after n bytes have been
copied, whichever comes first. It returns a pointer to the byte after the copy of c in s1, or zero if c was not found in the first n bytes
of s2.
Memchr returns a pointer to the first occurrence of byte c in the first n bytes of memory area s, or zero if c does not occur.
Memcmp compares its arguments, looking at the first n bytes only, and returns an integer less than, equal to, or greater than 0, according
as s1 is lexicographically less than, equal to, or greater than s2. The comparison is bytewise unsigned.
Memcpy copies n bytes from memory area s2 to s1. It returns s1.
Memmove works like memcpy, except that it is guaranteed to work if s1 and s2 overlap.
Memset sets the first n bytes in memory area s to the value of byte c. It returns s.
SOURCE
All these routines have portable C implementations in /sys/src/libc/port. Most also have machine-dependent assembly language implementa-
tions in /sys/src/libc/$objtype.
SEE ALSO
strcat(2)
BUGS
ANSI C does not require memcpy to handle overlapping source and destination; on Plan 9, it does, so memmove and memcpy behave identically.
If memcpy and memmove are handed a negative count, they abort.
MEMORY(2)