Je travaille sur une tâche de mise en réseau et nous sommes chargés de créer un serveur d'accès aux fichiers à distance avec un protocole qui nous a été donné. Mes difficultés viennent du manque d'informations que je peux trouver qui explique le processus de calcul des bits pour l'argument oflag dans open().Comment calculer les drapeaux de bit/enum flags pour oflag dans open()?
Je reçois un message d'un client pour ouvrir un fichier et dans le message j'analyse les caractères pour les indicateurs à utiliser dans oflag. ils sont en particulier:
- R - O_RDONLY
- W - O_WRONLY
- RW - O_RDWR
- A - O_APPEND
- C - O_CREAT
- T - O_TRUNC
- E - O_EXCL
J'ai contourné Google et s recherche les opérations au niveau du bit, les drapeaux d'énumération, les drapeaux de bit, le calcul des drapeaux de bit, etc. et n'a pas pu trouver quelque chose d'utile pour déterminer comment créer les bits pour oflag. Peut-être que je ne savais pas ce que je cherchais et que j'ignorais des informations utiles?
Quelqu'un pourrait-il s'il vous plaît:
- point moi dans la direction/fournir des liens vers la documentation/exemple de la façon de calculer les bits/# je dois mettre en oflags étant donné mes personnages analysables ou
- Montrez-moi les types d'énumération pour les drapeaux et l'ordre qu'ils devraient aller dans
Merci un bouquet pour vous aider et si je n'étais pas clair sur mon problème ou ce que je suis en train de faire, me savoir et je clarifiera ASAP.
Par exemple, si j'ai analysé RWC, il serait ouvert ("fichier", O_RDWR | O_CREAT). Mais puisque je connais seulement les caractères, est-ce que je ferais quelque chose comme int oflag = (02 | 0100) et alors mon ouverture ressemblerait à open ("file", oflag)? Je dois aller de mes personnages que j'analyse à binaire. – Chris