Implementation of the write function to use by the Writers.
This commit is contained in:
parent
257b08bfcf
commit
36894d6a23
@ -20,6 +20,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
static
|
||||
void ecma119_image_free(Ecma119Image *t)
|
||||
@ -329,4 +330,15 @@ int iso_image_create(IsoImage *image, Ecma119WriteOpts *opts,
|
||||
return ISO_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int iso_write(Ecma119Image *target, void *buf, size_t count)
|
||||
{
|
||||
ssize_t result;
|
||||
|
||||
result = write(target->wrfd, buf, count);
|
||||
if (result != count) {
|
||||
/* treat this as an error? */
|
||||
return ISO_WRITE_ERROR;
|
||||
} else {
|
||||
return ISO_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
@ -71,6 +71,10 @@ struct ecma119_image {
|
||||
/* tree of files sources */
|
||||
void *file_srcs;
|
||||
int file_count;
|
||||
|
||||
/* file descriptors for read and writing image */
|
||||
int wrfd; /* write to here */
|
||||
int rdfd; /* read from here */
|
||||
};
|
||||
|
||||
#endif /*LIBISO_ECMA119_H_*/
|
||||
|
@ -21,6 +21,8 @@
|
||||
#define ISO_INTERRUPTED -5
|
||||
#define ISO_WRONG_ARG_VALUE -6
|
||||
|
||||
#define ISO_WRITE_ERROR -10
|
||||
|
||||
#define ISO_NODE_ALREADY_ADDED -50
|
||||
#define ISO_NODE_NAME_NOT_UNIQUE -51
|
||||
#define ISO_NODE_NOT_ADDED_TO_DIR -52
|
||||
|
12
src/writer.h
12
src/writer.h
@ -27,6 +27,18 @@ struct Iso_Image_Writer
|
||||
Ecma119Image *target;
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the function all Writers shoudl call to write data to
|
||||
* image.
|
||||
* Currently, it is just a wrapper for write(2) Unix system call.
|
||||
*
|
||||
* It is implemented in ecma119.c
|
||||
*
|
||||
* @return
|
||||
* 1 on sucess, < 0 error
|
||||
*/
|
||||
int iso_write(Ecma119Image *target, void *buf, size_t count);
|
||||
|
||||
int ecma119_writer_create(Ecma119Image *target);
|
||||
|
||||
#endif /*LIBISO_IMAGE_WRITER_H_*/
|
||||
|
Loading…
Reference in New Issue
Block a user