/* ************************************************************************** */ /* _____ _ */ /* protocol/optimize.c |_ _|__ _ _| |__ ___ _ _ */ /* | Project: libp7 | |/ _ \| | | | '_ \ / _ \ | | | */ /* | | (_) | |_| | | | | __/ |_| | */ /* By: thomas |_|\___/ \__,_|_| |_|\___|\__, |.fr */ /* Last updated: 2016/10/13 07:33:17 |___/ */ /* */ /* ************************************************************************** */ #include /** * p7_optimize: * Optimize distant flash memory. * * @arg handle the libp7 handle * @arg devname the device name * @return if it worked */ int p7_optimize(p7_handle_t *handle, const char *devname) { int err; /* make checks */ chk_handle(handle); chk_active(handle); /* send command */ log_info("sending command"); if ((err = p7_send_cmdfls_opt(handle, devname))) { log_fatal("couldn't send command/receive its answer"); return (err); } else if (response.type == p7_pt_error && response.error.code == p7_ec_overwrite_impossible) { log_fatal("overwrite impossible"); return (p7_error_unsupported_device); } else if (response.type != p7_pt_ack) { log_fatal("response wasn't ack"); return (p7_error_unknown); } /* we're done */ return (0); }