X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=direct%2Ftimothy_tests%2Fmirror_tests%2Flinux_test_write.c;fp=direct%2Ftimothy_tests%2Fmirror_tests%2Flinux_test_write.c;h=969595315f5646bcc7ef2e1c8718fe5c6324c35f;hb=6e8abe36e3190664d26161ace6948c57f9ffda94;hp=0000000000000000000000000000000000000000;hpb=34c624da44aa052d44993239c5a3be0b802673c9;p=yaffs2.git diff --git a/direct/timothy_tests/mirror_tests/linux_test_write.c b/direct/timothy_tests/mirror_tests/linux_test_write.c new file mode 100644 index 0000000..9695953 --- /dev/null +++ b/direct/timothy_tests/mirror_tests/linux_test_write.c @@ -0,0 +1,35 @@ +/* + * YAFFS: Yet another FFS. A NAND-flash specific file system. + * + * Copyright (C) 2002-2010 Aleph One Ltd. + * for Toby Churchill Ltd and Brightstar Engineering + * + * Created by Timothy Manning + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "linux_test_write.h" + +int linux_test_write(arg_temp *args_struct) +{ + char path[200]; + char message[200]; + int output=0; + int handle=-1; + join_paths(linux_struct.root_path,args_struct->string1, path ); + sprintf(message,"trying to write to: %s\nwith mode set to %o \n",path,args_struct->char1); + print_message(3,message); + handle=open(path,args_struct->char1 &(O_TRUNC|O_EXCL|O_CREAT|O_APPEND),args_struct->char2&(S_IREAD|S_IWRITE)); + if (handle<0){ + print_message(3,"failed to open a handle\n"); + return -1; //handle failed to open + } + sprintf(message,"trying to write: %d bytes into the file\n",strlen(args_struct->string2)); + print_message(3,message); + output=write(handle,args_struct->string2,strlen(args_struct->string2)); + close(handle); + return output; +}