Hi, I'm coding a small .NET library to connect 9p2000 services and I have a few questions about things that the manual doesn't explain (or I was not able to find).

What's the meaning of qids? I see that responses often include them but request messages do not.

What's the proper message sequence to delete a file? And to delete a non empty directly?

Is it possible to move a file between different directories atomically?

I can't find details on the file execution permission: looks like a malicious client could just ignore it on files and execute anything that it can read (obviously I'm just talking about single files,  not directory).

When I should clunk the afid?

What about encryption? Is it completely delegated to the transport layer?

Thanks for your help!

Giacomo