Argp Çözümleyicisinin Belirtilmesi
Önceki Argp Sonraki
Argp Çözümleyicisinin Belirtilmesi
argp_parse işlevinin ilk argümanı argp çözümleyici olarak bilinen bir struct argp yapısına bir göstericidir:
struct argp
veri türü
Bu yapı, belirtilen seçenek ve argümanların nasıl çözümleneceğini belirtir. Şüphesiz bu işlem diğer argp çözümleyiciler ile birlikte yapılır. Yapı şu üyelere sahiptir:
const struct argp_option *options
Argp çözümleyiciye seçenekleri belirtmek için kullanılan argp_option yapılarının bir vektörüne göstericidir; çözümlenecek bir seçenek yoksa sıfır olabilir. Bkz. Seçenekler.
argp_parser_t parser
Bu çözümleyici için eylemleri tanımlayan bir işleve göstericidir; her seçeneğin çözümlenmesinde ve çözümleme sürecindeki diğer iyi tanımlanmış noktalarda bu işlev çağrılır. Değer olarak sıfır belirtilmişse bu, daima ARGP_ERR_UNKNOWN döndüren bir işleve göstericiymiş gibi ele alınır. Bkz. Argp Çözümleyici İşlevleri.
const char *args_doc
Sıfırdan farklıysa, bu çözümleyici tarafından çağrılan seçenek olmayan argümanları açıklayan bir dizgedir. Bu sadece Usage: (Kullanımı:) iletilerini basmak için kullanılır. İçinde satırsonu karakterleri varsa, onların diğer kullanım iletileri oldukları varsayılarak ayrı satırlara basılır. İlk satırdan sonraki satırların başına Usage: yerine or: ( veya: ) getirilir.
const char *doc
Sıfırdan farklıysa bir uzun yardım iletisinden önce ve sonra basılacak ek metinleri içeren bir dizgedir. Dizge içinde bu metinler bir düşey sekme ('\v', '\013') karakteri ile ayrılır. Uzlaşımsal olarak, seçeneklerden önceki bilgiler yazılımın ne yaptığını açıklayan bir dizgedir. Seçeneklerden sonra da yazılımın davranışını daha ayrıntılı açıklayan bilgiler basılır.
const struct argp_child *children
argp_children yapılarının vektörüne göstericidir. Gösterici hangi ek argp çözümleyecilerin birlikte kullanılacağını belirtir. Bkz. Çocuk Çözümleyiciler.
char *(*help_filter)(int anahtar, const char *metin, void *girdi)
Sıfırdan farklıysa, yardım iletilerinin çıktısını süzen bir işleve göstericidir. Bkz. Argp Yardım Çıktısının Özelleştirilmesi.
const char *argp_domain
Sıfırdan farklıysa, bir dizgeye göstericidir. Argp kütüphanesi bu dizgeyi etki alanını değiştirmekte kullanır. Sıfırsa, öntanımlı etki alanı kullanılır.
Yukarıdaki grubun, options, parser, args_doc ve doc alanlarının hepsi gereklidir. Bir argp çözümleyici bir C değişkeni olarak tanımlanmışsa, değişken ilklendirilirken sadece bu alanların belirtilmesi yeterlidir. C yapılarının ilklendirilmeleri gereği olarak kalan üyelerin değerleri öntanımlı olarak sıfır olacaktır. Çoğu argp yapısında bu tasarım kullanılır; sık kullanılan alanlar bir arada gruplanır, kullanılmayanlar belirtilmeden bırakılır.
Önceki Üst Ana Başlık Sonraki
Argp Genel Değişkenleri Başlangıç Seçenekler
Bir Linux Kitaplığı Sayfası