filesio.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. void write_evalfull_outs_into_a_file(bool party, size_t i, size_t db_nitems, int8_t ** flags, int64_t * outs_, __m128i * final_correction_word)
  2. {
  3. if(!party)
  4. {
  5. char const * p0_filename0;
  6. char tmp[100];
  7. p0_filename0 = "../duoram-online/party0_read_flags_b";
  8. strcpy(tmp, p0_filename0);
  9. strcat(tmp, std::to_string(i).c_str());
  10. int w0 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  11. int written = write(w0, flags[i], db_nitems * sizeof(flags[i][0]));
  12. if(written<0) {
  13. perror("Write error");
  14. }
  15. close(w0);
  16. p0_filename0 = "../duoram-online/party0_read_flags_c";
  17. strcpy(tmp, p0_filename0);
  18. strcat(tmp, std::to_string(i).c_str());
  19. int w1 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  20. written = write(w1, flags[i], db_nitems * sizeof(flags[i][0]));
  21. if(written<0) {
  22. perror("Write error");
  23. }
  24. close(w1);
  25. p0_filename0 = "../duoram-online/party0_read_flags_d";
  26. strcpy(tmp, p0_filename0);
  27. strcat(tmp, std::to_string(i).c_str());
  28. int w2 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  29. written = write(w2, flags[i], db_nitems * sizeof(flags[i][0]));
  30. if(written<0) {
  31. perror("Write error");
  32. }
  33. close(w2);
  34. p0_filename0 = "../duoram-online/party0_write_flags_b";
  35. strcpy(tmp, p0_filename0);
  36. strcat(tmp, std::to_string(i).c_str());
  37. int w4 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  38. written = write(w4, flags[i], db_nitems * sizeof(flags[i][0]));
  39. if(written<0) {
  40. perror("Write error");
  41. }
  42. close(w4);
  43. p0_filename0 = "../duoram-online/party0_write_flags_c";
  44. strcpy(tmp, p0_filename0);
  45. strcat(tmp, std::to_string(i).c_str());
  46. int w5 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  47. written = write(w5, flags[i], db_nitems * sizeof(flags[i][0]));
  48. if(written<0) {
  49. perror("Write error");
  50. }
  51. close(w5);
  52. p0_filename0 = "../duoram-online/party0_write_flags_d";
  53. strcpy(tmp, p0_filename0);
  54. strcat(tmp, std::to_string(i).c_str());
  55. int w6 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  56. written = write(w6, flags[i], db_nitems * sizeof(flags[i][0]));
  57. if(written<0) {
  58. perror("Write error");
  59. }
  60. close(w6);
  61. p0_filename0 = "../duoram-online/party0_write_b";
  62. strcpy(tmp, p0_filename0);
  63. strcat(tmp, std::to_string(i).c_str());
  64. w4 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  65. written = write(w4, outs_, db_nitems * sizeof(outs_[0]));
  66. if(written<0) {
  67. perror("Write error");
  68. }
  69. close(w4);
  70. p0_filename0 = "../duoram-online/party0_write_c";
  71. strcpy(tmp, p0_filename0);
  72. strcat(tmp, std::to_string(i).c_str());
  73. w5 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  74. written = write(w5, outs_, db_nitems * sizeof(outs_[0]));
  75. if(written<0) {
  76. perror("Write error");
  77. }
  78. close(w5);
  79. p0_filename0 = "../duoram-online/party0_write_d";
  80. strcpy(tmp, p0_filename0);
  81. strcat(tmp, std::to_string(i).c_str());
  82. w6 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  83. written = write(w6, outs_, db_nitems * sizeof(outs_[0]));
  84. if(written<0) {
  85. perror("Write error");
  86. }
  87. close(w6);
  88. }
  89. if(party)
  90. {
  91. char const * p0_filename0;
  92. char tmp[100];
  93. p0_filename0 = "../duoram-online/party1_read_flags_b";
  94. strcpy(tmp, p0_filename0);
  95. strcat(tmp, std::to_string(i).c_str());
  96. int w0 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  97. int written = write(w0, flags[i], db_nitems * sizeof(flags[i][0]));
  98. if(written<0) {
  99. perror("Write error");
  100. }
  101. close(w0);
  102. p0_filename0 = "../duoram-online/party1_read_flags_c";
  103. strcpy(tmp, p0_filename0);
  104. strcat(tmp, std::to_string(i).c_str());
  105. int w1 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  106. written = write(w1, flags[i], db_nitems * sizeof(flags[i][0]));
  107. if(written<0) {
  108. perror("Write error");
  109. }
  110. close(w1);
  111. p0_filename0 = "../duoram-online/party1_read_flags_d";
  112. strcpy(tmp, p0_filename0);
  113. strcat(tmp, std::to_string(i).c_str());
  114. int w2 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  115. written = write(w2,flags[i], db_nitems * sizeof(flags[i][0]));
  116. if(written<0) {
  117. perror("Write error");
  118. }
  119. close(w2);
  120. p0_filename0 = "../duoram-online/party1_write_flags_b";
  121. strcpy(tmp, p0_filename0);
  122. strcat(tmp, std::to_string(i).c_str());
  123. int w4 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  124. written = write(w4,flags[i], db_nitems * sizeof(flags[i][0]));
  125. if(written<0) {
  126. perror("Write error");
  127. }
  128. close(w4);
  129. p0_filename0 = "../duoram-online/party1_write_flags_c";
  130. strcpy(tmp, p0_filename0);
  131. strcat(tmp, std::to_string(i).c_str());
  132. int w5 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  133. written = write(w5, flags[i], db_nitems * sizeof(flags[i][0]));
  134. if(written<0) {
  135. perror("Write error");
  136. }
  137. close(w5);
  138. p0_filename0 = "../duoram-online/party1_write_flags_d";
  139. strcpy(tmp, p0_filename0);
  140. strcat(tmp, std::to_string(i).c_str());
  141. int w6 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  142. written = write(w6, flags[i], db_nitems * sizeof(flags[i][0]));
  143. if(written<0) {
  144. perror("Write error");
  145. }
  146. close(w6);
  147. p0_filename0 = "../duoram-online/party1_write_b";
  148. strcpy(tmp, p0_filename0);
  149. strcat(tmp, std::to_string(i).c_str());
  150. w4 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  151. written = write(w4, outs_, db_nitems * sizeof(outs_[0]));
  152. if(written<0) {
  153. perror("Write error");
  154. }
  155. close(w4);
  156. // char const * p0_filename0;
  157. p0_filename0 = "../duoram-online/party1_write_c";
  158. strcpy(tmp, p0_filename0);
  159. strcat(tmp, std::to_string(i).c_str());
  160. w5 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  161. written = write(w5, outs_, db_nitems * sizeof(outs_[0]));
  162. if(written<0) {
  163. perror("Write error");
  164. }
  165. close(w5);
  166. p0_filename0 = "../duoram-online/party1_write_d";
  167. strcpy(tmp, p0_filename0);
  168. strcat(tmp, std::to_string(i).c_str());
  169. w6 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  170. written = write(w6, outs_, db_nitems * sizeof(outs_[0]));
  171. if(written<0) {
  172. perror("Write error");
  173. }
  174. close(w6);
  175. }
  176. if(party)
  177. {
  178. char const * p1_filename0;
  179. char tmp[100];
  180. p1_filename0 = "../duoram-online/FCW1";
  181. strcpy(tmp, p1_filename0);
  182. strcat(tmp, std::to_string(i).c_str());
  183. int w0 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  184. int written = write(w0, &final_correction_word[0][0], sizeof(final_correction_word[0][0]));
  185. if(written<0) {
  186. perror("Write error");
  187. }
  188. close(w0);
  189. }
  190. if(!party)
  191. {
  192. char const * p0_filename0;
  193. char tmp[100];
  194. p0_filename0 = "../duoram-online/FCW0";
  195. strcpy(tmp, p0_filename0);
  196. strcat(tmp, std::to_string(i).c_str());
  197. int w0 = open( tmp, O_WRONLY | O_CREAT, S_IWRITE | S_IREAD);
  198. int written = write(w0, &final_correction_word[0][0], sizeof(final_correction_word[0][0]));
  199. if(written<0) {
  200. perror("Write error");
  201. }
  202. close(w0);
  203. }
  204. }