10-23-2007
Two basic solutions
1. keep reading in 512 byte buffers and make a linked list of those buffers where the struct looks something like
struct buffer { struct buffer *next; long length; unsigned char data[512]; };
2. allocate a block using malloc of length 512 bytes and read into that, if you did not fill the buffer then read again in the remaining space
if you get a read of zero bytes then that is the end of stream indicator
else you still have more to read, reallocate the ptr with a size+=512, and go back to reading again.
9 More Discussions You Might Find Interesting
1. Programming
hi
i want to write a simple io-benchmark for raw devices, especially for
harddisks, vx-volumes and md-volumes on solaris.
is there a unix system call to get the size of the device? the 'stat' system call
reports the size for regaular files but not for block or devices. On Solaris the... (2 Replies)
Discussion started by: guenter
2 Replies
2. Programming
hello
i have a program in C (Unix - SOlaris5.7), and i have the next question:
i have a lot of char variable, and i want store their values in a char array. The problem is what i donīt know how to put the char variable's value into the array, and i don`t know how to define the array
please... (4 Replies)
Discussion started by: DebianJ
4 Replies
3. Programming
hi,
I have variable like,
char keyword = "TRANSPARENCY ";
while passing this variable to some function, first character of variable becomes null, but rest of characters still exist. Why this happens or something wrong with declaration. Their is no error while compiling & running... (2 Replies)
Discussion started by: avadhani
2 Replies
4. Programming
Hi All
I am simulating a problem in the production where i faced a situation.
Please find the following example program which i simulated.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char str1; (3 Replies)
Discussion started by: dhanamurthy
3 Replies
5. Programming
Hi
I am passing or want to pass value of a char array, so that even thoug the called routine is changing the values the calling function should not see the values changed, meaning only copy should be passed
Here is the program
#include<iostream.h>
#include<string.h>
void f(char a);
int... (5 Replies)
Discussion started by: rkraj
5 Replies
6. Programming
I'm doing some coding in C++
Want to have a long empty string like below
const char ModMisfit :: DelStr = "\r \r";
However due to the long blank the line is very long. Is there any way to avoid this and keep the... (5 Replies)
Discussion started by: kristinu
5 Replies
7. Programming
i have an array like
#define NUM 8
....
new_socket_fd = accept(socket_fd, (struct sockaddr *) &cli_addr, &client_length);
char *items = {"one", "two", "three", "four", "five", "six", "seven", "eight"};
char *item_name_length = {"3", "3", "5", "4", "4", "3", "5", "5"};
... (1 Reply)
Discussion started by: omega666
1 Replies
8. Programming
cat int.c
int main() {
unsigned char wwn;
wwn=50;
wwn=00;
wwn=53;
wwn=30;
wwn=08;
wwn=09;
wwn=82;
wwn=17;
printf("WWN: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n ",
wwn,
wwn,
wwn,
wwn,
wwn,... (8 Replies)
Discussion started by: powyama
8 Replies
9. Programming
I want to return a char array to the main() function, but its returning garbage value.
#include<stdio.h>
//#include<conio.h>
#include<string.h>
char* strtrmm();
int main()
{
char str1,c1;
printf("\n Enter the string:");
gets(str1);
//strtrmm(str1);
printf("%s",strtrmm(str1));... (2 Replies)
Discussion started by: zinat
2 Replies
LEARN ABOUT SUSE
blockdev
BLOCKDEV(8) System Manager's Manual BLOCKDEV(8)
NAME
blockdev - call block device ioctls from the command line
SYNOPSIS
blockdev [options] commands devices
blockdev --report [devices]
DESCRIPTION
The utility blockdev allows one to call block device ioctls from the command line.
OPTIONS
-V Print version and exit.
-q Be quiet.
-v Be verbose.
--report
Print a report for devices. Note that the partition StartSec is in 512-byte sectors.
COMMANDS
--setro
Set read-only.
--setrw
Set read-write.
--getro
Get read-only. Print 1 if the device is read-only, 0 otherwise.
--getss
Print sectorsize in bytes - usually 512.
--getbsz
Print blocksize in bytes.
--setbsz N
Set blocksize to N bytes.
--getsize
Print device size in sectors (BLKGETSIZE). Deprecated in favor of the --getsz option.
--getsize64
Print device size in bytes (BLKGETSIZE64)
--getsz
Get size in 512-byte sectors (BLKGETSIZE64 / 512).
--setra N
Set readahead to N 512-byte sectors.
--getra
Print readahead (in 512-byte sectors).
--setfra N
Set filesystem readahead (same like --setra on 2.6 kernels).
--getfra
Get filesystem readahead.
--flushbufs
Flush buffers.
--rereadpt
Reread partition table.
AUTHOR
blockdev was written by Andries E. Brouwer.
AVAILABILITY
The blockdev command is part of the util-linux-ng package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
Jun 2007 BLOCKDEV(8)